Автор: Пользователь скрыл имя, 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
Запрос «Закрепленная машина» используется в ходе ввода данных в путевой лист. После выбора водителя, фигурирующего в путевом листе, этот запрос определяет автомобиль, за которым закреплен данный водитель, а также последнее (то есть максимальное) показание спидометра при возвращении этой машины в таксопарк, которое вносится в очередной путевой лист как значение по умолчанию. Текст запроса на языке SQL:
SELECT Водитель.Машина, Max([Путевой лист].СпидВозвр) AS Спидометр
FROM (Автомобиль INNER JOIN Водитель ON Автомобиль.ГосНомер = Водитель.Машина) LEFT JOIN [Путевой лист] ON Автомобиль.ГосНомер = [Путевой лист].Машина
WHERE (((Водитель.КодВодителя)=[
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([Путевой лист]!СпидВозвр-[
FROM Марка INNER JOIN (Автомобиль INNER JOIN [Путевой лист] ON Автомобиль.ГосНомер = [Путевой лист].Машина) ON Марка.КодМарки = Автомобиль.Марка
WHERE ((([Путевой
лист].Дата)>=[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([Путевой
лист]!СпидВозвр-[Путевой лист]
FROM Водитель INNER JOIN [Путевой лист] ON Водитель.КодВодителя = [Путевой лист].Водитель
WHERE ((([Путевой
лист].Дата)>=[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([Путевой лист]!СпидВозвр-[
FROM Марка INNER JOIN (Автомобиль INNER JOIN [Путевой лист] ON Автомобиль.ГосНомер = [Путевой лист].Машина) ON Марка.КодМарки = Автомобиль.Марка
WHERE ((([Путевой
лист].Дата)>=[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 |
При просмотре, вводе и редактировании данных пользователю было бы удобно видеть не только основную обрабатываемую информацию, но и связанные данные, например, при работе с информацией о марках автомобилей удобно видеть здесь же список автомобилей заданной марки, для автомобиля — видеть (и редактировать) список закрепленных водителей, и т. п. Эти соображения учитывались при разработке форм в создаваемом приложении.
Информация о работе БД автопарка. Учет автомобилей: за кем закреплен, километраж, путевки