43
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

Embed Size (px)

Citation preview

Page 1: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Vorlesung #2

Das relationale Modell

Page 2: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 2

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

„Fahrplan“

Organisatorisches, Praktikumgruppen: Neue Räume (siehe das virtuelle Schwarzbrett) Zugang auch von zu Hause

Feedback Vorlesung#1 Besprechung der Übungsaufgaben

Übungsblatt#2 wird ins Netz gestellt, je nach dem wie weit wir heute kommen

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

Page 3: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 3

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Organisatorisches

Ü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

(-) Praktikums-Räume und Zugänge gelöst Mi: R2.012 18:45 - 20:15 Uhr (19 Arbeitsplätze) Do: R2.008 und R2.009 18:45 - 20:15 (je 13 Arbeitsplätze)

Page 4: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 4

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Feedback Vorlesung #1

(+) Feedback durchgehend positiv, interessiert uns nicht weiter, wir wollen und verbessern

(?) Folien im Web Ja, sobald mein FH Account funktioniert

(?) Unterschiede zu den Definitionen von Prof. Schwenkert Prüfungsstoff bleibt gleich

(?) Nächstes Semester schau‘ ma‘ mal ... (?) Werden wir nur ORACLE lernen? Nein, wir

lernen Standards (SQL-92 bzw. SQL3, JDBC usw.)

Page 5: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 5

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Einordnung

Miniwelt

Relationales Schema

Objektorientiertes Schema

Netzwerk- Schema

UML-Klassen ER-Diagramm

Index(e)Cluster

partitionierte Tabelle(n)

DBMS -Speicherparameter 3.

1.

2.

Page 6: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 6

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 gegebenenfalls auch verändert werden

(-) Keine Rekursion, keine Datenunabhängigkeit, komplizierte Abfragen

UDS (Siemens), IDMS (CA)

Page 7: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 7

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 8: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 8

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 9: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 9

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

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 10: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 10

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Geschichte

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 11: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 11

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Mathematische 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 12: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 12

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Relationenschema

• 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 13: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 13

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Relationenschema (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 14: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 14

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Relationenschema (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 – identifiziert eindeutig die Relation, wird unterstrichen

Page 15: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 15

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 16: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 16

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Relationale Abfragesprachen 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

Page 17: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 17

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Relationale AlgebraOperatoren (1)

Selektion Projektionx KreuzproduktA Join (Verbund) Umbenennung Mengendifferenz Division Vereinigung Mengendurchschnitt

Page 18: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 18

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Relationale AlgebraOperatoren (2)

F Semi-Join (linker)

E Semi-Join (rechter)

C linker äußerer Join

D rechter äußerer Join

Page 19: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 19

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 20: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 20

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 21: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 21

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 22: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 22

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 23: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 23

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 24: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 24

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 25: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 25

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 26: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 26

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 27: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 27

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 28: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 28

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 29: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 29

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 30: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 30

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 31: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 31

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 32: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 32

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 33: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 33

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 34: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 34

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 35: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 35

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 36: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 36

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 37: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 37

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 38: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 38

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 39: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 39

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 40: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 40

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Page 41: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 41

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Fazit

Das relationale Modell wurde eingeführt Einordnung in das Gesamtbild eines

Information-Management Systems Modellierung (Entity Relationship wird

übersprungen und in 4. Semester behandelt) Definition des relationalen Modells Relationenschema und Ausprägung Relationale Abfragesprachen

Page 42: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 42

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Ausblick Vorlesung #3

Das relationale Modell Relationale Modellierung von 1:1, 1:n, n:m

Beziehungen, Generalisierung, schwachen Entity-Typen etc.

Die Relationale Algebra (Selektion, Projektion, Vereinigung, relationale Division, Mengendurchschnitt, Joins, kartesisches Produkt etc.)

Page 43: WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell

WS 2007/08Datenbanksysteme

Mi 17:00 – 18:30R 1.007

Vorlesung #2

Ende