Grundlagen des relationalen Modells
Was ist das relationale Modell?
Tabellen, Attribute, Tupel und Domänen: Die Bausteine
Stell dir vor, du möchtest die Informationen über deine Lieblingsfilme übersichtlich und strukturiert speichern. Im relationalen Modell, dem Fundament der meisten modernen Datenbanken, würdest du dafür eine Tabelle (in der Fachsprache auch Relation genannt) erstellen, beispielsweise mit dem Namen "Filme".
- Jede Spalte dieser Tabelle wird als Attribut bezeichnet und beschreibt eine bestimmte Eigenschaft eines Films. Für unsere "Filme"-Tabelle könnten das Attribute wie
FilmID
,Titel
,RegisseurIn
,Erscheinungsjahr
undGenre
sein. - Zu jedem Attribut gehört eine Domäne. Die Domäne legt fest, welche Art von Werten für dieses Attribut zulässig sind und welchen Wertebereich sie umfassen. Für das Attribut
Erscheinungsjahr
wäre die Domäne beispielsweise "vierstellige ganze Zahlen zwischen 1888 und dem aktuellen Jahr". FürTitel
wäre es "Zeichenketten bis zu einer maximalen Länge von 255 Zeichen". - Jede Zeile in dieser Tabelle wird als Tupel (oder Datensatz) bezeichnet und repräsentiert einen einzelnen, eindeutigen Film mit seinen spezifischen Attributwerten. Ein Tupel für "Der Herr der Ringe: Die Gefährten" könnte die Werte
('tt0120737', 'Der Herr der Ringe: Die Gefährten', 'Peter Jackson', 2001, 'Fantasy')
enthalten. - Die Struktur der Tabelle – also der Tabellenname zusammen mit den Namen und Domänen ihrer Attribute – wird als Relationenschema bezeichnet. Es ist quasi der Bauplan der Tabelle. Die Menge aller Tupel, die zu einem bestimmten Zeitpunkt in der Tabelle gespeichert sind, nennt man Relationenausprägung oder den aktuellen Zustand der Relation.
Warum das relationale Modell nutzen? Die Vorteile im Überblick
Das relationale Modell hat sich gegenüber älteren Methoden der Datenverwaltung, wie dem Speichern von Informationen in einzelnen Textdateien oder komplexen, verschachtelten Strukturen, aus vielen guten Gründen durchgesetzt. Hier sind die wichtigsten Vorteile:
- Redundanzreduktion: Stell dir vor, du speicherst den Namen des Regisseurs 'Peter Jackson' bei jedem seiner Filme erneut komplett. Das wäre redundant (überflüssig) und würde Speicherplatz verschwenden. Im relationalen Modell kannst du eine separate Tabelle 'Regie' anlegen und in der 'Filme'-Tabelle nur noch auf den eindeutigen Identifikator der Person 'Peter Jackson' verweisen. Das vermeidet Wiederholungen und reduziert das Risiko von Tippfehlern.
- Datenkonsistenz: Eng mit der Redundanzreduktion verbunden ist die Datenkonsistenz. Wenn du den Namen einer Person in der separaten 'Regie'-Tabelle änderst (z.B. bei einer Heirat oder Korrektur), ist diese Änderung automatisch für alle Filme korrekt, bei denen diese Person Regie geführt hat, ohne dass du jeden einzelnen Filmeintrag anpassen musst. Das verhindert widersprüchliche Angaben im Datenbestand.
- Datenintegrität: Das relationale Modell hilft, die Korrektheit und Widerspruchsfreiheit der Daten sicherzustellen. Du kannst Regeln definieren (sogenannte Integritätsbedingungen), die sicherstellen, dass z.B. jede
FilmID
einzigartig ist (Primärschlüssel) oder dass einErscheinungsjahr
immer eine plausible Zahl sein muss. Das System verhindert dann Fehleingaben oder ungültige Daten. - Datenunabhängigkeit: Du könntest beispielsweise deiner "Filme"-Tabelle eine neue Spalte "Bewertung" hinzufügen, ohne dass bestehende Anwendungen, die nur Titel und Regisseur:in abfragen, angepasst werden müssen (Logische Datenunabhängigkeit). Ein:e Datenbankadministrator:in könnte die Art der Datenspeicherung ändern (z.B. andere Indexstrukturen verwenden oder die Datenbank auf schnellere Hardware umziehen), ohne dass die Anwendungen, die auf die Datenbank zugreifen, davon beeinflusst werden (Physische Datenunabhängigkeit).
- Flexible Abfragemöglichkeit: Mit standardisierten Abfragesprachen, allen voran SQL (Structured Query Language), können auch sehr komplexe Suchen, Filterungen und Auswertungen über die Daten durchgeführt werden. Du könntest zum Beispiel leicht alle Fantasy-Filme abfragen, die nach dem Jahr 2000 erschienen sind und von einer bestimmten Person Regie geführt wurden. Diese Flexibilität ist ein enormer Vorteil gegenüber dem mühsamen Durchsuchen und manuellen Filtern von beispielsweise riesigen Excel-Listen oder unstrukturierten Textdateien.
Lernziele
- das grundlegende Konzept des relationalen Modells erklären, indem die Organisation von Daten in zweidimensionalen Tabellen (Relationen), bestehend aus Zeilen (Tupeln) und Spalten (Attributen) erläutert wird.
- die wesentlichen Vorteile des relationalen Modells gegenüber traditionellen Dateiverarbeitungssystemen interpretieren, indem anhand von Kriterien wie Datenintegrität, Redundanzreduktion, Datenkonsistenz, Flexibilität bei Abfragen und Datenunabhängigkeit die Stärken des relationalen Modells aufgezeigt werden.