Функциональные зависимости: замыкание, эквивалентность и правила вывода — различия между версиями
Darkey (обсуждение | вклад) (→Эквивалентность множеств функциональных зависимостей) |
Darkey (обсуждение | вклад) (→Эквивалентность множеств функциональных зависимостей) |
||
Строка 23: | Строка 23: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | Множество ФЗ <tex>S</tex> слабее множества ФЗ <tex>P</tex> (<tex>P</tex> накрывает <tex>S</tex>) тогда и только тогда, когда <tex>S^+</tex> является подмножеством <tex>P^+</tex>: <tex>S \sqsubset P \Longleftrightarrow S^+ \subset P^+</tex> | + | Множество ФЗ <tex>S</tex> слабее множества ФЗ <tex>P</tex> (<tex>P</tex> накрывает <tex>S</tex>) тогда и только тогда, когда <tex>S^+</tex> является подмножеством <tex>P^+</tex>: |
+ | <tex>S \sqsubset P \Longleftrightarrow S^+ \subset P^+</tex> | ||
}} | }} |
Версия 23:10, 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
Эквивалентность множеств функциональных зависимостей
Определение: |
Множество ФЗ | слабее множества ФЗ ( накрывает ) тогда и только тогда, когда является подмножеством :