1

Offenlegung: Ich nehme Stanford's online database course. Das Forum dort ist tot und ich hoffe auf etwas Hilfe bei SO.Zerlegen von Beziehungen zu Vierter Normalform

Hier ist die Quizfrage:

Betrachten Beziehung R(A,B,C,D,E) mit mehrwertigen Abhängigkeiten:

A -» B, B -» D

und keine funktionalen Abhängigkeiten. Angenommen wir zerlegen R in die 4. Normalform. Abhängig von der Reihenfolge, in der wir mit 4NF-Verstößen umgehen, können wir unterschiedliche Endzerlegungen erhalten. Welches der folgenden Beziehungsschemata könnte in der abschließenden 4NF-Zerlegung sein?

Und hier ist mein Denken:

Da wir gegeben werden, dass es keine funktionalen Abhängigkeiten sind, der einzige Schlüssel ist (A,B,C,D,E) von Attributen gesetzt. Mit anderen Worten, beide mehrwertigen Abhängigkeiten in der Frage verletzen, und wir müssen sie zerlegen.

Ich verfolge den Dekompositionsalgorithmus in Vorlesung:

Compute Schlüssel für R [done]

wiederholen, bis alle Beziehungen in 4NF

Pick any R' with nontrivial A -» B that violates 4NF 
Decompose R' into R_1(A, B) and R_2(A, rest) 
Compute functional dependencies and multivalued dependencies for R_1 and R_2 
Compute keys for R_1 and R_2 

I sind sehen Sie zwei Möglichkeiten, die Relationen zu zerlegen: Beginnen Sie mit A -» B oder B -» D .

mit einem Start - »B

R(A,B,C,D,E) 
     | 
     +-----------+ 
     |   | 
R_1(A,B) R_2(A,C,D,E) 

Da B und D sind nicht mehr im gleichen Verhältnis, wir haben keine 4NF Verletzung, und wir sind fertig. Ich bin mir nicht sicher, wie die FDs, MVDs und Schlüssel an diesem Punkt zu berechnen sind.

mit B beginnen - »D

An diesem Punkt (A und B) und (B und D) in ihre eigenen Beziehungen zerlegt, so haben wir keine Verletzungen, und wir Wieder getan.

Die Antwortmöglichkeiten:

An diesem Punkt bin ich völlig ratlos.Ich habe keine der Beziehungen in den Antwortmöglichkeiten sehen, noch kann ich mit einer Idee kommen, die mich dorthin gelangen:

  1. CE
  2. AD
  3. AE
  4. ABD

Ich brauche die Antwort nicht sofort, aber was vermisse ich?

Antwort

1

Eine richtige Antwort ist AD.

Wie wird das erreicht?

Beachten Sie, dass Sie, wie für funktionale Abhängigkeiten, mehrwertige Abhängigkeiten haben können, die von anderen mehrwertigen Abhängigkeiten impliziert werden. Zum Beispiel ist es eine pseudo-transitivity Regel (oder-Multi bewertet transitivity Regeln), der sagt:

Wenn X →→ Y hält, und Y →→ Z hält, dann X →→ Z - Y hält

Für diese Regel können Sie von A →→ B und B →→ DA →→ D ableiten. Wenn Sie also die Beziehung in 4NF zerlegen, können Sie von dieser Abhängigkeit ausgehen und eine Tabelle mit den Attributen AD abrufen. Oder, alternativ, in Ihrer ersten Zerlegung, nach dem Auffinden von R_1(A,B) und R_2(A,C,D,E), sollten Sie weiterhin zerlegen R_2, da es immer noch die nicht triviale MVD A →→ D zu finden R_3(A, D) und R_3(A, C, E).