Schlüsselkandidat aus funktionalen Abhängigkeiten bestimmen

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.

Schlüsselkandidat aus funktionalen Abhängigkeiten bestimmen
Hallo,

in der 6. Vorlesungsfolie auf Folie 53 findet sich folgende Aufgabenstellung:

[QUOTE]Gegeben ist die Relation R(A,B,C,D,E) mit den funktionalen Abhängigkeiten
AB → C
BC → D
CD → E
DE → A[/QUOTE]

Man soll alle Schlüsselkandidaten aufstellen.

Daraus sollen laut Folie folgende FAen ableitbar sein:

[QUOTE]
AB → CDE
BC → DEA
CD → EAB[/QUOTE]

Die ersten zwei abgeleiteten Terme kann ich nachvollziehen. Doch wie kommt man auf dritte funktionale Abhängigkeit CD → EAB? B steht doch nirgends auf der rechten Seite einer FA, somit kann es durch gar nichts bestimmt werden und muss in jedem Schlüsselkandidaten auftauchen.

Übersehe ich etwas?
Vielen Dank im Voraus!

PS: Wenn ich hier schon ein Thema eröffne, kann ich auch meine zweite Frage gleich stellen: Wenn man 1:1-Beziehungen aus dem EER-Diagramm als Attribut mappt, ist dies dann immer eine BCNF-Verletzung?

Beispielsweise erstelle ich mit A(idA, idB[B]), B(idB, andereAttributeVonB, …). Es gilt idA → idB und andersrum auch idB → idA, wobei idB kein Superschlüssel ist und somit die BCNF verletzt sein müsste. Stimmt das? Kann man das überhaupt beheben, ohne die 1:1-Beziehung mit einer extra Relation zu mappen?


Hey,

ich glaube, dass du bei deiner ersten Frage nichts uebersiehst, B wird durch nichts bestimmt.
Zur zweiten Frage: Das ist nur in der Haelfte der Moeglichkeiten der Fall. Wenn du eine 1:1 Beziehung mit totaler Teilnahme hast, dann kannst du den Fremdschluessel NOT NULL setzen, womit dieser zum Superschluessel wird (also die BCNF nicht mehr verletzt).


Danke für die Antwort, xenexi!

[quote=xenexi:1449677745]Wenn du eine 1:1 Beziehung mit totaler Teilnahme hast, dann kannst du den Fremdschluessel NOT NULL setzen, womit dieser zum Superschluessel wird (also die BCNF nicht mehr verletzt).
[/quote]
Klingt logisch! Es scheint also so zu sein, dass ein Attribut, das potentiell NULL werden kann, kein Teil einer Determinante sein kann.