Создание базы данных в Microsoft Access

Категория: Материалы студентам
Опубликовано 16.02.2015 18:53
Автор: Шитов В.Н.
Просмотров: 6460

Создание базы данных в Microsoft Access

Запустите программу Microsoft Access. Создайте новую базу данных (Туристические поездки.accdb) и укажите папку, в которой эта база должна быть создана. В левой части рабочего окна программы находится список всех созданных ранее таблиц. При создании новой базы создается всего одна пустая таблица и имя этой таблицы (Таблица 1) предлагается в списке всех таблиц. Прежде, чем начать создание таблиц, необходимо сказать несколько правил создания таблиц: сначала с помощью Конструктора создаются поля каждой таблицы и определяются свойства, затем создаются подстановочные списки всех типов. После этого анализируется схема данных. В каждую таблицу в определенном порядке вводится по одной записи. Если ни на одном шаге программа не обнаружит в нашей базе данных (БД) ни одной ошибки, то можно приступать к заполнению таблиц данными. Заполнение таблиц выполняется в строго определенном порядке. Малейшее нарушение последовательности шагов может привести к полнейшей неработоспособности всей БД. Ошибки бывают настолько запутанные, что часто намного проще удалить практически готовую БД и начать создавать новую, чем искать эти ошибки.

При каждом последующем запуске созданной ранее базы данных выводится кнопка Параметры. На эту кнопку нужно обязательно нажать и выбрать положение переключателя Включить это содержимое, иначе работать с БД будет невозможно.

В нашей базе данных всего 4 таблицы. В какой последовательности создавать таблицы, не имеет никакого значения. Последовательность имеет значение только при связывании таблиц и при заполнении таблиц данными.

Щелкните правой клавишей мыши по имени этой таблицы. Из открывшегося контекстного меню выполните команду Конструктор. После этого будет немедленно открыто окно Сохранение. Введите имя создаваемой таблицы: Клиенты. Нажмите на кнопку ОК. После этого создается таблица, состоящая всего из одного ключевого поля Код. То, что это поле ключевое, говорит значок ключа в левой части этого поля. В нижней части выделенного поля находится таблица свойств этого поля. Поле вводится попарно: имя поля, а затем выбирается его тип данных. Только после этого изменяются свойства этого поля. Выделите шаблонное имя Код и введите имя Код_клиента. Таблица Клиенты должна включать в себя следующие поля со следующими свойствами:

Код_клиента — ключевое поле. Тип данных: счетчик. Размер поля: длинное целое. Новые значения: последовательные. Обязательное поле: да. Индексированное поле: Да (совпадения не допускаются).

Название_фирмы — тип данных: текстовый. Размер поля: 30. Обязательное поле: да. Индексированное поле: нет.

Код_агента — тип данных: числовой. Размер поля: длинное целое. Формат поля: основной. Число десятичных знаков: 0. Обязательное поле: да. Обязательное поле: да. Индексированное поле: Да (допускаются совпадения).

Индекс — тип данных: текстовый. Размер поля: 6. Обязательное поле: нет. Индексированное поле: нет.

Город — тип данных: текстовый. Размер поля: 30. Обязательное поле: нет. Индексированное поле: нет.

Адрес — тип данных: текстовый. Размер поля: 40. Обязательное поле: нет. Индексированное поле: нет.

Телефон — тип данных: текстовый. Размер поля: 16. Обязательное поле: нет. Индексированное поле: нет.

Скидка — тип данных: числовой. Размер поля: двойное с плавающей точкой. Формат поля: процентный. Число десятичных знаков: авто. Обязательное поле: нет. Индексированное поле: нет.

Если ключевое поле нужно сделать не ключевым или, наоборот не ключевое поле сделать ключевым, то щелкните по этому полю правой клавишей мыши и из открывшегося контекстного меню выполните команду Ключевое поле. Ключевое поле в таблице может быть только одно. Поэтому если нужно сделать одно из полей ключевым, то сначала нужно отменить предыдущее ключевое поле.

Тип данных Счетчик бывает у ключевых полей, начинается с 1 и увеличивает номер каждой очередной записи на 1. Многие ошибочно понимают это буквально: что записи вводятся подряд с приростом на 1. Это и так и не так. Действительно, каждая очередная запись увеличивается на 1, но если, например, в процессе обучения при вводе записи будет обнаружена ошибка, то очередной порядковый номер записан не будет, а учтен будет. Например, при испытании таблицы вводится первая запись. При этом в одном из полей будет обнаружена ошибка. В этом случае такая запись создана не будет. Если мы исправим ошибку и будем вводить следующую запись в таблицу, то ее номер будет уже не 1, а 2: номер 1 просто не был присвоен ни одной записи. Если в таблице будет обнаружена еще одна ошибка, то и эта запись не будет введена, а очередной номер записи будет учтен и также пропадет впустую. Ничего опасного или ошибочного в этом нет: программа нумерует записи автоматически без участия пользователя, и если номер записи в таблице будет начинаться не с 1, а, например, с 5 (в процессе испытания таблицы были найдены 4 ошибки), то так и должно быть. Это специально обговаривается потому, что у студентов такая странная нумерация неизменно вызывает панику, хотя оснований для беспокойства нет никаких.

