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.
Funktionale Abhängigkeiten + Schlüsselkandidaten
Hi,
auf Folie 6-48 ist eine Aufgabe die ich nicht ganz nachvollziehen kann.
Gegeben ist die Relation R(A,B,C,D,E)
mit den funktionalen Abhängigkeiten
A->BC, E->A, B->E
Was sind die Schlüsselkandidaten ? AD BD DE
Ist diese Tabelle in 2NF ? NEIN! (partielle Abh.: B → C)
Ist diese Tabelle in 3NF ? NEIN! (nicht in 2NF)
Ist diese Tabelle in BCNF ? NEIN! (nicht in 2NF)
Zur 2NF:
Gibt es nicht auch die partielle Abhängigkeit A->C (hergeleitet von A->BC)? A ist ja auch ein Teil eines Schlüsselkandidaten (AD) und damit wäre C nicht mehr voll funktional abhängig von jedem Schlüsselkandidaten.
ja deine partielle Abhängigkeit ist richtig.
Sobald du (mindestens) eine partielle Abhängigkeit eines Nicht-Schlüsselattributs zu einem Schlüsselkandidaten gefunden hast, ist die Relation NICHT in der 2. Normalform. (folglich auch nicht in der 3. usw.)
Deine zusätzliche partielle Abhängigkeit ändert damit die Lösung nicht: Die Relation ist NICHT in der 2.NF.
- Normalform
Quelle: KonzMod 6-21
Gruß
Christian
Super, danke für die schnelle Antwort
Hätte da noch eine Frage zu den funktionalen Abhängigkeiten:
Angenommen wir haben die Relation R (A, B, C, D, E)
und FA’s: AB->C und CD->E
kann man dann daraus schließen: AB->CE ? (D aus der FA CD->E ist ja in dem Fall nicht bestimmt. Kann ich trotzdem nur mit Hilfe des C’s das E bestimmen? Also quasi den “Weg” gehen AB->C->E)
Nein, du kannst E nur bestimmen wenn du entweder E oder C UND D hast. Also die linke Seite der Funktionalen Abhängigkeit (aka Determinante) musst du immer komplett haben, damit du die funktionale Abhängigkeit nutzen kannst.
AB->CE ist somit nicht aus den obigen FAs herleitbar.
Verstanden Danke
Wenn ich A, B und D habe, dann kann ich damit doch auch E bestimmen oder nicht?
Nach dem Beispiel aus dem ersten Post schon. Es gilt ja B->E und wenn du B hast kannst du sicher schon E bestimmen.
Nee, ich habe mich auf diesen Beitrag bezogen: