Изменения

Перейти к: навигация, поиск

Нормальные формы: третья и Бойса-Кодда

905 байт добавлено, 01:54, 10 января 2021
Добавлено следствие из НФБК в 3НФ
|}
Функциональные зависимости в данном отношении &ndash; это <tex>\mathrm{CourseId}, \mathrm{Group} \rightarrow \mathrm{Examiner}</tex>, <tex>\mathrm{CourseId}, \mathrm{Examiner} \rightarrow \mathrm{Group}</tex> и <tex>\mathrm{Examiner} \leftrightarrow \mathrm{Phone}</tex>, а также все порождаемые имиследующие из них.
Если преподаватель ведет разные предметы у разных групп, такая структура отношения позволяет задать преподавателю разные телефоны, что нарушает целостность БД. Причиной такой аномалии является то, что в данном отношении есть несколько ключей, и каждый атрибут является частью хотя бы одного ключа (в частности, <tex>\mathrm{CourseId}, \mathrm{Phone}</tex> &ndash ; это ключ), тогда как первые три НФ не накладывают никакие ограничения на ключевые атрибуты.
== Нормальная форма Бойса-Кодда ==
{{Определение
|definition=
Отношение находится в '''нормальной форме Бойса-Кодда''' (НФБК) тогда и только тогда, когда* оно находится в третьей нормальной форме* для любой нетривиальной функциональной зависимости <tex>X \rightarrow Y</tex>, <tex>X</tex> является надключом.
}}
Нормальная форма Бойса-Кодда исправляет аномалииСледует отметить, возникающие из-за перекрывающихся ключейчто определение НФБК не требует 3НФ. В частностиОднако можно доказать, если что любое отношение находится в 3НФ и в нем нет перекрывающихся ключей, оно НФБК автоматически находится в НФБК3НФ.
{{Утверждение|statement=Отношение в НФБК находится в 3НФ|proof=* выполнены все условия 1НФ (имеется ключ, а корректные ФЗ обеспечивают отсутствие повторяющихся и неатомарных атрибутов)* выполнено условие 2НФ (так как в левых частях ФЗ только надключи, нет атрибутов, зависящих от части ключа)* выполнено условие 3НФ (так как в левых частях ФЗ только надключи, нет атрибутов, зависящих от неключевых атрибутов)}} Нормальная форма Бойса-Кодда исправляет аномалии, возникающие из-за перекрывающихся ключей. В частности, если отношение находится в 3НФ и в нем нет перекрывающихся ключей, оно автоматически находится в НФБК. Поскольку, опираясь только на функциональные зависимости, нельзя потребовать более сильное условие, чем надключ в левой части каждой ФЗ, то нФБК НФБК &ndash; &laquo;совершенная&raquo; НФ с точки зрения только функциональных зависимостей.
=== Запрещенные конструкции ===
12
правок

Навигация