Изменения

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

Зависимости соединения и пятая нормальная форма

1267 байт добавлено, 19:40, 4 сентября 2022
м
rollbackEdits.php mass rollback
== Зависимость соединения ===== Множественная декомпозиция ===
Рассмотрим отношение и его декомпозицию:
{| class="wikitable"
При этом есть все 3 вида аномалии: вставки, удаления и обновления. Например, когда лектор читает что-то группе, группа слушает курс, но лектор конкретно этот курс не читает.
== Зависимость соединения ==
{{Определение
|definition=
В отношении есть зависимость соединения <tex>∗\{X_{1},X_{2},\ldots,X_{n}\}</tex> тогда и тогда тогда, когда соответствующая декомпозиция корректна: <tex>R(X_{1}X_{2}\ldots X_{n})=\pi_{X1}(R)\bowtie\pi_{X2}(R)\bowtie\ldots\bowtie \pi_{X_{n}}(R)</tex>. При этом все <tex>{X_{i}</tex> должны быть подмножествами исходного множества атрибутов.
}}
'''Теорема Фейгина''' в терминах зависимости соединения будет выглядеть следующим образом:
|definition=
Тривиальные зависимости соединения $-$ зависимости соединения, у которых одно из отношений, на которые мы проецируем, совпадает с исходным: <tex>\forall R: *\{R, X_{1}, X_{2}, \ldots, X_{n}\}</tex>
}}
 
{{Утверждение
|statement=
Тривиальные зависимости соединения являются обобщением для тривиальных множественных зависимостей.
|proof=
Из тривиальности зависимости соединения следует, что либо <tex>XY</tex> составляет все атрибуты, что означает, что <tex>Z</tex> пустой, либо <tex>XZ</tex> составляет все атрибуты, из чего следует, что <tex>Y</tex> пустой. То есть либо <tex>Z</tex>, либо <tex>Y</tex> пустые в зависимости соединения на двух проекциях. Значит, это была тривиальная множественная зависимость.
}}
Формально, для приведения к 5 нормальной форме необходимо найти все зависимости соединения, однако это достаточно сложно.
На практике ЗС, не являющиеся МЗ, встречаются редко. Обычно это Попробовать выяснить, находится ли отношение в 5НФ, можно выяснить с помощью '''кольцевых ограничений''':
Если
*<tex>(x_{n},x_{1}) \in \pi{X_{n}X_{1}}(R) </tex>
То <tex>(x_{1},x_{2},\ldots,x_{n}) \in R</tex>
 
Если данные условия выполняются, то возможно есть зависимость соединения и стоит декомпозировать.
 
'''Замечание.''' 5 нормальная форма - лучшая форма с точки зрения операций проекции и соединения.
[[Категория: Базы данных]]
1632
правки

Навигация