Zum Inhalt springen

Informatik · Klasse 11–13 · aktualisiert

Relationale Datenbank: Aufbau und Normalisierung

Du lernst, Tabellen mit Schlüsseln zu verbinden, fehlerhafte Verweise zu erkennen und Tabellen bis zur dritten Normalform zu zerlegen.

0 von 9 Aufgaben gelöst

Relationale Datenbank: Aufbau und Normalisierung

Kurz gesagt

Eine relationale Datenbank speichert Daten in Tabellen, die über Schlüssel verbunden werden. Beim Normalisieren zerlegst du Tabellen nach festgelegten Abhängigkeiten, um vermeidbare Mehrfachspeicherung zu verringern.

Wie verbindest du Daten, ohne dieselben Angaben ständig neu einzutragen? Dafür brauchst du passende Tabellen, eindeutige Schlüssel und gültige Verweise. An erfundenen Beispielen untersuchst du den Aufbau und verbesserst einen Tabellenentwurf schrittweise.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Termi das Ziel für dich ab.

4 Abschnitte

Eine relationale Datenbank ordnet Daten in Tabellen. Eine Tabelle beschreibt eine Art von Gegenständen oder Vorgängen. Ein Datensatz ist eine Zeile mit zusammengehörigen Angaben. Ein Attribut ist eine benannte Spalte, etwa Ort. In jeder Zeile steht dort der zugehörige Attributwert.

Ein Primärschlüssel kennzeichnet jeden Datensatz eindeutig. Er kann aus einer Spalte oder mehreren Spalten bestehen. Seine Werte beziehungsweise Wertekombinationen dürfen nicht doppelt vorkommen. Kein Bestandteil darf fehlen. Namen eignen sich ohne weitere Regeln schlecht dafür, weil verschiedene Gegenstände denselben Namen haben können.

Ein Fremdschlüssel stellt einen Bezug zu einem Datensatz her. In unseren Beispielen verweist er auf den Primärschlüssel einer anderen Tabelle. Sein Wert darf mehrfach vorkommen: Mehrere Fächer können beispielsweise zum selben Spind gehören. Bei einem Schlüssel aus mehreren Spalten gehören auch zum passenden Fremdschlüssel entsprechend mehrere Spalten.

Ein Relationenschema beschreibt den Aufbau einer Tabelle. Wir schreiben den Tabellennamen und dahinter die Spaltennamen in Klammern. Spind(SpindNr, Ort) ist ein solches Schema. „Nr“ bedeutet Nummer. Die Schlüssel nennen wir jeweils ausdrücklich dazu. Diese Schreibweise beschreibt einen Entwurf; sie ist kein ausführbarer Programmcode.

Definition

Tabelle, Datensatz und Attribut

Die Tabelle umfasst die Daten einer Art. Ein Datensatz ist eine Zeile. Ein Attribut ist eine Spalte; ein Attributwert ist die konkrete Angabe in einer Zelle.

Beispiel: Spinde und ihre Fächer

  1. 1Spind(SpindNr, Ort); Primärschlüssel: SpindNr.
  2. 2Ein Datensatz in Spind enthält SpindNr 3 und Ort „Flur“.
  3. 3Fach(FachNr, SpindNr); Primärschlüssel: FachNr.
  4. 4Ein Datensatz in Fach enthält FachNr 12 und SpindNr 3.
  5. 5SpindNr ist in Fach ein Fremdschlüssel auf Spind. Der Wert 3 verbindet Fach 12 mit dem vorhandenen Spind 3.

Merke: Ein Schlüssel besteht aus Attributen. Der Primärschlüssel kennzeichnet eine Zeile eindeutig. Ein Fremdschlüssel verweist auf eine passende Zeile und darf in mehreren Datensätzen denselben Wert haben.

Teste dich

LeichtTier(TierNr, Name) hat den Primärschlüssel TierNr. Zwei Tiere heißen „Momo“. Was bezeichnet Name im Schema?

Alles auf einen Blick

