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