Das relationale Modell (Teil 1)

Werbung
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
Vorlesung #2
Das relationale Modell
(Teil 1)
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
„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
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
2
Organisatorisches
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
Ü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
Diejenigen, die sich mit SQL auskennen
können schon heute mit dem Praktikumblatt 1
anfangen
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
3
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
Einordnung
Miniwelt
UML-Klassen
ER-Diagramm
Objektorientiertes
Schema
Relationales
Schema
1.
NetzwerkSchema
DBMS -Speicherparameter
Cluster
Index(e) partitionierte Tabelle(n)
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
2.
3.
4
Prerelationale Systeme (1)
Netzwerk-Modell
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
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š, 15.10.2010
Vorlesung #2 - Das relationale Modell
5
Prerelationale Systeme (2)
Hierarchisches Modell
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
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š, 15.10.2010
Vorlesung #2 - Das relationale Modell
6
Orientierung
Postrelationale Modelle
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
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š, 15.10.2010
Vorlesung #2 - Das relationale Modell
7
Orientierung
Warum gerade relational?
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
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š, 15.10.2010
Vorlesung #2 - Das relationale Modell
8
Geschichte
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
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š, 15.10.2010
Vorlesung #2 - Das relationale Modell
9
Mathematische Definition
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
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š, 15.10.2010
Vorlesung #2 - Das relationale Modell
10
Relationenschema
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
• 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š, 15.10.2010
Vorlesung #2 - Das relationale Modell
11
Relationenschema (2)
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
Relation (Tabelle, table)
Vorlesungen
VorlNr
5001
Titel
Grundzüge
SWS
4
5041
Ethik
3
...
...
...
Tupel (Zeile, row)
Attribut (Spalte, column)
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
12
Relationenschema (3)
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
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š, 15.10.2010
Vorlesung #2 - Das relationale Modell
13
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
14
Relationale
Abfragesprachen
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
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š, 15.10.2010
Vorlesung #2 - Das relationale Modell
15
Relationale Algebra
Operatoren (1)
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
σ Selektion
π Projektion
x Kreuzprodukt
A Join (Verbund)
ρ Umbenennung
− Mengendifferenz
÷ Division
∪ Vereinigung
∩ Mengendurchschnitt
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
16
Relationale Algebra
Operatoren (2)
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
F Semi-Join (linker)
E Semi-Join (rechter)
C linker äußerer Join
D rechter äußerer Join
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
17
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
18
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
19
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
20
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
21
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
22
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
23
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
24
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
25
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
26
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
27
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
28
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
29
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
30
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
31
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
32
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
33
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
34
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
35
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
36
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
37
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
38
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
39
Fazit
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
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š, 15.10.2010
Vorlesung #2 - Das relationale Modell
40
Ausblick Vorlesung #3
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
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.)
© Bojan Milijaš, 15.10.2010
Vorlesung #2 - Das relationale Modell
41
WS 2010/11
Datenbanksysteme
Fr 15:15 – 16:45
R 1.008
Vorlesung #2
Ende
Herunterladen