Имя
поля
|
Тип
данных
|
Свойства
поля
|
№
путёвки
|
Числовой
|
Размер
поля: Длинное целое. Подпись: Номер путёвки. Обязательное поле: Да.
Индексированное поле: Да (совпадения не допускаются). Тип элемента
управления: Поле со списком. Тип источника строк: таблица или запрос.
Источник строк: Маршрут. Присоединенный столбец 1. Число столбцов: 2.
|
№
клиента
|
Числовой
|
Размер
поля: Длинное целое. Подпись клиента: Номер клиента. Обязательное поле: Да.
Индексированное поле: Нет. Тип элемента управления: Поле со списком. Тип
источника строк: Таблица или запрос. Источник строк: Клиент. Присоединенный
столбец 1. Число столбцов: 2.
|
Дата
продажи
|
Дата/время
|
Формат
поля: Краткий формат даты. Обязательное поле: Да. Индексированное поле: Нет.
Значение по умолчанию: Date().
|
|
|
|
|
|
.2 Выбор ключей
В таблице «Маршрут» ключевым полем выбираем поле
«Номер маршрута», так как это значение будет уникальным для каждого маршрута.
В таблице «Путёвка» поле «Номер путёвки» будет
являться ключевым полем, так как каждая путёвка имеет свой уникальный номер.
В таблице «Клиент» лучшего всего выбрать
ключевым полем поле «Номер клиента», который будет идентифицировать клиента.
В таблице «Виза» ключевое поле «Номер визы».
В таблице «Продажа путёвок» не назначаем
ключевое поле.
После создания всех таблиц наполняем их данными
и осуществляем связь между ними в окне Схема данных.
.3 Нормализация отношений
Для полученных отношений проведем нормализацию.
Таблица находится в первой нормальной форме
(1НФ) когда ни одна из ее строк не содержит в любом своем поле более одного
значения и ни одно из ее ключевых полей не пусто.
В моей базе данных на данном этапе рассмотрения
структуры данных все таблицы находятся в 1НФ.
Таблица находится во второй нормальной форме
(2НФ), если она удовлетворяет определению 1НФ и все ее поля, не входящие в
первичный ключ, связаны полной функциональной зависимостью с первичным ключом.
В моем случае составным ключом обладает таблица
«Продажа путёвок». Неключевой столбец «Дата оплаты» относится и к ключевому
полю «Номер клиента» и к ключевому полю «Номер путёвки», поэтому нарушения 2НФ
здесь нет.
Таблица находится в третьей нормальной форме
(3НФ), если она удовлетворяет определению 2НФ и не одно из ее неключевых полей
не зависит функционально от любого другого неключевого поля.
В таблице «Путёвка» Способы перемещения
(транспорт) и места для проживания будут зависеть от маршрута, а также будут
очень часто повторяться. Поэтому создадим две таблицы «Способ перемещения» и
«Места для проживания».
После внесенных изменений схема данных выглядит
следующим образом:
Рисунок 4.2 Схема базы данных в Access
Структура и наполнение всех таблиц БД показаны в
приложении А.
5. Запросы
к БД
Так как в таблице «Путёвка» у нас отображаются
все путёвки (и проданные и не проданные), то необходимо создать запрос, в
котором будут отображать только те путёвки, которые имеются в продаже.
Для этого воспользуемся Мастером запросов -
Записи без подчиненных. Выбираем таблицы «Путёвка» и «Продажа путёвок». Назовем
этот запрос «Путёвки в продаже» (рис. 5.1-5.2).
Рисунок 5.1 Разработка запроса в Конструкторе
Рисунок 5.2 Результат запроса «Путёвки в продаже
Клиент может захотеть узнать, какие есть
путёвки, не превышающую определенную цену? Для создания такого запроса
используем запрос «Путёвки в продаже». В качестве параметра указываем
стоимость, а в условии отбора <=[стоим]. Назовём запрос «Цена путёвки» (рис.
5.3). Параметрический запрос и его результаты показаны на рисунке 5.4.
Рисунок 5.3 Разработка параметрического запроса
«Цена путёвки»
Рисунок 5.4 Параметрический запрос и его результат
Можно ли отдохнуть в указанной стране в
указанные сроки? Для этого создадим параметрический запрос, используя запрос
«Путёвки в продаже» и таблицу «Маршрут».
Открываем Конструктор запросов, добавляем запрос
«Путёвки в продаже» и таблицу «Маршрут». Из запроса «Путёвки в продаже»
выбираем все поля, кроме «№ маршрута». Из таблицы «Маршрут» выбираем поле
«Страна». Открываем окно «Параметры запроса» и выбираем имя и тип данных. В
условии отбора поля «Дата отправления» указываем >=[дата отпр] (рис 5.5).
Запрос и его результат показан на рисунке 5.6.
Рисунок 5.5 Разработка параметрического запроса
«Данная страна+ сроки»
Рисунок 5.6 Параметрический запрос и его
результат
Сколько будет стоить оформление визы при условии
покупки указанной путёвки?
Для выполнения этого запроса добавим в таблицу
«Маршрут» поле «виза» и свяжем его с полем «№ визы» таблицы «Виза». Делаем это
чтобы точно знать, какая необходима виза для путешествия по маршруту,
указанному в путёвке. Используем параметрический запрос для указания номер
путевки (рис. 5.7). Параметрический запрос и его результат показан на рисунке
5.8.
Рисунок 5.7 Запрос «Цена визы указанной путёвки»
в режиме Конструктора
Рисунок 5.8 Параметрический запрос и его
результат
Какие путёвки позволяют отдохнуть в указанные
сроки и не предполагают использования самолёта в качестве средства перемещения?
Для этого запроса используем параметр Дата
отправления, запрос «Продажа путёвок», таблицы «Маршрут» и «Способ перемещения».
Так как в таблице «Способ перемещения» самолёт имеет код 1, то в условии отбора
указываем <> 1 (весь вид транспорта, кроме самолёта), (рис. 5.9).
Результат выполнения этого запроса показан на рисунке 5.10.
Рисунок 5.9 Запрос «Без самолёта» в Конструкторе
Рисунок 5.10 Параметрический запрос «Без
самолета» и результат выполнения
Какие путёвки являются «горящими», то есть дата
отправления, указанная в них, не более чем на 5 дней больше текущей?
Создаем запрос, используя запрос «Путёвки в
продаже». В условии отбора необходимо: от даты отправления отнять текущую дату
и чтоб разница была меньше или равна 5 дням (рис. 5.11). Результат показан на
рисунке 5.12.
Рисунок 5.11 Запрос «Горящие путёвки» в
Конструкторе
Рисунок 5.12 Результат запроса «Горящие путёвки»
Что представляет собой самая дорогая путёвка из
имеющихся в продаже на текущий день?
Для того чтобы видеть в этом запросе всю самую
полную информацию о путёвке используем запрос «Путёвки в продаже», таблицы
«Маршрут», «Способ перемещения», «Места для проживания». В этом запросе будем
использовать итоговые значения. В поле «стоим» укажем значение Max,
сортировку выберем «по убыванию», а значение возврат укажем 5% (рис. 5.13).
Результат запроса на рисунке 5.14.
Рисунок 5.13 Запрос «Самая дорогая путевка в
продаже» в режиме Конструктора
Рисунок 5.14 Результат запроса «Самая дорогая
путёвка в продаже»
6. Инструкция
по использованию БД
.1 Вызов программы
База данных туристической фирмы «Вояж»
открывается файлом «Вояж».
После запуска на экране появляется Главная
кнопочная форма (рис. 6.1), на ней расположены кнопки для работы с формами,
запросами, отчётами и кнопка выхода из приложения Access.
Рисунок 6.1 Главная кнопочная форма
.2 Экранные формы
Меню Формы предназначены для работы с данными
базы (добавление, удаление, редактирование данных). При нажатии на кнопке рядом
с надписью Формы появляется кнопочная форма (рис. 6.2), на ней расположены все
формы, с которыми необходимо работать в базе данных. Так при нажатии кнопки
Путёвка, появляется форма «Путёвка» (рис. 6.3).
Рисунок 6.2 Кнопочная форма меню «Формы»
Рисунок 6.3 Форма «Путёвка»
На форме расположена кнопка «Посмотреть
маршрут», при её нажатии открывается форма «Маршрут» на записи соответствующего
маршрута (рис. 6.4).
Рисунок 6.4 Форма «Маршрут» с фильтром
В этой и последующих формах для перехода по
записям используются кнопки, расположенные в нижней части формы (рис. 6.4)
Рисунок 6.4 Назначение кнопок в нижней части
формы
При нажатии на кнопочной форме Формы кнопки
Клиент, открывается форма «Клиент», сделанная на основе таблицы «Клиент» (рис.
6.5).
Рисунок 6.5 Форма «Клиент»
Сведения о проданных путёвках можно посмотреть,
нажав кнопку, расположенную рядом с надписью Продажа путёвок. Откроется форма
«Продажа путёвок», сделанная на основе соответствующей таблицы (рис. 6.6). На
этой форме расположены две кнопки для быстрого перемещения между формами
«Клиент», чтобы узнать сведения о данном клиенте и формой «Путёвка», чтоб
узнать сведения данной путёвки.
Рисунок 6.6 Форма «Продажа путёвок»
Форма «Виза» открывается при нажатии
соответствующей кнопки на кнопочной форме Формы (рис. 6.7).
Рисунок 6.7 Форма «Виза»
Соответственно аналогичным образом открываются
формы «Способ перемещения» и «Места для проживания» (рис. 6.8-6.9).
Рисунок 6.8 Форма «Способ перемещения»
Рисунок 6.9 Форма «Места для проживания»
Переходим на кнопочную форму Запросы (рис.
6.10), которая предназначена для работы с запросами БД, созданных в предыдущем
разделе. Запросы представлены в виде форм (приложение Б).
Рисунок 6.10 Кнопочная форма Запросы
.3 Описание отчётов
Для работы с отчётами, нажимаем на кнопку
Отчёты, и открывается кнопочная форма Отчёты (рис. 6.11).
Рисунок 6.11 Кнопочная форма Отчёты
Чтобы выдать клиенту путёвку, необходимо нажать
на кнопке Выдача путёвок, и указав номер путёвки, автоматически выдается
указанная путёвка (рис. 6.12).
Рисунок 6.12 Отчёт «Выдача путёвки»
В данном отчете указывается стоимость путёвки,
дата продажи, дата отправления, способ перемещения (транспорт), посещаемая
страна, населенные пункты, экскурсии, прочие услуги, тип размещения и дата
возвращения домой.
Для получения ежемесячного отчета о работе
фирмы, нажимаем на кнопочной форме «Отчёты» кнопку Ежемесячный отчёт и получаем
сведения обо всех проданных путёвках с подсчетом общей суммы выручки (рис.
6.13-6.14).
Рисунок 6.13 Ежемесячный отчет о проданных
путёвках в ноябре
Рисунок 6.14 Отчёт о проданных путёвках в
декабре 2009 года
Данный отчёт необходимо выполнять не позднее
последнего дня текущего месяца, так как в запросе, на основе которого сделан
отчёт, в условии отбора даты продажи использовался Построитель выражений (рис.
6.15), с помощью которого отбираются путёвки, проданные в текущем месяце
текущего года.
Рисунок 6.15 Условие отбора для создания
ежемесячного отчета
Для выхода из программы необходимо на главной
кнопочной форме нажать кнопку Выход.
ЗАКЛЮЧЕНИЕ
автоматизация информационный
туристический запрос
Результатом проведенной работы является база
данных «Вояж» в СУБД Microsoft
Access, имеющая удобный
пользовательский интерфейс, предназначенный для работы различных групп
пользователей.
В ходе работы было проведено обследование
предметной области, выполнено концептуальное, инфологическое и логическое
проектирования базы данных.
Созданные формы позволяют быстро добавить,
удалить или отредактировать данные.
Созданные запросы позволяет легко найти:
путёвки, не превышающие цену, которую указал клиент; можно ли отдохнуть в
указанной стране в указанные сроки; сколько будет стоить оформление визы при
условии покупки путёвки; какие путёвки позволяют отдохнуть в указанные сроки и
не предполагают использования самолёта в качестве средства перемещения; какие
путёвки являются «горящими»; что представляет собой самая дорогая путёвка из
имеющихся в продаж.
Созданные отчёты позволяют быстро выдать указанную
путёвку клиенту, составить ежемесячный отчёт о проданных путёвках, с указанием
общей суммы выручки.
Данная база данных позволяет полностью
автоматизировать, и тем самым облегчить работу с данными пользователю.
Список использованных
источников
1. А.М. Епанешников, В.А.
Епанешников. Практика создания приложений в Access
2007. - М.: «Диалог-МИФИ», 2009. - 440 с.
2. Мак-Дональд М. Access
2007. Недостающее руководство: Пер. с анг. - М.: Издательство «Русская
Редакция»; Спб.: «БХВ-Петербург», 2007. - 784 с.
. Н.Н. Гринченко, Е.В. Гусев
и др. Проектирование баз данных. СУБД Microsoft
Access: Учебное пособие
для вузов. - М.: горячая линия-Телеком, 2004. - 240 с.
ПРИЛОЖЕНИЯ
Приложение А
Состав и наполнение таблиц БД
Приложение Б
Экранные формы запросов БД
Указанная цена путёвки
Указанные страна и сроки
Цена визы указанной путёвки
Указанные сроки без самолёта
«Горящие» путёвки
Самая дорогая путёвка в продаже