§6 Anforderungen an eine Datenbank

Die folgenden Anforderungen sind optional. Je mehr von ihnen erfüllt sind, desto weniger Fehler können im laufenden Betrieb gemacht werden.

»Rererentielle Integrität

Wie im letzten Kapitel gezeigt, werden 1:N Relationen über einen "Foreign Key" (Zeiger in eine andere Tabelle) und einen "Primary Key" (Primärschlüssel) in der anderen Tabelle aufgelöst.



"Referentielle Integrität" bedeutet, dass in der Datenbank jeder "Foreign-Key" auf einen existierenden Datensatz zeigt ("referenziert").

Gegenbeispiel:



Würde man im zweiten Datensatz der Tabelle Sitzungen, nach dem Projekt fragen, so bekäme man eine undefinierte Antwort. Die gesamte Datenbank hätte also keine referentielle Integrität.

»Erste Normalform

Eine Datenbank ist in der ersten Normalform (1NF), wenn alle Attribute nur atomare Werte beinhalten.

Gegenbeispiel:


Solch ein "Fehler" passiert nur, wenn eine 1:N Relation nicht über eine eigene Tabelle aufgelöst wird. Es tauchen beispielsweise folgende Probleme auf:

»Zweite Normalform

Eine Datenbank befindet sich in der zweiten Normalform (2NF), wenn sie in der ersten Normalform ist und wenn ihre Tabellen keine redundanten Daten enthalten. (Daten tauchen nicht doppelt auf)

Gegenbeispiel:

Sitzungen
Datum Projektname Teilnehmer 1 Teilnehmer 2 Teilnehmer 3 Erreichte Ziele Angestrebte Ziele
24.4.2001 Webmaster Oliver K. - - Forum installiert Präsentation für die 5.Klassen
31.4.2001 Webmaster Oliver K. - - Material nicht erhalten. Gemeinsamer Termin im Direktorat

In diesem Fall tauchen alle Projekteigenschaften in den Sitzungen immer wieder auf.
Aus dieser Datenredundanz ergeben sich einige Probleme. Angenommen der Projektname ändert sich in "Webdesign" oder der Name des ersten Teilnehmers war falsch geschrieben. Dann müssen alle Einträge in "Sitzungen" durchsucht und geändert werden.

Lösung:
Hier fehlt ein "Foreign-Key" auf eine eigene Tabelle "Projekte".