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

Содержание

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

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

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

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

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

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

      Информационная  система должна решать следующие  задачи:

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

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

      В таксопарке имеются автомобили нескольких марок. По каждой марке автомобиля хранятся технические (нормативные) характеристики в следующей форме:

Марка _______________________________

Количество  мест в салоне ____________ Грузоподъемность __________ кг

Тип кузова _______________________

Расход  топлива на 100 км (в городских условиях) _______________ л

Интервал  между техосмотрами __________ дн.

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

Гос. рег. № __________ __ Марка ______________________________

Год выпуска  ___________ Цвет _______________________________

Дата  последнего кап. ремонта «____» ___________________ г.

Дата  последнего техосмотра «____» ___________________ г.

Водители

Ф.И.О. Категория Стаж
     
     

      Данные  о водителе фиксируются в карточке кадрового учета, имеющей следующий вид:

Ф. И. О. __________________________________________

Дата  рождения   возраст  
Год начала стажа   стаж  
Автомобиль   Категория  

      На  каждый выезд водителя на работу оформляется  путевой лист, имеющий следующую форму:

Путевой лист №____

Дата: «___» _______________ _______ г.

Водитель _______________________________________

Автомобиль № ______________

  выезд возвращение
Время    
Показания спидометра    

Расход топлива ________________

Сумма выручки  за смену ____________

      Периодически (обычно — раз в неделю) составляется график техосмотров:

График  техосмотров

Гос. № Марка Год выпуска Последний техосмотр Следующий техосмотр
         
         
         
         

      Для анализа результативности работы водителей  по требованию менеджмента составляется отчет по средней за смену выручке:

Средняя выручка по водителям

Водитель Категория Средняя выручка
     
     
     

      С целью анализа работы предприятия  за заданный период (обычно — за текущий месяц) составляются статистические сводки:

Статистика  по водителям

за период с «__» ___________ по «__» __________

Ф.И.О. Рейсов Километров Расход топлива Объем выручки
         
         
         

Статистика  по автомобилям

за период с «__» ___________ по «__» __________

Гос. № Марка Рейсов Километров Расход топлива Нормативный расход Перерасход
             
             
             

Статистика  по маркам

за период с «__» ___________ по «__» __________

Марка Автомобилей Расход топлива Пробег за период Фактический расход
         
         
         

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

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

      В описании предметной области легко выделить следующие информационные объекты: Марка, Автомобиль, Водитель, Путевой лист. Отобразим эти объекты на диаграмме «сущность-связь», выявим и изобразим на диаграмме связи между объектами, а также атрибуты объектов. Атрибуты, уникальные в пределах данного информационного объекта, выделим подчеркиванием. Полученная диаграмма показана на рис. 1.

Рис. 1. Диаграмма «сущность–связь»

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

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

