Überführung in BCNF

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Überführung in BCNF
Aus dem 2011er Braindump, Aufgabe 5.4, Seite 11. Man soll folgende Relation in BCNF überführen:


Relation Q(M, F, S, G, N)
• M → S
• M → G
• SG → M
• MF → N
• SGF → N

Meine Lsg.:

M → SG
SG → M
MF → SGN (MF ist Schlüsselkandidat!)
SGF → MN (SGF ist Schlüsselkandidat!)

  1. NF: ja (kann man anhand FAs eh nicht sagen, nehme ich mal an)
  2. NF: Ja. Einziges Nichtschlüsselattribut ist N. N ist voll funktional abhängig von allen Schlüsselkandidaten, nämlich MF und SGF.
  3. NF: Ja, da nur ein Nichtschlüsselattribut => Transitive Abhängigkeiten unmöglich.
    BCNF: Nein, da bei M->SG und SG → M die Determinanten jeweils keine Superschüssel sind!

Wie löse ich das jetzt auf? In der VL wurde gesagt, dass man immer das abhängige Attribut rauszieht:

R1(M[R2], F, N)
R2(M, S, G)

Wie sehen jetzt meine funktionalen Abhängigkeiten aus? Ablesen kann man nur M → SG und MF → (SG)N.

SG → M ist anscheinend verloren gegangen. Aber können wir nicht (S, G) UNIQUE unter R2 schreiben? Gehört das noch zum Normalisieren dazu? Das wurde beim VL-Kapitel “Normalisieren” nur am Rande erwähnt.