Часто задают вопросы: почему номер телефона и индекс являются текстовыми полями, хотя они состоят из цифр? Не лучше ли будет присвоить им числовой формат? Во-первых, с этими полями не предусмотрено никаких математических операций, а, во-вторых, номер телефона состоит не только из цифр, но включает в себя разделители-дефисы, то есть не является числом, а именно текстом. Если бы дефис был один и находился перед числом, то программа тогда еще могла бы трактовать такое содержимое как отрицательное число.

Некоторые поля являются необязательными. Например, кому то может не предоставляться скидка. Или другой пример, человек может забыть свой индекс или номер телефона, выписаться с предыдущего адреса, но не успеть прописаться по другому адресу. Недостающие данные могут быть заполнены и потом, а могут так и остаться незаполненными. Если речь идет о не обязательном поле, то имеется ввиду не обязательное заполнение поля при создании записи. Как обязательные, так и не обязательные поля можно отредактировать после создания записи.

В поле Телефон нужно наложить маску ввода. Для этого поместите курсор в поле Телефон. Щелкните мышью по свойству Маска ввода. После этого в строке свойства появится миниатюрная кнопка с многоточием. Нажмите на нее. Если после этого система безопасности сообщит об обнаруженной угрозе системе безопасности, то подтвердите открытие. После этого открывается окно Создание масок ввода. Многие маски уже созданы изначально. Например, Краткий формат даты в виде ДД.ММ.ГГГГ. Но на все ситуации создать маски заранее невозможно, как, например, на телефон. Для создания маски телефона нажмите на кнопку Список. После этого открывается окно Настройка масок ввода (Рис. 1). Так как в номер телефона может включаться код междугородней связи, то в маске нужно учитывать и это.

В поле Описание введите название создаваемой маски, например, «Телефон». В поле Маска ввода укажите порядок ввода символов. Для набора шаблонного номера используйте следующие символы: 0 — для набора обязательных цифр номера телефона и 9 — для набора необязательных цифр номера. Остальные символы при создании маски вводятся вручную, а вот при заполнении таблиц эти символы будут вводиться автоматически, поэтому маска очень удобна. Щелкните мышью в поле Образцы данных. Заполните любой номер телефона, не обязательно реальный. Обратите внимание, как заполняется номер телефона: только цифры, а символы подставляются вручную. Цифры набираются подряд: программа сама «перейдет» через шаблонные разделители-дефисы, а если номер набирается с кодом межгорода, то обойдет и круглые скобки. Если при наборе образца номера никаких ошибок не появилось, то можно нажать на кнопку Закрыть.

 

Рис. 1. Создание маски ввода

После возвращения в окно Создание масок ввода маска ввода Телефон должна быть выделена. Если это не так, то выделите эту маску в списке масок. Если никаких дополнительных испытаний созданной маски проводить не нужно, то нажмите на кнопку Готово. Если в правильности создания маски имеются сомнения, а у студентов такие сомнения быть должны, то или щелкните в поле Проба и с помощью маски введите любой номер телефона (просто набирайте цифры), или нажмите на кнопку Далее и на любом шаге Мастера проведите испытание ввода маски телефона.

На этом создание полей таблицы Клиенты заканчивается. Заполнение любой созданной таблицы данными категорически запрещается, так как это делается только после создания всех таблиц и установления связей между таблицами.

Для создания очередной таблицы выполните команду Создание Таблица. Все операции по созданию полей выполняются в Конструкторе.

Таблица Сотрудники должна включать в себя следующие поля со следующими свойствами:

Код_агента — ключевое поле. Тип данных: счетчик. Размер поля: длинное целое. Формат поля: основной. Новые значения: последовательные. Обязательное поле: да. Индексированное поле: Да (совпадения не допускаются).

ФИО — тип данных: текстовый. Размер поля: 60. Обязательное поле: да. Индексированное поле: нет.

Дата_рождения — тип данных: Дата/время. Обязательное поле: да. Маска ввода: краткий формат даты. Индексированное поле: нет.

Дата_приема — тип данных: Дата/время. Обязательное поле: да. Маска ввода: краткий формат даты. Индексированное поле: нет.

Стаж — тип данных: числовой. Размер поля: длинное целое. Формат поля: основной. Число десятичных знаков: 0. Обязательное поле: да. Индексированное поле: нет.

