Datenbankentwurf in der Praxis

Die drei Entwurfsphasen

Der Datenbankentwurf folgt einem systematischen Prozess in drei Phasen:

  1. Konzeptioneller Entwurf: Modellierung der realen Welt als Entity-Relationship-Modell (ER-Modell) – unabhängig vom konkreten Datenbanksystem.
  2. Logischer Entwurf: Überführung des ER-Modells in ein relationales Schema (Tabellen mit Primär- und Fremdschlüsseln).
  3. Physischer Entwurf: Umsetzung im konkreten DBMS (Indizes, Speicherstrukturen, Optimierung).
Anforderungsanalyse

Vor dem Entwurf steht die Anforderungsanalyse:

  • Welche Daten sollen gespeichert werden?
  • Welche Beziehungen bestehen zwischen den Daten?
  • Welche Abfragen und Operationen sind häufig?
  • Welche Integritätsbedingungen müssen gelten?

Beispiel: Eine Schulverwaltung soll Schüler, Kurse und Lehrkräfte verwalten. Jeder Schüler besucht mehrere Kurse, jeder Kurs wird von genau einer Lehrkraft unterrichtet.

Das Entity-Relationship-Modell (ER-Modell)

Das ER-Modell besteht aus drei Grundbausteinen:

  • Entitäten (Rechtecke): Objekte der realen Welt, z. B. Schüler, Kurs, Lehrkraft.
  • Attribute (Ovale): Eigenschaften von Entitäten, z. B. Name, Geburtsdatum. Der Primärschlüssel wird unterstrichen.
  • Beziehungen (Rauten): Verbindungen zwischen Entitäten, z. B. „besucht“, „unterrichtet“.
Kardinalitäten

Kardinalitäten beschreiben, wie viele Entitäten einer Menge mit Entitäten einer anderen Menge in Beziehung stehen:

  • 1:1 – Jede Entität steht mit höchstens einer Entität der anderen Menge in Beziehung. Beispiel: Schüler – Schließfach.
  • 1:n – Eine Entität steht mit vielen Entitäten in Beziehung. Beispiel: Lehrkraft unterrichtet mehrere Kurse.
  • m:n – Mehrere Entitäten stehen mit mehreren in Beziehung. Beispiel: Schüler besuchen Kurse.
Vom ER-Modell zum relationalen Schema

Regeln der Überführung:

  • Jede Entität wird eine Tabelle (Relation).
  • Jedes Attribut wird eine Spalte.
  • 1:n-Beziehungen: Der Primärschlüssel der 1-Seite wird als Fremdschlüssel in die Tabelle der n-Seite aufgenommen.
  • m:n-Beziehungen: Es entsteht eine Zwischentabelle mit den Primärschlüsseln beider Entitäten als zusammengesetztem Schlüssel.
Fallbeispiel: Schulverwaltung
-- Relationales Schema
CREATE TABLE Lehrkraft (
    lehrkraft_id  INT PRIMARY KEY,
    name          VARCHAR(100),
    fach          VARCHAR(50)
);

CREATE TABLE Kurs (
    kurs_id       INT PRIMARY KEY,
    bezeichnung   VARCHAR(100),
    lehrkraft_id  INT REFERENCES Lehrkraft(lehrkraft_id)  -- 1:n
);

CREATE TABLE Schüler (
    schueler_id   INT PRIMARY KEY,
    name          VARCHAR(100),
    klasse        VARCHAR(10)
);

-- Zwischentabelle für m:n
CREATE TABLE Belegung (
    schueler_id   INT REFERENCES Schüler(schueler_id),
    kurs_id       INT REFERENCES Kurs(kurs_id),
    PRIMARY KEY (schueler_id, kurs_id)
);

Abitur-Tipp: Im Abitur wird häufig ein Textabschnitt gegeben, aus dem ein ER-Diagramm erstellt und dann in ein relationales Schema überführt werden soll. Achte besonders auf die korrekte Identifikation der Kardinalitäten (1:1, 1:n, m:n) und die regelkonforme Umsetzung mit Fremd- und Zwischentabellen.