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