Дата_увольнения — тип данных: Дата/время. Обязательное поле: нет. Маска ввода: краткий формат даты. Индексированное поле: нет.

Фотография — тип данных: Поле объекта OLE. Обязательное поле: нет.

Особо обратите внимание на поле Дата_увольнения: многие так увлекаются, что делают это поле обязательным. Сотрудники обычно увольняются довольно редко, а если это поле сделать обязательным, то сразу же после приема на работу сотрудника должны немедленно уволить.

Таблица Туры должна включать в себя следующие поля со следующими свойствами:

Код_тура — ключевое поле. Тип данных: счетчик. Размер поля: длинное целое. Формат поля: основной. Новые значения: последовательные. Обязательное поле: да. Индексированное поле: Да (совпадения не допускаются).

Тип_тура — тип данных: текстовый. Размер поля: 20. Обязательное поле: да. Индексированное поле: нет.

Наименование_тура — тип данных: текстовый. Размер поля: 60. Обязательное поле: да. Индексированное поле: нет.

Цена — тип данных: числовой. Размер поля: двойное с плавающей точкой. Формат поля: денежный. Число десятичных знаков: 2. Обязательное поле: да. Индексированное поле: нет.

Таблица Заказы должна включать в себя следующие поля со следующими свойствами:

Код_заказа — ключевое поле. Тип данных: счетчик. Размер поля: длинное целое. Формат поля: основной. Новые значения: последовательные. Обязательное поле: да. Индексированное поле: Да (совпадения не допускаются).

Месяц — тип данных: текстовый. Размер поля: 8 (число символов в самом длинном месяце: сентябрь). Обязательное поле: да. Индексированное поле: нет.

Дата — тип данных: Дата/время. Обязательное поле: да. Маска ввода: краткий формат даты. Индексированное поле: нет.

Код_тура — тип данных: числовой. Размер поля: длинное целое. Формат поля: основной. Число десятичных знаков: 0. Обязательное поле: да. Обязательное поле: да. Индексированное поле: Да (допускаются совпадения).

Код_клиента — тип данных: числовой. Размер поля: длинное целое. Формат поля: основной. Число десятичных знаков: 0. Обязательное поле: да. Обязательное поле: да. Индексированное поле: Да (допускаются совпадения).

Количество — тип данных: числовой. Размер поля: длинное целое. Формат поля: основной. Число десятичных знаков: 0. Обязательное поле: да. Индексированное поле: нет.

Мы создали 4 таблицы, данные по-прежнему заполнять нельзя. Если какие-либо таблицы не нужны, то их можно закрыть. Закрыть можно или с помощью кнопки Закрыть «Имя_таблицы» (×) (закрывается активная таблица), или щелкнув по ярлычку таблицы правой клавишей мыши, выбрать из контекстного меню команду Закрыть, если закрыть нужно таблицу, по ярлычку которой был выполнен щелчок, или команду Закрыть все, если закрыть нужно все таблицы. Сохранение каждой таблицы выполняется отдельно. Если при закрытии имеются несохраненные данные в этой таблице, то будет выведено предложение сохранить изменения.

После создания таблиц можно создавать подстановочные списки.

С помощью Конструктора откройте таблицу Заказы. Выделите поле Месяц. Справа от этого поля находится Тип данных: Текстовый. Щелкните по этому типу. После этого становится видна треугольная кнопочка. Щелкните по этой кнопочке. В списке открывшихся команд выполните самую последнюю команду Мастер подстановок. В открывшемся окне Создание подстановки установите переключатель в положение Будет введен фиксированный набор значений. Фиксированный набор означает, что мы будем создавать эти возможные значения вручную. Нажмите на кнопку Далее. В следующем шаге Мастера введите названия месяцев. После завершения создания строки списка нельзя нажимать на клавишу Enter, иначе Мастер просто перейдет в следующий шаг. Поэтому для перехода на строчку ниже нажимайте на клавиатуре ПК клавишу Стрелка вниз. Если весь подстановочный список создан (Рис. 2), то нажмите на кнопку Далее.

Рис. 2. Создание фиксированного списка

В последнем шаге Мастера предлагается выбрать заголовок для фиксированного списка. Но так как мы уже создали таблицу, то имя для этого заголовка берется из имени столбца. Обычно это имя изменять не нужно. Нажмите на кнопку Готово для создания фиксированного списка и возвращения в рабочее окно программы.

После создания фиксированного списка часто спрашивают, а куда же были введены все эти значения и где их можно посмотреть: посмотреть подстановочный список можно на панели Свойства поля, на вкладке Подстановка. В свойстве Источник строк перечислены месяцы, которые были только что созданы. В поле Число строк списка установите значение 12, так как всего в списке 12 записей. В поле Ограничиться списком установите значение Да. Снова вернитесь на вкладку Общие.

