Функциональные зависимости: замыкание атрибутов, неприводимые множества функциональных зависимостей, их построение — различия между версиями
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-ю ФЗ, при этом не понадобится, т.к. выводится из
- - т.к.