Функциональные зависимости: замыкание атрибутов, неприводимые множества функциональных зависимостей, их построение — различия между версиями
Darkey (обсуждение | вклад) (→Основное свойство замыкания множества атрибутов) |
Darkey (обсуждение | вклад) (→Основное свойство замыкания множества атрибутов) |
||
Строка 22: | Строка 22: | ||
|proof= | |proof= | ||
<tex>(=>)</tex><br>По определению замыкания атрибутов, т.к все атрибуты функционально зависят от X.<br/> | <tex>(=>)</tex><br>По определению замыкания атрибутов, т.к все атрибуты функционально зависят от X.<br/> | ||
− | <tex>(<=)</tex><br> Если <tex>X^+</tex> - множество всех атрибутов, то по теореме <tex>\exists X \to X^+</tex>. | + | <tex>(<=)</tex><br> Если <tex>X^+</tex> - множество всех атрибутов, то по теореме <tex>\exists \; X \to X^+</tex>, а по определению функциональной зависимости <tex>X</tex> соответствует ровно один <tex>X^+</tex>. |
}} | }} | ||
Данное следствие позволяет формально выделять ключи и надключи. | Данное следствие позволяет формально выделять ключи и надключи. |
Версия 11:39, 29 декабря 2020
Замыкание атрибутов
Определение: |
Замыкание множества атрибутов | над множеством ФЗ - максимальное по включению множество атрибутов функционально зависящих от .
Максимальный размер равен числу атрибутов в отношении.
Основное свойство замыкания множества атрибутов
Теорема: |
Доказательство: |
По определению замыкания атрибутов. |
Данная теорема позволяет проверять эквивалентность множеств ФЗ без вычисления замыканий ФЗ:
Даны множества и и пусть для простоты , необходимо проверить является ли эквивалентным . Для этого достаточно построить замыкание и по теореме проверить все фз из , которые отсутствуют в . Если доказать, что из выводимы все базовые правила , то их замыкания ФЗ будут совпадать, следовательно, два множества эквивалентны. Например, пусть , тогда если , то .
Утверждение: |
Следствие: - надключ - множество всех атрибутов |
Если - множество всех атрибутов, то по теореме , а по определению функциональной зависимости соответствует ровно один . |
Данное следствие позволяет формально выделять ключи и надключи.
Построение
= X do foreach : if then while есть изменения
Теорема: |
Доказательство: |
1) |