Многозначные зависимости и четвертая нормальная форма — различия между версиями
(→Теорема Фейгина) |
(→Теорема о дополнении) |
||
Строка 66: | Строка 66: | ||
Применяя еще раз теорему Фейгина, получаем, что <tex>X \twoheadrightarrow Z.</tex> | Применяя еще раз теорему Фейгина, получаем, что <tex>X \twoheadrightarrow Z.</tex> | ||
}} | }} | ||
− | |||
− | |||
<tex>X \twoheadrightarrow Y {|} Z</tex> обозначается: <tex>X</tex> множественно определяет <tex>Y</tex> и <tex>Z</tex>. | <tex>X \twoheadrightarrow Y {|} Z</tex> обозначается: <tex>X</tex> множественно определяет <tex>Y</tex> и <tex>Z</tex>. | ||
+ | {{Утверждение | ||
+ | |statement= | ||
+ | <tex>\forall R(XY) \Rightarrow X \twoheadrightarrow Y{|}\emptyset</tex> | ||
+ | |proof= | ||
+ | Докажем от противного. Попробуем доказать, что данное утверждение неверно. | ||
− | + | По определению для того, чтобы доказать, что множественная зависимость отсутствует, необходимо взять <tex>X</tex>, найти к нему два различных <tex>Z</tex> таких, что множества <tex>Y</tex> будут разные. Однако два различных <tex>Z</tex> в пустом множестве мы найти не можем. | |
+ | Итого, если одно из множеств пусто, то такая соответствующая множественная зависимость тривиальна, выполняется для всех отношений. | ||
+ | }} | ||
+ | {{Определение | ||
+ | |definition= | ||
<tex>X \twoheadrightarrow Y{|}\emptyset</tex> называется тривиальной множественной зависимостью. | <tex>X \twoheadrightarrow Y{|}\emptyset</tex> называется тривиальной множественной зависимостью. | ||
+ | }} | ||
== Четвертая нормальная форма == | == Четвертая нормальная форма == |
Версия 15:14, 22 декабря 2021
Содержание
Аномалии в НФБК
Рассмотрим следующий пример:
Course | Lecturer | Book |
---|---|---|
СУБД | Корнеев Г. А. | Дейт |
СУБД | Корнеев Г. А. | Ульман |
Мат.Ан. | Кохась К. П. | Фихтенгольц |
Мат.Ан. | Виноградов О. Л. | Фихтенгольц |
В данном отношении подразумевается, что набор книг по курсу не зависит от преподавателя.
Тогда все атрибуты будут ключевыми: у курса и лектора бывает много книг, лектор может рекомендовать книгу по нескольким курсам, книгу для курса могут рекомендовать все лекторы этого курса. Поэтому здесь присутствуют только тривиальные функциональные зависимости, поэтому отношение находится в нормальной форме Бойса-Кодда.
При этом, если мы предполагаем, что набор литературы не зависит от преподавателя, то у нас будут все 3 вида аномалии:
- Вставки: невозможно указать литературу по курсу без преподавателя.
- Удаления: нельзя удалить преподавателя, не потеряв литературу по курсу.
- Изменения: если есть два преподавателя по одному и тому же курсу и один рекомендует книгу, а другой нет. При этом для курса должен быть конкретный набор книг.
Для таких случаев было введено понятие многозначной зависимости.
Многозначная зависимость
Определение: |
| многозначно определяет в отношении
Утверждение: |
Любая функциональная зависимость является множественной зависимостью. |
У $Y$ при фиксированном $X$ есть ровно одно значение. То есть мощность множества, которое зависит, равна одному. |
Теорема Фейгина
Теорема: |
Обобщение теоремы Хита: |
Доказательство: |
|
В отличие от теоремы Хита, где доказывалась только достаточность, в теореме Фейгина доказывается необходимость и достаточность.
Теорема о дополнении
Теорема: |
и |
Доказательство: |
Из по теореме Фейгина следуетВследствие коммутативности Применяя еще раз теорему Фейгина, получаем, что |
обозначается: множественно определяет и .
Утверждение: |
Докажем от противного. Попробуем доказать, что данное утверждение неверно. По определению для того, чтобы доказать, что множественная зависимость отсутствует, необходимо взять Итого, если одно из множеств пусто, то такая соответствующая множественная зависимость тривиальна, выполняется для всех отношений. , найти к нему два различных таких, что множества будут разные. Однако два различных в пустом множестве мы найти не можем. |
Определение: |
называется тривиальной множественной зависимостью. |
Четвертая нормальная форма
Определение: |
Отношение находится в четвертой нормальной форме (4НФ) тогда и только тогда, когда
|
Достижимость
Теорема: |
Любое отношение можно декомпозировать на отношения, находящиеся в 4НФ |
Доказательство: |
|
Пример приведения к 4НФ
Пусть задано отношение:
Course | Lecturer | Book |
---|---|---|
СУБД | Корнеев Г. А. | Дейт |
СУБД | Корнеев Г. А. | Ульман |
Мат.Ан. | Кохась К. П. | Фихтенгольц |
Мат.Ан. | Виноградов О. Л. | Фихтенгольц |
В данном отношении есть множественная зависимость:
, поэтому декомпозируем его следующим образом:Course | Lecturer |
---|---|
СУБД | Корнеев Г. А. |
СУБД | Корнеев Г. А. |
Мат.Ан. | Кохась К. П. |
Мат.Ан. | Виноградов О. Л. |
Course | Book |
---|---|
СУБД | Дейт |
СУБД | Ульман |
Мат.Ан. | Фихтенгольц |
Мат.Ан. | Фихтенгольц |