Изменения
Новая страница: «== Зависимость соединения == === Множественная декомпозиция === Рассмотрим отношение и его д…»
== Зависимость соединения ==
=== Множественная декомпозиция ===
Рассмотрим отношение и его декомпозицию:
{| class="wikitable"
! Course !! Lecturer !! Group
|-
| СУБД || Корнеев Г. А. || M3438
|-
| СУБД || Корнеев Г. А. || M3439
|-
| Мат.ан. || Кохась К. П. || M3237
|-
| Мат.ан. || Виноградов О. Л. || M3239
|-
| Java || Корнеев Г. А. || M3239
|}
{| class="wikitable" style="float:left; margin-right:1.4em; clear:left;"
|-
! Course !! Lecturer
|-
| СУБД || Корнеев Г. А.
|-
| СУБД || Корнеев Г. А.
|-
| Мат.ан. || Кохась К. П.
|-
| Мат.ан. || Виноградов О. Л.
|-
| Java || Корнеев Г. А.
|}
{| class="wikitable" style="float:left; margin-right:1.4em;"
! Course !! Group
|-
| СУБД || M3438
|-
| СУБД || M3439
|-
| Мат.ан. || M3237
|-
| Мат.ан. || M3239
|-
| Java || M3239
|}
{| class="wikitable" style="float:left;"
! Lecturer !! Group
|-
| Корнеев Г. А. || M3438
|-
| Корнеев Г. А. || M3439
|-
| Кохась К. П. || M3237
|-
| Виноградов О. Л. || M3239
|-
| Корнеев Г. А. || M3239
|}<div style="clear:both;"></div>
Тогда необходимо задать ограничения для обеспечения корректности, то есть:
Если
* Лектор $L$ читает курс $C$
* Лектор L читает группе $G$
* Группа $G$ слушает курс $C$
То лектор $L$ читает курс $C$ группе $G$.
При этом есть все 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>R(XYZ): X \twoheadrightarrow Y{|}Z \Leftrightarrow ∗\{XY,XZ\}</tex>
{{Определение
|definition=
Тривиальные зависимости соединения $-$ зависимости соединения, у которых одно из отношений, на которые мы проецируем, совпадает с исходным: <tex>\forall R: *\{R, X_{1}, X_{2}, \ldots, X_{n}\}</tex>
}}
== Пятая нормальная форма (Проекционно-соединительная) ==
{{Определение
|definition=
Отношение находится в '''пятой нормальной форме''' тогда и только тогда, когда для каждой нетривиальной ЗС <tex>∗\{X_{1},X_{2},\ldots,X_{n}\}</tex> каждое $X_{i} -$ надключ.
}}
{{Утверждение
|statement=
Если отношение находится в 5НФ, то оно находится в [[Многозначные_зависимости_и_четвертая_нормальная_форма|4НФ]].
|proof=
По теореме Фейгина <tex>R(XYZ): X \twoheadrightarrow Y{|}Z \Leftrightarrow ∗\{XY,XZ\}</tex>. В этой многозначной зависимости $X -$ надключ. Значит, отношение находится в 4НФ.
}}
Формально, для приведения к 5 нормальной форме необходимо найти все зависимости соединения, однако это достаточно сложно.
На практике ЗС, не являющиеся МЗ, встречаются редко. Обычно это можно выяснить с помощью '''кольцевых ограничений''':
Если
*<tex>(x_{1},x_{2}) \in \pi{X_{1}X_{2}}(R)</tex>
*<tex>(x_{2},x_{3}) \in \pi{X_{2}X_{3}}(R)</tex>
* $\ldots$
*<tex>(x_{n−1},x_{n}) \in \pi{X_{n−1}X_{n}}(R)</tex>
*<tex>(x_{n},x_{1}) \in \pi{X_{n}X_{1}}(R) </tex>
То <tex>(x_{1},x_{2},\ldots,x_{n}) \in R</tex>
=== Множественная декомпозиция ===
Рассмотрим отношение и его декомпозицию:
{| class="wikitable"
! Course !! Lecturer !! Group
|-
| СУБД || Корнеев Г. А. || M3438
|-
| СУБД || Корнеев Г. А. || M3439
|-
| Мат.ан. || Кохась К. П. || M3237
|-
| Мат.ан. || Виноградов О. Л. || M3239
|-
| Java || Корнеев Г. А. || M3239
|}
{| class="wikitable" style="float:left; margin-right:1.4em; clear:left;"
|-
! Course !! Lecturer
|-
| СУБД || Корнеев Г. А.
|-
| СУБД || Корнеев Г. А.
|-
| Мат.ан. || Кохась К. П.
|-
| Мат.ан. || Виноградов О. Л.
|-
| Java || Корнеев Г. А.
|}
{| class="wikitable" style="float:left; margin-right:1.4em;"
! Course !! Group
|-
| СУБД || M3438
|-
| СУБД || M3439
|-
| Мат.ан. || M3237
|-
| Мат.ан. || M3239
|-
| Java || M3239
|}
{| class="wikitable" style="float:left;"
! Lecturer !! Group
|-
| Корнеев Г. А. || M3438
|-
| Корнеев Г. А. || M3439
|-
| Кохась К. П. || M3237
|-
| Виноградов О. Л. || M3239
|-
| Корнеев Г. А. || M3239
|}<div style="clear:both;"></div>
Тогда необходимо задать ограничения для обеспечения корректности, то есть:
Если
* Лектор $L$ читает курс $C$
* Лектор L читает группе $G$
* Группа $G$ слушает курс $C$
То лектор $L$ читает курс $C$ группе $G$.
При этом есть все 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>R(XYZ): X \twoheadrightarrow Y{|}Z \Leftrightarrow ∗\{XY,XZ\}</tex>
{{Определение
|definition=
Тривиальные зависимости соединения $-$ зависимости соединения, у которых одно из отношений, на которые мы проецируем, совпадает с исходным: <tex>\forall R: *\{R, X_{1}, X_{2}, \ldots, X_{n}\}</tex>
}}
== Пятая нормальная форма (Проекционно-соединительная) ==
{{Определение
|definition=
Отношение находится в '''пятой нормальной форме''' тогда и только тогда, когда для каждой нетривиальной ЗС <tex>∗\{X_{1},X_{2},\ldots,X_{n}\}</tex> каждое $X_{i} -$ надключ.
}}
{{Утверждение
|statement=
Если отношение находится в 5НФ, то оно находится в [[Многозначные_зависимости_и_четвертая_нормальная_форма|4НФ]].
|proof=
По теореме Фейгина <tex>R(XYZ): X \twoheadrightarrow Y{|}Z \Leftrightarrow ∗\{XY,XZ\}</tex>. В этой многозначной зависимости $X -$ надключ. Значит, отношение находится в 4НФ.
}}
Формально, для приведения к 5 нормальной форме необходимо найти все зависимости соединения, однако это достаточно сложно.
На практике ЗС, не являющиеся МЗ, встречаются редко. Обычно это можно выяснить с помощью '''кольцевых ограничений''':
Если
*<tex>(x_{1},x_{2}) \in \pi{X_{1}X_{2}}(R)</tex>
*<tex>(x_{2},x_{3}) \in \pi{X_{2}X_{3}}(R)</tex>
* $\ldots$
*<tex>(x_{n−1},x_{n}) \in \pi{X_{n−1}X_{n}}(R)</tex>
*<tex>(x_{n},x_{1}) \in \pi{X_{n}X_{1}}(R) </tex>
То <tex>(x_{1},x_{2},\ldots,x_{n}) \in R</tex>