Проектирование реляционной базы данных методом «Сущность – связь», страница 2

Между классом объектов Статья и классом объектов Машина также имеется связь М:М, т.к. при разных правонарушениях одна машина может быть запротоколирована по разным статьям правонарушения, и одна статья может быть зафиксирована за несколькими машинами, а также класс принадлежности является необязательным, потому что машины могут не иметь какоето правонарушение и машина может неиметь вообще правонарушений. В предметной области выделим агрегированный объект, которому поставим в соответствие процесс протоколирования правонарушения. Этот объект имеет статические свойства: дата протокола, номер протокола, сумма штрафа.

На рис. 1 показана ЕR – модель рассматриваемой предметной области.

Рис. 1.

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

Автолюбитель (код автолюбителя, ФИО автолюбителя, паспортные данные,  адрес, номер прав, дата выдачи прав);

Машина (гос номер, код марки, цвет, год выпуска, номер кузова, номер шасси, номер двигателя, информация о угоне, код автолюбителя);

Марка (код марки, марка);

Статья (номер статьи, название статьи);

Инспектор (код инспектора, ФИО инспектора);

Правонарушение (гос номер, номер статьи, код инспектора, номер протокола, дата протокола, сумма штрафа).

Атрибуты, их размер и тип:


Код автолюбителя  Числовой (Целое)

ФИО автолюбителя Текстовый (50)

паспортные данные Текстовый (50)

адрес Текстовый (50)

номер прав Числовой (Целое)

дата выдачи прав Дата/Время гос номер Текстовый (50)

код марки Числовой (Целое)

цвет Текстовый (50)

год выпуска Дата/Время номер кузова Числовой (Целое)

номер шасси Числовой (Целое)

номер двигателя Числовой (Целое)

информация о угоне Логический марка Текстовый (50)

код инспектора Числовой (Целое)

ФИО инспектора Текстовый (50)

номер статьи Числовой (Целое)

название статьи Текстовый (50)

номер протокола Числовой (Целое)

дата протокола Дата/Время сумма штрафа Денежный


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

1) Автолюбитель.

В рассматриваемом отношении четыре возможных ключа, один из которых является составным:: код автолюбителя; паспортные данные; помер паспорта; ФИО автолюбителя, адрес (составной). В качестве первичного ключа отношения выберем код автолюбителя. Отношение Автолюбитель находится в 1НФ, т.к. все его атрибуты имеют атомарное значение. Данное отношение находится также во 2НФ, т.к. все его не основные атрибуты функционально полно зависят от первичного ключа отношения. Данное отношение находится в 3НФ, т.к. нет транзитивных зависимостей. Отношение находится в НФБК, т.к. каждый его детерминант (код автолюбителя; паспортные данные; помер паспорта; ФИО автолюбителя, адрес) является возможным ключом отношения.

Функциональные зависимости в отношении Автолюбитель:

 


2) Машина.

В отношении четыре  возможных ключа: гос номер, номер кузова, номер шасси, номер двигателя. В качестве первичного ключа отношения выберем гос номер. Отношение Машина находится в 1НФ, т.к. все его атрибуты имеют атомарное значение. Данное отношение находится также во 2НФ, т.к. все его не основные атрибуты функционально полно зависят от первичного ключа отношения. Данное отношение находится в 3НФ, т.к. нет транзитивных зависимостей. Отношение находится в НФБК, т.к. каждый его детерминант (гос номер, номер кузова, номер шасси, номер двигателя) является возможным ключом отношения.

Функциональные зависимости в отношении Машина:

 


3) Марка.

В отношении Статья два возможных ключа код марки, марка. В качестве первичного ключа отношения выберем код марки. Отношение Марка находится в 1НФ, т.к. все его атрибуты имеют атомарное значение. Данное отношение находится также во 2НФ, т.к. все его не основные атрибуты функционально полно зависят от первичного ключа отношения. Данное отношение находится в 3НФ, т.к. нет транзитивных зависимостей. Отношение находится в НФБК, т.к. каждый его детерминант (код марки, марка) является возможным ключом отношения.