2. Normalform und die Schlüssel

bluepeople12

Aktiver Benutzer
Beiträge
26
Angenommen, ich hab eine Tabelle in 1. Normalform, kenne die Inhalte und die funktionalen Abhängigkeiten.

Woher weiß ich, welche Attribute Schlüsselargumente sind und welche nicht?
Wie kann ich nun daraus eine 2. Normalform basteln ?
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.579
Steht eigentlich alles gut auf Wiki erklärt: http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)
Wichtig ist auch die Unterscheidung zwischen funktional und voll funktional abhängig.

Schlüsselatribute müssen immer eindeutig sein, dürfen also nicht mehrfach vorkommen. Das ist in den meisten Datenbanken ein künstlicher Schlüssel, der nur einmal vergeben wird. http://de.wikipedia.org/wiki/Schlüssel_(Datenbank)#Schl.C3.BCsselkandidat

Hilfreich sind immer Beispiele. Hast du einen konkreten Fall?
 

bluepeople12

Aktiver Benutzer
Beiträge
26
Ja, ich hab ein Beispiel (siehe Anhang). In erster Normalform zu transformieren war kein Problem. In die zweite Normalform zu transformieren schon eher mehr, weil mich vor allem irritiert, dass es einmal die funktionale Abhängigkeit (Firma, Produkt -> Export, Koffeingehalt, Beliebtheit) gibt und dann noch die funktionale Abhängigkeit (Firma -> Export). Was soll ich denn da als Schlüsselkandidaten nehmen?

Ich denk mir dann immer, dass (Firma, Produkt -> Export, Koffeingehalt, Beliebtheit) ja schon eine funktionale Abhängigkeit ist, da kann ich die Tabelle ja so stehen lassen. Aber anscheinend ist das falsch. Ich hab irgendwie da noch Probleme mich voll und ganz reinzudenken ... :/
 

Anhänge

  • aufgabe_db2.png
    aufgabe_db2.png
    67,6 KB · Aufrufe: 1
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.579
Also Firma und Produkt sind zusammen der PK (funktionale Abhängigkeit (Firma, Produkt -> Export, Koffeingehalt, Beliebtheit). Export ist nur von Firma abhängig, um die 2 NF zu erfüllen müsste Export also in eine eigene Tabelle ausgegliedert werden. Ein nicht Schlüsselatribut darf nicht von einer Teilmenge des Schlüssels abhängig sein.
 
Oben