Этап. Заполнение таблиц данными
ЗАДАНИЕ ДЛЯ САМОСТОЯТЕЛЬНОГО ВЫПОЛНЕНИЯ
Постановка задачи. Требования к информационной системе
Туристическое агентство создает ИС, автоматизирующую процессы учета договоров с клиентами и контроля исполнения заказов на путешествия.
В функции ИС входит получение информации по следующим направлениям.
Клиенты:о постоянных клиентах агентства; о клиентах, дающих наибольший доход.
Договоры:о платежах по договору; о турах, пользующихся наибольшим спросом; о турах, приносящих наибольший доход.
Контроль исполнения:объем работ, выполненный каждым сотрудником; договоры, срок действия которых заканчивается в текущем месяце.
Бизнес-анализ:список всех туров, сгруппированных по странам; индивидуальные туры; групповые туры; годовой поквартальный отчет с указанием суммы и числа договоров; финансовый отчет и др.
При такой постановке задачи необходимо выделить следующие массивы информации: Клиенты, Договоры, Туры, Сотрудники, Страны.
Проектирование базы данных
Концептуальная модель базы данных
1 этап: для БД туристического агентства задать следующие атрибуты сущностей.
Клиенты: Код клиента; Название клиента; Контактное лицо; Признак группы; Адрес клиента; Телефон.
Сотрудники: Код сотрудника; ФИО; Должность; Телефон; Дата найма; Дата рождения; Оклад.
Туры: Код тура; Страна; Авиакомпания; Время вылета; Аэропорт; Тип самолета.
Страны: Страна.
Договоры: Номер договора; Дата начала тура; Дата окончания тура; Дата оформления; Код клиента; Код тура; Число туристов; Цена тура; Код сотрудника.
2 этап: графически изобразить связи между сущностями (концептуальная модель БД).
Логическая модель реляционной БД
Для построения логической модели на основе концептуальной необходимо выполнить следующие действия:
1. Создать пять таблиц: Сотрудники, Клиенты, Туры, Договоры, Страны.
2. Задать первичные ключи для таблиц Клиенты, Туры и Сотрудники, выступающие в связях как «один-ко-многим»: Код клиента, Код тура и Код сотрудника. Для таблицы Договоры данные ключи являются внешними.
3. Использовать таблицы Клиенты, Туры и Сотрудники в качестве подстановки при заполнении таблицы Договоры.
4. Таблицу Страны(ключевое поле Код страны)использовать в качестве подстановки при заполнении таблицы Туры.
Физическое проектирование БД с помощью MS ACCESS
Этап. Задание свойств полей для всех таблиц
В режиме Конструктора задать типы данных и свойства полей для следующих таблиц (табл.1-4).
Таблица 1
Таблица Клиенты
| Имя поля | Тип данных | Свойства поля | ||
| Свойство | Значение | |||
КодКлиента
| Числовой | Размер поля Обязательное поле Индексированное | Длинное целое Да Да (совпадения не допускаются) | |
| НазваниеКлиента | Текстовый | Размер поля Обязательное поле Индексированное | Да Да (допускаются совпадения) | |
| КонтактноеЛицо | Текстовый | Размер поля Обязательное поле Индексированное | Да Нет | |
| ПризнакГруппы | Логический | Формат поля | Да/Нет | |
| Адрес | Текстовый | Размер поля Обязательное поле Индексированное | Нет Нет | |
| Телефон | Текстовый | Размер поля Обязательное поле Индексированное Маска ввода | Нет Нет (+7) 999- 999-99-99 | |
Таблица 2
Таблица Сотрудники
| Имя поля | Тип данных | Свойства поля | |
| Свойство | Значение | ||
КодСотрудника
| Числовой | Размер поля Обязательное поле Индексированное | Длинное целое Да Да (совпадения не допускаются) |
| ФИО | Текстовый | Размер поля Обязательное поле Индексированное | Да Да (допускаются совпадения) |
| Должность | Текстовый | Размер поля Обязательное поле Индексированное | Да Нет |
| ДатаНайма | Дата/Время | Формат поля Обязательное поле Индексированное Маска ввода | Краткий формат даты Да Нет 99.99.9999 |
| ДатаРождения | Дата/Время | Формат поля Обязательное поле Индексированное Маска ввода | Краткий формат даты Да Нет 99.99.9999 |
| Телефон | Текстовый | Размер поля Обязательное поле Индексированное Маска ввода | Нет Нет (+7) 999-999-99-99 |
| Адрес | Текстовый | Размер поля Обязательное поле Индексированное | Нет Нет |
| Оклад | Денежный | Обязательное поле Индексированное Условие на значение Сообщение об ошибке | Да Нет >5000 and <=30000 Неправильно введен оклад |
В режиме Конструктора создать таблицу-справочник Страны (табл. 3).
Таблица 3
Таблица Страны
| Имя поля | Тип данных | Свойства поля | |
| Свойство | Значение | ||
Страна
| Текстовый | Обязательное поле Индексированное | Да Да (совпадения не допускаются) |
В режиме Конструктора задать типы данных и свойства полей для таблицы Туры (табл.4). Поле Страна создать с использованием значений из таблицы Страны при помощи Мастера подстановок.
Таблица 4
Таблица Туры
| Имя поля | Тип данных | Свойства поля | |
| Свойство | Значение | ||
КодТура
| Числовой | Размер поля Обязательное поле Индексированное | Длинное целое Да Да (совпадения не допускаются) |
| Страна | Текстовый | Размер поля Обязательное поле Индексированное | Да Нет |
| Использует значения из таблицы Страны | |||
| Авиакомпания | Текстовый | Обязательное поле Индексированное | Да Нет |
| ВремяВылета | Дата/Время | Формат поля Обязательное поле Индексированное Маска ввода | Краткий формат времени Нет Нет 99:99 |
| Аэропорт | Текстовый | Обязательное поле Индексированное | Нет Нет |
| ТипСамолета | Текстовый | Обязательное поле Индексированное | Нет Нет |
В режиме Конструктора задать типы данных и свойства полей для таблицы Договоры (табл.5). Поля Код клиента, Код тура и Код сотрудника создать с использованием значений из соответствующих таблиц Клиенты, Туры и Сотрудники при помощи Мастера подстановок. При использовании Мастера подстановок выбирать два поля одновременно, например, из таблицы Сотрудники: Код сотрудника и ФИО; из таблицы Клиенты: Код клиента и Название клиента; из таблицы Туры: Код тура и Страна. Флаг Скрыть ключевой столбец не ставить.
Таблица 5
Таблица Договоры
| Имя поля | Тип данных | Свойства поля | |
| Свойство | Значение | ||
| НомерДоговора | Числовой | Обязательное поле Индексированное | Да Да (совпадения не допускаются) |
| КодКлиента | Числовой | Размер поля Обязательное поле Индексированное | Длинное целое Да Да (допускаются совпадения) |
| Использует значения из таблицы Клиенты | |||
| КодТура | Числовой | Размер поля Обязательное поле Индексированное | Длинное целое Да Да (допускаются совпадения) |
| Использует значения из таблицы Туры | |||
| ДатаНачала Тура | Дата/ Время | Формат поля Обязательное поле Индексированное Маска ввода | Краткий формат даты Да Да (допускаются совпадения) 99.99.9999 |
| ДатаОкончания Тура | Дата/ Время | Формат поля Обязательное поле Индексированное Маска ввода | Краткий формат даты Да Да (допускаются совпадения) 99.99.9999 |
| ЧислоТуристов | Числовой | Размер поля Десятичн. знаков Значение по умол. Усл. на значение Обязательное поле Индексированное | Целое >0 Да Нет |
| ЦенаТура | Денеж-ный | Размер поля Обязательное поле Индексированное | Длинное целое Нет Нет |
| ДатаОформле-ния | Дата/ Время | Формат поля Обязательное поле Индексированное Маска ввода | Краткий формат даты Да Нет 99.99.9999 |
| КодСотрудника | Числовой | Размер поля Индексированное | Длинное целое Да (допускаются совпадения) |
| Использует значения из таблицы Сотрудники |
Этап. Создание связей между таблицами
Используя схему данных, настроить связи между таблицами согласно рис.1.

Рис.1. Связи между таблицами
этап. Заполнение таблиц данными
В режиме таблиц заполнить созданные таблицы данными: сначала заполнить таблицу Страны,а затем, таблицы Клиенты,Туры, Сотрудники(прил. 1, рис.1-4).