Das relationale Datenmodell • • • • Konzepte Attribute, Relationenschemata, Datenbank-Schemata Konsistenzbedingungen Beispiel-Datenbank DBS1 2004 Relationales Datenmodell Seite 1 Klöditz Hochschule Anhalt (FH) Relationales Datenmodell Einführung • Zweck – datenmäßige Darstellung von Objekten und Beziehungen mit deren Eigenschaften • entwickelt von Edgar F. Codd (1923-2003) A relational model of data for large shared data banks. CACM 13 (1970) 6, 377-387 • Vorteile des relationalen Datenmodells – einfach: – systematisch: Klöditz Hochschule Anhalt (FH) Abbildung als Tabellen Mengenlehre DBS1 2004 Relationales Datenmodell Seite 2 Relationales Datenmodell Begriffe Relationenschema R = Relation r(R) = A1 A2 ... d1,1 d2,1 ... Attribut d1,2 d2,2 ... Domäne ... ... ... Tupel ... ... ... d1,i d2,1 ... ... ... ... ... ... ... Wert DBS1 2004 Relationales Datenmodell Seite 3 Klöditz Hochschule Anhalt (FH) Relationales Datenmodell Beispiel Person = r(Person) = Klöditz Hochschule Anhalt (FH) Name GebDat ... Gehalt Müller 03.03.76 ... 1380 Nowak 21.02.67 ... 2220 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... DBS1 2004 Relationales Datenmodell Seite 4 Begriffe • • • Eine Domäne D besteht aus einem Namen und einer Menge atomarer Werte Ein Tupel t ist eine geordnete Liste mit n Werten t = <d1, ..., dn>, wobei jeder Wert d i ein Element der Domäne D i oder NULL sein muss Ein Attribut A ist der Name einer Funktion / Rolle, die eine Domäne D in einem Relationenschema R ausübt. DBS1 2004 Relationales Datenmodell Seite 5 Klöditz Hochschule Anhalt (FH) Begriffe • • Ein Relationenschema R, notiert durch R(A1, ..., An), ist eine Menge von Attributen R = { A1, ..., An} und beschreibt die Relation mit dem Namen R Eine Relation r ist eine Instanz (Inhalt / Ausprägung) von R(A1 , ..., An), also eine Teilmenge des kartesischen Produktes (Kreuzproduktes) der beteiligten Domänen: D1 × D2 × ... × Dn ⊇ r(R) Klöditz Hochschule Anhalt (FH) DBS1 2004 Relationales Datenmodell Seite 6 Begriffe • • • Ein relationales DB-Schema ist eine Menge von Relationenschemata S = {R1, ..., R n} zusammen mit einer Menge von Konsistenzbedingungen Eine relationale DB-Instanz ist die Menge {r1, ..., r n} (mit ri = Instanz von Ri), in dem alle Konsistenzbedingungen erfüllt sind Eine relationale Datenbank ist ein relationales DB-Schema mit einer entsprechenden DB-Instanz DBS1 2004 Relationales Datenmodell Seite 7 Klöditz Hochschule Anhalt (FH) Konsistenzbedingungen • Schlüsselbedingung: – Jedes Attribut oder jede minimale Attributkombination, die jedes Tupel einer Relation eindeutig identifiziert, ist ein Schlüsselkandidat – 'Minimal' bedeutet, dass kein Attribut weggelassen werden kann, ohne Verlust der eindeutigen Identifizierbarkeit – Der zum Identifikationsschlüssel bestimmte Schlüsselkandidat wird Primärschlüssel der Relation Klöditz Hochschule Anhalt (FH) DBS1 2004 Relationales Datenmodell Seite 8 Konsistenzbedingungen • Entity-Integrität: – wird durch "Primärschlüssel" realisiert – Kein Primärschlüsselwert darf NULL sein • Referentielle Integrität: – wird durch "Fremdschlüssel" realisiert – Ein Fremdschlüssel in einem Relationenschema ist ein Attribut, dessen Domäne mit der Domäne des Primärschlüssels eines anderen Relationenschemas identisch ist, mit der Einschränkung, dass die Menge der Fremdschlüssel-Attributwerte eine Teilmenge der aktuell vorhandenen Primärschlüssel-Attributwerte ist Klöditz Hochschule Anhalt (FH) DBS1 2004 Relationales Datenmodell Seite 9 Konsistenzgefährdende Operationen auf Relationen Was kann passieren? • beim Einfügen von Tupeln: – in einem existierenden Tupel gibt es den zur Einfügung vorgesehenen Primärschlüsselwert bereits – der Primärschlüsselwert ist NULL – zu einem neuen Fremdschlüsselwert existiert kein zugehöriger Primärschlüsselwert • beim Löschen von Tupeln: – referenzierende Tupel können durch Löschen des referenzierten Tupels einen ungültigen Fremdschlüsselwert erhalten • beim Ändern der Attributwerte eines Tupels : – Wertänderungen sind nur bei Primär- und Fremdschlüsseln kritisch Klöditz Hochschule Anhalt (FH) DBS1 2004 Relationales Datenmodell Seite 10 Codd's 12 "goldene" Regeln 1. 2. 3. 4. 5. Informationen werden als Werte in Tabellen dargestellt Werte werden über Tabellenname, Primärschlüssel, Spaltenname lokalisiert NULL-Werte werden systematisch behandelt Metadaten werden genau wie die Datenwerte beschrieben Es existiert eine Sprache für Datendefinition, -manipulation, Integritätsregeln, Autorisierung und Transaktionsbehandlung 6. Sichten lassen sich aktualisieren 7. Ganze Tabellen können Eingefügt, aktualisiert und gelöscht werden 8. Logischer Zugriff ist unabhängig vom physischen Zugriff (Zugriffsmethode, Speicherstruktur) 9. Änderungen der Tabellenstrukturen haben keinen Einfluss auf Anwendungsprogramme 10. Integritätsregeln müssen beschreibbar sein, werden gespeichert und überwacht 11. Logischer Zugriff muss unabhängig von der physischen Verteilung der Daten sein 12. Zugriff auf die Daten darf nur über die Abfragesprache erfolgen, kein Unterlaufen mit Low -Level-Sprachen DBS1 2004 Relationales Datenmodell Seite 11 Klöditz Hochschule Anhalt (FH) Beispiel-Datenbank Entity-Relationship-Diagramm - ISBN Autor Titel Preis - BuchNr - ExemplarNr - LeserNr Name Vorname Straße PLZ Ort Klöditz Hochschule Anhalt (FH) Buchhandel Buch ist Titel Katalog Leser leiht Buch aus - RückgabeDatum Leser Tabellenstruktur: Leser (LNr, Name, Vorname, Straße, PLZ, Ort) Buchhandel (ISBN, Autor, Titel, Preis) Katalog (BNr, ExNr, ISBN, LNr , RDatum) DBS1 2004 Relationales Datenmodell Seite 12