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

МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ

(НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ)

Отчёт

по дисциплине «Информационные технологии управления»

на тему «Продажа авиабилетов».

Работу выполнил

студент группы 10-301

Маланчий А.С

Проверила

Кузнецова Е. В.

Москва, 2012

1. Таблицы и схема данных

Создаем 3 таблицы: «Клиенты», «Маршруты», «Билеты».

Таблица «Клиенты» – ФИО клиента, год рождения, город, тип предпочитаемого вагона.

№К делаем ключевым полем.

Таблица «Маршруты» – Номер поезда, Название рейса (номер рейса), Название станции отправления поезда, Время отправления, Название станции прибытия поезда, Время в пути (в часах), Количество мест.

№П делаем ключевым полем.

Таблица «Билеты» – Номер клиента, Номер поезда, Номер вагона/Место в вагоне, Тип вагона в поезде, Стоимость билета.

№К и №П делаем ключевыми полями. Для этого выделяем две строки с помощью CTRL.

Создаем связь между таблицами. Для этого заходим в: «Работа с базами данных – Схема данных». Выбираем три таблицы. Для установления связи выделяем ключевое поле в главной таблице и перетаскиваем в соответствующее поле подчиненной таблицы. В окне связи задаем параметр «Обеспечение целостности данных, Каскадное обновление связанных полей и каскадное удаление связанных записей».

Для ввода данных переходим в Режим таблицы.

Заполняем таблицу «Клиенты»:

Заполняем таблицу «Маршруты»:

Заполняем таблицу «Билеты»:

2. Фильтры и запросы

1. Контекстный поиск.

Задание: Найти данные о клиентах, в фамилии которых встречается буква «т».

Для этого открываем таблицу «Клиенты», наводим курсор на нужное поле, нажимаем кнопку Правка - Найти. В появившемся окне вводим букву «т» и меняем Совпадение на «с любой частью поля». Нажимаем «Найти далее».

Поиск выдает нам все фамилии, содержащие буквы «т», а именно:

После того, как все варианты будут найдены, всплывет окно:

«Поиск записей в приложении ‘Microsoft Office Access’ завершен. Образец не найден». Жмём «ОК».

2. Фильтр по выделенному

Задание: Найти записи о поездах, отправляющихся из Санкт-Петербурга.

Следует открыть таблицу «Маршруты», выделить слово Санкт-Петербург, нажать правой кнопкой мыши на выделенный объект.

Нажав « Равно ‘Санкт-Петербург’» , мы получим данные о поездах, отправляющихся из Санкт-Петербурга.

3. Фильтр обычный.

Задание: Найти записи о клиентах, предпочитающих ездить в СВ и старше 22 лет, т.е. родившиеся до 1990г.,

Открываем таблицу «Клиенты», нажимаем Дополнительно- Изменить фильтр.

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

После нажатия правой кнопкой мыши выбираем Применить фильтр. На экран выводится результат.

4. Фильтр расширенный.

Задание: Найти записи о поездах, выезжающих до полудня (до 12:00) и имеющих более 828 мест в поезде.

Для этого открываем таблицу «Маршруты», нажимаем Записи- Расширенный фильтр.

В появившемся окне в поле Время отправления вводим значение Between#00:00:00#And#12:00:00#, а в Кол-во мест>=828, оставляем незаполненным поле №П.

Применяем фильтр и получаем требуемый результат.

3. Запросы

1.1. Запрос по одной таблице

Задание: Определить какие клиенты едут в вагоне СВ.

Для создания запроса выбрать закладку Создание и нажать Кунструктор запросов. Выбираем таблицу «Билеты». Появляется окно конструктора запросов.

Для включения нужных полей в соответствующие столбцы запроса следует взять их из раскрывающегося списка, появляющегося в ячейке Поле бланка запроса. Задаем условия отбора в столбце «Тип вагона».

Нажимаем запуск и получаем запрос по клиентам, которые решили поехать в СВ.

Режим SQL:

SELECT Билеты.№К, Билеты.№П, Билеты.[Тип вагона]

FROM Билеты

WHERE (((Билеты.[Тип вагона])="СВ"));

1.2. Запрос по двум таблицам

Задание: Определить номера поездов, билеты на которые стоят больше 20000 рублей.

Для создания запроса выбрать закладку Запросы и нажать Создание запроса в режиме конструктора. Выбираем таблицу «Билеты» и «Маршруты». Появляется окно конструктора запросов.

Для включения нужных полей в соответствующие столбцы запроса следует взять их из раскрывающегося списка, появляющегося в ячейке Поле бланка запроса. Задаем условия отбора в столбце «Цена».

Нажимаем запуск и получаем запрос по номерам поездов, билеты на которые стоят больше 20000 рублей.

Режим SQL:

SELECT Маршруты.№П, Маршруты.№Рейса, Билеты.Цена

FROM Маршруты INNER JOIN Билеты ON Маршруты.№П = Билеты.№П

WHERE (((Билеты.Цена)>20000));

1.3. Запрос по всей базе данных.

Задание: Определить номера мест в поездах для клиентов, выезжающих рейсами из Москвы куда-либо.

Для создания запроса выбрать закладку Запросы и нажать Создание запроса в режиме конструктора. Выбираем таблицы «Клиенты», «Маршруты» и «Билеты». Появляется окно конструктора запросов.

Для включения нужных полей в соответствующие столбцы запроса следует взять их из раскрывающегося списка, появляющегося в ячейке Поле бланка запроса. Задаем условия отбора в столбце Станция отправления - Москва.

Нажимаем запуск и получаем запрос по местам в поезде, которые займут клиенты, если будут выезжать из Москвы.

Режим SQL:

SELECT Клиенты.[Ф Клиента], Маршруты.[Станция отправления], Билеты.[Ваг/Место], Маршруты.№Рейса

FROM Маршруты INNER JOIN (Клиенты INNER JOIN Билеты ON Клиенты.№К = Билеты.№К) ON Маршруты.№П = Билеты.№П

WHERE (((Маршруты.[Станция отправления])="Москва"));

2. Параметрический запрос.

Задание: Определить возможные поезда для определенного клиента.

Для создания запроса выбрать закладку Запросы и нажать Создание запроса в режиме конструктора. Выбираем таблицы «Клиенты», «Маршруты» и «Билеты». Появляется окно конструктора запросов.

Для включения нужных полей в соответствующие столбцы запроса следует взять их из раскрывающегося списка, появляющегося в ячейке Поле бланка запроса. Задаем условия отбора в столбце «Ф Клиента» в квадратных скобках - [Введите фамилию клиента].

Нажимаем запуск, всплывает окно, вводим значение параметра.

Нажимаем ОК и получаем сведения о возможных поездах определенного для клиента.

Режим SQL:

SELECT Клиенты.[Ф Клиента], Маршруты.№Рейса, Маршруты.[Станция отправления], Маршруты.[Станция прибытия], Билеты.[Тип вагона]

FROM Маршруты INNER JOIN (Клиенты INNER JOIN Билеты ON Клиенты.№К = Билеты.№К) ON Маршруты.№П = Билеты.№П

WHERE (((Клиенты.[Ф Клиента])=[Введите фамилию клиента])) OR (((Клиенты.[Ф Клиента])=[Введите фамилию клиента]));

3. Запрос на вычислимое поле.

Задание: Вычислить стоимость билетов со скидкой 75% на рейсы в Санкт-Петербург.

Для создания запроса выбрать закладку Запросы и нажать Создание запроса в режиме конструктора. Выбираем таблицы «Маршруты», «Билеты». Появляется окно конструктора запросов.

Для включения нужных полей в соответствующие столбцы запроса следует взять их из раскрывающегося списка, появляющегося в ячейке Поле бланка запроса. В пустое поле вводим [Цена]/4, и этому полю автоматически присваивается имя Выражение1.

Запускаем запрос и получаем стоимость билетов со скидкой 75% на рейсы в Санкт-Петербург.

Режим SQL:

SELECT Маршруты.[Станция отправления], Маршруты.[Станция прибытия], Билеты.Цена, [Цена]/4 AS Выражение1

FROM Маршруты INNER JOIN Билеты ON Маршруты.№П = Билеты.№П

WHERE (((Маршруты.[Станция прибытия])="Санкт-Петербург"));

4. Запрос на групповые операции.

Задание: Вычислить максимально возможное количество мест в поезде и год рождения самого старшего клиента.

Для создания запроса выбрать закладку Запросы и нажать Создание запроса в режиме конструктора. Выбираем таблицы «Клиенты» и «Маршруты». Появляется окно конструктора запросов.

Для включения нужных полей в соответствующие столбцы запроса следует взять их из раскрывающегося списка, появляющегося в ячейке Поле бланка запроса. Во вкладке «Вид» выбираем «Групповые операции».

Задаем эти операции, для этого выбираем в столбце «Кол-во мест» в таблице «Маршруты» операцию MAX, а в «Год рождения» в таблице «Клиенты» – MIN.

Нажав правой кнопкой мыши на поле «Кол-во мест», выбираем Свойства, в Подписи для таблицы «Маршруты» пишем «Max Кол-во мест», в поле «Год рождения» в таблице «Клиенты» – «Min Год Рождения». Выполняем запрос.

Режим SQL:

SELECT Max(Маршруты.[Кол-во мест]) AS [Max-Кол-во мест], Min(Клиенты.[Год рождения]) AS [Min-Год рождения]

FROM Клиенты, Маршруты;