БД автопарка. Учет автомобилей: за кем закреплен, километраж, путевки

Автор: Пользователь скрыл имя, 10 Декабря 2010 в 01:29, курсовая работа

Описание работы

При выезде машины из парка на смену оформляется путевой лист, в который заносятся данные о времени выезда, показаниях спидометра, водителе. По возвращении в таксопарк водитель вносит в путевой лист итоговые показатели и сдает его в диспетчерскую; в число итоговых показателей входит время возвращения, показания спидометра при возвращении в таксопарк, расход топлива за поездку и объем выручки.

Автомобильный парк представлен машинами нескольких марок. Каждая марка характеризуется количеством пассажирских мест в салоне и грузоподъемностью, типом кузова (седан, фургон, и т. д.), нормативным расходом топлива на 100 км и периодичностью техосмотров, то есть количеством дней между техосмотрами для машин данной марки (разные машины могут требовать различной частоты техосмотров, хотя обычно техосмотры проводятся раз в квартал).

Содержание

1. Описание предметной области 2

1.1 Назначение информационной системы 2

1.2. Характеристика документов и атрибутов предметной области 2

2. Проектирование информационной системы 4

2.1. Построение инфологической модели 4

2.2. Описание информационных объектов 6

3. Объекты базы данных Microsoft Access 7

3.1. Таблицы 7

3.2. Запросы 10

3.3. Экранные формы ввода и редактирования данных 16

3.4. Отчеты 21

3.5. Макросы 26

3.6. Главная кнопочная форма 27

Выводы 30

Список использованной литературы 31

Работа содержит 2 файла

Базы Данных.docx

— 1.12 Мб (Скачать)

      Запрос  «Закрепленная машина» используется в ходе ввода данных в путевой лист. После выбора водителя, фигурирующего в путевом листе, этот запрос определяет автомобиль, за которым закреплен данный водитель, а также последнее (то есть максимальное) показание спидометра при возвращении этой машины в таксопарк, которое вносится в очередной путевой лист как значение по умолчанию. Текст запроса на языке SQL:

      SELECT Водитель.Машина, Max([Путевой лист].СпидВозвр) AS Спидометр

      FROM (Автомобиль INNER JOIN Водитель ON Автомобиль.ГосНомер = Водитель.Машина) LEFT JOIN [Путевой лист] ON Автомобиль.ГосНомер = [Путевой лист].Машина

      WHERE (((Водитель.КодВодителя)=[Forms]![Путевой  лист]![Водитель]))

      GROUP BY Водитель.Машина;

Рис. 4. Запрос «Закрепленная машина» в режиме конструктора

      Поскольку результаты запроса зависят от того, какой водитель внесен в путевой лист, они не приводятся в данной записке.

      Следующий запрос — «Пробег машины» — по назначению аналогичен предыдущему: поскольку водитель может отправиться в рейс не на той машине, за которой он закреплен, данные о машине в путевом листе могут быть введены отдельно. Рассматриваемый запрос как раз и учитывает такую ситуацию, вычисляя последнее зарегистрированное показание спидометра данной машины. Текст запроса на языке SQL:

      SELECT Max([Путевой  лист].СпидВозвр) AS Спидометр

      FROM [Путевой  лист]

      WHERE ((([Путевой  лист].Машина)=[Forms]![Путевой лист]![Машина]));

Рис. 5. Запрос «Пробег машины» в режиме конструктора

      Поскольку результаты запроса зависят от того, какая машина внесена в путевой лист, они не приводятся в данной записке.

      Запрос  «Средняя выручка по водителям» готовит данные для соответствующего выходного документа. Текст запроса на языке SQL:

      SELECT Водитель.ФИО,  Водитель.Категория, Avg([Путевой лист].Выручка) AS [Средняя выручка]

      FROM Водитель INNER JOIN [Путевой лист] ON Водитель.КодВодителя  = [Путевой лист].Водитель

      GROUP BY Водитель.ФИО,  Водитель.Категория

      ORDER BY Avg([Путевой  лист].Выручка) DESC;

Рис. 6. Запрос «Средняя выручка по водителям» в режиме конструктора

      Результаты  запроса:

