1. Создайте новую базу AutoPark.mdb, сохраните файл базы данных в своей папке. В данной базе создайте таблицы: «Автобусы», «Водители»,
«Маршруты», «Топливо», «Путёвки» и «Марки»
2. Свяжите таблицы по ключевым полям так, как это показано на рисунке:
3. С помощью запросов к базе данных определите:
Все рейсы водителя Кардашова П.Б. (поля Дата, ФИО водителя, ГосНомер, Марка,
Маршрут и Километраж.)
Для создания поля ФИО необходимо воспользоваться
Построителем выражений, в котором следует сформировать выражение:
Все маршрутные листы (путевки), выписанные на автобус с государственным регистрационным
номером «НП 64-49» (поля те же, что и в предыдущем задании)
Все маршрутные листы (путевки), с километражом, превышающим 25 км (поля
те же, что и в предыдущем задании)
Маршруты, на которых задействовано более 2-х автобусов (поля Маршрут и
ГосНомер). При выполнении этого задания потребуется использование Групповых
операций. Для поля Маршрут групповая операция - Группировка, Для поля
ГосНомер групповая операция - Count (количество).
Дополнительно для поля ГосНомер нужно задать условие отбора «>2»
Рассчитайте износ каждого автобуса в процентах, исходя из номинального
срока службы транспортного средства - 15 лет (Поля: ГосНомер,
Марка, ДатаВыпуска, Износ). Поле
Износ - вычисляемое поле, в которое нужно ввести с
помощью Построителя выражений следующую строку:
Здесь
слово Износ - заголовок поля, выражение Date() получает значение системной
даты, а строка Year(Date()) извлекает из системной даты
значение текущего года. Аналогично строка Year([ДатаВыпуска])
выделяет из поля ДатаВыпуска значение года выпуска. Иными
словами, здесь написано: из текущего года вычесть год
выпуска и полученный результат - возраст машины - разделить на нормативный
срок службы - 15 лет.
Для того, чтобы получить проценты, нужно умножить полученное на 100 и в
конце добавить символ «%». Но можно вместо этого задать процентный формат
поля:
Удельную нагруженность автобусов на маршрутах (отношение километража к
количеству автобусов на маршруте). Для это потребуется 4 поля: Маршрут,
Километров, Автобусов и Нагрузка. Из перечисленных в наличии имеется только
поле Маршрут, остальные поля - вычисляемые.
Вычисление поля
Километров происходит на основе данных из поля Километраж с помощью
групповой операции суммирования (Sum).
Вычисление поля Автобусов происходит на основе данных из поля КодАвтобуса с помощью
групповой операции счета (Count).
После задания этих двух полей запрос следует сохранить.
Вычисление поля Нагрузка происходит на основе данных из вновь созданных
полей Километров и Автобусов с помощью групповой
операции Выражение: их нужно просто поделить друг на друга.
Если в Построителе выражений этих полей не видно, значит запрос не сохранён.
Маршруты и Фамилия И.О. водителей, возраст которых превышает 50 лет или
трудовой стаж которых превышает 25 лет
Для это потребуется 4 поля: Маршрут, ФИО водителя, Возраст и
Стаж(ТрудСтаж). Поле ФИО водителя вычисляется так же, как и
аналогичное поле из задания а. Поле
Возраст вычисляется аналогично расчету поля Износ из задания
е.
Суммарную общую выручку и километраж по каждому автобусу. Для получения
запроса потребуются поля ГосНомер, Марка,
Выручка и Километраж. Т.к. в последних двух полях
будут находиться вычисляемые данные (групповые операции Sum),
а Access в таких случаях «любит» переименовывать поля на свое усмотрение (типа:
Sum-Выручка или Sum-Километраж), во избежание
проблем в дальнейшем для этих двух полей лучше задать их имена явным
образом: Выручка:Выручка и Километраж:Километраж.Данный запрос нужно сохранить под именем Выручка&Километраж,
т.к. он еще понадобится.
Создайте еще один запрос на основе предыдущего запроса
Выручка&Километраж и двух таблиц: Топливо и
Марки. Свяжите таблицу Выручка&Километраж с таблицей
Марки по полям Марка - Марка
(иначе, если этого не сделать, то количество записей в результирующем
запросе очень сильно возрастет). В этом запросе нужно выбрать все поля из
таблицы Выручка&Километраж (для этого нужно выбрать поле *),
поле РасходНа100, а также создать два вычисляемых поля:
Литраж (количество литров топлива) и Расход (денежные
затраты на покупку топлива):
В поле Литраж должно вычисляться количество литров топлива на
основе нормативного расхода (поле РасходНа100) и километража.
В поле Расход вычисляются расходы на топливо на основе цены и
литража.
В этом же запросе самостоятельно создайте еще два вычисляемых поля - Прибыль и Рентабельность. Прибыль -
это разность между полями Выручка и Расходы, Рентабельность - это отношение поля Прибыль к полю
Расход. Для создания этих полей можно воспользоваться
Построителем выражений. Отсортировав таблицу по этим двум полям можно
сделать очень важные экономические выводы, например, наибольшая выручка или
прибыль еще не означает, что данный автобус самый эффективный.