Ich habe viele verschiedene Quellen gelesen, wie man Beziehungen unterscheidet, die in 3NF/BCNF sind. Und ich habe bisher das ist mein Verständnis ...Finden einer Beziehung in 3NF, aber nicht in BCNF
Ich werde diese Beziehung als Beispiel ...
R = {A, B, C, D, E}
und
F = {A -> B, B C - > E, E D -> A}
.
Zuerst müssen wir die Schlüssel der Beziehung finden. I used this video to help me do that. Und ich habe
Keys = {ACD, BCD, CDE}
nun sicher zu machen R
in BCNF ist, dass wir sicherstellen müssen, dass die linke Seite jeder funktionalen Abhängigkeit in F
ist einer der Keys
. Wir wissen sofort, dass dies nicht der Fall ist, denn die erste FD ist A -> B
und A
ist nicht einer der Schlüssel. So ist es nicht in BCNF.
Jetzt, um sicherzustellen, R
ist in 3NF, wir müssen dafür sorgen, dass die linke Seite jeder funktionalen Abhängigkeit in F
ist einer der Keys
OR die rechte Seite jeder funktionalen Abhängigkeit in F
ist eine Teilmenge von einem der Keys
. Wenn Sie auf die rechte Seite jeder FD schauen, sind dies B
, E
und A
. Dies sind jeweils eine Teilmenge von Key
, also bedeutet dies, dass es in 3NF ist.
So ist dies eine der seltenen Fälle (nach dem Wiki), in dem eine Beziehung in 3NF
ist aber nicht in BCNF
. Ist diese Methode korrekt? Ist es zuverlässig? Fehle ich etwas?
Ja, Sie haben alles richtig gemacht. – laurids
können Sie dies überprüfen: http://class2go.stanford.edu/db/Winter2013 – laurids