Средняя выручка по водителям
ФИО Категория Средняя выручка
Филимонов Олег Константинович D 1 242,00р.
Самойленко  Станислав Васильевич B 1 185,00р.
Панченко  Сергей Алексеевич B 1 125,00р.
Семашко Юрий Львович C 1 095,00р.
Панкратов Юрий Иванович C 1 065,00р.
Шпак  Антон Семенович B 1 059,00р.
Уборевич  Кирилл Александрович C 990,00р.
Чибис Василий Анатольевич B 970,00р.
Макаренко Евгений Игоревич B 930,00р.
Коршунов  Игорь Васильевич C 840,00р.
Коваль  Владимир Владимирович B 825,00р.
Игнатович Александр Михайлович B 729,00р.
Тарасов Иван Григорьевич C 720,00р.
Костюк  Евгений Алексеевич D 720,00р.
Емельяненко Игорь Александрович C 579,00р.

      Остальные запросы готовят данные для отчетов  за заданный период. Период указывается пользователем в форме «Отчетный период»; по умолчанию в форму вносится период, соответствующий текущему месяцу.

      Запрос  «Статистика по автомобилям» вычисляет для каждой автомашины количество рейсов, суммарный пробег, фактический и нормативный расход топлива, и на основании последних данных — перерасход. Текст запроса на языке SQL:

      SELECT Автомобиль.ГосНомер, Марка.Марка, Count([Путевой лист].№) AS Рейсов, Sum([Путевой лист]!СпидВозвр-[Путевой  лист]!СпидВыезд) AS Километров, Sum([Путевой  лист].Расход) AS [Расход топлива], Sum(([Путевой  лист]!СпидВозвр-[Путевой лист]!СпидВыезд)*Марка!Расход/100) AS [Нормативный расход], [Расход топлива]-[Нормативный расход] AS Перерасход

      FROM Марка INNER JOIN (Автомобиль INNER JOIN [Путевой лист] ON Автомобиль.ГосНомер = [Путевой лист].Машина) ON Марка.КодМарки = Автомобиль.Марка

      WHERE ((([Путевой  лист].Дата)>=[Forms]![Отчетный период]![Начало] And ([Путевой лист].Дата)<=[Forms]![Отчетный период]![Конец]))

      GROUP BY Автомобиль.ГосНомер, Марка.Марка;

      Результаты  запроса:

Статистика  по автомобилям
Гос. № Марка Рейсов Километров Расход топлива Нормативный расход Перерасход
З837ОТ77 ГАЗ-2404 5 645 63,1000003814697 69,0149987697601 -5,9149983882904
М093РТ77 ГАЗ-2404 2 280 28,8000001907349 29,9599994659424 -1,15999927520752
М398ГН77 ГАЗ-3110 4 470 70 47,9399991035461 22,0600008964539
О386УГ77 ГАЗ-2410 2 190 21,8999996185303 18,2400007247925 3,65999889373779
П865ВГ77 ГАЗ-2410 2 233 26 22,3680008888245 3,63199911117554
Р874ИТ77 ГАЗ-2410 4 540 56,5 51,8400020599365 4,65999794006348
Р983ПО77 ГАЗ-2404 2 276 30 29,5319994735718 0,46800052642822
Т341ГШ77 ГАЗ-3110 2 270 41 27,5399994850159 13,4600005149841
Т712КД77 ГАЗ-2404 2 203 19,6000003814697 21,7209996128082 -2,1209992313385
У402ОЕ77 ГАЗ-2410 2 279 28 26,7840010643005 1,21599893569946
У876ВП77 ГАЗ-3110 5 665 81,5 67,8299987316132 13,6700012683868

Рис. 7. Запрос «Статистика по автомобилям» в режиме конструктора

      Запрос  «Статистика по водителям» вычисляет количество рейсов, километраж, расход топлива и объем выручки для каждого водителя за заданный период. Текст запроса на языке SQL:

