Seitenleiste

Community

SQL

Grundlagen

Datenbanksysteme

Client/Server

Eingebettet

->

4. Normalform

In der 4. Normalform geht es um „Mehrwertige Abhängigkeiten“ (engl. multivalued dependencies).

Bis jetzt kannten wir nur einfache Abhängigkeiten wie „B ist funktional abhängig von A“. Dies bedeutet A → B und, dass aus einem A genau ein B folgt.

Bei mehrwertigen Abhängigkeiten ist dies nicht der Fall. Wenn B mehrwertig abhängig von A ist (A →→ B) heißt das, dass aus einem A mehrere B folgen.

Ein Beispiel sähe wie folgt aus:

Definition

Eine Tabelle ist in 4. Normalform wenn sie die BCNF erfüllt und für jede mehrwertige Abhängigkeit von einer Attributmenge Y von einer Attributmenge X gilt:

  • die mehrwertige Abhängigkeit trivial ist
  • X ein Teil eines Schlüsselkandidaten ist

Trivial bedeutet:

  • das in einer Tabelle R, X und Y die einzigen Attribute sind → R(X,Y)
  • Y ein Teil von X ist

Möglichkeiten der Auflösung

Wir gehen von folgender Tabelle aus:

Person (PNr, Haustier, Fahrzeug) PNr →→ Haustier, PNr →→ Fahrzeug

Nun gibt es 3 Möglichkeiten, diese Tabelle darzustellen:

Ein weiterer Lösungsansatz wäre, alle mehrwertigen Abhängigkeiten in eigene Tabellen zu packen, sie damit trivial machen und sich somit den ganzen Aufwand zu ersparen ;)