Третья нормальная форма

Пример 6.

Отношение Студент = (Номер, Фамилия, Имя, Отчество, Дата, Группа) находится в первой и во второй нормальной форме одновременно, так как описатель­ные реквизиты однозначно определены и функционально зависят от ключа Номер.
Отношение Успеваемость = (Номер, Фамилия, Имя, Отчество, Дисциплина, оценка) находится в первой нормальной форме и имеет составной ключНомер + Дисциплина.Это отношение не находится во второй нормальной форме, так как атрибуты Фами­лия, Имя, Отчество не находятся в полной функциональной зависимости с составным ключом отношения.

Понятие третьей нормальной формы основывается на понятии нетранзитивной зави­симости.

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

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

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

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

Для устранения транзитивной зависимости описательных реквизитов необходимо про­вести "расщепление" исходного информационного объекта. В результате расщепления часть реквизитов удаляется из исходного информационного объекта и включается в состав других (возможно, вновь созданных) информационных объектов.

Пример 8. "Расщепление" информационного объекта, содержащего транзитив­ную зависимость описательных реквизитов, показано на рис. 5.6. Как видно из рис. 5.6, исходный информационный объект Студент группы пред­ставляется в виде совокупности правильно структурированных информационных объ­ектов (Студент и Группа), реквизитный состав которых тождественен исходному объекту.

Отношение Студент = (Номер, Фамилия, Имя, Отчество, Дата, Группа) нахо­дится одновременно в первой, второй и третьей нормальной форме.

Рисунок 5.6. "Расщепление" информационного объекта, содержащего транзитив­ную зависимость описательных реквизитов.

Типы связей