Рис. 8. Запрос «Статистика по водителям» в режиме конструктора

      SELECT Водитель.ФИО, Count([Путевой лист].№) AS Рейсов, Sum([Путевой  лист]!СпидВозвр-[Путевой лист]!СпидВыезд) AS Километров, Sum([Путевой лист].Расход) AS [Расход топлива], Sum([Путевой лист].Выручка) AS [Объем выручки]

      FROM Водитель INNER JOIN [Путевой лист] ON Водитель.КодВодителя  = [Путевой лист].Водитель

      WHERE ((([Путевой  лист].Дата)>=[Forms]![Отчетный период]![Начало] And ([Путевой лист].Дата)<=[Forms]![Отчетный период]![Конец]))

      GROUP BY Водитель.ФИО

      ORDER BY Водитель.ФИО;

      Результаты  запроса:

Статистика  по водителям
ФИО Рейсов Километров Расход топлива Объем выручки
Емельяненко Игорь Александрович 2 283 20,5 1 158,00р.
Игнатович Александр Михайлович 2 279 28 1 458,00р.
Коваль  Владимир Владимирович 2 233 26 1 650,00р.
Коршунов  Игорь Васильевич 2 165 30 1 680,00р.
Костюк  Евгений Алексеевич 2 203 19,6000003814697 1 440,00р.
Макаренко Евгений Игоревич 3 430 50,5 2 790,00р.
Панкратов Юрий Иванович 2 260 30,5 2 130,00р.
Панченко  Сергей Алексеевич 2 276 30 2 250,00р.
Самойленко  Станислав Васильевич 2 305 40 2 370,00р.
Семашко Юрий Львович 2 235 31 2 190,00р.
Тарасов Иван Григорьевич 2 190 21,8999996185303 1 440,00р.
Уборевич  Кирилл Александрович 2 280 26 1 980,00р.
Филимонов Олег Константинович 2 270 41 2 484,00р.
Чибис Василий Анатольевич 3 362 42,6000003814697 2 910,00р.
Шпак  Антон Семенович 2 280 28,8000001907349 2 118,00р.

      Запрос  «Статистика по маркам» вычисляет количество автомобилей данной марки, использовавшихся в заданном периоде, нормативный расход топлива на 100 км для автомобилей заданной марки, суммарный пробег автомобилей этой марки в отчетном периоде и фактический расход топлива (суммарный и на 100 км пробега). Текст запроса на языке SQL:

      SELECT Марка.Марка, Count(Автомобиль.ГосНомер) AS Автомобилей,  Марка.Расход, Sum([Путевой лист]!СпидВозвр-[Путевой  лист]!СпидВыезд) AS Километров, Sum([Путевой  лист].Расход) AS [Расход топлива], [Расход  топлива]/[Километров]*100 AS [Фактический  расход]

      FROM Марка INNER JOIN (Автомобиль INNER JOIN [Путевой лист] ON Автомобиль.ГосНомер = [Путевой лист].Машина) ON Марка.КодМарки = Автомобиль.Марка

      WHERE ((([Путевой  лист].Дата)>=[Forms]![Отчетный период]![Начало] And ([Путевой лист].Дата)<=[Forms]![Отчетный период]![Конец]))

      GROUP BY Марка.Марка,  Марка.Расход;

Рис. 9. Запрос «Статистика по маркам» в режиме конструктора

      Результаты  запроса:

Статистика  по маркам
Марка Автомобилей Расход топлива  на 100 км Километров Расход топлива Фактический расход
ГАЗ-2404 11 10,7 1404 141,500000953674 10,0783476462731
ГАЗ-2410 10 9,6 1242 132,39999961853 10,66022541212
ГАЗ-3110 11 10,2 1405 192,5 13,7010676156584

3.3. Экранные формы  ввода и редактирования  данных

      При просмотре, вводе и редактировании данных пользователю было бы удобно видеть не только основную обрабатываемую информацию, но и связанные данные, например, при работе с информацией о марках автомобилей удобно видеть здесь же список автомобилей заданной марки, для автомобиля — видеть (и редактировать) список закрепленных водителей, и т. п. Эти соображения учитывались при разработке форм в создаваемом приложении.

Титульный лист к курсовой.docx

— 13.99 Кб (Открыть, Скачать)

Информация о работе БД автопарка. Учет автомобилей: за кем закреплен, километраж, путевки