Закройте таблицу Заказы. С помощью Конструктора откройте таблицу Туры. Выделите поле Тип_тура. Самостоятельно создайте фиксированный набор значений для этого поля. Введите следующие записи:

Можете самостоятельно продолжить этот список по направлениям туров.

Создание фиксированных наборов значений являются самыми простыми подстановочными списками. Теперь мы должны связать таблицы между собой. Связи таблиц представлены на рисунке (Рис. 3).

Рис. 3. Схема базы данных Туристические поездки

Для связывания таблиц нужно выбирать таблицу, в которой связываемое поле не является ключевым. Например, таблицы Клиенты и Сотрудники имеют одно и то же поле Код_агента. В таблице Клиенты это поле не ключевое, а в таблице Сотрудники — ключевое. Значит, для связывания мы должны с помощью Конструктора открыть таблицу Клиенты. Выделите поле Код_агента. Справа от этого поля находится Тип данных: Числовой. Щелкните по этому типу. После этого становится видна треугольная кнопочка. Щелкните по этой кнопочке. В списке открывшихся команд выполните самую последнюю команду Мастер подстановок. В открывшемся окне Создание подстановки установите переключатель в положение Объект «столбец подстановки» будет использовать значения из таблицы или запроса. Нажмите на кнопку Далее. После этого открывается Мастер подстановки на втором шаге (Рис. 4). Здесь выбирается источник подстановки. В качестве источника подстановки можно использовать таблицы, запросы или и то и другое. В нашем примере созданы пока только таблицы, которые по умолчанию и предлагаются. Выберите таблицу Сотрудники, так как мы уже выяснили выше, что поле Код_агента имеется только в таблицах Клиенты и Сотрудники. Но так как мы соединяем поле Код_агента из таблицы Клиенты, то связывать мы должны с таким же полем в таблице Сотрудники. Нажмите на кнопку Далее.

Рис. 4. Выбор источника подстановки

В следующем шаге Мастера необходимо выбрать поле (или поля) в выбранной только что таблице (Сотрудники). В списке Доступные поля по очереди выберите связываемые поля: Код_агента и ФИО. Нажмите на кнопку >. После этого выбранное поле оказывается в списке Выбранные поля, а из списка Доступные поля такое поле исчезает. Часто спрашивают: почему мы связываем с одним полем из таблицы Клиенты сразу 2 поля из таблицы Сотрудники? Дело в том, что если мы предложим выбрать код из ничего не говорящих кодов, то пользователю будет трудно сделать выбор. Но если будет предложен список фамилий, то выбор сделать просто. Тогда задают второй вопрос: а почему нельзя сразу связать поле Код_агента из таблицы Клиенты с полем ФИО из таблицы Сотрудники? Да потому, что в первом поле выбран тип данных Числовой, а во втором тип данных Текстовый. Эти два совершенно разных типа данных невозможно напрямую связать друг с другом. А так как напрямую нельзя, то приходится связывать не напрямую, а косвенно, с помощью поля Код_агента из таблицы Сотрудники. В этой таблице тип данных Счетчик, представляющий собой не что иное, как числа, только автоматически нумеруемые. На рисунке (Рис. 5) такой выбор уже выполнен. Нажмите на кнопку Далее.

Рис. 5. Выбор подстановочных полей

В следующем шаге Мастера определяются параметры сортировки данных в подсоединяемом столбце. В нашем примере ничего сортировать не нужно. Нажмите на кнопку Далее. В следующем шаге Мастера определяется ширина подстановочного столбца. Возможность скорее виртуальная, чем реальная, так как, не имея данных, трудно сказать о нужной ширине. Нужную ширину можно потом, при вводе реальных данных. Поэтому нажмите на кнопку Далее. В последнем шаге Мастера предлагается определить имя подстановочного столбца, но так как мы это имя указали при создании таблиц, то обычно это имя и остается. Нажмите на кнопку Готово. Перед созданием связи предлагается сохранить таблицу. Согласитесь. После этого программа возвращается в ту таблицу, для которой создавался подстановочный список (в данном случае Клиенты).

Сохраните и закройте таблицу Клиенты. Откройте с помощью Конструктора таблицу Заказы. В этой таблице нужно создать 2 связи: для поля Код_тура и Код_клиента.

Поле Код_тура из таблицы Заказы нужно связать с полями Код_тура, Наименование_тура, Цена из таблицы Туры. Поле Код_клиента из таблицы Заказы нужно связать с полями Код_клиента, Город, Наименование_фирмы из таблицы Клиенты. Эти связи установите самостоятельно. После связывания таблиц установите следующие свойства: Число строк списка: 100. Ограничиться списком: Да.