Отметим, что объект «Путевой лист» связывается  как с объектом Водитель, так и  с объектом Автомобиль. Это необходимо, потому что хотя водитель всегда закрепляется за одним определенным автомобилем, но 1) он может со временем быть переведен на другой автомобиль; 2) он может даже без изменения закрепления выезжать в рейс на «чужом» автомобиле. Вследствие этого в путевом листе должна храниться информация об автомобиле, хотя, в обычной ситуации, водитель и будет выезжать в рейс на том автомобиле, за которым он закреплен.

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

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

      Вначале преобразуем объект Марка, поскольку  он участвует в единственной связи  типа «один ко многим», причем на стороне  «один». Атрибут Марка этого объекта является уникальным. Название марки (точнее, модели) автомобиля может выражаться достаточно длинной строкой, поэтому в качестве первичного ключа реляционной таблицы более целесообразно использовать не саму эту строку, а некоторое кодовое значение. Введем такое кодовое поле в состав таблицы и сделаем его первичным ключом этой таблицы:

      МАРКА (КодМарки, Марка, Мест, Грузоподъемность, Кузов, Расход, ПериодТО)

      Для организации связи между таблицами  Марка и Автомобиль в состав последней следует включить первичный ключ таблицы Марка, который будет играть роль ключа связи. Такое поле в составе таблицы Автомобиль называется внешним ключом:

      АВТОМОБИЛЬ (Гос№, КодМарки, Год, Цвет, Капремонт, Техосмотр)

      Внешний ключ КодМарки ссылается на МАРКА

      Аналогичным образом реализуется связь и  между таблицами Водитель и Автомобиль: в состав таблицы Водитель вводится первичный ключ таблицы Автомобиль. Первичным ключом самой таблицы Водитель сделаем кодовое поле (как при создании таблицы Марка), поскольку поле ФИО, во-первых, теоретически допускает повторы (два разных водителя, являющиеся полными тезками), а во-вторых — слишком длинное для ключа:

      ВОДИТЕЛЬ (КодВодителя, ФИО, ДатаРожд, Категория, НачСтажа, Гос№)

      Внешний ключ Гос№ ссылается на АВТОМОБИЛЬ

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

      ПУТЕВОЙ_ЛИСТ (, Дата, КодВодителя, Гос№, Выезд, Возвращение, СпидВыезд, СпидВозвр, Расход, Выручка)

      Внешние ключи: КодВодителя ссылается на ВОДИТЕЛЬ, Гос№ ссылается на АВТОМОБИЛЬ

      Итак, мы получили реляционную схему данных рассматриваемой предметно области. Метод, использованный нами для преобразования концептуальной модели в реляционную, гарантирует, что все реляционные таблицы будут соответствовать третьей нормальной форме.

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

3.1. Таблицы

      Средствами Microsoft Access созданы следующие таблицы.

Таблица: Автомобиль

      Имя Тип Размер

      ГосНомер Текстовый 8

      Марка Длинное целое 4

      Год Целое 2

      Цвет Текстовый 20

      Капремонт Дата/время 8

      Техосмотр Дата/время 8

Таблица: Водитель

      Имя Тип Размер

      КодВодителя Длинное целое 4

      ФИО Текстовый 50

      ДатаРожд Дата/время 8

      Категория Текстовый 1

      НачСтажа Целое 2

      Машина Текстовый 50

Таблица: Марка

      Имя Тип Размер

      КодМарки Длинное целое 4

      Марка Текстовый 50

      Мест Байт 1

      Грузоподъемность Целое 2

      Кузов Текстовый 20

      Расход Одинарное с плавающей  4

      ПериодТО Длинное целое 4

Таблица: Путевой лист

      Имя Тип Размер

      № Длинное целое 4

      Дата Дата/время 8

      Водитель Длинное целое 4

      Машина Текстовый 50

      Выезд Дата/время 8

      Возвращение Дата/время 8

      СпидВыезд Длинное целое 4

      СпидВозвр Длинное целое 4

      Расход Одинарное с плавающей  4

      Выручка Денежный 8

      Схема связи таблиц показана на рис. 2.

Рис. 2. Схема связи таблиц

      Содержание таблиц, использованных в контрольном примере, приводится ниже.

Автомобиль
Гос. № Марка Год выпуска Цвет Последний капремонт Последний техосмотр
З837ОТ77 ГАЗ-2404 2005 белый   29.11.08
М093РТ77 ГАЗ-2404 2003 белый   03.11.08
М398ГН77 ГАЗ-3110 1997 бежевый   16.10.08
О386УГ77 ГАЗ-2410 2005 бежевый   23.09.08
П865ВГ77 ГАЗ-2410 2004 белый   03.12.08
Р874ИТ77 ГАЗ-2410 2004 голубой   31.10.08
Р983ПО77 ГАЗ-2404 2004 белый   17.11.08
Т341ГШ77 ГАЗ-3110 1997 белый 27.02.08 03.10.08
Т712КД77 ГАЗ-2404 2003 бежевый 03.08.08 04.11.08
У402ОЕ77 ГАЗ-2410 2005 белый   17.10.08
У876ВП77 ГАЗ-3110 1993 белый 25.09.05 27.10.08
 
