Функциональные зависимости: замыкание, эквивалентность и правила вывода — различия между версиями
Darkey (обсуждение | вклад) (→Эквивалентность множеств функциональных зависимостей) |
Darkey (обсуждение | вклад) (→Эквивалентность множеств функциональных зависимостей) |
||
Строка 29: | Строка 29: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | <tex>S</tex> '''эквивалентно''' <tex>P</tex> | + | <tex>S</tex> '''эквивалентно''' <tex>P</tex>: <br/><tex>S \equiv P \, \Leftrightarrow \, S \sqsubset P \; \textrm{and} \; P \sqsubset S \, \Leftrightarrow \, S^+ = P^+ </tex> |
}} | }} | ||
+ | |||
+ | === Задача минимизации ФЗ === | ||
+ | ==== Постановка задачи ==== | ||
+ | Найти минимальное множество ФЗ эквивалентное заданному. То есть необходимо найти множество ФЗ <tex>P</tex> такое, что замыкание <tex>S</tex> и <tex>P</tex> совпадают и множество <tex>P</tex> имеет меньшую мощность, чем <tex>S</tex>. Это позволит снизить нагрузку на базу данных. |
Версия 23:49, 28 декабря 2020
Содержание
Функциональные зависимости
Определение и примеры
Правила вывода функциональных зависимостей
Замыкание множества функциональных зависимостей
Определение: |
Замыкание множества функциональных зависимостей | - множество всех функциональных зависимостей, обозначаемое , которые следуют из заданного множества функциональных зависимостей .
Построение
Set<E> buildClosure(s: Set<E>): closure = Set<E>(s.addAll()) changed = true while (changed): changed = false for f in closure: for rule in rules: //rules - правила вывода new_f = rule.apply(f) changed = closure.add(new_f) //add - возвращает true, если элемент был добавлен, false - иначе return closure
Эквивалентность множеств функциональных зависимостей
Здесь и далее
- множества функциональных зависимостей.Определение: |
Определение: |
Задача минимизации ФЗ
Постановка задачи
Найти минимальное множество ФЗ эквивалентное заданному. То есть необходимо найти множество ФЗ
такое, что замыкание и совпадают и множество имеет меньшую мощность, чем . Это позволит снизить нагрузку на базу данных.