Wie ist das relationale Modell aufgebaut und welche Vorteile bietet es?
Die formalen Bausteine: Relationen, Tupel und Attribute
Stell dir vor, du verwaltest eine Filmdatenbank. Im relationalen Modell – dem theoretischen und mathematischen Fundament moderner Datenbanken – werden Daten streng formal organisiert. Die dir aus der SQL-Praxis bereits bekannten Tabellenstrukturen haben hier exakte formale Bezeichnungen:
- Relation: Der formale Begriff für eine Tabelle (z. B. die Relation
Filme). - Tupel: Eine einzelne Zeile innerhalb der Relation. Es repräsentiert einen konkreten, zusammenhängenden Datensatz (z. B. alle Daten zum Film "Inception").
- Attribut: Eine Spalte der Relation, die eine spezifische Eigenschaft beschreibt (z. B.
TiteloderErscheinungsjahr). - Domäne: Der exakt definierte Wertebereich für ein Attribut. Die Domäne für das Attribut
Erscheinungsjahrlegt beispielsweise fest, dass nur vierstellige Ganzzahlen ab dem Jahr 1888 zulässig sind.
Statisch vs. Dynamisch: Schema und Instanz
Um das relationale Modell vollständig zu durchdringen, musst du strikt zwischen der Definition der Struktur und den tatsächlichen Daten unterscheiden:
- Das Relationenschema ist der statische Bauplan. Es umfasst den Namen der Relation sowie die Namen und Domänen (Datentypen) aller Attribute. Wenn du eine Tabelle in SQL mit
CREATE TABLEanlegst, definierst du dieses Schema. Es ändert sich im regulären Betrieb so gut wie nie. - Die Relationeninstanz (auch Relationenausprägung) ist die dynamische Menge der aktuell gespeicherten Tupel zu einem ganz bestimmten Zeitpunkt. Jedes Mal, wenn du einen Film hinzufügst (
INSERT), änderst (UPDATE) oder löschst (DELETE), verändert sich die Relationeninstanz, während das Relationenschema völlig unangetastet bleibt.
Die Stärken des Modells: Datenunabhängigkeit und Flexibilität
Du kennst bereits Konzepte wie Fremdschlüssel, die Redundanzen reduzieren und die Datenintegrität sichern. Das relationale Modell bietet darüber hinaus fundamentale Architekturvorteile für die Softwareentwicklung:
- Physische Datenunabhängigkeit: Die Art und Weise, wie die Daten physisch auf der Festplatte gespeichert oder indiziert werden, ist komplett von der logischen Ebene getrennt. Ein:e Datenbankadministrator:in kann die Datenbank im Hintergrund auf schnellere SSD-Speichermedien verschieben, ohne dass auch nur eine einzige Zeile Code in der angebundenen Softwareanwendung geändert werden muss.
- Logische Datenunabhängigkeit: Das Relationenschema kann nachträglich erweitert werden. Fügst du der Relation
Filmedas neue AttributAltersfreigabehinzu, funktionieren alle bestehenden Programme und Abfragen, die nur nachTitelundRegisseursuchen, weiterhin fehlerfrei. - Strukturelle Flexibilität: Da die Daten streng logisch in Relationen organisiert sind, bist du nicht auf vordefinierte Abfragepfade beschränkt. Du kannst die Daten jederzeit für völlig neue, unvorhergesehene Fragestellungen flexibel miteinander verknüpfen.
Teste dein Wissen
Du modellierst eine neue Datenbank. Ein Teammitglied fragt nach dem formalen Fachbegriff für die gesamte Tabelle "Kunden". Wie lautet dieser im relationalen Modell?