ЗАДАНИЕ ДЛЯ САМОСТОЯТЕЛЬНОГО ВЫПОЛНЕНИЯ
Постановка задачи. Требования к информационной системе
Туристическое агентство создает ИС, автоматизирующую процессы учета договоров с клиентами и контроля исполнения заказов на путешествия.
В функции ИС входит получение информации по следующим направлениям.
Клиенты: о постоянных клиентах агентства; о клиентах, дающих наибольший доход.
Договоры: о платежах по договору; о турах, пользующихся наибольшим спросом; о турах, приносящих наибольший доход.
Контроль исполнения: объем работ, выполненный каждым сотрудником; договоры, срок действия которых заканчивается в текущем месяце.
Бизнес-анализ: список всех туров, сгруппированных по странам; индивидуальные туры; групповые туры; годовой поквартальный отчет с указанием суммы и числа договоров; финансовый отчет и др.
При такой постановке задачи необходимо выделить следующие массивы информации: Клиенты, Договоры, Туры, Сотрудники, Страны.
Проектирование базы данных
Концептуальная модель базы данных
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).