До технической реализации структуры базы данных была проанализирована структура взаимодействия диспетчерского пункта и составлен вариант бизнес-плана, характеризующий деятельность организации по различным типам выполняемых работ. При анализе бизнес-плана учитывались критические моменты и проверки, важные с точки зрения обеспечения целостности данных. Также был произведен анализ типов отчетности по каждому из этапов бизнес-плана.
На основе вышеперечисленной информации, в соответствии с правилами описания реляционных моделей, физическую модель данных можем представить в виде следующего списка таблиц БД:
Таблица 3.1 – Основная БД
Название
таблицы
|
Информационное
наполнение таблицы
|
Работа
|
Информация о
водителях
|
Оператор
|
Формирование
смены оператором
|
Смена
|
Сформированная
оператором смена
|
Диспетчер
|
Модуль
диспетчера
|
Водительская
смена
|
Привязанность
водителей к машинам
|
Своя машина
|
Собственные
автомобили водителей
|
Стоимость
|
Цены на
перевозки
|
Доступ
|
Разграничение
прав доступа
|
Безналичный
расчет
|
Список фирм
|
Временный
прейскурант
|
Стоимость
услуг, не связанных с перевозкой пассажиров
|
Структуры таблиц приведены в таблицах 3.2…3.12.
Таблица 3.2 – Работа
|
Имя
|
Тип данных
|
Описание
|
PK
|
id
|
Autoincrement
|
Идентификатор
|
FK
|
Fam
|
Alpha
|
Водитель
|
|
Ncar
|
Alpha
|
номер машины
|
|
Tip
|
Alpha
|
тип машины
|
|
Cvet
|
Alpha
|
цвет машины
|
|
Status
|
Alpha
|
состояние водителя
|
|
Mesto
|
Alpha
|
расположение
|
В таблице 3.2 находится информация о водителе и об автомобиле,
на котором он работает в данную смену. В поле "состояние водителя"
содержится информация о том, свободен ли водитель в данный момент времени или
выполняет заказ.
Таблица 3.3 - Оператор
|
Имя
|
Тип данных
|
Описание
|
PK
|
id
|
Autoincrement
|
Идентификатор
|
|
Adres
|
Alpha
|
адрес
|
FK
|
Marshrut
|
Alpha
|
маршрут
|
|
Fam
|
Alpha
|
Водитель
|
|
Time
|
Time
|
время
|
|
Date
|
Date
|
дата
|
FK
|
Cena
|
Number
|
стоимость
|
|
Ncar
|
Alpha
|
номер машины
|
|
PhoCl
|
Alpha
|
тел. клиента
|
|
PhoFr
|
Alpha
|
тел. фирмы
|
|
Priznak
|
Alpha
|
признак вып.
|
Приняв телефонный звонок от клиентов, оператор вводит
необходимую информацию о клиенте в базу (таблица 3.3), а именно его координаты
и номер телефона. Эти данные поступают к диспетчеру (табл. 3.5), а он в свою
очередь дает заказ свободному водителю и вводит время, которое необходимо
водителю, чтобы доехать до места назначения, а также ориентировочную стоимость
проезда (при условии, что маршрут не будет изменяться во время поездки).
Получив данные от диспетчера, оператор звонит клиенту и сообщает ему, что
машина на месте.
Таблица 3.4 - Смена
|
Имя
|
Тип данных
|
Описание
|
PK
|
id
|
Autoincrement
|
Идентификатор
|
|
Time
|
Time
|
время
|
|
Date
|
Date
|
дата
|
FK
|
Oper
|
Alpha
|
оператор
|
FK
|
Disp
|
Alpha
|
диспетчер
|
|
NSmenyDisp
|
Integer
|
номер смены диспетчера
|
|
NSmenyOper
|
Integer
|
номер смены
оператора
|
Таблица 3.5 – Диспетчер
|
Имя
|
Тип данных
|
Описание
|
PK
|
id
|
Autoincrement
|
Идентификатор
|
|
Adres
|
Alpha
|
адрес
|
|
Marshrut
|
Alpha
|
маршрут
|
FK
|
Fam
|
Alpha
|
Водитель
|
|
Time
|
Time
|
время
|
|
Date
|
Date
|
дата
|
FK
|
Cena
|
Number
|
стоимость
|
Продолжение таблицы 3.5
1
|
2
|
3
|
4
|
|
Ncar
|
Alpha
|
номер машины
|
|
Priznak
|
Alpha
|
признак вып.
|
FK
|
FamDisp
|
Alpha
|
фамилия Д.
|
FK
|
FamOper
|
Alpha
|
фамилия О.
|
Таблица 3.6 – Водительская смена
|
Имя
|
Тип данных
|
Описание
|
PK
|
id
|
Autoincrement
|
Идентификатор
|
|
Ncar
|
Alpha
|
номер машины
|
|
Cvet
|
Alpha
|
цвет
|
|
Tip
|
Alpha
|
Тип машины
|
FK
|
Vodila1
|
Alpha
|
водитель
|
FK
|
Vodila2
|
Alpha
|
водитель
|
FK
|
Vodila3
|
Alpha
|
водитель
|
Таблица 3.7 – Своя машина
|
Имя
|
Тип данных
|
Описание
|
PK
|
id
|
Autoincrement
|
Идентификатор
|
FK
|
Fam_pozivn
|
Alpha
|
Водитель
|
FK
|
Ncar
|
Alpha
|
Номер машины
|
FK
|
Tip
|
Alpha
|
Тип машины
|
В таблице 3.7 содержится информация о водителях, которые
работают на своих личных автомобилях. Эти данные необходимы администратору во
время формирования смены, а также в дни выдачи водителям заработной платы, так
как ставки у водителей, работающих на автомобилях фирмы и на своих собственных,
различаются.
Таблица 3.8 - Стоимость
|
Имя
|
Тип данных
|
Описание
|
PK
|
id
|
Autoincrement
|
Идентификатор
|
FK
|
Tochka
|
Alpha
|
Пункт назначения
|
FK
|
Cena
|
Namber
|
Стоимость
|
|
Priznak
|
Alpha
|
Признак
|
Таблица 3.8 содержит информацию о ценах на поездки за территорию
города Шахты.
Таблица 3.9 – Доступ
|
Имя
|
Тип данных
|
Описание
|
PK
|
id
|
Autoincrement
|
Идентификатор
|
|
Name
|
Alpha
|
имя
|
|
Pass
|
Alpha
|
пароль
|
|
Status
|
Alpha
|
статус
|
|
NSmenyDisp
|
Integer
|
номер смены Д
|
|
NSmenyOper
|
Integer
|
номер смены О
|
В таблице 3.10 размещается информация о предприятиях, у которых
есть определенная договоренность с ООО "Семейное такси" на перевозки
по безналичному расчету.
Таблица 3.10 – Безналичный расчет
|
Имя
|
Тип данных
|
Описание
|
PK
|
id
|
Autoincrement
|
Идентификатор
|
|
Nazvanie_OOO
|
Alpha
|
название
|
Таблица 3.11 – Временный прейскурант
|
Имя
|
Тип данных
|
Описание
|
PK
|
id
|
Autoincrement
|
Идентификатор
|
|
Usluga
|
Alpha
|
услуга
|
|
Cena
|
Number
|
стоимость
|
Таблица 3.12 – Отчет
|
Имя
|
Тип данных
|
Описание
|
PK
|
id
|
Autoincrement
|
Идентификатор
|
|
NZakaza
|
Integer
|
номер заказа
|
|
Date
|
Date
|
дата
|
|
Time
|
Time
|
время
|
|
Fam
|
Alpha
|
водитель
|
|
Ncar
|
Alpha
|
номер машины
|
|
Tip
|
Alpha
|
Тип машины
|
|
Marshrut
|
Alpha
|
маршрут
|
|
Cena
|
Number
|
стоимость
|
|
Polomka
|
Time
|
поломка
|
|
NSmenyDisp
|
Integer
|
номер смены Д
|
|
NSmenyOper
|
Integer
|
номер смены О
|
|
PhoCl
|
Alpha
|
тел. Клиента
|
|
PhoFr
|
Alpha
|
тел. Фирмы
|
Логическая структура БД построена с учетом критериев нормализации и находится в третьей нормальной форме, что обеспечивает устранение избыточности в модели данных.
Следует отметить особенность заполнения полей в таблицах. Поля, которые содержат данные ограниченные некоторым списком, заполняются путем выбора данных из таблиц-классификаторов. Таблицы-классификаторы являются особым информационным ресурсом, доступным всем программным комплексам. Информационное наполнение таблиц-классификаторов происходит на этапе развертывания, а также работы системы. Внесение изменений в эти таблицы происходить в процессе работы с программой по мере необходимости, ограниченным кругом должностных лиц. Все остальные поля заполняются пользователем на основе ограничений целостности, наложенных на конкретное поле.