- •Задание для самостоятельного выполнения
- •1. Постановка задачи. Требования к информационной системе
- •2. Проектирование базы данных
- •2.1. Концептуальная модель базы данных
- •2.2. Логическая модель реляционной бд
- •2.3. Физическое проектирование бд с помощью ms access
- •1 Этап. Задание свойств полей для всех таблиц
- •2 Вариант.
- •3 Вариант.
- •4 Вариант.
- •5 Вариант.
- •6 Вариант.
- •7 Вариант.
- •8 Вариант.
- •9 Вариант.
- •10 Вариант.
- •Образцы таблиц для самостоятельной разработки информационной системы
- •Литература
Задание для самостоятельного выполнения
1. Постановка задачи. Требования к информационной системе
Туристическое агентство создает ИС, автоматизирующую процессы учета договоров с клиентами и контроля исполнения заказов на путешествия.
В функции ИС входит получение информации по следующим направлениям.
Клиенты: о постоянных клиентах агентства; о клиентах, дающих наибольший доход.
Договоры: о платежах по договору; о турах, пользующихся наибольшим спросом; о турах, приносящих наибольший доход.
Контроль исполнения: объем работ, выполненный каждым сотрудником; договоры, срок действия которых заканчивается в текущем месяце.
Бизнес-анализ: список всех туров, сгруппированных по странам; индивидуальные туры; групповые туры; годовой поквартальный отчет с указанием суммы и числа договоров; финансовый отчет и др.
При такой постановке задачи необходимо выделить следующие массивы информации: Клиенты, Договоры, Туры, Сотрудники, Страны.
2. Проектирование базы данных
2.1. Концептуальная модель базы данных
1 этап: для БД туристического агентства задать следующие атрибуты сущностей.
Клиенты: Код клиента; Название клиента; Контактное лицо; Признак группы; Адрес клиента; Телефон.
Сотрудники: Код сотрудника; ФИО; Должность; Телефон; Дата найма; Дата рождения; Оклад.
Туры: Код тура; Страна; Авиакомпания; Время вылета; Аэропорт; Тип самолета.
Страны: Страна.
Договоры: Номер договора; Дата начала тура; Дата окончания тура; Дата оформления; Код клиента; Код тура; Число туристов; Цена тура; Код сотрудника.
2 этап: графически изобразить связи между сущностями (концептуальная модель БД).
2.2. Логическая модель реляционной бд
Для построения логической модели на основе концептуальной необходимо выполнить следующие действия:
Создать пять таблиц: Сотрудники, Клиенты, Туры, Договоры, Страны.
Задать первичные ключи для таблиц Клиенты, Туры и Сотрудники, выступающие в связях как «один-ко-многим»: Код клиента, Код тура и Код сотрудника. Для таблицы Договоры данные ключи являются внешними.
Использовать таблицы Клиенты, Туры и Сотрудники в качестве подстановки при заполнении таблицы Договоры.
Таблицу Страны (ключевое поле Код страны) использовать в качестве подстановки при заполнении таблицы Туры.
2.3. Физическое проектирование бд с помощью ms access
1 Этап. Задание свойств полей для всех таблиц
В режиме Конструктора задать типы данных и свойства полей для следующих таблиц (табл.1-4).
Таблица 1
Таблица Клиенты
Имя поля |
Тип данных
|
Свойства поля |
|||||
Свойство |
Значение |
||||||
КодКлиента
|
Числовой |
Размер поля Обязательное поле Индексированное |
Длинное целое Да Да (совпадения не допускаются) |
||||
НазваниеКлиента |
Текстовый |
Размер поля Обязательное поле Индексированное |
30 Да Да (допускаются совпадения)
|
||||
КонтактноеЛицо |
Текстовый |
Размер поля Обязательное поле Индексированное |
30 Да Нет
|
||||
ПризнакГруппы |
Логический |
Формат поля |
Да/Нет |
||||
Адрес |
Текстовый |
Размер поля Обязательное поле Индексированное |
50 Нет Нет
|
||||
Телефон |
Текстовый |
Размер поля Обязательное поле Индексированное Маска ввода |
20 Нет Нет (+7) 999- 999-99-99 |
|
|||
Таблица 2
Таблица Сотрудники
Имя поля |
Тип данных
|
Свойства поля |
|
Свойство |
Значение |
||
КодСотрудника
|
Числовой |
Размер поля Обязательное поле Индексированное |
Длинное целое Да Да (совпадения не допускаются) |
ФИО |
Текстовый |
Размер поля Обязательное поле Индексированное
|
30 Да Да (допускаются совпадения) |
Должность |
Текстовый |
Размер поля Обязательное поле Индексированное |
30 Да Нет |
ДатаНайма |
Дата/Время |
Формат поля Обязательное поле Индексированное Маска ввода |
Краткий формат даты Да Нет 99.99.9999 |
ДатаРождения |
Дата/Время |
Формат поля Обязательное поле Индексированное Маска ввода |
Краткий формат даты Да Нет 99.99.9999 |
Телефон |
Текстовый |
Размер поля Обязательное поле Индексированное Маска ввода |
20 Нет Нет (+7) 999-999-99-99 |
Адрес |
Текстовый |
Размер поля Обязательное поле Индексированное |
50 Нет Нет |
Оклад |
Денежный |
Обязательное поле Индексированное Условие на значение Сообщение об ошибке
|
Да Нет >5000 and <=30000
Неправильно введен оклад |
В режиме Конструктора создать таблицу-справочник Страны (табл. 3).
Таблица 3
Таблица Страны
Имя поля |
Тип данных
|
Свойства поля |
|
Свойство |
Значение |
||
Страна
|
Текстовый |
Обязательное поле Индексированное |
Да Да (совпадения не допускаются) |
В режиме Конструктора задать типы данных и свойства полей для таблицы Туры (табл.4). Поле Страна создать с использованием значений из таблицы Страны при помощи Мастера подстановок.
Таблица 4
Таблица Туры
Имя поля
|
Тип данных
|
Свойства поля |
|
Свойство |
Значение |
||
КодТура
|
Числовой |
Размер поля Обязательное поле Индексированное |
Длинное целое Да Да (совпадения не допускаются) |
Страна |
Текстовый |
Размер поля Обязательное поле Индексированное |
50 Да Нет |
Использует значения из таблицы Страны |
|||
Авиакомпания |
Текстовый |
Обязательное поле Индексированное |
Да Нет |
ВремяВылета |
Дата/Время |
Формат поля
Обязательное поле Индексированное Маска ввода |
Краткий формат времени Нет Нет 99:99 |
Аэропорт |
Текстовый |
Обязательное поле Индексированное |
Нет Нет |
ТипСамолета |
Текстовый |
Обязательное поле Индексированное |
Нет Нет |
В режиме Конструктора задать типы данных и свойства полей для таблицы Договоры (табл.5). Поля Код клиента, Код тура и Код сотрудника создать с использованием значений из соответствующих таблиц Клиенты, Туры и Сотрудники при помощи Мастера подстановок. При использовании Мастера подстановок выбирать два поля одновременно, например, из таблицы Сотрудники: Код сотрудника и ФИО; из таблицы Клиенты: Код клиента и Название клиента; из таблицы Туры: Код тура и Страна. Флаг Скрыть ключевой столбец не ставить.
Таблица 5
Таблица Договоры
Имя поля |
Тип данных
|
Свойства поля |
|
Свойство |
Значение |
||
НомерДоговора |
Числовой |
Обязательное поле Индексированное |
Да Да (совпадения не допускаются) |
КодКлиента |
Числовой |
Размер поля Обязательное поле Индексированное |
Длинное целое Да Да (допускаются совпадения) |
Использует значения из таблицы Клиенты |
|||
КодТура |
Числовой |
Размер поля Обязательное поле Индексированное |
Длинное целое Да Да (допускаются совпадения) |
Использует значения из таблицы Туры |
|||
ДатаНачала Тура |
Дата/ Время |
Формат поля Обязательное поле Индексированное
Маска ввода |
Краткий формат даты Да Да (допускаются совпадения) 99.99.9999 |
ДатаОкончания Тура |
Дата/ Время |
Формат поля Обязательное поле Индексированное
Маска ввода |
Краткий формат даты Да Да (допускаются совпадения) 99.99.9999 |
ЧислоТуристов |
Числовой |
Размер поля Десятичн. знаков Значение по умол. Усл. на значение Обязательное поле Индексированное |
Целое 0 1 >0 Да Нет |
ЦенаТура |
Денеж-ный |
Размер поля Обязательное поле Индексированное |
Длинное целое Нет Нет |
ДатаОформле-ния |
Дата/ Время |
Формат поля Обязательное поле Индексированное Маска ввода |
Краткий формат даты Да Нет 99.99.9999 |
КодСотрудника |
Числовой |
Размер поля Индексированное |
Длинное целое Да (допускаются совпадения) |
Использует значения из таблицы Сотрудники |
|||
2 этап. Создание связей между таблицами
Используя схему данных, настроить связи между таблицами согласно рис.1.
Рис.1. Связи между таблицами
3 этап. Заполнение таблиц данными
В режиме таблиц заполнить созданные таблицы данными: сначала заполнить таблицу Страны, а затем, таблицы Клиенты, Туры, Сотрудники (прил. 1, рис.1-4).
4 этап. Заполнение таблиц данными
Заполнить таблицу Договоры данными в соответствии с выбранным вариантом (прил. 1, рис. 5-14).
5 этап. Создание запросов и отчетов
1 вариант.
Создание простых запросов с условием
Выбрать клиентов, которые оформили договор не ранее 01.05.2014.
Выбрать всех клиентов с туром в Турцию или Францию с датой начала тура в мае и июне (отсортировать по возрастанию даты).
Выбрать менеджеров, оформивших туры с 1.06.2014 по 30.06.2014.
Выбрать корпоративных клиентов.
Выбрать всех клиентов, кроме тех у которых дата начала тура в апреле.
Создание простых запросов с вычисляемыми полями
Для каждого сотрудника подсчитать заработную плату с учетом надбавки (10%) и налога (13%).
Рассчитать продолжительность туров для договоров с числом туристов более 1.
Для каждого корпоративного клиента подсчитать общую стоимость тура.
Создание простых запросов с группировкой
Подсчитать количество договоров, оформленных в каждую страну.
Подсчитать среднюю стоимость тура для корпоративных и некорпоративных клиентов.
Подсчитать общую стоимость всех туров в каждую страну.
По всем запросам создать отчеты.
