Многозначные зависимости и четвертая нормальная форма — различия между версиями
(→Теорема о дополнении) |
(→Четвертая нормальная форма) |
||
Строка 97: | Строка 97: | ||
|statement=Любое отношение можно декомпозировать на отношения, находящиеся в 4НФ | |statement=Любое отношение можно декомпозировать на отношения, находящиеся в 4НФ | ||
|proof= | |proof= | ||
− | * Пока есть множественная зависимость, декомпозируем на два отношения. | + | * Пока есть множественная зависимость, декомпозируем на два отношения (По теореме Фейгина). |
* Количество атрибутов в каждом отношении всегда уменьшается. | * Количество атрибутов в каждом отношении всегда уменьшается. | ||
− | * | + | * В конце останутся либо отношения из одного атрибута, которые находятся в 4НФ, либо отношения, в которых нет неудовлетворяющих зависимостей и которые находятся в 4НФ по определению. |
}} | }} | ||
Строка 143: | Строка 143: | ||
| Мат.Ан. || Фихтенгольц | | Мат.Ан. || Фихтенгольц | ||
|} | |} | ||
+ | |||
+ | Теорема Фейгина гарантирует, что соответствующая декомпозиция будет корректной. | ||
[[Категория: Базы данных]] | [[Категория: Базы данных]] |
Версия 15:27, 22 декабря 2021
Содержание
Аномалии в НФБК
Рассмотрим следующий пример:
Course | Lecturer | Book |
---|---|---|
СУБД | Корнеев Г. А. | Дейт |
СУБД | Корнеев Г. А. | Ульман |
Мат.Ан. | Кохась К. П. | Фихтенгольц |
Мат.Ан. | Виноградов О. Л. | Фихтенгольц |
В данном отношении подразумевается, что набор книг по курсу не зависит от преподавателя.
Тогда все атрибуты будут ключевыми: у курса и лектора бывает много книг, лектор может рекомендовать книгу по нескольким курсам, книгу для курса могут рекомендовать все лекторы этого курса. Поэтому здесь присутствуют только тривиальные функциональные зависимости, поэтому отношение находится в нормальной форме Бойса-Кодда.
При этом, если мы предполагаем, что набор литературы не зависит от преподавателя, то у нас будут все 3 вида аномалии:
- Вставки: невозможно указать литературу по курсу без преподавателя.
- Удаления: нельзя удалить преподавателя, не потеряв литературу по курсу.
- Изменения: если есть два преподавателя по одному и тому же курсу и один рекомендует книгу, а другой нет. При этом для курса должен быть конкретный набор книг.
Для таких случаев было введено понятие многозначной зависимости.
Многозначная зависимость
Определение: |
| многозначно определяет в отношении
Утверждение: |
Любая функциональная зависимость является множественной зависимостью. |
У $Y$ при фиксированном $X$ есть ровно одно значение. То есть мощность множества, которое зависит, равна одному. |
Теорема Фейгина
Теорема: |
Обобщение теоремы Хита: |
Доказательство: |
|
В отличие от теоремы Хита, где доказывалась только достаточность, в теореме Фейгина доказывается необходимость и достаточность.
Теорема о дополнении
Теорема: |
и |
Доказательство: |
Из по теореме Фейгина следуетВследствие коммутативности Применяя еще раз теорему Фейгина, получаем, что |
обозначается: множественно определяет и .
Утверждение: |
Докажем от противного. Попробуем доказать, что данное утверждение неверно. По определению: для того, чтобы доказать, что множественная зависимость отсутствует, необходимо взять Итого, если одно из множеств пусто, то такая соответствующая множественная зависимость тривиальна, выполняется для всех отношений. , найти к нему два различных таких, что множества будут разные. Однако два различных в пустом множестве мы найти не можем. |
Определение: |
называется тривиальной множественной зависимостью. |
Четвертая нормальная форма
Определение: |
Отношение находится в четвертой нормальной форме (4НФ) тогда и только тогда, когда
|
Достижимость
Теорема: |
Любое отношение можно декомпозировать на отношения, находящиеся в 4НФ |
Доказательство: |
|
Пример приведения к 4НФ
Пусть задано отношение:
Course | Lecturer | Book |
---|---|---|
СУБД | Корнеев Г. А. | Дейт |
СУБД | Корнеев Г. А. | Ульман |
Мат.Ан. | Кохась К. П. | Фихтенгольц |
Мат.Ан. | Виноградов О. Л. | Фихтенгольц |
В данном отношении есть множественная зависимость:
, поэтому декомпозируем его следующим образом:Course | Lecturer |
---|---|
СУБД | Корнеев Г. А. |
СУБД | Корнеев Г. А. |
Мат.Ан. | Кохась К. П. |
Мат.Ан. | Виноградов О. Л. |
Course | Book |
---|---|
СУБД | Дейт |
СУБД | Ульман |
Мат.Ан. | Фихтенгольц |
Мат.Ан. | Фихтенгольц |
Теорема Фейгина гарантирует, что соответствующая декомпозиция будет корректной.