Modellierung der Datenbank
Anhand der Benutzeranforderungen wird das Datenmodell erstellt, das sich in drei Haupttypen unterscheiden lässt:
Konzeptuelles Modell
Die Daten werden abstrakt dargestellt (z.B. Entity-Relationship-Modell).
Logisches Modell
Dieses Modell basiert auf dem konzeptuellen Modell, wird jedoch an die Struktur eines bestimmten DBMS angepasst. Es enthält genauere Details, wie Tabellen und Datentypen.
Physisches Modell
Das logische Modell wird in eine physische Struktur überführt, die direkt auf einem DBMS implementiert werden kann. Dabei werden die Daten in Form von Tabellen, Indizes und Partitionen gespeichert.
Normalisierung
Die Normalisierung ist wichtig, um Datenredundanz zu minimieren und sicherzustellen, dass die Datenbank effizient und konsistent entwickelt wird.
1. Normalform
Alle Informationen einer Tabelle enthalten atomare (unteilbare) Werte. Eine Spalte sollte nicht mehrere Werte für einen Eintrag enthalten.
2. Normalform
Die Datenbank erfüllt die Anforderungen der 1. Normalform und alle Nicht-Schlüsselattribute sind vom Primärschlüssel abhängig.
3. Normalform
Zusätzlich zur 2. Normalform gibt es keine transitive Abhängigkeit zwischen den Informationen, d.h., Nicht-Schlüsselattribute dürfen nicht voneinander abhängen.
Tabellen und Beziehungen
Relationale Datenbanken bestehen aus Tabellen (Relationen / Entitäten), die mehrere Spalten (Attribute) enthalten.
Datensätze werden durch den Primärschlüssel eindeutig identifiziert und Beziehungen zwischen Tabellen durch Fremdschlüssel definieren.
1:1-Beziehung
Ein Datensatz in einer Tabelle ist mit einem Datensatz in einer anderen Tabelle verbunden.
1:n-Beziehung
Ein Datensatz in einer Tabelle kann mit mehreren Datensätzen in einer zweiten Tabelle verknüpft sein, aber ein Datensatz in der zweiten Tabelle nur mit einem in der ersten.
n:m-Beziehung
Ein Datensätze kann mit mehreren Datensätzen einer zweiten Tabelle verknüpft sein, während die Datensätze der Zweiten Tabelle mit Datensätzen der ersten Tabelle verknüpft sind. Für diese Darstellung sind häufig Zwischentabellen erforderlich.
Datenintegrität und Constraints
Mit der Implementation von Constraints wird die Datenkonsistenz gewährleistet.
Primärschlüssel Constraint
Es wird sichergestellt, dass jeder Datensatz einer Tabelle einzigartig ist.
Fremdschlüssel Constraint
Mit Hilfe eines Fremdschlüssels wird die referenzielle Integrität zwischen Tabellen hergestellt.
Not-Null Constraint
Attribute mit dürfen keine NULL-Werte beinhalten.
Unique Constraint
Es wird verhindert, dass in einer Spalte doppelte Werte vorkommen.
Indexierung
Mit Hilfe von auf Spalten basierenden Indizes werden schnellere Datenzugriffe ermöglicht, da nicht die gesamte Tabelle durchsucht werden muss. Bei der Indexierung sollte darauf geachtet werden, dass Indizes die Schreibgeschwindigkeit verlangsamen.