
МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ
(НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ)
Отчёт
по дисциплине «Информационные технологии управления»
на тему «Продажа авиабилетов».
Работу выполнил
студент группы 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 Клиенты, Маршруты;