Die Entwurfsziele, die ein DB-Schema erreichen muß, ergeben sich zum größten Teil folgerichtig aus den ursprünglichen 12 Regeln, die E. F. Codd 1985 für Relationale Datenbank-Management-Systeme (RDBMS) postuliert hat. Die im Rahmen der Normalisierung wichtigsten Ziele sind folgende:
 

Integritätssicherung (Konsistenzsicherung)


Es muß ausgeschlossen sein, daß die DB in einen unzulässigen Zustand geraten kann

Unzulässige Zustände sind einerseits solche, die logisch widersprüchlich sind. Die Möglichkeit logischer Widersprüche wird in erster Linie durch das Abspeichern folgerbarer Werte (Berechnungen) und mehrfaches Abspeichern derselben Daten (Redundanz) eröffnet. Man könnte zum Beispiel in einer Tabelle zwei Felder x und y haben, sowie ein Feld s, das die Summe von x und y enthält. Bei einem Zahlentriplett (2,3,5) wäre alles in Ordnung. Falls aber die führende 2 geändert würde, müßte auch die 5 angepaßt werden: (7,3,10). Falls das vergessen wird, entsteht ein inkonsistenter Datensatz (7,3,5). Man sieht diesem auch im Nachhinein nicht an, welche der drei Zahlen falsch ist.

Unzulässige Zustände sind andererseits auch solche, die gegen Regeln verstoßen. Für ein Feld „Note“ könnten ausschließlich ganzzahlige Werte von 1 bis 6 zulässig sein. Falls in einem solchen Feld Werte wie 8 oder 3,5 auftauchen würden, wäre das ebenfalls ein inkonsistenter Datensatz.

Um die Konsistenz der Daten zu gewährleisten, bietet das Datenbanksystem Einschränkungen auf verschiedenen Ebenen an.

Domänenbeschränkungen auf Feldebene
Hierzu wird eine Regel angelegt, die definiert, welche Daten in einem Feld zulässig sind, durch Festlegen des Datentyps, der Feldgröße, explizites Fordern oder Ausschließen von Werten etc.

Feldübergreifende Beschränkungen
Das sind Regeln auf Tabellenebene, die Beschränkungen in Abhängigkeit des Inhalts anderer Felder derselben Tabelle desselben Datensatzes beinhalten.

Datensatzübergreifende Beschränkungen
Das sind Regeln, die eine Einschränkung in Abhängigkeit von Werten in anderen Datensätzen fordern.

Tabellenübergreifende Beschränkungen
Das sind Regeln, die Beschränkungen in Abhängigkeit des Inhalts von Feldern anderer Tabellen beinhalten.

Unter all diesen Beschränkungen sind zwei von besonderer Wichtigkeit, da sie sich auf Schlüsseleigenschaften beziehen:

Existenzintegrität (Relationale Integrität)
erreicht man durch das Festlegen eines eindeutigen Index auf ein Feld/ eine Feldgruppe. Dadurch wird die Eindeutigkeit von Schlüsseln sichergestellt.

Beziehungsintegrität (referentielle Integrität)
erreicht man durch Anlegen von Beziehungen und Aktivieren der entsprechenden Option des DB-Systems. Dadurch wird die Existenz eines Fremdschlüssels in der bezogenen Haupttabelle sichergestellt.
 

Regelbildung


Bei der Überlegung, welche Regeln – z. B. für Eindeutigkeit von Wertkombinationen oder Existenz von Abhängigkeiten usw. –  man für einen Datenbankentwurf festlegt, läßt man sich nie von Wahrscheinlichkeiten leiten sondern ausschließlich von stringenten Regeln.  Solche sind:


Um beispielsweise zu beurteilen, ob eine Feldgruppe
 (Vorname, Nachname, Wohnort, Straße, Geburtsdatum)
eindeutig ist, was später bei der Schlüsselfindung eine Rolle spielen wird, ist es völlig irrelevant, daß man einen solchen Fall für „ziemlich unwahrscheinlich“ oder „praktisch ausgeschlossen“ hält.
Ein eindeutiger Index auf der genannten Feldgruppe wäre nur zulässig, wenn es einen mathematischen Beweis oder ein physikalisches Gesetz gäbe, das solche Dubletten sicher ausschließt. Alternativ wäre ein hinreichender Grund für einen solchen Index ein allgemeines Gesetz, das gleichaltrigen Personen gleichen Namens verbietet, in derselben Straße zu wohnen, oder eine Geschäftsregel, die besagt, daß man solche Leute einfach nicht als Kunden haben will.
 

Informationserhalt/Abhängigkeitserhalt
 


Um das Ziel der Redundanzfreiheit zu erreichen, wird es notwendig sein, Tabellen, die redundante Informationen enthalten, in mehrere kleinere Tabellen aufzuteilen. Das nennt man Zerlegung. Diese muß so erfolgen, daß die ursprünglichen Informationen durch Abfragen rekonstruierbar sind.
Im wesentlichen wird das dadurch erreicht, daß beide Tabellen einer Zerlegung über gleiche Schlüsselfelder verfügen, über die sich mit einem Join die ursprüngliche Tabelle rekonstruieren läßt.
Zerlegungen, durch die Information verlorengeht, werden niemals durchgeführt; es sind nur verlustlose Zerlegungen zulässig

Zerlegungen, durch die Abhängigkeiten/ Schlüsselbedingungen verlorengehen, werden nur durchgeführt, wenn es keine abhängigkeitsbewahrende Zerlegung gibt und Redundanzen vermieden werden müssen.

Zur Abhängigkeitsbewahrung bzw. -verlust werden wir bei der Boyce-Codd-Normalform ein Beispiel sehen.