Сохраните изменения и обязательно закройте все таблицы. Выполните команду Работа с базами данныхСхема данных. Если в схеме данных отражаются не все таблицы, то щелкните в свободной области схемы данных правой клавишей мыши и из открывшегося контекстного меню выполните команду Отобразить все. Таблицы связаны друг с другом так, как мы их связывали с помощью столбцов подстановки. Первоначально таблицы разбросаны по схеме случайным образом, поэтому рассмотреть связи между таблицами неудобно. Подхватите каждую таблицу за системную полосу и расставьте их так, чтобы связи были видны (Рис. 6).

Рис. 6. Схема данных

Если в дальнейшем выяснится, что в связях имеются ошибки или свойства поля, входящего в связь, выбраны неправильно, то программа не разрешит ничего исправить до тех пор, пока не будет удалена связь между парой таблиц. Для этого щелкните по связи в схеме данных правой клавишей мыши. Из открывшегося контекстного меню выполните команду Удалить. Подтвердите удаление связи. После исправления ошибки связь нужно будет создать заново.

На следующем шаге работы нужно проверить целостность данных. Для этого аккуратно щелкните по связи в паре таблиц. Щелкните по выделенной связи правой клавишей мыши. Из открывшегося контекстного меню выполните команду Изменить связь. В открывшемся окне Изменение связей установите флажки в следующие опции: Обеспечение целостности данных, Каскадное обновление связанных полей и Каскадное удаление связанных записей. Нажмите на кнопку ОК. Если после этого программа сообщит, что невозможно проверить целостность ядра данных, то это означает, что пользователь не закрыл исходные таблицы. Закройте исходные таблицы (в Конструкторе), а схему данных не закрывайте, снова выполните проверку целостности данных.

Если открытых таблиц не было, то на концах связи в паре таблиц в схеме данных появятся 2 значка: 1 и ∞. Значение 1 может быть установлено в ключевом поле. Это означает, что каждая запись в таком поле уникальна и не может повторяться. Значение ∞ сообщает, что в данном поле может быть неограниченное число одних и тех же значений. Например, когда клиент первый раз приходит в туристическую кампанию, то он получает уникальный номер, по которому его потом в случае необходимости можно легко идентифицировать. Такой номер у него может быть только один: на этот номер будут накапливаться различные бонусы, скидки, льготы и т. д. Но клиент может покупать любое число путевок, да и приходить в кампанию он может неограниченное число раз, то есть бесконечное число.

Самостоятельно проверьте целостность данных для всех связей в таблицах. Сохраните изменения в схеме данных и закройте ее.

На следующем шаге выполняется пробное (по одной записи) заполнение всех четырех таблиц. Заполнять таблицы нужно не случайным образом, а по строго определенному правилу: сначала заполняются таблицы, откуда идут стрелки, а в конце заполняются таблицы, в которые идут стрелки. Поэтому сначала заполняются таблицы Сотрудники и/или Туры. Потом заполняется таблица Клиенты и только в самом конце заполняется таблица Заказы. Для начала заполнения таблицы выполните двойной щелчок по ее имени в списке таблиц.

Рис. 7. Запись в таблице Сотрудники

Рис. 8. Запись в таблице Туры

Рис. 9. Запись в таблице Клиенты

Рис. 10. Запись в таблице Заказы

Изменение ширины столбцов таблицы можно организовать только после ввода всех обязательных полей записи. Для вставки фотографии щелкните по полю в таблице правой клавишей мыши и из открывшегося контекстного меню выполните команду Вставить объект. Выберите программу, с помощью которой можно вставить фотографию. Вставленную фотографию можно редактировать.

Обратите внимание, насколько просто работать с подстановочными списками: не нужно открывать справочники, чтобы узнать код того то или того то.

Если в ходе заполнения таблиц одиночными записями не возникло ни одной ошибки, то можно приступать к массовому заполнению таблиц. Теоретически это можно сделать тем же способом, которым создавались одиночные записи (двойной щелчок по имени таблицы в списке таблиц), но практически так редко кто делает, так намного удобнее вводить записи в таблицы с помощью форм.

Закройте все открытые таблицы. Для создания формы для ввода данных выполните команду Создание Другие формыМастер форм. После этого запускается Мастер на первом шаге (Рис. 11). В списке Таблицы и запросы выберите таблицу, для которой нужно создавать форму. В какой последовательности создавать формы для таблиц совершенно все равно. Для примера возьмем таблицу Клиенты. В списке Доступные поля перечислены все поля выбранной таблицы. Если в форму нужно включить все поля, то нажмите на кнопку >>. После этого все исходные поля из списка Доступные поля перемещаются в список Выбранные поля. Если некоторые поля не нужны, то их можно по очереди выбрать с помощью кнопки >. Другой вариант: выбрать все поля, нажав на кнопку >>, а затем ненужные поля выделить в списке Выбранные поля и убрать с помощью кнопки <. Обычно для формы выбирают все поля. После выбора полей нажмите на кнопку Далее.

