Das relationale Datenmodell Einführung

Werbung
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
Herunterladen