Водитель
КодВодителя ФИО Дата рожд. Категория Год начала стажа Машина
1 Макаренко Евгений  Игоревич 13.02.65 B 1985 У876ВП77
2 Тарасов Иван Григорьевич 12.11.55 C 1982 О386УГ77
3 Коваль Владимир Владимирович 03.02.72 B 1990 П865ВГ77
4 Емельяненко Игорь  Александрович 03.06.68 C 1989 З837ОТ77
5 Панченко Сергей Алексеевич 13.02.82 B 2000 Р983ПО77
6 Уборевич Кирилл Александрович 21.10.78 C 1999 Р874ИТ77
7 Панкратов Юрий Иванович 12.04.59 C 1978 Р874ИТ77
8 Игнатович Александр  Михайлович 07.08.78 B 1997 У402ОЕ77
9 Костюк Евгений  Алексеевич 04.11.64 D 1984 Т712КД77
10 Шпак Антон  Семенович 05.08.82 B 2000 М093РТ77
11 Филимонов Олег Константинович 17.04.56 D 1972 Т341ГШ77
12 Самойленко  Станислав Васильевич 23.07.81 B 1998 М398ГН77
13 Семашко Юрий Львович 30.03.67 C 1988 У876ВП77
14 Коршунов Игорь  Васильевич 25.08.63 C 1982 М398ГН77
15 Чибис Василий  Анатольевич 19.03.77 B 1995 З837ОТ77
 
Марка
КодМарки Марка Мест Грузоподъемность Тип кузова Расход топлива  на 100 км Периодичность техосмотров
1 ГАЗ-3110 4 150 седан 10,2 90
2 ГАЗ-2410 4 120 седан 9,6 90
3 ГАЗ-2404 4 150 фургон 10,7 90
 
