ws 2007/08 datenbanksysteme mi 17:00 – 18:30 r 1.007 vorlesung #2 das relationale modell
TRANSCRIPT
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 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
© 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)
© 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.)
© 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.
© 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)
© 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)
© 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
© 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
© 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.) ...
© 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)
© 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
... ... ...
© 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)
© 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
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 15
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© 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
© 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
© 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
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 19
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 20
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 21
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 22
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 23
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 24
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 25
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 26
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 27
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 28
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 29
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 30
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 31
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 32
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 33
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 34
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 35
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 36
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 37
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 38
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 39
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© Bojan Milijaš, 17.10.2007 Vorlesung #2 - Das relationale Modell 40
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
© 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
© 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.)
WS 2007/08Datenbanksysteme
Mi 17:00 – 18:30R 1.007
Vorlesung #2
Ende