Datenbanksysteme
Di. 5. Juni 2012 – 20H00
Inhaltsübersicht
• Beispiele / Motivation
• Informationssysteme
• Datenbank- und
Datenbankmanagementsysteme
• Relationale Datenbanken / Das relationale
Modell
Das relationale Datenmodell
Mengenorientierte Verarbeitung der Daten.
Datenbank besteht aus Tabellen.
Sehr einfach strukturiert:
Flache Tabellen (Relationen).
Zeilen entsprechen den Datenobjekten.
Die gespeicherten Daten werden durch
Operatoren mengenorientiert verknüpft und
verarbeitet.
Begriffe
Attribut
Name der
Tabelle
Ausleihe
Tupel
BuchNr
LeserNr
Datum
6457
234
20-05-2012
7754
765
23-11-2010
8780
890
08-09-2011
5466
857
30-05-2012
Begriffe
Schema
Ausleihe
BuchNr
LeserNr
Datum
Begriffe
Instanz
Ausleihe
BuchNr
LeserNr
Datum
6457
234
20-05-2012
7754
765
23-11-2010
8780
890
08-09-2011
5466
857
30-05-2012
Begriffe
Attribut
Attributwert
Ausleihe
BuchNr
LeserNr
Datum
6457
234
20-05-2012
7754
765
23-11-2010
8780
890
08-09-2011
5466
857
30-05-2012
Mathematische Definition
Gegeben seien n Wertebereiche D
Wertebereiche (Domäne) sind z.B. Zahlen, Zeichenketten,
Datum…
Eine Relation R ist eine Teilmenge des kartesischen
Produkts der Domänen:
R Í 𝑫𝟏 × … × 𝑫𝒏
Mathematische Definition
Ausleihe
BuchNr
integer
LeserNr
integer
Datum
date
6457
234
20-05-2012
7754
765
23-11-2010
8780
890
08-09-2011
5466
857
30-05-2012
Ausleihe Í 𝒊𝒏𝒕𝒆𝒈𝒆𝒓 × 𝒊𝒏𝒕𝒆𝒈𝒆𝒓 × date
Ausleihe: {[BuchNr: integer, LeserNr: integer, Datum: date]}
Das relationale Algebra
Selektion
Projektion
Vereinigung
Mengendifferenz
Kartesisches Produkt
Selektion
Bezeichnung: 𝝈
Tupel einer Relation werden ausgewählt, die
das Selektionsprädikat ausfüllen.
Selektion
Beispiel:
𝝈𝐷𝑎𝑡𝑢𝑚 > 01-01-2012
Ausleihe
BuchNr
integer
LeserNr
integer
Datum
date
6457
234
20-05-2012
7754
765
23-11-2010
8780
890
08-09-2011
5466
857
30-05-2012
Selektion
Ergebnis:
𝝈𝐷𝑎𝑡𝑢𝑚 > 01-01-2012
𝝈𝐷𝑎𝑡𝑢𝑚 > 01-01-2012
BuchNr
integer
LeserNr
integer
Datum
date
6457
234
20-05-2012
5466
857
30-05-2012
Projektion
Bezeichnung: 𝝅
Spalten (Attribute) der Relation werden
extrahiert.
Projektion
Beispiel:
𝝅𝐷𝑎𝑡𝑢𝑚(Ausleihe)
Ausleihe
BuchNr
integer
LeserNr
integer
Datum
date
6457
234
20-05-2012
7754
765
23-11-2010
8780
890
08-09-2011
5466
857
30-05-2012
Projektion
Ergebnis:
𝝅𝐷𝑎𝑡𝑢𝑚(Ausleihe)
𝝅𝐷𝑎𝑡𝑢𝑚(Ausleihe)
Datum
date
20-05-2012
23-11-2010
08-09-2011
30-05-2012
Projektion
Duplikattupel, die durch die Beschränkung auf
eine Teilmenge der Attribute auftreten können,
vor der Ergebnisausgabe eliminiert werden
müssen.
Ausleihe
𝝅𝐷𝑎𝑡𝑢𝑚(Ausleihe)
BuchNr
integer
LeserNr
integer
Datum
date
Datum
date
6457
234
20-05-2012
20-05-2012
7754
765
23-11-2010
23-11-2010
8780
890
08-09-2011
08-09-2011
5466
857
20-05-2012
Vereinigung
Bezeichnung: ∪
Relationen mit gleichem Schema können
durch die Vereinigung zu einer Relation
zusammengefasst werden.
Vereinigung
Beispiel:
𝝅𝐺𝑒𝑏𝑢𝑟𝑡𝑠𝑑𝑎𝑡𝑢𝑚(Studenten)
∪
𝝅𝐺𝑒𝑏𝑢𝑟𝑡𝑠𝑑𝑎𝑡𝑢𝑚(Dozenten)
Studenten
Dozenten
MatNr
integer
Semester Geburtsdatum
integer
date
PersNr
integer
Raum
integer
Geburtsdatum
date
645744
4
20-05-1985
645744
23
19-03-1945
775456
6
23-11-1984
775456
16
21-12-1962
Vereinigung
Ergebnis:
𝝅𝐺𝑒𝑏𝑢𝑟𝑡𝑠𝑑𝑎𝑡𝑢𝑚(Studenten) ∪ 𝝅𝐺𝑒𝑏𝑢𝑟𝑡𝑠𝑑𝑎𝑡𝑢𝑚(Dozenten)
𝝅𝐺𝑒𝑏𝑢𝑟𝑡𝑠𝑑𝑎𝑡𝑢𝑚(Studenten)
Geburtsdatum
date
20-05-1985
23-11-1984
19-03-1945
21-12-1962
∪
𝝅𝐺𝑒𝑏𝑢𝑟𝑡𝑠𝑑𝑎𝑡𝑢𝑚(Dozenten)
Differenz
Für zwei Relationen R und S ist die Differenz,
die Menge der Tupel, die in R aber nicht in S
vorkommen.
𝑹 −𝑺
Kreuzprodukt
Kartesisches Produkt zweier Relationen R
und S:
𝑹 ×𝑺
Kreuzprodukt
Beispiel:
Studenten × 𝑽𝒐𝒓𝒍𝒆𝒔𝒖𝒏𝒈𝒆𝒏
Studenten
Vorlesungen
MatNr
integer
Semester
integer
Name
string
Raum
integer
645744
4
DB
23
775456
6
OOP
16
Kreuzprodukt
Ergebnis:
Diese Relation ist 4-stellig und erhält insgesamt 4
Tupel (2 * 2).
Studenten × 𝑽𝒐𝒓𝒍𝒆𝒔𝒖𝒏𝒈𝒆𝒏
Studenten
Vorlesungen
MatNr
integer
Semester Name
integer
string
Raum
integer
645744
4
DB
23
775456
6
OOP
16
645744
4
OOP
16
775456
6
DB
23
Frage?