Определение. Пусть A, B, C – некоторое произвольное подмножество атрибутов схемы отношения R(A, B, C)

Определение

Пусть A, B, C – некоторое произвольное подмножество атрибутов схемы отношения R(A, B, C). Тогда B многозначно зависит от A (A →→ B) тогда и только тогда, когда множество значений B, соответствующее заданной паре <A:a, C:c> отношения R, зависит только от A, но не зависит от C.

Фейгин показал, что для данного отношения R(A, B, C) многозначная зависимость A →→ B выполняется тогда и только тогда, когда также выполняется многозначная зависимость A →→ C.

Таким образом, многозначные зависимости всегда образуют пары: A →→ B | C.

В нашем примере имеет место многозначная зависимость:

Учебный курс →→ День занятий | Студент

Всякая функциональная зависимость является многозначной, но не всякая многозначная зависимость является функциональной. Фейгин сформулировал следующую теорему.

Теорема

Пусть A, B, C – некоторые множества атрибутов схемы отношения R(A, B, C). Отношение R будет равно соединению его проекций R1(A, B) и R2(A, C) тогда и только тогда, когда для отношения R выполняется многозначная зависимость A →→ B.

Четвертая нормальная форма

Отношение R находится в 4НФ тогда и только тогда, когда в случае существования многозначной зависимости A →→ B все атрибуты отношения R функционально зависят от A.

В нашем примере отношение CDS не находится в 4НФ, так как в нем есть многозначная зависимость, которая не является функциональной.

Примечание: при проектировании с использованием IDEF1x такая ситуация может возникнуть в случае, например, когда определены три сущности – КУРС, СТУДЕНТ, ДЕНЬ ЗАНЯТИЙ, и между сущностями КУРС и СТУДЕНТ, КУРС и ДЕНЬ ЗАНЯТИЙ существует связь типа n: n (Рис. 6.10).

Рис. 6.10. Представление требований предметной области на первом этапе проектирования

Эти связи могут быть разрешены двумя способами:

1. Так как предполагается, что занятия по курсу обязательно посещаются студентами, можно ввести общую дополнительную сущность ЗАНЯТИЕ, для которой не будет выполняться 4НФ (Рис. 6.11).

Рис. 6.11. Разрешение неопределенных связей: нарушение 4НФ

2. Если все-таки необходимо, чтобы отношения удовлетворяли 4НФ, и допускается наличие данных о проведении занятий по курсу, когда еще не определен состав студентов, изучающих данный курс, тогда каждая неопределенная связь должна разрешаться самостоятельно. В этом случае согласование данных, заносимых в отношения КУРС СТУДЕНТА и ЗАНЯТИЕ ПО КУРСУ, должны осуществляться с помощью триггеров и хранимых процедур, чтобы не получилось так, что студент изучает некоторый курс, для которого не назначены дни занятий (Рис. 6.12).

Рис. 6.12. Разрешение неопределенных связей: обеспечение требований 4НФ

Пятая нормальная форма

Все рассматриваемые ранее примеры использовали декомпозицию исходного отношения на две проекции (декомпозиция без потери). Это допущение успешно выполнялось вплоть до 4НФ. Однако существуют отношения, для которых нельзя выполнить декомпозицию без потерь на две проекции, но которые можно подвергнуть декомпозиции без потери на три или более проекций.

Надо отметить, что в большинстве практических случаев такие задачи встречаются крайне редко. Поэтому здесь будет только дано определение 5НФ без каких-либо дополнительных пояснений. Подробное описание 5НФ можно найти, например, в [2].


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: