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 ;)