В отношении R, каноническое покрытие множества зависимостей FD является:
1. A → B
2. B → C
Причина в том, что зависимость A B → C
может быть получена из других:
1. A → B (given)
2. AB → B (by enrichment of A → B)
3. AB → C (by transitivity of AB → B and B → C)
Ключ-кандидат отношения равен A
, так как его замыкание определяет все остальные атрибуты:
A+ = A
A+ = AB (by using A → B)
A+ = ABC (by using B → C)
Никакой другой атрибут не может быть ключевым (B
не может определить A
, C
появляются только на Rigth части зависимости).
Помните, что схема находится в нормальной форме Boyce-Codd (BCNF) тогда и только тогда, когда все детерминанты функциональных зависимостей канонического покрытия являются суперклассами, или для третьей нормальной формы (3NF), если и только если все детерминанты функциональных зависимостей канонического покрытия являются суперклассами, или детерминированным является первообразным атрибутом.
Таким образом, схема не в НФБК, ни в 3NF, поскольку существует функциональная зависимость B → C
, в котором определитель B
не является ключевым, и C
не является простым атрибутом. Наконец, разлагая схемы в двух отношениях:
R1 < (A B), { A → B } >
R2 < (B C), { B → C } >
мы имеем два соотношения, которые и в 3NF и в НФКАХ, и это разложение сохраняет функциональные зависимости от исходной схемы.
* C функционально зависит от AB, но B не является ключом или частью ключа. * И поэтому это не 3-я нормальная форма. В 3-й нормальной форме объект зависит от ключа, всего ключа и всего лишь от ключа, поэтому помогите мне Codd. –