SQL - Funktionale Abhängigkeiten und Normalformen

Bürstenbinder

Grünschnabel
Mahlzeit zusammen,

ich bereit mich zurzeit auf einen Klausur in Datenbanken vor.
In einer früheren Klausur, die von dem Professor zur Vorbereitung zur Verfügung gestellt wurde, bin ich auf folgende Aufgabe gestoßen.

Gegeben sei das Schema R = ( {A, B, C}, {B->C, C->A, A->B}).
Liegt R in der zweiten oder gar in der dritten Normalform vor?
Begru?nden Sie Ihre Antwort.

Ich komme da irgendwie nicht so recht weiter.
Schlüsselkandidaten sind A und B und C, soweit bin ich gekommen.

2. Normalform liegt ja vor, wenn jedes Nichtschlüsselattribut abhängig vom gesamten Schlüssel ist.
Nun liegt ja nichtmal ein Nichtschlüsselattribut vor , ist damit direkt bewiesen, dass R in der 2. Normalform vorliegt oder wie?

Und wie sieht es mit der 3. Normalform aus?

Ich komme nicht klar :D
Wäre super wenn sich jemand findet, der mir weiterhelfen kann.
 
Aus Wikipedia:
Somit gilt, dass Relationen, die keinen zusammengesetzten Primärschlüssel sondern lediglich ein einzelnes Attribut als Primärschlüssel haben, automatisch die 2NF erfüllen. Des Weiteren erfüllen sie auch die 1NF.

Bedeutet für mich, dass das Schema die 2NF erfüllt.

Bei der 3NF wird es schwieriger, weil ich nicht so genau weiß, was die Dinge bedeuten, die da bei Wikipedia stehen :D
Die dritte Normalform ist erreicht, wenn sich das Relationenschema in 2NF befindet, und kein Nichtschlüsselattribut (hellgraue Zellen in der Tabelle) von einem anderen Nichtschlüsselattribut funktional abhängig ist.
Bei deinem Schema hängt das Schlüsselattribut ja jeweils von einem weiteren Attribut ab, deshalb vermute ich, die ist nicht erfüllt.
 
Die dritte Normalform ist auch erreicht da es ja gar keine Nichtschlüsselattribute gibt die dritte Normalform wäre z.B. verletzt wenn es ein Geburtsdatum und ein Feld Alter geben würde:

Geburtsdatum 01.01.2000 -> Alter 13 Diese beiden Nichtschlüsselattribute sind direkt voneinander abhängig
 
R = ( {A, B, C}, {B->C, C->A, A->B}).
Und da merke ich, dass ich NIE Informatik studiert habe sondern 'nur' in der Anwendung gelernt habe. Ich arbeite seit 20 Jahren professionell mit Datenbanken und kenne diese Schreibform nicht.
Ich kenne UML etc., aber das? Nö.
 
Zurück