SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.
-
Upload
eldric-kasting -
Category
Documents
-
view
105 -
download
0
Transcript of SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
Vorlesung #4
Das relationale Modell
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 2
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30„Fahrplan“
Besprechung der Übungsaufgaben Orientierung, logischer Datenbankentwurf
Kurzer Exkurs in die Geschichte - prerelationale Modelle Hierarchisches Datenmodell Netzwerk-Modell
Blick über den Tellerrand hinaus – postrelationale Modelle: Objektorientiertes Datenmodell Deduktives Datenmodell Objekt-relationales Datenmodell
Relationales Datenmodell Überführung eines ER-Modells in das relationale
Modell
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 3
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
Orientierung (Einordnung - Vorlesung #2)
Miniwelt
Relationales Schema
Objektorientiertes Schema
Netzwerk- Schema
UML-Klassen ER-Diagramm
Index(e)Cluster
partitionierte Tabelle(n)
DBMS -Speicherparameter 3.
1.
2.
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 4
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
Prerelationale Systeme (1)Netzwerk-Modell 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 gegebenfalls auch verändert werden
(-) Keine Rekursion, keine Datenunabhängigkeit, komplizierte Abfragen
UDS (Siemens), IDMS (CA)
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 5
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
Prerelationale Systeme (2)Hierarchisches Modell 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š, 07.04.2004 Vorlesung #4 - Das relationale Modell 6
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
OrientierungPostrelationale Modelle
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š, 07.04.2004 Vorlesung #4 - Das relationale Modell 7
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
OrientierungWarum gerade relational?
Sehr einfach und intuitiv Marktbeherrschend
ca. 80% der bereits installierten Datenbank-Systeme 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š, 07.04.2004 Vorlesung #4 - Das relationale Modell 8
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30Geschichte
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š, 07.04.2004 Vorlesung #4 - Das relationale Modell 9
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30Mathematische Definition
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
t RBeispiel: t = (4052, „Logik“, 4)
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 10
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30Relationenschema
• legt die Struktur der gespeicherten Daten fest Beispiel:Vorlesungen: {[VorlNr:integer,Titel:string,SWS:integer]}
Ausprägung: der aktuelle Zustand der Datenbasis
Vorlesungen
VorlNr Titel SWS
5001 Grundzüge 4
5041 Ethik 3
... ... ...
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 11
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30Relationenschema (2)
Vorlesungen
VorlNr Titel SWS
5001 Grundzüge 4
5041 Ethik 3
... ... ...
Relation (Tabelle, table)Relation (Tabelle, table)
Tupel (Zeile, row)Tupel (Zeile, row)
Attribut (Spalte, column)Attribut (Spalte, column)
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 12
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30Relationenschema (3)
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 – (wie beim ER Modell) identifiziert eindeutig die Relation, wird unterstrichen
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 13
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
Transformation:ER Modell relationales Modell ER (Entity Relationship) Modell
Entitiytypen Beziehungstypen
Relationales Modell Relationen
Aufgabe: Entity- und Beziehungstypen auf Relationen abbilden Entitiytyp Relation 1:1 Beziehungstyp Relation 1:n Beziehungstyp Relation n:m Beziehungstyp Relation
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 14
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 15
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 16
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 17
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 18
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
Transformationsregeln:ER Modell relationales Modell Entitiytyp Relation (selbsterklärend) 1:1 Beziehungstyp Relation
Ein Fremdschlüssel der an der Beziehung teilnehmenden Entitytypen wird als Schlüssel der Relation übernommen. Der andere Schlüssel bleibt als Attribut(menge) in der Relation bestehen.
1:n Beziehungstyp Relation Ein Fremdschlüssel - Schlüssel des „n-Entitytypen“ wird als
Schlüssel übernommen, der andere Schlüssel bleibt als Attribut(menge) in der Relation bestehen
n:m Beziehungstyp Relation Beide Fremdschlüssel werden als Schlüssel der Relation
übernommen
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 19
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 20
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 21
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 22
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 23
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 24
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 25
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 26
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 27
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
Formulierung der Anfragen im relationalen Modell
Die Relationale Algebra (Selektion, Projektion, Vereinigung, relationale Division, Mengendurchschnitt, Mengendifferenz, Joins, kartesisches Produkt etc.)
Der Relationenkalkül Der relationale Tupelkalkül Der relationale Domänenkalkül
SQL (Standard Query Language)
Ausblick Vorlesung #5
SS 2004Datenbanken 4WMi 13:30 – 15:00
G 2.30
Vorlesung #4
Ende