WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell (Teil 1)
-
Upload
reginhard-kayser -
Category
Documents
-
view
110 -
download
2
Transcript of WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R 1.007 Vorlesung #2 Das relationale Modell (Teil 1)
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
Vorlesung #2
Das relationale Modell (Teil 1)
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
„Fahrplan“
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
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
Organisatorisches
Ü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
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
Einordnung
Miniwelt
Relationales Schema
Objektorientiertes Schema
Netzwerk- Schema
UML-Klassen ER-Diagramm
Index(e)Cluster
partitionierte Tabelle(n)
DBMS -Speicherparameter 3.
1.
2.
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
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)
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
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)
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
OrientierungPostrelationale Modelle
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
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
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
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
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.) ...
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
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)
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
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
... ... ...
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
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)
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
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
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
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
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
Relationale AlgebraOperatoren (1)
Selektion Projektionx KreuzproduktA Join (Verbund) Umbenennung Mengendifferenz Division Vereinigung Mengendurchschnitt
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
Relationale AlgebraOperatoren (2)
F Semi-Join (linker)
E Semi-Join (rechter)
C linker äußerer Join
D rechter äußerer Join
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
© Bojan Milijaš, 10.10.2013
WS 2013/14Datenbanksysteme
Do 17:00 – 18:30R 1.007
Vorlesung #2
Ende