Рис. 11. Выбор исходной таблицы

На втором шаге Мастера определяется внешний вид формы. Наиболее простым и понятным является вариант Табличный. Нажмите на кнопку Далее. В третьем шаге Мастера определяется стиль формы. Для примера выберите вариант Стандартная. В последнем шаге Мастера определяется имя создаваемой формы. По умолчанию предлагается то же имя, что и в таблице. Нажмите на кнопку Готово.

Самостоятельно создайте формы для 3-х других таблиц.

Чтобы открыть форму для заполнения выполните по ней двойной щелчок мышью. После этого на риббоне Главная выполните команду Режим Режим формы. После этого будет открыта форма (Рис.12). Кроме этого на полосе состояния (самая последняя в рабочем окне программы в правой части находятся кнопки работы в разных режимах, в том числе и Режим формы). Под формой предлагаются кнопки для навигации по записям в таблице.

Рис. 12. Заполнение таблицы с помощью форм

С помощью форм введите данные в таблицы (число записей):

Сотрудники: 5 записей

Код_агента

ФИО

Дата_рождения

Дата_приема

Стаж

Дата_увольнения

Фотография

1

Иванов Иван Иванович

01.04.1986

09.02.2004

8

 

 

2

Борисов Алексей Викторович

22.03.1995

01.09.2011

1

 

 

3

Цепалова Алена Игоревна

16.05.1993

24.06.2010

2

 

 

4

Павлухина Мария Сергеевна

05.02.1978

25.06.2002

10

 

 

5

Бисенов Даулет Сергеевич

29.04.1989

04.07.2005

7

 

 

Клиенты: 20 записей

Код_клиента

Название_фирмы

Код_агента

Индекс

Город

Адрес

Телефон

Скидка

1

Светлица

Иванов Иван Иванович

112233

Старые Васюки

Садовая, 14

( - )999-88-87

2,00%

2

Веселая планета

Цепалова Алена Игоревна

223377

Хвалынск

Весенняя, 45

( - )777-88-89

1,00%

3

Зеленая планета

Борисов Алексей Викторович

114455

Новокузнецк

Осенняя, 9

( - )099-22-44

0,00%

4

Луч

Бисенов Даулет Сергеевич

440077

Ижевск

Речная, 12

( - )111-33-33

3,00%

5

Светозар

Павлухина Мария Сергеевна

117788

Майкоп

Морская,6

( - )444-44-44

2,00%

6

БЭСФ

Борисов Алексей Викторович

223344

Чапаевск

Мира, 21

( - )666-33-33

1,00%

7

Отдых и развлечения

Бисенов Даулет Сергеевич

776655

Саратов

Московская, 2

( - )555-66-00

3,00%

8

Респект

Борисов Алексей Викторович

445511

Пенза

Симбирцева, 31

( - )445-58-99

0,00%

9

Большой мир

Павлухина Мария Сергеевна

336677

Екатеринбург

Слонова, 34

( - )111-00-66

1,00%

10

Праздник

Иванов Иван Иванович

115544

Дивногорск

Лесная, 11

( - )222-22-22

0,00%

11

Празник-праздник

Павлухина Мария Сергеевна

227700

Волгоград

Театральная, 34

( - )777-77-77

2,00%

12

Мишка косолапый

Бисенов Даулет Сергеевич

331144

Архангельск

Морская, 11

( - )445-55-55

3,50%

13

Дуэт

Иванов Иван Иванович

554433

Пенза

Восточная, 3

( - )333-33-33

0,00%

14

Встреча

Цепалова Алена Игоревна

447766

Ижевск

Уральская, 8

( - )477-77-75

2,00%

15

Визит

Борисов Алексей Викторович

774499

Саратов

Новая, 14

( - )115-55-55

3,40%

16

Лед и пламя

Борисов Алексей Викторович

987654

Хвалынск

Старая, 15

( - )333-33-33

1,40%

17

Дорога

Иванов Иван Иванович

172839

Тамбов

Лесная, 23

( - )111-18-88

2,70%

18

Апрель

Павлухина Мария Сергеевна

876543

Ижевск

Сибирская, 8

( - )056-78-90

1,90%

19

Золотая Прага

Цепалова Алена Игоревна

654321

Волгоград

Григорьева, 5

( - )890-89-08

2,30%

20

Черный кот

Борисов Алексей Викторович

234567

Чапаевск

Березовая, 6

( - )023-45-67

1,80%

Туры: 50 записей

Код_тура

Тип_тура

Наименование_тура

Цена

1

Восточная Европа

Болгария

14 000,00р.

2

Прибалтика

Литва

9 000,00р.

3

Китай

