Vorlesung 2

Werbung
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
Vorlesung #2
Das relationale Modell
(Teil 1)
„Fahrplan“
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
 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š, 10.10.2013
Organisatorisches
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
 Übungsaufgaben vertiefen den
Vorlesungsstoff und beziehen sich nichts auf
das Praktikum
 Praktikum
 Praktikumsaufgaben sind von Vorlesungen und
Übungen „entkoppelt“.
 Heute zeigen wir anhand von interner SQL
Verarbeitung Bedeutung der relationalen Algebra
 Diejenigen, die sich mit SQL auskennen können
schon heute mit dem Praktikumblatt 1 anfangen
 Kemper-Tabellen sollen hochgeladen werden
© Bojan Milijaš, 10.10.2013
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
Einordnung
Miniwelt
UML-Klassen
ER-Diagramm
Objektorientiertes
Schema
Relationales
Schema
1.
NetzwerkSchema
DBMS -Speicherparameter
Cluster
Index(e) partitionierte Tabelle(n)
© Bojan Milijaš, 10.10.2013
2.
3.
Prerelationale Systeme (1)
Netzwerk-Modell
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
 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š, 10.10.2013
Prerelationale Systeme (2)
Hierarchisches Modell
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
 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š, 10.10.2013
Orientierung
Postrelationale Modelle








WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
Objekt-orientiertes Modell
Objekt-relationales Modell (evolutionär)
Deduktives Modell (Datalog)
Verteilte Datenbanken
Web-Datenbanken (XML, XPath, XQuery)
In-Memory Datenbanken
NoSQL Datenbanken
werden nach dem relationalen Modell kurz
vorgestellt
© Bojan Milijaš, 10.10.2013
Orientierung
Warum gerade relational?
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
 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š, 10.10.2013
Geschichte
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
 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š, 10.10.2013
Mathematische Definition
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
 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R
Beispiel: t = (4052, „Logik“, 4)
© Bojan Milijaš, 10.10.2013
Relationenschema
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
• 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š, 10.10.2013
Relationenschema (2)
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
Relation (Tabelle, table)
Vorlesungen
VorlNr
5001
Titel
Grundzüge
SWS
4
5041
Ethik
3
...
...
...
Attribut (Spalte, column)
© Bojan Milijaš, 10.10.2013
Tupel (Zeile, row)
Relationenschema (3)







WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
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š, 10.10.2013
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
© Bojan Milijaš, 10.10.2013
Relationale
Abfragesprachen
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
 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š, 10.10.2013
Relationale Algebra
Operatoren (1)
 Selektion
 Projektion
x Kreuzprodukt
A Join (Verbund)
 Umbenennung
 Mengendifferenz
 Division
 Vereinigung
 Mengendurchschnitt
© Bojan Milijaš, 10.10.2013
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
Relationale Algebra
Operatoren (2)
F Semi-Join (linker)
E Semi-Join (rechter)
C linker äußerer Join
D rechter äußerer Join
© Bojan Milijaš, 10.10.2013
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
© Bojan Milijaš, 10.10.2013
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
© Bojan Milijaš, 10.10.2013
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
© Bojan Milijaš, 10.10.2013
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
© Bojan Milijaš, 10.10.2013
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
© Bojan Milijaš, 10.10.2013
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
© Bojan Milijaš, 10.10.2013
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
© Bojan Milijaš, 10.10.2013
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
© Bojan Milijaš, 10.10.2013
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
Vorlesung #2
Ende
Herunterladen