Функциональные зависимости: замыкание атрибутов, неприводимые множества функциональных зависимостей, их построение — различия между версиями
Darkey (обсуждение | вклад) (→Неприводимые множества функциональных зависимостей) |
Darkey (обсуждение | вклад) (→Неприводимые множества функциональных зависимостей) |
||
Строка 53: | Строка 53: | ||
}} | }} | ||
+ | {{Определение | ||
+ | |definition= | ||
+ | Множество ФЗ <tex>S</tex> '''минимально по вклюючению''', если ни одна функциональная зависимость из множества <tex>S</tex> не может быть удалена из | ||
+ | множества <tex>S</tex> без изменения его замыкания <tex>S^+</tex>. | ||
+ | }} | ||
+ | {{Теорема | ||
+ | |id=proposalfirstcorrect | ||
+ | |statement=Для любого множества ФЗ существует эквивалентное неприводимое множество ФЗ (НМФЗ). | ||
+ | |proof= Доказательство по построению: <br> | ||
+ | * По правилу расщепления делаем все части единичными. Понятно, что замыкание множества ФЗ от такой операции не изменится, т.к. старая ФЗ может быть получена по правилу объединения. | ||
+ | * Для левой части каждого правила пытаемся удалить по одному атрибуту <tex>A \cup \{X\} \to B</tex>. Если <tex>B \subset A^+_S</tex> выполняется, то <tex>A \to B</tex>, то можно минимизировать левую часть, отбросив <tex>X</tex>. | ||
+ | * Пытаемся удалить по одному правилу <tex>A \to B</tex>. Если <tex>B \subset A^+_S\\\{A -> B\} \to B</tex> выполняется, то по теореме <tex>A \to B \in S^+</tex>, значит от этого правила можно избавится. | ||
+ | }} | ||
+ | |||
+ | === Оценка времени построения === | ||
+ | * Расщепление правых частей - линейно по размеру правых частей. | ||
+ | * Удаление атрибута <tex>A \cup \{X\} \to B</tex>. На данном этапе из одной ФЗ возможно получить множество ФЗ минимальных по включению. Синтетическая оценка множества потенциальных множеств минимальных по включению мощностью <tex>n/2: {\binom}_{n}{n/2} \approx 2^n</tex>. То есть на ФЗ с большой левой частью возможен экспоненциальный рост количества ФЗ с минимальной по включению левой частью. Но на реальных данных большая левая часть в ФЗ практически не встречается. | ||
+ | * Удаление правила <tex>A \to B</tex> | ||
=== Пример построения === | === Пример построения === | ||
Строка 66: | Строка 84: | ||
* <tex>LId \to DeptHead </tex> | * <tex>LId \to DeptHead </tex> | ||
* <tex>Lecturer \; Table \to DeptHead </tex> - т.к. | * <tex>Lecturer \; Table \to DeptHead </tex> - т.к. | ||
+ | |||
+ | === Выводы о НМФЗ === | ||
+ | * Неприводимые множества ФЗ обычно много меньше множеств исходного множества ФЗ. | ||
+ | * Неприводимое множество ФЗ может не являться минимальным |
Версия 13:00, 29 декабря 2020
Содержание
Замыкание атрибутов
Определение: |
Замыкание множества атрибутов | над множеством ФЗ - максимальное по включению множество атрибутов функционально зависящих от .
Максимальный размер равен числу атрибутов в отношении.
Основное свойство замыкания множества атрибутов
Теорема: |
Доказательство: |
По определению замыкания атрибутов. |
Данная теорема позволяет проверять эквивалентность множеств ФЗ без вычисления замыканий ФЗ:
Даны множества и и пусть для простоты , необходимо проверить является ли эквивалентным . Для этого достаточно построить замыкание и по теореме проверить все фз из , которые отсутствуют в . Если доказать, что из выводимы все базовые правила , то их замыкания ФЗ будут совпадать, следовательно, два множества эквивалентны. Например, пусть , тогда если , то .
Утверждение: |
Следствие: - надключ - множество всех атрибутов |
- множество всех атрибутов и по теореме , то по определению функциональной зависимости соответствует ровно один и значит - надключ. |
Данное следствие позволяет формально выделять ключи и надключи.
Построение
= X do foreach : if then while есть изменения
Теорема: |
Доказательство: |
1) |
Неприводимые множества функциональных зависимостей
Определение: |
Множество ФЗ
| неприводимо, если:
Определение: |
Множество ФЗ | минимально по вклюючению, если ни одна функциональная зависимость из множества не может быть удалена из множества без изменения его замыкания .
Теорема: |
Для любого множества ФЗ существует эквивалентное неприводимое множество ФЗ (НМФЗ). |
Доказательство: |
Доказательство по построению:
|
Оценка времени построения
- Расщепление правых частей - линейно по размеру правых частей.
- Удаление атрибута . На данном этапе из одной ФЗ возможно получить множество ФЗ минимальных по включению. Синтетическая оценка множества потенциальных множеств минимальных по включению мощностью . То есть на ФЗ с большой левой частью возможен экспоненциальный рост количества ФЗ с минимальной по включению левой частью. Но на реальных данных большая левая часть в ФЗ практически не встречается.
- Удаление правила
Пример построения
Дано:
Неприводимое множество ФЗ:
- - расщепили 1-ю ФЗ, при этом не понадобится, т.к. выводится из
- - т.к.
Выводы о НМФЗ
- Неприводимые множества ФЗ обычно много меньше множеств исходного множества ФЗ.
- Неприводимое множество ФЗ может не являться минимальным