Автор: Пользователь скрыл имя, 07 Апреля 2011 в 18:37, курсовая работа
За последние годы в нашей стране произошли значительные перемены, которые не могли не затронуть области информатики и вычислительной техники. Десять лет назад работа с базами данных и электронными таблицами была уделом профессиональных программистов. Сами системы не были предназначены для широкого пользователя. Их основным потребителем был военно-промышленный комплекс. С появлением огромного числа банков, акционерных обществ и частных компаний ситуация резко изменилась.
Введение
Постановка задачи и анализ предметной области
Назначение проектируемой базы данных
Проектирование инфологической модели данных
Информационные потребности пользователя (анализ запросов).
Определение сущностей и связей
Определение функций пользователя, атрибутов, ключей.
Выявление и описание ограничений целостности.
Разработка инфологической модели предметной области.
Проектирование даталогической модели БД.
Выбор СУБД.
Отображение инфологической модели на даталогическую модель.
Реализация БД
Разработка средств реализации ограничений целостности.
Разработка процедур ведения БД (добавление, удаление, изменение, контроль).
Разработка процедур реализации запросов и интерфейса пользователя.
Интерфейс и руководство пользователя
Спецификация входных и выходных документов.
Спецификация запросов пользователя
Заключение
Список используемой литературы
((ОбслужРейса.Дата)=[Forms]![
((РасписаниеРейсов.ДеньНедели)
ORDER
BY РасписаниеРейсов.ВрОтпр;
ВсеМеста. Запрос для получения списка всех мест в самолете в определенный день и рейс.
SELECT
IIf(ВидСамолета!КоличМест=80,[
мест]!список80места,IIf(
мест]!список60места,[Список мест]!список50места)) AS Место
FROM [Список мест], ВидСамолета
WHERE
(((IIf([ВидСамолета]![
мест]![список80места],IIf([
мест]![список60места],[Список
мест]![список50места]))) Is Not Null));
Занятые места. Запрос для получения списка занятых мест по конкретному рейсу в определенный день.
SELECT [Проданные места].Место, [Проданные места].КодРейса, [Проданные места].Дата
FROM [Проданные места]
WHERE ((([Проданные места].КодРейса) =
[Forms]![Билет2]![
[Forms]![Билет1]![Поле16]));
ИтогиРейса. Запрос для получения количества проданных билетов и суммы в определенный день.
SELECT ИтогиДня.Дата, РасписаниеРейсов.КодМарш, Маршрут.КонАэропорт, РасписаниеРейсов.ВрОтпр, ИтогиДня.ЧислоПроданБил, ИтогиДня.Сумма, РасписаниеРейсов.КодРейса
FROM (Маршрут INNER JOIN РасписаниеРейсов ON Маршрут.КодМарш = РасписаниеРейсов.КодМарш) INNER JOIN ИтогиДня ON РасписаниеРейсов.КодРейса = ИтогиДня.КодРейса
WHERE
(((ИтогиДня.Дата)=[Forms]![
ОбслуживаниеРейса. Какие летчики (ФИО),самолеты обслуживают рейс и в какое время.
SELECT
[Сведения о летчиках].
FROM [Сведения о летчиках] INNER JOIN ((Маршрут INNER JOIN РасписаниеРейсов ON Маршрут.КодМарш = РасписаниеРейсов.КодМарш) INNER JOIN ОбслужРейса ON РасписаниеРейсов.КодРейса = ОбслужРейса.КодРейса) ON [Сведения о летчиках].КодЛетчика = ОбслужРейса.КодЛетчика
GROUP
BY [Сведения о летчиках].
ORDER BY ОбслужРейса.Дата;
ПолнаяСтоим. Вывод стоимости билетов для всех рейсов и всех типов билета.
SELECT
Аэропорты.НазвАэропорта,
FROM СтоимПоНапр INNER JOIN ((Маршрут INNER JOIN Аэропорты ON Маршрут.КодМарш = Аэропорты.КодМарш) INNER JOIN РасписаниеРейсов ON Маршрут.КодМарш = РасписаниеРейсов.КодМарш) ON СтоимПоНапр.КодНапр = Маршрут.КодНапр;
ПоНачалуДвиж. Запрос, определяющий список летчиков и самолетов, совершающих рейс до момента прибытия очередного (требующего введения сведений об обслуживании).
SELECT
ОбслужРейса.КодЛетчика, [Сведения
о летчиках].Фамилия, [Сведения о
летчиках].Имя, Самолеты.
FROM [Сведения о летчиках] INNER JOIN ((Маршрут INNER JOIN РасписаниеРейсов ON Маршрут.КодМарш = РасписаниеРейсов.КодМарш) INNER JOIN (Самолеты INNER JOIN ОбслужРейса ON Самолеты.НомСам = ОбслужРейса.НомСам) ON РасписаниеРейсов.КодРейса = ОбслужРейса.КодРейса) ON [Сведения о летчиках].КодЛетчика = ОбслужРейса.КодЛетчика
WHERE
(((ОбслужРейса.Дата)=[Forms]![
ОбслуживаниеРейса]![Дата])
AND ((РасписаниеРейсов.ВрОтпр)<(
[врдвиж]from[ВрДвижРейса])));
СвобЛет. Запрос для получения списка тех летчиков, которые фактически могут обслужить данный рейс.
SELECT
[Сведения о летчиках].
FROM [Сведения о летчиках]
WHERE
((([Сведения о летчиках].
Свободные места. Запрос для получения списка свободных мест в определенный день и рейс (для ввода номера места в билете).
SELECT ВсеМеста.Место
FROM ВсеМеста
WHERE
Not Exists (select [Занятые места].[Место]
from [Занятые места] where [Занятые
места].[Место]=[ВсеМеста].[
СвобСам. Запрос для получения списка самолетов, которые фактически могут обслужить данный рейс.
SELECT Самолеты.НомСам, Самолеты.ТребРемонт
FROM Самолеты
WHERE
(((Самолеты.НомСам) Not In (select [НомСам] from
[ПоВрДвиж])) AND ((Самолеты.ТребРемонт)=False))
OR (((Самолеты.НомСам) Not In (select [НомСам] from
[ПоНачалуДвиж] )) AND ((Самолеты.ТребРемонт)=False))
СтавкаЗаРейс (все). Запрос для получения заработной платы всех летчиков за определенный месяц.
SELECT ОбслужРейса.КодЛетчика, ОбслужРейса.Дата, Аэропорты.НазвАэропорта, [СтавкаЗаРейс]*[Расстояние] AS СуммаЗаРейс, Month([Дата]) AS Месяц, [Сведения о летчиках].Фамилия, [Сведения о летчиках].Имя, [Сведения о летчиках].Отчество, Аэропорты.Расстояние, РасписаниеРейсов.ВрОтпр
FROM СтоимПоНапр INNER JOIN ([Сведения о летчиках] INNER JOIN (((Маршрут INNER JOIN Аэропорты ON Маршрут.КодМарш = Аэропорты.КодМарш) INNER JOIN РасписаниеРейсов ON Маршрут.КодМарш = РасписаниеРейсов.КодМарш) INNER JOIN ОбслужРейса ON РасписаниеРейсов.КодРейса = ОбслужРейса.КодРейса) ON [Сведения о летчиках].КодЛетчика = ОбслужРейса.КодЛетчика) ON СтоимПоНапр.КодНапр = Маршрут.КодНапр
WHERE
(((Month([Дата]))=[Forms]![
СтавкаЗаРейсЛетч. Запрос для получения заработной платы определенного летчика за определенный день.
SELECT [Сведения о летчиках].Фамилия, [Сведения о летчиках].Имя, [Сведения о летчиках].Отчество, ОбслужРейса.КодЛетчика, ОбслужРейса.Дата, Аэропорты.НазвАэропорта, Аэропорты.Расстояние, Month([Дата]) AS 11, [СтавкаЗаРейс]*[Расстояние] AS СуммаЗаРейс, РасписаниеРейсов.ВрОтпр
FROM СтоимПоНапр INNER JOIN ([Сведения о летчиках] INNER JOIN (((Маршрут INNER JOIN Аэропорты ON Маршрут.КодМарш = Аэропорты.КодМарш) INNER JOIN РасписаниеРейсов ON Маршрут.КодМарш = РасписаниеРейсов.КодМарш) INNER JOIN ОбслужРейса ON РасписаниеРейсов.КодРейса = ОбслужРейса.КодРейса) ON [Сведения о летчиках].КодЛетчика = ОбслужРейса.КодЛетчика) ON СтоимПоНапр.КодНапр = Маршрут.КодНапр
WHERE
(((ОбслужРейса.КодЛетчика)=[
летчиках]![КодЛетчика]) AND
((Month([Дата]))=[Forms]![
Стоимость. Запрос для получения стоимости билета для всех видов билета по определенному маршруту. Связывает отношения Аэропорты, СтоимостьПоНапр, Маршрут.
SELECT
Аэропорты.НазвАэропорта,
FROM СтоимПоНапр INNER JOIN (Маршрут INNER JOIN Аэропорты ON Маршрут.КодМарш = Аэропорты.КодМарш) ON СтоимПоНапр.КодНапр = Маршрут.КодНапр
WHERE
(((Аэропорты.НазвАэропорта)=[
Для
запуска данного проекта
Рис.1. Иллюстрация
«Главной формы»
Для
того чтобы просмотреть информацию
о летчиках, выберите на Главной
форме кнопку Летчики.
При этом откроется форма Летчики
(Рис.2).
Рис.2. Иллюстрация формы «Летчики»
Выберите
из списка летчиков того, кто вас
интересует, нажмите кнопку Подробнее.
В появившейся форме будет выведена информация
о летчике (Рис.3). Здесь же есть кнопка
Просмотреть отчет,
открывающая отчет с информацией о рейсах,
которые обслуживает данный летчик (предварительно
нужно выбрать месяц).
Рис.3. Иллюстрация
формы «Сведения о летчиках»
Для
просмотра информации обо всех летчиках
в форме Летчики нажмите
кнопку Обо всех
(Рис.4).
Рис.4. Иллюстрация
формы «Сведения о летчиках список»
Аналогично можно просмотреть информацию о самолетах.
При
нажатии на Главной
форме кнопки Заказ
билета,
появляется окно «Заказ билета» (Рис.5),
в котором необходимо выбрать аэропорт,
дату и нажать кнопку
Далее.
Рис.5. Иллюстрация
формы «Билет 1»
Вам
откроется окно выбора времени отправления
(Рис.6). Выберите нужное время и нажмите
кнопку Далее.
Рис.6. Иллюстрация
формы «Билет 2»
Откроется
окно выбора места и типа билета
(Рис.7), заполните требуемые поля, и
нажмите Далее.
Рис.7. Иллюстрация
формы «Билет 3»
Будет
открыто окно с информацией о
билете (Рис.8), для печати билета нажмите
кнопку Готово.
Рис.8. Иллюстрация
формы «Билет 4»
Для изменения данных, их удаления или ввода новых сведений, нажмите в Главном меню кнопку Изменение данных. При этом откроется кнопочная форма «Изменение данных» (Рис.9), где Вы можете выбрать область для своих действий, нажав соответствующую кнопку.