[mySQL] Verletzung der Normalformen

DerAskTyp

Mitglied
upload_2018-3-3_21-36-4.png

Hallo ich hätte eine Frage zu der oberen Aufgabe. Dort steht das c sowohl von a als auch von b abhängig ist. Warum wird aber die 2 Normalform verletzt? Muss c von a und b gleichzeitig abhängig sein also a,b -> c ?
 
Hi

2/3 deiner Angabe schauen für mich falsch aus.

Mit einem a-Wert kann man also eindeutig die dazugehörenden Werte von b,c,d,e,f bestimmen, gut.
Außerdem kann eib b auch a, und wieder cdef bestimmen, auch gut.

Ein a, order ein b, oder a und b zusammen, bestimmen den Rest also eindeutig. Da bei a+b zusammen eine Hälfte nicht wirklich nötig ist um die anderen Werte zu bekommen (es reicht ja auch a oder b allein), sind nur a und b allein Schlüsselkandidaten. Soweit richtig.

Wenn man jetzt mit c außerdem noch d bestimmen kann, warum sollte das c zu einem SK machen? Mit einem gegebenen c hat man also d, und c selber natürlich auch, aber woher kommen a,b,e,f? Nirgends, c reicht dafür nicht, daher ist c kein SK für diese sechsspaltige Tabelle/Relation.

Und zum dritten Punkt: Die 2NF ist nicht verletzt, kann gar nicht sein, weil alle SKs jeweils nur eine Spalte haben (egal ob c jetzt dabei ist oder nicht).
Die 2NF wäre verletzt, wenn man einen mehrspaltigen SK hat, und für die Bestimmung irgendeiner anderen Spalte braucht man nur einen Teil des SKs (also nicht alle Spalten vom SK).

Beispiel einer 2NF-Verletzung wäre:
a->c und a,b->d
Also aus a kann man c bestimmen, aus a UND b kann man d bestimmen - nur a oder nur b reichen für einen eindeutigen d-Wert nicht. Dann sind a und b zusammen der (einzige) SK für die Tabelle (a,b,c,d). Allerdings ist die 2NF verletzt, weil für c nur a nötig ist, und b für c eben unwichtig ist.
 

Neue Beiträge

Zurück