Zerlegen einer Beziehung in BCNF
Ich habe Probleme bei der Einrichtung, wenn eine relation ist in Boyce-Codd-Normalform und wie zu zerlegen info BCNF, wenn es nicht ist. Angesichts dieses Beispiel:
R(A, C, B, D, E) mit den funktionalen Abhängigkeiten: A -> B -, C -> D
Wie kann ich das zerlegen?
Die Schritte, die ich genommen habe sind:
A+ = AB
C+ = CD
R1 = A+ = **AB**
R2 = ACDE (since elements of C+ still exist, continue decomposing)
R3 = C+ = **CD**
R4 = ACE (keine FD-Verschlüsse befinden sich in dieser Beziehung)
So, jetzt weiß ich, dass ACE Komponieren wird die ganze relation, sondern die Antwort für die Zersetzung ist: AB, CD, ACE.
Ich glaube, ich bin zu kämpfen mit, wie man richtig zerlegen eine relation in BCNF form und wie Sie sagen, wenn Sie fertig sind. Wäre wirklich sehr dankbar, wer kann mir erklären, Ihre Gedanken bei der Lösung dieser Probleme. Danke!
InformationsquelleAutor der Frage raphnguyen | 2013-02-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Obwohl die Frage ist alt, die anderen Fragen/Antworten scheinen nicht, um eine sehr klare Schritt-für-Schritt-eine Allgemeine Antwort auf die Bestimmung und ZERLEGUNG Beziehungen zu BCNF.
1. Bestimmen BCNF:
Für die relation R in BCNF, alle funktionalen Abhängigkeiten (FDs), in R Bedürfnis zu befriedigen Eigenschaft, dass die Determinanten X sind alle superkeys des R. D. H., wenn X>Y gilt in R, dann muss X ein superkey von R in BCNF.
In Ihrem Fall, es kann gezeigt werden, dass die nur kandidatenschlüssel (minimal superkey) ist ein ACE.
Damit beide FDs: A->B-und C - >D verletzt BCNF, da A und C sind nicht superkeys oder R.
2. Zerlegen Sie R in die BCNF form:
Wenn R nicht in BCNF, wir zerlegen R in einer Menge von Relationen S sind in BCNF.
Dies kann erreicht werden mit einem sehr einfachen Algorithmus:
In Ihrem Fall die iterativen Schritte sind wie folgt:
Damit R(A,B,C,D,E) wird zerlegt in eine Menge von Relationen: R1(A,C,E), R2(A,B) und R3(C,D), die BCNF erfüllt.
Beachten Sie auch, dass in diesem Fall die funktionale Abhängigkeit wird beibehalten, aber die Normalisierung zu BCNF garantiert nicht.
Ich hoffe, das hilft.
InformationsquelleAutor der Antwort xlm
1NF -> 2NF -> 3NF -> BCNF
Laut gegeben, FD set "ACE" Formen der Schlüssel.
Eindeutig R(A,B,C,D,E) ist nicht in 2NF.
2NF-ZERLEGUNG gibt R1(A,B) , R2(C,D) und R3(A,C,E).
diese Zersetzung zerlegten Relationen sind in 3NF und auch in BCNF.
InformationsquelleAutor der Antwort User