Gday хлопцы,3NF против НФБК: Пример
Ok, так что у меня класс базы данных и у меня есть этот пример, который заставляет меня думать, что я на самом деле не в полной мере понять разницу между двумя NFs ..
Я знаю, что
отношение, R, находится в 3НФ, если для любого нетривиального FD (Х-> А) удовлетворяют R по крайней мере одно из следующих условий:
(a) X является суперключем для R, или
(б) является ключевым атрибутом для R
и
Отношение, R, в BCNF тогда и только тогда для любого нетривиального FD (Х-> А) удовлетворенный на R следующее условие истинно:
(а) Х представляет собой суперключ для R
Вот пример:
R = (А, В, С, D) F = {AB-> С, AB-> D, C> A, D-> B} 1. Является ли R в 3NF, почему? Если это не так, разложить его на 3NF
Sol: Yes. Find all the Candidate Keys: AB, BC, CD, AD Check all FDs in F for 3NF condition
Ну, Не C-> причиной нарушения? C не является супер-ключом, а его нетривиальным, то же самое для D-> B?
Но его не BCNF:
- Является ли R в НФБК, почему? Если это не так, разложите его в BCNF Нет. Потому что для C-> A C не является суперключем. Аналогично для D-> B R1 = {C, D} , R2 = {A, C}, R3 = {B, D}
возможным дубликатом [Что таким разница между 3NF и BCNF?] (http://stackoverflow.com/questions/19749913/what-is-the-difference-between-3nf-and-bcnf) –
@MostyMostacho Ну, я прочитал это и еще 3 темы , но все же .. – geekybedouin
@MostyMostacho Я не могу комментировать там, и мне нужно спросить о чем-то в вашем более раннем ответе. – geekybedouin