SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

28
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell

Transcript of SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

Page 1: 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

Page 2: SS 2004 Datenbanken 4W Mi 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

Page 3: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 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.

Page 4: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© 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)

Page 5: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© 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)

Page 6: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© 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

Page 7: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© 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

Page 8: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© 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.) ...

Page 9: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© 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)

Page 10: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© 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

... ... ...

Page 11: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© 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)

Page 12: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© 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

Page 13: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© 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

Page 14: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 14

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 15: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 15

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 16: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 16

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 17: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 17

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 18: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© 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

Page 19: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 19

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 20: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 20

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 21: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 21

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 22: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 22

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 23: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 23

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 24: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 24

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 25: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 25

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 26: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© Bojan Milijaš, 07.04.2004 Vorlesung #4 - Das relationale Modell 26

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 27: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.

© 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

Page 28: 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

Ende