Funktionale Abhängigkeiten + Schlüsselkandidaten

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.

  1. Normalform

Quelle: KonzMod 6-21
Gruß
Christian


Super, danke für die schnelle Antwort :slight_smile:
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 :slight_smile: 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: