Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ZADANIE_DLJA_SAMOSTOJATELNOGO_VYPOLNENIJA.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
567.3 Кб
Скачать

Задание для самостоятельного выполнения

1. Постановка задачи. Требования к информационной системе

Туристическое агентство создает ИС, автоматизирующую процессы учета договоров с клиентами и контроля исполнения заказов на путешествия.

В функции ИС входит получение информации по следующим направлениям.

Клиенты: о постоянных клиентах агентства; о клиентах, дающих наибольший доход.

Договоры: о платежах по договору; о турах, пользующихся наибольшим спросом; о турах, приносящих наибольший доход.

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

Бизнес-анализ: список всех туров, сгруппированных по странам; индивидуальные туры; групповые туры; годовой поквартальный отчет с указанием суммы и числа договоров; финансовый отчет и др.

При такой постановке задачи необходимо выделить следующие массивы информации: Клиенты, Договоры, Туры, Сотрудники, Страны.

2. Проектирование базы данных

2.1. Концептуальная модель базы данных

1 этап: для БД туристического агентства задать следующие атрибуты сущностей.

Клиенты: Код клиента; Название клиента; Контактное лицо; Признак группы; Адрес клиента; Телефон.

Сотрудники: Код сотрудника; ФИО; Должность; Телефон; Дата найма; Дата рождения; Оклад.

Туры: Код тура; Страна; Авиакомпания; Время вылета; Аэропорт; Тип самолета.

Страны: Страна.

Договоры: Номер договора; Дата начала тура; Дата окончания тура; Дата оформления; Код клиента; Код тура; Число туристов; Цена тура; Код сотрудника.

2 этап: графически изобразить связи между сущностями (концептуальная модель БД).

2.2. Логическая модель реляционной бд

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

  1. Создать пять таблиц: Сотрудники, Клиенты, Туры, Договоры, Страны.

  2. Задать первичные ключи для таблиц Клиенты, Туры и Сотрудники, выступающие в связях как «один-ко-многим»: Код клиента, Код тура и Код сотрудника. Для таблицы Договоры данные ключи являются внешними.

  3. Использовать таблицы Клиенты, Туры и Сотрудники в качестве подстановки при заполнении таблицы Договоры.

  4. Таблицу Страны (ключевое поле Код страны) использовать в качестве подстановки при заполнении таблицы Туры.

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 вариант.

Создание простых запросов с условием

  1. Выбрать клиентов, которые оформили договор не ранее 01.05.2014.

  2. Выбрать всех клиентов с туром в Турцию или Францию с датой начала тура в мае и июне (отсортировать по возрастанию даты).

  3. Выбрать менеджеров, оформивших туры с 1.06.2014 по 30.06.2014.

  4. Выбрать корпоративных клиентов.

  5. Выбрать всех клиентов, кроме тех у которых дата начала тура в апреле.

Создание простых запросов с вычисляемыми полями

  1. Для каждого сотрудника подсчитать заработную плату с учетом надбавки (10%) и налога (13%).

  2. Рассчитать продолжительность туров для договоров с числом туристов более 1.

  3. Для каждого корпоративного клиента подсчитать общую стоимость тура.

Создание простых запросов с группировкой

  1. Подсчитать количество договоров, оформленных в каждую страну.

  2. Подсчитать среднюю стоимость тура для корпоративных и некорпоративных клиентов.

  3. Подсчитать общую стоимость всех туров в каждую страну.

По всем запросам создать отчеты.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]