Пекин

28 000,00р.

4

Западная Европа

Германия

15 000,00р.

5

Западная Европа

Греция

14 000,00р.

6

Таиланд

Таиланд

27 000,00р.

7

Турция

Стамбул

11 000,00р.

8

Карибские острова

Куба

34 000,00р.

9

Россия

Сочи

5 000,00р.

10

СНГ

Молдавия

4 500,00р.

11

Юго-Восточная Азия

Вьетнам

26 000,00р.

12

Россия

Анапа

4 500,00р.

13

Египет

Египет

14 000,00р.

14

Карибские острова

Гренада

38 000,00р.

15

Прибалтика

Латвия

8 800,00р.

16

Восточная Европа

Венгрия

9 000,00р.

17

Россия

Адлер

4 300,00р.

18

Испания

Мальорка

15 900,00р.

19

Китай

Шанхай

23 000,00р.

20

Испания

Ибица

16 700,00р.

21

Россия

Домбай

6 000,00р.

22

СНГ

Белоруссия

5 000,00р.

23

Западная Европа

Голландия

15 800,00р.

24

Турция

Хургада

12 000,00р.

25

Юго-Восточная Азия

Филлипины

23 000,00р.

26

Россия

Каспийск

5 000,00р.

27

СНГ

Таджикистан

4 000,00р.

28

Прибалтика

Эстония

9 000,00р.

29

Россия

Калининград

5 500,00р.

30

СНГ

Одесса

6 000,00р.

31

Восточная Европа

Чехия

10 000,00р.

32

Западная Европа

Бельгия

20 000,00р.

33

Западная Европа

Италия

20 000,00р.

34

Россия

Алтай

10 000,00р.

35

Россия

Южный Урал

14 000,00р.

36

Россия

Байкал

12 000,00р.

37

Россия

Троице-Сергиевская лавра

7 000,00р.

38

СНГ

Казахстан

7 000,00р.

39

СНГ

Киргизия

8 000,00р.

40

Восточная Европа

Словакия

12 070,00р.

41

Египет

Красное море

34 500,00р.

42

Западная Европа

Франция

35 000,00р.

43

Восточная Европа

Румыния

12 400,00р.

44

СНГ

Армения

7 567,00р.

45

Россия

Колыма

45 000,00р.

46

Россия

Бийск

35 897,00р.

47

Китай

Далянь

47 078,00р.

48

Западная Европа

Люксембург

24 170,00р.

49

Западная Европа

Швейцария

31 986,00р.

50

Россия

Восточная Сибирь

45 973,35р.

Заказы: 100 записей

Код_заказа

Месяц

Дата

Код_тура

Код_клиента

Количество

1

Август

01.07.2012

Болгария

Старые Васюки

3

2

Март

06.02.2012

Греция

Новокузнецк

1

3

Июнь

24.04.2011

Таиланд

Хвалынск

2

4

Апрель

11.12.2011

Греция

Саратов

1

5

Август

21.10.2010

Пекин

Новокузнецк

1

6

Январь

26.05.2012

Стамбул

Волгоград

2

7

Май

29.10.2011

Греция

Екатеринбург

3

8

Сентябрь

11.06.2012

Литва

Ижевск

4

9

Март

26.06.2011

Байкал

Пенза

7

10

Апрель

21.03.2012

Каспийск

Саратов

2

11

Июль

31.03.2012

Одесса

Тамбов

2

12

Сентябрь

04.06.2012

Восточная Сибирь

Чапаевск

1

13

Декабрь

13.02.2012

Киргизия

Хвалынск

2

14

Ноябрь

03.09.2011

Троице-Сергиевская лавра

Саратов

3

15

Февраль

24.12.2011

Венгрия

Пенза

1

16

Март

11.12.2011

Латвия

Архангельск

1

17

Октябрь

05.05.2012

Анапа

Тамбов

2

18

Август

21.09.2011

Калининград

Волгоград

1

19

Октябрь

07.04.2012

Гренада

Волгоград

1

20

Январь

11.12.2011

Адлер

Хвалынск

2

21

Март

02.03.2012

Литва

Ижевск

1

22

Август

23.12.2011

Таиланд

Майкоп

1

23

Май

31.10.2011

Германия

Новокузнецк

2

24

Апрель

04.05.2012

Куба

Саратов

1

25

Июнь

01.03.2012

Молдавия

Майкоп

1

26

Сентябрь

02.05.2012

Венгрия

Архангельск

1

27

Январь

08.08.2012

Мальорка

Пенза

2

28

Февраль

02.03.2012

Шанхай

Волгоград

2

29

Май

31.08.2012

Анапа

Хвалынск

3

30

Июль

09.09.2012

Белоруссия

Ижевск

3

31

Ноябрь

20.11.2011

Латвия

Хвалынск

