Die erste Normalform (1NF) in relationalen Datenbanken
Die erste Normalform
Die sogenannte „erste Normalform“ ist eigentlich keine Normalform in dem Sinne, in welchem die anderen eine Normalform sind, sondern stellt nur sicher, daß man überhaupt Tabellen hat. Außerdem ist auch die Interpretation und genaue Formulierung der ersten Normalform etwas schwierig und umstritten.
Dies ist eigentlich keine Normalform, sondern eine andere Bezeichnung für eine Tabelle im Sinne relationaler Datenbanken.
Unter diesem Begriff werden verschiedene Anforderungen genannt, die von Autor zu Autor variieren können. Eine Forderung kann man immer lesen:
- Jeder Wert einer Zelle soll atomar sein. (Was bedeutet dies? Vermutlich ist gemeint, daß er genau einen Wert des Typs seiner Spalte sein soll.)
- Jede Zelle darf nur einen Wert enthalten. (Wie werden Werte gezählt? Ist jeder Buchstabe eines Textes ein Wert? Jede Ziffer einer Zahl?)
Besonders häufig kann man lesen:
- Es darf keine „Wiederholungsgruppen“ in einer Zelle geben. (Damit sind Listen von Werten gemeint. Gilt ein Text als eine Wiederholungsliste von Buchstaben?)
Man findet aber auch:
- Die Tabelle ist zweidimensional, sie besteht aus Zeilen und Spalten.
- Jede Zeile enthält Daten über eine Sache oder einen Teil einer Sache. (Dies gilt aber wohl eher für triviale Entitätstabellen.)
- Jede Spalte enthält Daten für ein einzelnes Attribut der beschriebenen Sache. (Dies gilt aber wohl eher für triviale Entitätstabellen.)
- Alle Werte einer Spalte müssen denselben Typ haben. Wenn eine Zelle einer Spalte beispielsweise den Namen einer Person enthält, dann müssen alle anderen Zeilen in dieser Spalte ebenfalls einen Personennamen haben. (Demnach wären Nullwerte dann nicht gestattet.)
- Jede Spalte muß einen einmaligen Namen haben. (Damit ist wohl gemeint: Einmalig innerhalb ihrer Tabelle.)
- Es darf nicht zwei Zeilen geben, die gleich sind (gleiche Werte in jeder Spalte haben).
- Die Reihenfolge der Zeilen und die Reihenfolge der Spalten darf keine Bedeutung haben (keine relevante Information enthalten).
Manchmal findet man auch:
- Kein Wert in einer Zelle ist eine Menge.
Semantik
Die Semantik ist die Lehre von der Bedeutung.
Die Semantik von Tabellen ist also die Lehre von der Bedeutung von Tabellen, darunter versteht man auch manchmal Regeln oder Informationen, welche die Bedeutung einer Tabelle angeben.
Übungsaufgabe: Erstellen Sie eine SQL-Tabelle mit den folgenden Informationen über die Durchschnittstemperaturen der Monate Januar und Februar am Gardasee und auf Korsika. Diese Tabelle soll so aufgebaut sein, daß sie mit dem Mitteln relationaler Datenbanken ausgewertet werden kann und ihre Semantik durch eine Aussageform angegeben werden kann.
Gardasee
Jan Feb
3 5
Korsika
7 8
Übungsaufgabe: Erstellen Sie eine Tabelle mit den folgenden Informationen über die Monde von Planeten. Diese Tabelle soll so aufgebaut sein, daß sie mit dem Mitteln relationaler Datenbanken ausgewertet werden kann und ihre Semantik durch ein Prädikat angegeben werden kann.
- Mars: Phobos, Deimos
- Jupiter: Io, Kallisto, Ganymed
- Uranus: Miranda, Oberon