2.2. Построение отношений
Для связи третьего порядка Водятгенерируются отношения по правилу №9.
2.2.1. Получаем отношения:
Водители(№паспорта, ФИО, Дата рождения, прописка, класс, стаж, оклад)
Маршрут(№маршрута, название начального пункта, название конечного пункта, время начала движения, время конца движения, интервал, протяженность)
Автобус(№гос регистрации, тип, вместимость)
Водят(№паспорта, №маршрута, №гос регистрации,дата)
Для определения технического состояния автобусов введем отношение Поломки. Причем, график поломок зависит от номера автобуса и даты поломки.
Поломки(№гос регистрации, дата_поломки)
Кроме того так как требуется считать величину оклада в зависимости от класса и стажа, то используем отношение Оклад. Оно должно ставить в зависимость денежное начисление в зависимость от класса водителя.
Оклад(Класс, Базовая_ставка)
2.2.2. Проверяем отношения на избыточность:
Ни одно отношение не включает в себя полностью атрибуты другого отношения.
Отношение Водители не является избыточным, так как его атрибуты не содержаться в других отношениях и не могут быть полученными из других отношений.
Отношение Маршрутне является избыточным, так как его атрибуты не содержаться в других отношениях и не могут быть полученными из других отношений.
Отношение Автобусне является избыточным, так как его атрибуты не содержаться в других отношениях и не могут быть полученными из других отношений.
Отношение Водятне является избыточным, так как его атрибут ДАТА содержится только в этом отношении и не может быть получено из других отношений.
Отношение Поломкине является избыточным, так как его атрибуты не содержаться в других отношениях и не могут быть полученными из других отношений.
Отношение Окладне является избыточным, так как его атрибуты не содержаться в других отношениях и не могут быть полученными из других отношений.
Таким образом, избыточных отношений нет.
2.2.3. Функциональные зависимости:
Отношение Водители находится в НФБК, так как атрибут №паспорта однозначно определяет остальные атрибуты отношения. Остальные же атрибуты могут повторяться. Таким образом, атрибут №паспорта является детерминантом отношения.
№паспорта ФИО, Дата_рождения, Прописка, Класс, Стаж, оклад
Отношение Маршрутынаходится в НФБК, так как атрибут №маршрута однозначно определяет остальные атрибуты отношения. Остальные же атрибуты могут повторяться. Таким образом, атрибут №маршрута является детерминантом отношения.
№маршрута назв_нач_пункта, назв_кон_пункта, время_нач_движ, время_кон_движ, интервал, протяженность
Отношение Автобусыне находится в НФБК, так как атрибут №гос_регистрации
однозначно определяет остальные атрибуты отношения, и является детерминантом, но атрибут Тип однозначно определяет атрибут Вместимость. Таким образом,пользуемся методом декомпозиции. Выполним проекцию на эту функциональную зависимость:
№гос_регистрации Тип, Вместимость
Тип Вместимость
Отношение Водятнаходится в НФБК, так как атрибуты №паспорта , №маршрута, №гос регистрации однозначно определяют остальные атрибуты отношения. Остальные же атрибуты могут повторяться.
№паспорта , №маршрута, №гос регистрации дата
Отношение Поломкинаходится в НФБК, так как атрибут №гос регистрации однозначно определяет дату поломки, которая может меняться. Таким образом, атрибут №гос регистрации является детерминантом отношения.
№гос регистрациидата_поломки
Отношение Окладнаходится в НФБК, так как атрибут Стаж однозначно определяет величину денежного начисления, которая может меняться. Таким образом, атрибут Стаж является детерминантом отношения.
Стаж денежное начисление
Графическое изображение поученных отношений изображено на рис. 2:
Автобусы
№гос_регистрации
Тип
Маршрут
№маршрута
назв_нач_пункта
назв_кон_пункта
время_нач_движ
время_кон_двидж
интервал
протяженность
Поломки
№гос_регистрации
дата
Тип_автобуса
Тип
вместимость
Водители
№паспорта
ФИО
Дата_рождения
Прописка
Класс
Стаж
оклад
Сломался
Водят
Является
Имеет начисление
Оклад
Класс
оклад
Рис. 2
Как было доказано выше избыточных отношений нет.
Рассмотрим функциональные зависимости новых отношений:
Отношение Автобусы находится в НФБК, так как атрибут №гос_регистрации однозначно определяет тип автобуса, который может повторяться. Таким образом, атрибут №гос_регистрации является детерминантом отношения.
№ гос_регистрации тип
Отношение Тип_автобуса находится в НФБК, так как атрибут Тип однозначно определяет вместимость автобуса. Таким образом, атрибут Тип является детерминантом отношения.
Тип вместимость
Таким образом, все указанные отношения находятся в НФБК.
2
Автобусы
№гос_регистрации
Поломки
№гос_регистрации
дата
Тип_автобуса
Тип
вместимость
Маршрут
№маршрута
назв_нач_пункта
назв_кон_пункта
время_нач_движ
время_кон_двидж
интервал
протяженность
Водители
№паспорта
ФИО
Дата_рождения
Прописка
Класс
Стаж
оклад
Водят
№паспорта
№гос_регистрации
№маршрута
дата
Оклад
Класс
оклад
1
1
1
1
1
1
∞
∞
∞
∞
∞
∞
Рис. 3