4

32

Апрель

30.09.2012

Ибица

Саратов

1

33

Май

23.02.2012

Стамбул

Майкоп

2

34

Июль

04.05.2012

Германия

Ижевск

2

35

Август

26.04.2012

Вьетнам

Хвалынск

3

36

Апрель

01.03.2012

Домбай

Тамбов

2

37

Октябрь

02.04.2012

Сочи

Новокузнецк

3

38

Июнь

23.05.2012

Хургада

Ижевск

1

39

Январь

11.11.2012

Латвия

Саратов

2

40

Февраль

12.12.2012

Адлер

Чапаевск

3

41

Март

04.06.2012

Гренада

Пенза

2

42

Декабрь

08.09.2012

Мальорка

Ижевск

3

43

Июль

03.07.2012

Египет

Тамбов

1

44

Май

05.06.2012

Литва

Хвалынск

1

45

Февраль

07.07.2012

Болгария

Старые Васюки

2

46

Июнь

30.04.2012

Литва

Майкоп

2

47

Август

09.10.2012

Вьетнам

Пенза

1

48

Апрель

02.03.2012

Болгария

Чапаевск

4

49

Октябрь

05.05.2012

Домбай

Дивногорск

5

50

Август

06.09.2012

Гренада

Хвалынск

1

51

Апрель

01.02.2012

Мальорка

Тамбов

1

52

Январь

03.05.2012

Венгрия

Ижевск

3

53

Февраль

07.10.2012

Египет

Волгоград

3

54

Март

31.03.2012

Латвия

Екатеринбург

4

55

Декабрь

01.02.2012

Сочи

Пенза

2

56

Февраль

10.12.2011

Греция

Новокузнецк

2

57

Апрель

24.12.2011

Германия

Майкоп

3

58

Май

04.04.2012

Греция

Саратов

4

59

Январь

30.04.2012

Египет

Ижевск

2

60

Март

28.02.2012

Куба

Екатеринбург

1

61

Июль

06.09.2011

Анапа

Пенза

2

62

Май

20.12.2011

Сочи

Ижевск

3

63

Май

30.12.2012

Гренада

Хвалынск

2

64

Август

29.09.2012

Стамбул

Волгоград

3

65

Июль

09.08.2012

Вьетнам

Пенза

1

66

Апрель

28.03.2012

Сочи

Саратов

2

67

Сентябрь

04.05.2012

Куба

Екатеринбург

1

68

Март

09.09.2012

Мальорка

Ижевск

3

69

Сентябрь

06.02.2012

Таиланд

Хвалынск

3

70

Февраль

03.04.2012

Куба

Дивногорск

1

71

Январь

08.07.2012

Литва

Волгоград

2

72

Июнь

04.07.2012

Болгария

Хвалынск

3

73

Март

29.04.2012

Ибица

Ижевск

2

74

Июнь

27.12.2012

Адлер

Архангельск

1

75

Апрель

04.06.2012

Анапа

Пенза

2

76

Май

04.08.2012

Сочи

Волгоград

2

77

Июнь

03.04.2012

Стамбул

Ижевск

5

78

Март

09.07.2012

Молдавия

Саратов

2

79

Апрель

07.06.2012

Гренада

Чапаевск

2

80

Август

02.03.2012

Домбай

Ижевск

3

81

Сентябрь

05.01.2012

Сочи

Саратов

2

82

Март

23.12.2012

Вьетнам

Дивногорск

3

83

Август

08.05.2012

Таиланд

Майкоп

2

84

Сентябрь

02.03.2012

Греция

Пенза

5

85

Ноябрь

04.08.2012

Мальорка

Хвалынск

1

86

Август

05.06.2012

Стамбул

Ижевск

1

87

Январь

31.01.2012

Греция

Екатеринбург

2

88

Февраль

03.06.2012

Сочи

Пенза

3

89

Сентябрь

04.01.2012

Анапа

Саратов

4

90

Ноябрь

09.06.2012

Латвия

Старые Васюки

5

91

Июль

02.07.2012

Египет

Хвалынск

2

92

Январь

06.07.2012

Стамбул

Майкоп

1

93

Июнь

09.04.2012

Адлер

Чапаевск

2

94

Октябрь

03.05.2012

Венгрия

Саратов

2

95

Июль

06.01.2012

Вьетнам

Пенза

1

96

Март

07.04.2012

Молдавия

Екатеринбург

2

97

Август

05.02.2012

Германия

Новокузнецк

1

98

Апрель

22.04.2012

Таиланд

Волгоград

3

99

Ноябрь

21.03.2012

Пекин

Екатеринбург

2

100

Апрель

24.10.2012

Анапа

Пенза

5

Эти данные необходимы для создания запросов, поэтому записей в каждой таблице должно быть достаточно много.