Relationale Datenbank

  • Aufbau

    Eine Zeile ist ein Datensatz, eine benannte Spalte ein Attribut.

  • Schlüssel

    Der Primärschlüssel kennzeichnet eindeutig; der Fremdschlüssel verbindet passende Datensätze.

  • Beziehungen

    Bei 1:N liegt der Fremdschlüssel auf der N-Seite; N:M braucht eine Verbindungstabelle.

  • Gültigkeit

    Ein eingetragener Fremdschlüsselwert braucht einen vorhandenen Zieldatensatz.

  • Normalisierung

    Feste Abhängigkeiten begründen die Zerlegung; zufällige Übungswerte reichen dafür nicht.

  • Grenze

    Normalisierung ordnet vorhandene Angaben, garantiert aber nicht deren Vollständigkeit.

Musteraufgabe · Schritt für Schritt

Roboter und Parcours verbinden

  1. 1Im erfundenen Modell kann jeder Roboter mehrere Parcours durchfahren. Jeder Parcours kann von mehreren Robotern durchfahren werden. Ein Parcours ist hier eine festgelegte Fahrstrecke.
  2. 2Wir speichern je Paar aus Roboter und Parcours genau ein Endergebnis. Es enthält die erreichte Punktzahl. Wiederholte Versuche werden nicht einzeln erfasst.
  3. 3Lege Roboter(RoboterNr, Modellname) und Parcours(ParcoursNr, Name) an. Die jeweilige Nummer ist der Primärschlüssel.
  4. 4Ergänze Ergebnis(RoboterNr, ParcoursNr, Punkte). Beide Nummern sind Fremdschlüssel auf die zugehörigen Tabellen.
  5. 5Wähle (RoboterNr, ParcoursNr) als zusammengesetzten Primärschlüssel. Keine einzelne Nummer reicht, weil jeder Roboter mehrere Parcours und jeder Parcours mehrere Roboter haben kann.
  6. 6Existieren Roboter R2 und Parcours P6, kann die Ergebniszeile (R2, P6, 14) ihre Zuordnung mit 14 Punkten speichern. Damit wird die N:M-Beziehung durch zwei 1:N-Beziehungen abgebildet.

Fehler finden

Prüfe den Entwurf für Gebäude und Aufzüge In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

In einer Tabelle sind alle MitgliedNr vergeben und verschieden, während Nachnamen mehrfach vorkommen. Als Primärschlüssel eignet sich hier . Jedes Paket gehört genau zu einer Lieferung, die mehrere Pakete enthalten kann. Als Fremdschlüssel steht LieferungNr daher in der Tabelle . Eine Tabelle erfüllt die erste Normalform und hat den einzigen minimalen Schlüssel (ReiseNr, StationNr). StationNr legt bereits Stationname fest. Stationname wird deshalb beim Schritt zur Normalform ausgelagert.

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: Relationale Datenbank

LeichtSensor(SensorNr, Messort) enthält eine Zeile mit SensorNr 6 und Messort „Dach“. Welche Angabe bezeichnet einen Datensatz?
MittelDepot enthält genau DepotNr 3 und 8. Kiste hat den Primärschlüssel KistenNr und verweist mit DepotNr auf Depot. Kiste 41 verweist auf Depot 8; KistenNr 42 ist frei. Die Prüfung ist aktiviert, Weitergaberegeln fehlen. Welche Änderung ist erlaubt?
SchwerEinsatz(SchichtNr, HelferNr, TeamNr, Teamname, Minuten) erfüllt die erste Normalform. Der einzige minimale Schlüssel ist (SchichtNr, HelferNr). HelferNr legt TeamNr fest, TeamNr legt Teamname fest. Minuten hängt vom ganzen Schlüssel ab. Teamnamen dürfen mehrfach vorkommen. Es gelten die genannten Abhängigkeiten und ihre Folgerungen, keine zusätzlichen Modellregeln. Welcher Entwurf erreicht die dritte Normalform und erhält die Zuordnungen?

Weiterlesen in Informatik