Relationales Datenmodell
Das relationale Datenmodell stellt alle Daten als Relationen dar – Mengen von Tupeln über benannte Attribute – und basiert die Datenmanipulation auf Operationen aus der Mengenlehre und der Prädikatenlogik erster Stufe, wodurch eine Unabhängigkeit zwischen der logischen Sicht der Daten und ihrer physischen Speicherung erreicht wird.
Definition
Im relationalen Modell ist eine Relation eine Menge von Tupeln, wobei jedes Tupel eine Abbildung von einer festen Menge von Attributen auf Werte ist, die aus den Domänen dieser Attribute stammen; eine relationale Datenbank ist eine Sammlung solcher Relationen, die durch Integritätsbedingungen geregelt wird.
Scope
Dieses Thema behandelt den strukturellen Teil des relationalen Modells: Relationen, Tupel, Attribute und Domänen; Schemata und Instanzen; Kandidaten-, Primär- und Fremdschlüssel; sowie die Integritätsbedingungen der Entitätsintegrität und referenziellen Integrität. Es behandelt Relationen als Mengen mit fester Arität und erklärt, wie Datenunabhängigkeit Anwendungen von Speicherdetails befreit. Ausgenommen sind die auf dem Modell aufbauenden Abfragesprachen (behandelt unter SQL und relationaler Algebra) und die Entwurfsdisziplin der Normalisierung.
Core questions
- Was sind die strukturellen Komponenten einer Relation: Attribute, Domänen, Tupel und Arität?
- Wie identifizieren und verknüpfen Kandidaten-, Primär- und Fremdschlüssel Tupel?
- Was garantieren Entitätsintegrität und referenzielle Integrität?
- Wie erreicht das Modell logische und physische Datenunabhängigkeit?
- Warum werden Relationen als Mengen und nicht als geordnete Listen von Tupeln definiert?
Key concepts
- Relation, Tupel, Attribut, Domäne
- Relationsschema und -instanz
- Kandidaten- und Primärschlüssel
- Fremdschlüssel
- Entitätsintegrität
- Referenzielle Integrität
- Logische und physische Datenunabhängigkeit
- Nullwerte
Key theories
- Relationen als Mengen von Tupeln
- Eine Relation ist eine Untermenge des kartesischen Produkts ihrer Attributdomänen; da sie eine Menge ist, sind Tupel ungeordnet und duplikatsfrei, und das Modell erbt die Algebra der Mengenoperationen.
- Datenunabhängigkeit
- Durch die Beschreibung von Daten rein in Bezug auf Relationen und Constraints trennt das Modell das logische Schema von der physischen Speicherung und den Zugriffspfaden, sodass die physische Darstellung geändert werden kann, ohne Anwendungen neu schreiben zu müssen.
- Integritätsbedingungen
- Die Entitätsintegrität verbietet Nullwerte für Primärschlüssel, und die referenzielle Integrität erfordert, dass jeder Fremdschlüsselwert einem vorhandenen Primärschlüssel entspricht, wodurch die Konsistenz der Beziehungen zwischen Relationen gewährleistet wird.
Clinical relevance
Das relationale Modell ist die Grundlage der dominierenden Klasse von Datenbanksystemen, die in Wirtschaft, Finanzen, Regierung und im Web verwendet werden; seine klare Trennung von logischer Struktur und physischer Speicherung ist der Grund, warum relationale Datenbanken seit einem halben Jahrhundert die Standardwahl für strukturierte, transaktionale Daten geblieben sind.
History
E. F. Codd schlug das relationale Modell 1970 bei IBM vor und argumentierte gegen die damals vorherrschenden hierarchischen und Netzwerkmodelle, deren Abfragen an die physische Navigation gebunden waren. Prototyp-Systeme wie System R (IBM) und Ingres (Berkeley) demonstrierten seine Praktikabilität Mitte der 1970er Jahre, und Codd erhielt später den Turing Award für diese Arbeit.
Key figures
- Edgar F. Codd
- Jeffrey D. Ullman
Related topics
Seminal works
- codd1970
- silberschatz2019
Frequently asked questions
- Warum werden Relationen als Mengen definiert, ohne doppelte Tupel?
- Die Definition einer Relation als Menge verleiht dem Modell eine saubere mathematische Grundlage und bedeutet, dass die Identität eines Tupels vollständig durch seine Attributwerte und die Schlüsselbedingungen bestimmt wird. In der Praxis lockert SQL dies zu Multiset- (Bag-) Semantik, was doppelte Zeilen zulässt, es sei denn, ein Schlüssel oder DISTINCT erzwingt die Eindeutigkeit.
- Was verhindert die referenzielle Integrität tatsächlich?
- Sie verhindert 'dangling references' (hängende Referenzen): Ein Fremdschlüssel in einer Relation muss entweder null sein oder einem vorhandenen Primärschlüsselwert in der referenzierten Relation entsprechen, sodass man beispielsweise keine Bestellung für einen Kunden aufzeichnen kann, der nicht existiert.