 
                                WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
Vorlesung #2
Das relationale Modell
(Teil 1)
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
„Fahrplan“
 Feedback Vorlesung#1
 Das relationale Modell
 Einordnung (wir überspringen die Modellierung,
das kommt im 4. Semester „Datenmanagement“)
 Definition, Relationenschema, Ausprägung
 Relationale Abfrage-Sprachen (relationale
Algebra, Kalkül)
 Fazit und Ausblick Vorlesung #3
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
2
Organisatorisches
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
 Übungsaufgaben vertiefen den
Vorlesungsstoff und beziehen sich nichts auf
das Praktikum
 Praktikum
 Praktikumsaufgaben sind von Vorlesungen und
Übungen „entkoppelt“.
 Es wird erst nach der SQL-Einführung richtig los
gehen
 Diejenigen, die sich mit SQL auskennen
können schon heute mit dem Praktikumblatt 1
anfangen
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
3
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
Einordnung
Miniwelt
UML-Klassen
ER-Diagramm
Objektorientiertes
Schema
Relationales
Schema
1.
NetzwerkSchema
DBMS -Speicherparameter
Cluster
Index(e) partitionierte Tabelle(n)
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
2.
3.
4
Prerelationale Systeme (1)
Netzwerk-Modell
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
 Sieht aus wie ein Netzwerk (beliebiger gerichteter
Graph) bestehend aus:
Satztypen (record types) entsprechen den Entitäten
Sammlungstypen (set types) entsprechen den Relationen
zusätzlich: Anker (owner), Glieder (member)
Hilfskonstrukte: link records, dummies
 Verbindungen sind wie bei verketteten Listen durch
Zeiger (Pointer) implementiert, die stets beim
Informationszugriff benutzt und gegebenenfalls auch
verändert werden
 (-) Keine Rekursion, keine Datenunabhängigkeit,
komplizierte Abfragen
 UDS (Siemens), IDMS (CA)
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
5
Prerelationale Systeme (2)
Hierarchisches Modell
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
 Spezialfall des Netzwerk-Modells, sieht aus wie ein
Baum und nicht wie beliebiger Graph
 Nachfolger, die mehrere Vorgänger haben, werden
durch das Kopieren dem jeweiligen Vorgänger
exklusiv zugeordnet, Graph  mehrere Bäume
 Jeder Datensatz über einen eindeutigen Zugriffspfad
erreichbar, Redundanzvermeidung durch
Implementierung zusätzlicher Zeiger
 (-) schlecht für nicht hierarchische Zusammenhänge
wegen unnötiger Redundanz, keine
Datenunabhängigkeit, komplizierte Abfragen
 IMS (IBM)
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
6
Orientierung
Postrelationale Modelle
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
Objekt-orientiertes Modell
Objekt-relationales Modell (evolutionär)
Deduktives Modell (Datalog)
Verteilte Datenbanken
Web-Datenbanken (XML, XPath, XQuery)
werden nach dem relationalen Modell kurz
vorgestellt
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
7
Orientierung
Warum gerade relational?
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
 Sehr einfach und intuitiv
 Marktbeherrschend
 ca. 80% der bereits installierten DatenbankSysteme sind relational (bzw. objekt-relational)
 ca. 90% der neu gekauften Datenbank-Systeme
sind relational (bzw. objekt-relational)
 Relationales Model bzw. RDBMS hat aber
auch Schwächen in bestimmten
Anwendungsszenarios, die wir als Motivation
für postrelationale DBMS vorstellen
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
8
Geschichte
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
 Von Edward F. Codd 1970 vorgestellt: "A Relational
Model of Data for Large Shared Data Banks."
 Erste Prototypen
 System R (IBM)
 Ingres (University of California, Berkeley unter Leitung von
M. Stonebraker)
 Erste Produkte
 Oracle (Software Development Laboratories, später
Relational Systems Inc., später Oracle Corporation)
 SQL/DS (IBM), Ingres (Relational Technology Inc.)
 ...
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
9
Mathematische Definition
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
 Gegeben sind n atomare, nicht notwendigerweise
unterschiedliche Wertebereiche (Domänen)
D1, D2, ... , Dn
Beispiel: string, string, float, ... , integer
 Relation R ist die Teilmenge des kartesischen
Produkts der Domänen
R  D1 x ... x Dn
Beispiel: Vorlesungen  integer x string x integer
 Ein Tupel ist ein Element aus R
tR
Beispiel: t = (4052, „Logik“, 4)
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
10
Relationenschema
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
• legt die Struktur der gespeicherten Daten fest
Beispiel:
Vorlesungen: {[VorlNr:integer,Titel:string,SWS:integer]}
VorlNr
Vorlesungen
Titel
SWS
5001
Grundzüge
4
5041
Ethik
3
...
...
...
Ausprägung: der aktuelle Zustand der Datenbasis
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
11
Relationenschema (2)
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
Relation (Tabelle, table)
Vorlesungen
VorlNr
5001
Titel
Grundzüge
SWS
4
5041
Ethik
3
...
...
...
Tupel (Zeile, row)
Attribut (Spalte, column)
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
12
Relationenschema (3)
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
Trennung zwischen Schema und Ausprägung
sch(R) – Menge der Attribute einer Relation
R – die aktuelle Ausprägung
dom(A) – Domäne eines Attributs
sch(R) = {A1, ... , An}
R  dom(A1) x ... x dom(An)
Primärschlüssel – identifiziert eindeutig die
Relation, wird unterstrichen
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
13
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
14
Relationale
Abfragesprachen
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
 Man braucht neben der Strukturbeschreibung
(relationales Datenbankschema) auch eine Sprache,
um die Informationen aus der Datenbank gemäß
vorgegeben Kriterien extrahieren zu können
 Relationale Algebra
 beinhaltet einen relational-algebraischen Ausdruck
 wird bei der Anfragenbearbeitung benutzt (wie werden die
Daten selektiert)
 Relationenkalkül
 Rein deklarativ (was und nicht wie selektiert wird)
 Tupelkalkül
 Domänenkalkül
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
15
Relationale Algebra
Operatoren (1)
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
 Selektion
 Projektion
x Kreuzprodukt
A Join (Verbund)
 Umbenennung
 Mengendifferenz
 Division
 Vereinigung
 Mengendurchschnitt
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
16
Relationale Algebra
Operatoren (2)
F Semi-Join (linker)
E Semi-Join (rechter)
C linker äußerer Join
D rechter äußerer Join
© Bojan Milijaš, 14.10.2011
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
Vorlesung #2 - Das relationale Modell
17
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
18
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
19
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
20
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
21
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
22
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
23
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
24
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
© Bojan Milijaš, 14.10.2011
Vorlesung #2 - Das relationale Modell
25
WS 2011/12
Datenbanksysteme
Fr 15:15 – 16:45
R 0.006
Vorlesung #2
Ende