Путевой лист
Дата Водитель Машина Время выезда Время возвращения Спидометр: выезд возвращение Расход топлива Выручка
1 04.12.08 Макаренко Евгений  Игоревич У876ВП77 6:30 13:50 12540 12675 16 750,00р.
2 04.12.08 Тарасов Иван Григорьевич О386УГ77 6:55 14:25 3455 3529 10,2 630,00р.
3 04.12.08 Емельяненко Игорь  Александрович З837ОТ77 7:20 16:10 2925 3098 9,5 588,00р.
4 04.12.08 Семашко Юрий Львович У876ВП77 14:20 22:55 12675 12790 12 930,00р.
5 04.12.08 Чибис Василий Анатольевич З837ОТ77 16:50 23:45 3098 3205 13 810,00р.
6 04.12.08 Игнатович Александр Михайлович У402ОЕ77 8:15 15:55 4326 4454 10 588,00р.
7 05.12.08 Костюк Евгений Алексеевич Т712КД77 7:30 14:45 3657 3756 9,8 720,00р.
8 05.12.08 Панченко Сергей Алексеевич Р983ПО77 7:35 14:55 2879 3007 12 990,00р.
9 05.12.08 Шпак Антон  Семенович М093РТ77 8:12 15:54 5630 5768 11,8 888,00р.
10 05.12.08 Коваль Владимир Владимирович П865ВГ77 9:16 17:00 4875 5010 13 900,00р.
11 05.12.08 Макаренко Евгений  Игоревич У876ВП77 7:25 15:10 12790 12940 18 990,00р.
12 05.12.08 Чибис Василий Анатольевич З837ОТ77 12:40 20:45 3205 3315 14 1 050,00р.
13 14.12.08 Уборевич Кирилл Александрович Р874ИТ77 8:10 16:45 4650 4785 13 870,00р.
14 14.12.08 Панкратов Юрий Иванович Р874ИТ77 8:25 17:10 4785 4910 16 1 050,00р.
15 14.12.08 Филимонов Олег Константинович Т341ГШ77 10:40 18:55 14340 14480 20 1 104,00р.
16 14.12.08 Самойленко  Станислав Васильевич М398ГН77 11:00 19:30 19780 19965 22 1 200,00р.
17 14.12.08 Коршунов Игорь  Васильевич М398ГН77 20:00 5:00 19965 20095 13 630,00р.
18 15.12.08 Емельяненко Игорь  Александрович З837ОТ77 7:30 15:20 3315 3425 11 570,00р.
19 15.12.08 Игнатович Александр Михайлович У402ОЕ77 7:55 16:00 4454 4605 18 870,00р.
20 15.12.08 Коваль Владимир Владимирович П865ВГ77 7:57 16:00 5010 5108 13 750,00р.
21 15.12.08 Коршунов Игорь  Васильевич М398ГН77 8:00 16:10 20095 20130 17 1 050,00р.
22 15.12.08 Костюк Евгений Алексеевич Т712КД77 8:05 15:55 3756 3860 9,8 720,00р.
23 15.12.08 Макаренко Евгений  Игоревич У876ВП77 8:05 15:45 12940 13085 16,5 1 050,00р.
24 15.12.08 Панкратов Юрий Иванович Р874ИТ77 8:05 15:50 4910 5045 14,5 1 080,00р.
25 15.12.08 Панченко Сергей Алексеевич Р983ПО77 8:10 16:30 3007 3155 18 1 260,00р.
26 15.12.08 Самойленко  Станислав Васильевич М398ГН77 16:45 23:55 20130 20250 18 1 170,00р.
27 15.12.08 Семашко Юрий Львович У876ВП77 16:35 0:40 13085 13205 19 1 260,00р.
28 15.12.08 Тарасов Иван Григорьевич О386УГ77 16:35 0:35 3529 3645 11,7 810,00р.
29 15.12.08 Уборевич Кирилл Александрович Р874ИТ77 16:40 0:55 5045 5190 13 1 110,00р.
30 15.12.08 Филимонов Олег Константинович Т341ГШ77 16:40 1:20 14480 14610 21 1 380,00р.
31 15.12.08 Чибис Василий Анатольевич З837ОТ77 16:45 1:20 3425 3570 15,6 1 050,00р.
32 15.12.08 Шпак Антон  Семенович М093РТ77 17:00 1:50 5768 5910 17 1 230,00р.

3.2. Запросы

      Для формирования отчетных документов, а также отбора необходимой информации в ходе формирования путевых листов, разработан ряд запросов.

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

      SELECT Автомобиль.ГосНомер, Марка.Марка, Автомобиль.Год, Автомобиль.Техосмотр, Автомобиль!Техосмотр+Марка!ПериодТО AS [Следующий техосмотр]

      FROM Марка INNER JOIN Автомобиль ON Марка.КодМарки = Автомобиль.Марка

      ORDER BY Автомобиль!Техосмотр+Марка!ПериодТО;

Рис. 3. Запрос «График техосмотров» в режиме конструктора

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

График  техосмотров
Гос. № Марка Год выпуска Последний техосмотр Следующий техосмотр
О386УГ77 ГАЗ-2410 2005 23.09.08 22.12.08
Т341ГШ77 ГАЗ-3110 1997 03.10.08 01.01.09
М398ГН77 ГАЗ-3110 1997 16.10.08 14.01.09
У402ОЕ77 ГАЗ-2410 2005 17.10.08 15.01.09
У876ВП77 ГАЗ-3110 1993 27.10.08 25.01.09
Р874ИТ77 ГАЗ-2410 2004 31.10.08 29.01.09
М093РТ77 ГАЗ-2404 2003 03.11.08 01.02.09
Т712КД77 ГАЗ-2404 2003 04.11.08 02.02.09
Р983ПО77 ГАЗ-2404 2004 17.11.08 15.02.09
З837ОТ77 ГАЗ-2404 2005 29.11.08 27.02.09
П865ВГ77 ГАЗ-2410 2004 03.12.08 03.03.09
БД автопарка. Учет автомобилей: за кем закреплен, километраж, путевки