Datenbanken Konzepte und Sprachen

Werbung
49 mm
Die Autoren sind Professoren
für Datenbank- und Informationssysteme – Gunter Saake
an der Universität Magdeburg, Kai-Uwe Sattler an der
TU Ilmenau und Andreas
Heuer an der Universität
Rostock.
Das Buch eignet sich somit als Lehrbuch für
Studierende der Informatik und verwandter Fächer wie auch für Anwender und
Entwickler, die sich über den Einsatz von
aktueller Datenbanktechnologie genauer
informieren möchten. Zahlreiche Übungsaufgaben erleichtern das Selbststudium.
5. Auflage
ISBN 978-3-8266-9156-6
ISBN 978-3-8266-9161-4
ISBN 978-3-8266-9453-0
ISBN 978-3-8266-9453-0
www.mitp.de
978-3-8266-9453-0_Umschlag.indd 1-3
Saake
Sattler
Heuer
Andreas
Heuer
ISBN 978-3-8266-9195-9
www.biberbuch.de
Gunter
Saake
Kai-Uwe
Sattler
Konzepte und Sprachen
Weitere Datenbankmodelle
• Hierarchisches und
Netzwerkmodell
• Objektorientierte und
objekt-relationale
Datenbankmodelle
• SQL:2003 und SQL:2011
• XML, XPath und XQuery
• RDF und SPARQL
• Multimediale, raum- und
zeitbezogene Daten
Neben theoretischen Konzepten und
Modellierungstechniken werden auch
viele praktische Aspekte der Arbeit mit
SQL, der Entwicklung von Anwendungssystemen, der Verarbeitung von XML und
von RDF-Daten für das Semantic Web sowie
von raumbezogenen, temporalen und
multimedialen Daten behandelt, wobei die
aktuellen Entwicklungen und Standards bis
SQL:2011 berücksichtigt werden.
Außerdem bei mitp:
Datenbanken
Erweiterte Konzepte
• Erweiterte Entwurfsmodelle
• SQL und weitere
Anfragesprachen
• Sichten, Transaktionen,
Integrität und Trigger
• Datenbankanwendungsentwicklung
• Zugriffskontrolle & Privacy
Dieses Buch ist die mittlerweile 5.
aktualisierte Neuauflage des bewährten
Lehrbuchs zur Einführung in die Datenbanktechnologie. Es behandelt die für die
Anwendung von Datenbanksystemen und
die Entwicklung von Datenbankanwendungen wichtigen Konzepte und Sprachen in
systematischer und fundierter Weise.
(D)€ 39,95
Kernkonzepte relationaler
Datenbanken
• Architekturen
• Datenbankentwurfsprozess
• Entity-RelationshipModellierung
• Relationenmodell
Datenbanken
Konzepte und Sprachen
24.01.2013 09:50:32
Inhaltsverzeichnis
Vorwort zur fünften Auflage
v
Inhaltsverzeichnis
ix
1 Grundlegende Konzepte
1.1
Motivation und Historie . . . . . . . . . . . . . . . . . . . . .
1.2
Komponenten und Funktionen . . . . . . . . . . . . . . . . .
1.2.1
Prinzipien und Aufgaben . . . . . . . . . . . . . . . . .
1.2.2
Aufbau und Funktionen eines Datenbanksystems . .
1.2.3
Einsatzgebiete, Grenzen und Entwicklungstendenzen
1.2.4
Wann kommt was? . . . . . . . . . . . . . . . . . . . .
1.3
Beispielanwendung . . . . . . . . . . . . . . . . . . . . . . . .
1.4
Vertiefende Literatur . . . . . . . . . . . . . . . . . . . . . . .
1.5
Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
7
7
9
19
22
23
25
25
I
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Kernkonzepte relationaler Datenbanken
2 Architekturen von Datenbanksystemen
2.1
Schemaarchitektur und Datenunabhängigkeit
2.2
Systemarchitekturen . . . . . . . . . . . . . . .
2.2.1
ANSI-SPARC-Architektur . . . . . . . .
2.2.2
Fünf-Schichten-Architektur . . . . . . .
2.2.3
Konkrete Systemarchitekturen . . . . .
2.3
Anwendungsarchitekturen . . . . . . . . . . . .
2.4
Zusammenfassung . . . . . . . . . . . . . . . . .
2.5
Vertiefende Literatur . . . . . . . . . . . . . . .
2.6
Übungsaufgaben . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
27
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
29
30
35
35
37
40
43
47
47
49
ix
© des Titels »Datenbanken – Konzepte und Sprachen« (ISBN 978-3-8266-9453-0) 2013
by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg.
Nähere Informationen unter: http://www.mitp.de/9453
3 Das Entity-Relationship-Modell
3.1
Datenbankmodelle . . . . . . . . . . . . . . . . . . .
3.2
Semantikfestlegung für Datenbankmodelle . . . . .
3.3
Grundlagen des Entity-Relationship-Modells . . . .
3.3.1
Grundkonzepte des klassischen ER-Modells
3.3.2
Ein einfaches Beispiel für ein ER-Schema . .
3.3.3
Semantik eines ER-Schemas . . . . . . . . .
3.4
Eigenschaften von Beziehungen . . . . . . . . . . . .
3.4.1
Stelligkeit . . . . . . . . . . . . . . . . . . . .
3.4.2
Kardinalitäten und funktionale Beziehungen
3.5
Weitere Konzepte im Entity-Relationship-Modell . .
3.5.1
Abhängige Entity-Typen . . . . . . . . . . . .
3.5.2
Die IST-Beziehung . . . . . . . . . . . . . . .
3.5.3
Optionalität von Attributen . . . . . . . . . .
3.6
Zusammenfassung . . . . . . . . . . . . . . . . . . . .
3.7
Vertiefende Literatur . . . . . . . . . . . . . . . . . .
3.8
Übungsaufgaben . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
51
51
56
59
59
66
67
68
68
71
78
78
79
81
82
82
83
4 Relationenmodell und Anfragemodelle
4.1
Relationenmodell: Strukturteil . . . . . . . .
4.1.1
Schemata und Instanzen . . . . . . . .
4.1.2
Integritätsbedingungen . . . . . . . .
4.2
Relationale Anfragemodelle: Operationenteil
4.2.1
Kriterien für Anfragesprachen . . . .
4.2.2
Relationenalgebra . . . . . . . . . . . .
4.2.3
Anfragekalkül . . . . . . . . . . . . . .
4.2.4
Tupelkalkül . . . . . . . . . . . . . . .
4.3
Änderungsoperationen . . . . . . . . . . . . .
4.3.1
Allgemeine Grundprinzipien . . . . .
4.3.2
Relationale Änderungsoperationen . .
4.4
Zusammenfassung . . . . . . . . . . . . . . . .
4.5
Vertiefende Literatur . . . . . . . . . . . . . .
4.6
Übungsaufgaben . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
85
85
85
90
94
94
95
106
110
112
112
113
114
114
114
.
.
.
.
.
.
.
.
119
119
121
123
125
127
128
129
130
5 Phasen des Datenbankentwurfs
5.1
Entwurfsaufgabe . . . . . . . .
5.2
Phasenmodell . . . . . . . . . .
5.2.1
Anforderungsanalyse . .
5.2.2
Konzeptioneller Entwurf
5.2.3
Verteilungsentwurf . . .
5.2.4
Logischer Entwurf . . .
5.2.5
Datendefinition . . . . .
5.2.6
Physischer Entwurf . . .
x
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Inhaltsverzeichnis
© des Titels »Datenbanken – Konzepte und Sprachen« (ISBN 978-3-8266-9453-0) 2013
by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg.
Nähere Informationen unter: http://www.mitp.de/9453
5.3
5.4
5.5
5.6
5.7
5.8
5.2.7
Implementierung und Wartung . . . . . . . . . . . . .
5.2.8
Objektorientierte Entwurfsmethoden . . . . . . . . .
5.2.9
Phasenbegleitende Methoden . . . . . . . . . . . . . .
Konzeptioneller Entwurf . . . . . . . . . . . . . . . . . . . . .
5.3.1
Konzeptionelles Schema . . . . . . . . . . . . . . . . .
5.3.2
Objektschicht . . . . . . . . . . . . . . . . . . . . . . .
5.3.3
Datenschicht . . . . . . . . . . . . . . . . . . . . . . . .
5.3.4
Entwicklungsschicht . . . . . . . . . . . . . . . . . . .
5.3.5
Aktionsschicht . . . . . . . . . . . . . . . . . . . . . . .
5.3.6
Modellierung von Anwendungsprozessen . . . . . . .
Aspekte der Datenintegration . . . . . . . . . . . . . . . . . .
5.4.1
Heterogenität der Datenmodelle . . . . . . . . . . . .
5.4.2
Heterogene Datenbankschemata . . . . . . . . . . . .
5.4.3
Heterogenität auf der Datenebene . . . . . . . . . . .
5.4.4
Schemakonflikte bei der Integration . . . . . . . . . .
Entity-Relationship-Abbildung auf das Relationenmodell . .
5.5.1
Informationskapazität . . . . . . . . . . . . . . . . . .
5.5.2
Beispiel für eine Abbildung auf das Relationenmodell
5.5.3
Abbildungsregeln für das relationale Modell . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . .
Vertiefende Literatur . . . . . . . . . . . . . . . . . . . . . . .
Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
130
130
131
132
132
133
134
137
138
139
140
141
142
142
143
144
145
147
148
156
156
158
6 Relationaler Datenbankentwurf
159
6.1
Funktionale Abhängigkeiten . . . . . . . . . . . . . . . . . . . . . 161
6.1.1
Definition funktionaler Abhängigkeiten . . . . . . . . . . 161
6.1.2
Ableitung von funktionalen Abhängigkeiten . . . . . . . 163
6.1.3
Überdeckungen . . . . . . . . . . . . . . . . . . . . . . . . 169
6.2
Schemaeigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . 175
6.2.1
Änderungsanomalien . . . . . . . . . . . . . . . . . . . . . 175
6.2.2
Normalformen . . . . . . . . . . . . . . . . . . . . . . . . . 177
6.2.3
Minimalität . . . . . . . . . . . . . . . . . . . . . . . . . . 184
6.3
Transformationseigenschaften . . . . . . . . . . . . . . . . . . . . 185
6.3.1
Abhängigkeitstreue . . . . . . . . . . . . . . . . . . . . . . 185
6.3.2
Verbundtreue . . . . . . . . . . . . . . . . . . . . . . . . . 187
6.4
Entwurfsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 189
6.4.1
Ziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
6.4.2
Dekompositionsverfahren . . . . . . . . . . . . . . . . . . 191
6.4.3
Syntheseverfahren . . . . . . . . . . . . . . . . . . . . . . 194
6.4.4
Verfeinerung des Entity-Relationship-Datenbankentwurfs 197
6.5
Mehrwertige Abhängigkeiten . . . . . . . . . . . . . . . . . . . . 198
6.5.1
Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . 198
6.5.2
Schemaeigenschaften . . . . . . . . . . . . . . . . . . . . . 202
xi
© des Titels »Datenbanken – Konzepte und Sprachen« (ISBN 978-3-8266-9453-0) 2013
by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg.
Nähere Informationen unter: http://www.mitp.de/9453
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
203
203
205
206
206
208
7 Die relationale Datenbanksprache SQL
7.1
SQL als Datendefinitionssprache . . . . . . . . . . . .
7.1.1
Erzeugen von Tabellen . . . . . . . . . . . . . .
7.1.2
Tabellen mit Integritätsbedingungen . . . . . .
7.1.3
Löschen und Ändern von Tabellendefinitionen
7.1.4
Erzeugen und Löschen von Indexen . . . . . .
7.2
SQL als relationale Anfragesprache . . . . . . . . . .
7.2.1
Überblick . . . . . . . . . . . . . . . . . . . . . .
7.2.2
Die from-Klausel . . . . . . . . . . . . . . . . .
7.2.3
Die select-Klausel . . . . . . . . . . . . . . . .
7.2.4
Die where-Klausel . . . . . . . . . . . . . . . . .
7.2.5
Mengenoperationen . . . . . . . . . . . . . . . .
7.2.6
Schachtelung von Anfragen . . . . . . . . . . .
7.2.7
Mächtigkeit des SQL-Kerns . . . . . . . . . . .
7.3
Änderungsoperationen in SQL . . . . . . . . . . . . . .
7.3.1
Übersicht über Änderungen in SQL . . . . . .
7.3.2
Die update-Anweisung . . . . . . . . . . . . . .
7.3.3
Die delete-Anweisung . . . . . . . . . . . . . .
7.3.4
Die insert-Anweisung . . . . . . . . . . . . . .
7.3.5
Probleme bei SQL-Änderungen . . . . . . . . .
7.4
Zusammenfassung . . . . . . . . . . . . . . . . . . . . .
7.5
Vertiefende Literatur . . . . . . . . . . . . . . . . . . .
7.6
Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
211
211
212
216
217
219
220
221
222
225
228
232
234
240
240
241
241
243
244
245
246
247
247
6.6
6.7
6.8
6.9
6.10
II
6.5.3
Transformationseigenschaften .
Weitere Abhängigkeiten und Verfahren
Weitere relationale Entwurfsverfahren .
Zusammenfassung . . . . . . . . . . . . .
Vertiefende Literatur . . . . . . . . . . .
Übungsaufgaben . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Erweiterte Konzepte für relationale Datenbanken 249
8 Erweiterte Entwurfsmodelle
8.1
Erweiterungen des ER-Modells . . . . . . . . . . . . . . . . . . .
8.1.1
Erweiterungen bei Attributen . . . . . . . . . . . . . . . .
8.1.2
Spezialisierung und Generalisierung . . . . . . . . . . . .
8.1.3
Komplexe Objekte . . . . . . . . . . . . . . . . . . . . . . .
8.1.4
Beziehungen höheren Typs . . . . . . . . . . . . . . . . .
8.2
Das EER-Modell – ein erweitertes ER-Modell . . . . . . . . . . .
8.2.1
Übernommene Grundkonzepte aus dem klassischen ERModell . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2.2
Erweiterung bei Wertebereichen . . . . . . . . . . . . . .
xii
251
251
252
253
254
255
256
256
257
Inhaltsverzeichnis
© des Titels »Datenbanken – Konzepte und Sprachen« (ISBN 978-3-8266-9453-0) 2013
by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg.
Nähere Informationen unter: http://www.mitp.de/9453
8.2.3
8.2.4
8.3
8.4
8.5
8.6
Mengenwertige und strukturierte Attribute . . . . . . . .
Der Typkonstruktor: Spezialisierung, Generalisierung,
Partitionierung . . . . . . . . . . . . . . . . . . . . . . . .
8.2.5
Aggregierung und Sammlung mittels objektwertiger Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2.6
Erweitertes Schlüsselkonzept . . . . . . . . . . . . . . . .
8.2.7
Abgeleitete Konzepte . . . . . . . . . . . . . . . . . . . . .
8.2.8
Vergleich zu anderen erweiterten ER-Modellen . . . . . .
UML für den Datenbankentwurf . . . . . . . . . . . . . . . . . .
8.3.1
Das Objektmodell von UML . . . . . . . . . . . . . . . . .
8.3.2
Darstellung von Klassen in UML . . . . . . . . . . . . . .
8.3.3
Beziehungen in UML . . . . . . . . . . . . . . . . . . . . .
8.3.4
Aggregation in UML . . . . . . . . . . . . . . . . . . . . .
8.3.5
Spezialisierung in UML . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vertiefende Literatur . . . . . . . . . . . . . . . . . . . . . . . . .
Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . .
258
258
268
270
271
272
273
274
275
276
278
279
280
280
282
9 Grundlagen von Modellen und Anfragen
9.1
Erweiterungen der Relationenalgebra . . . . . . .
9.2
Erweiterte Modelle und Anfragealgebren . . . . .
9.2.1
Geschachtelte Relationen: Das NF2 -Modell
9.2.2
PNF-Relationen . . . . . . . . . . . . . . . .
9.2.3
Verallgemeinerte geschachtelte Relationen
9.2.4
Erweitere Anfragealgebren . . . . . . . . .
9.3
Anfragekalküle . . . . . . . . . . . . . . . . . . . .
9.3.1
Bereichskalkül . . . . . . . . . . . . . . . . .
9.3.2
Sichere Anfragen . . . . . . . . . . . . . . .
9.3.3
Beispiele für Anfragen im Bereichskalkül .
9.3.4
Eigenschaften des Bereichskalküls . . . . .
9.3.5
Kalküle für andere Datenmodelle . . . . . .
9.4
Zusammenfassung . . . . . . . . . . . . . . . . . . .
9.5
Vertiefende Literatur . . . . . . . . . . . . . . . . .
9.6
Übungsaufgaben . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
283
283
287
287
288
288
290
294
294
296
298
299
300
304
305
305
10 Erweiterte Konzepte von SQL
10.1 Weitere Operationen und Prädikate . . .
10.1.1 Skalare Ausdrücke . . . . . . . . .
10.1.2 Prädikate . . . . . . . . . . . . . . .
10.1.3 Quantoren und Mengenvergleiche
10.1.4 Behandlung von Nullwerten . . . .
10.2 Aggregation, Gruppierung und Sortierung
10.2.1 Aggregatfunktionen . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
307
307
307
313
313
316
318
318
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
xiii
© des Titels »Datenbanken – Konzepte und Sprachen« (ISBN 978-3-8266-9453-0) 2013
by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg.
Nähere Informationen unter: http://www.mitp.de/9453
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
321
323
326
331
333
335
336
337
344
345
346
347
348
350
352
353
353
11 Weitere relationale Datenbanksprachen
11.1 QUEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.1.1 Anfragen in QUEL . . . . . . . . . . . . . . . . . . .
11.1.2 Änderungsoperationen in QUEL . . . . . . . . . . .
11.2 Query by Example . . . . . . . . . . . . . . . . . . . . . . . .
11.2.1 Anfragen in QBE . . . . . . . . . . . . . . . . . . . .
11.2.2 Funktionen, Sortierung und Aggregierung in QBE
11.2.3 Formale Semantik von QBE . . . . . . . . . . . . .
11.2.4 Ausdrucksfähigkeit von QBE . . . . . . . . . . . . .
11.2.5 Änderungen in QBE . . . . . . . . . . . . . . . . . .
11.2.6 Anfragen in MS Access . . . . . . . . . . . . . . . . .
11.2.7 Andere graphische Anfragesprachen . . . . . . . . .
11.3 Datalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.3.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . .
11.3.2 Semantik rekursiver Regeln . . . . . . . . . . . . . .
11.3.3 Semantik und Auswertung von Datalog . . . . . . .
11.4 Tutorial D . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.4.1 Datentypen . . . . . . . . . . . . . . . . . . . . . . .
11.4.2 Anfrageoperatoren . . . . . . . . . . . . . . . . . . .
11.4.3 Änderungsoperationen . . . . . . . . . . . . . . . . .
11.4.4 Constraints . . . . . . . . . . . . . . . . . . . . . . .
11.5 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . .
11.6 Vertiefende Literatur . . . . . . . . . . . . . . . . . . . . . .
11.7 Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
355
356
356
359
359
360
364
365
366
367
369
372
373
374
376
377
378
378
380
383
384
385
385
386
10.3
10.4
10.5
10.6
10.7
10.8
10.9
xiv
10.2.2 Gruppierung . . . . . . . . . . . . . . . . . . . . . .
10.2.3 Sortierung . . . . . . . . . . . . . . . . . . . . . . .
10.2.4 Erweiterte Aggregationsfunktionen in SQL:2003 .
Äußere Verbunde . . . . . . . . . . . . . . . . . . . . . . .
Künstliche Schlüssel und Sequenzgeneratoren . . . . . .
Benannte Anfragen und Rekursion . . . . . . . . . . . . .
10.5.1 Benannte Anfragen . . . . . . . . . . . . . . . . . .
10.5.2 Rekursive Anfragen . . . . . . . . . . . . . . . . . .
SQL-Versionen . . . . . . . . . . . . . . . . . . . . . . . . .
10.6.1 SEQUEL2 . . . . . . . . . . . . . . . . . . . . . . .
10.6.2 SQL-89 . . . . . . . . . . . . . . . . . . . . . . . . .
10.6.3 SQL-92 . . . . . . . . . . . . . . . . . . . . . . . . .
10.6.4 SQL:1999 und SQL:2003 . . . . . . . . . . . . . . .
10.6.5 SQL:2006 bis SQL:2011 . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . .
Vertiefende Literatur . . . . . . . . . . . . . . . . . . . . .
Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . .
Inhaltsverzeichnis
© des Titels »Datenbanken – Konzepte und Sprachen« (ISBN 978-3-8266-9453-0) 2013
by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg.
Nähere Informationen unter: http://www.mitp.de/9453
12 Transaktionen, Integrität & Trigger
12.1 Grundlagen von Transaktionen . . . . . . . . . . . . . . . . . . .
12.1.1 ACID-Prinzip . . . . . . . . . . . . . . . . . . . . . . . . .
12.1.2 Probleme im Mehrbenutzerbetrieb . . . . . . . . . . . . .
12.1.3 Transaktionssteuerung in SQL . . . . . . . . . . . . . . .
12.1.4 Transaktionen und Integritätssicherung . . . . . . . . .
12.2 Architekturen zur Integritätssicherung . . . . . . . . . . . . . .
12.2.1 Integritätssicherung durch Anwendung . . . . . . . . . .
12.2.2 Integritätsmonitor als Komponente des DBMS . . . . . .
12.2.3 Integritätssicherung durch Einkapselung . . . . . . . . .
12.3 Integritätsbedingungen in SQL . . . . . . . . . . . . . . . . . . .
12.3.1 Inhärente Integritätsbedingungen im Relationenmodell
12.3.2 Weitere Bedingungen in der SQL-DDL . . . . . . . . . .
12.3.3 Die assertion-Klausel . . . . . . . . . . . . . . . . . . . .
12.3.4 Verwaltung und Überprüfung von Bedingungen . . . . .
12.4 Klassifikation von Integritätsbedingungen . . . . . . . . . . . .
12.5 Trigger und aktive Datenbanken . . . . . . . . . . . . . . . . . .
12.5.1 Grundprinzipien von Triggern . . . . . . . . . . . . . . .
12.5.2 Aktive Datenbanken und ECA-Regeln . . . . . . . . . . .
12.6 Methoden der Integritätssicherung . . . . . . . . . . . . . . . . .
12.6.1 Integritätssicherung durch Trigger . . . . . . . . . . . . .
12.6.2 Integritätssicherung durch Anfragemodifikation . . . . .
12.7 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.8 Vertiefende Literatur . . . . . . . . . . . . . . . . . . . . . . . . .
12.9 Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . .
387
388
388
390
395
398
399
400
400
401
402
402
403
404
404
405
408
409
411
415
415
417
419
420
420
13 Datenbankanwendungsentwicklung
13.1 Grundprizipien . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.2 Programmiersprachenanbindung: Call-Level-Schnittstellen
13.2.1 SQL/CLI: Der Standard . . . . . . . . . . . . . . . . .
13.2.2 ODBC . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.2.3 JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.2.4 Weitere Call-Level-Schnittstellen . . . . . . . . . . . .
13.3 Eingebettetes SQL . . . . . . . . . . . . . . . . . . . . . . . . .
13.3.1 Statische Einbettung: Embedded SQL . . . . . . . . .
13.3.2 Dynamische Einbettung: Dynamic SQL . . . . . . . .
13.3.3 SQLJ: Embedded SQL für Java . . . . . . . . . . . . .
13.4 High-Level-Schnittstellen . . . . . . . . . . . . . . . . . . . .
13.4.1 Grundlagen der Abbildung . . . . . . . . . . . . . . . .
13.4.2 Hibernate . . . . . . . . . . . . . . . . . . . . . . . . .
13.4.3 Weitere Technologien . . . . . . . . . . . . . . . . . . .
13.5 Prozedurale SQL-Erweiterungen und Datenbanksprachen .
13.5.1 Vorteile von gespeicherten Prozeduren . . . . . . . . .
423
424
426
427
430
431
436
437
437
445
446
448
449
452
460
461
462
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
xv
© des Titels »Datenbanken – Konzepte und Sprachen« (ISBN 978-3-8266-9453-0) 2013
by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg.
Nähere Informationen unter: http://www.mitp.de/9453
13.6
13.7
13.8
13.9
13.5.2 SQL/PSM: Der Standard . . . . . . . . . . . . . .
13.5.3 PL/SQL von Oracle . . . . . . . . . . . . . . . . .
13.5.4 Gespeicherte Prozeduren in Java . . . . . . . . .
Anwendungsentwicklung in der Cloud . . . . . . . . . .
13.6.1 Database-as-a-Service und Cloud-Datenbanken
13.6.2 Klassische DBMS in der Cloud . . . . . . . . . .
13.6.3 NoSQL-Systeme in der Cloud . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . .
Vertiefende Literatur . . . . . . . . . . . . . . . . . . . .
Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . .
14 Sichten
14.1 Motivation und Begriffsbildung . . . . . . . . . . . . .
14.1.1 Sichten und externe Schemata . . . . . . . . .
14.1.2 Definition von Sichten . . . . . . . . . . . . . .
14.1.3 Definition von Sichten in SQL . . . . . . . . . .
14.1.4 Vorteile von Sichten . . . . . . . . . . . . . . . .
14.2 Probleme mit Sichten . . . . . . . . . . . . . . . . . . .
14.2.1 Kriterien für Änderungen auf Sichten . . . . .
14.2.2 Projektionssichten . . . . . . . . . . . . . . . .
14.2.3 Selektionssichten . . . . . . . . . . . . . . . . .
14.2.4 Verbundsichten . . . . . . . . . . . . . . . . . .
14.2.5 Aggregierungssichten . . . . . . . . . . . . . . .
14.2.6 Klassifikation der Problembereiche . . . . . . .
14.3 Behandlung von Sichten in SQL . . . . . . . . . . . . .
14.3.1 Auswertung von Anfragen an Sichten in SQL .
14.3.2 Sichtänderungen in SQL-92 . . . . . . . . . . .
14.3.3 Sichtänderungen in SQL:2003 . . . . . . . . .
14.4 Theorie änderbarer Sichten . . . . . . . . . . . . . . .
14.5 Instead-of-Trigger für Sichtänderungen . . . . . . . .
14.6 Zusammenfassung . . . . . . . . . . . . . . . . . . . . .
14.7 Vertiefende Literatur . . . . . . . . . . . . . . . . . . .
14.8 Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . .
15 Zugriffskontrolle & Privacy
15.1 Sicherheitsmodelle . . . . . . . . . . . .
15.1.1 Diskrete Sicherheitsmodelle . . .
15.1.2 Verbindliche Sicherheitsmodelle
15.2 Rechtevergabe in SQL . . . . . . . . . .
15.2.1 Benutzer und Schemata . . . . .
15.2.2 Rechtevergabe in SQL . . . . . .
15.2.3 Zurücknahme von Rechten . . .
15.2.4 Rollenmodell in SQL:2003 . . . .
xvi
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
463
470
472
475
476
477
477
481
481
483
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
485
486
487
487
488
489
490
491
492
494
495
497
498
499
500
502
502
503
505
508
510
510
.
.
.
.
.
.
.
.
511
513
513
513
514
515
515
517
518
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Inhaltsverzeichnis
© des Titels »Datenbanken – Konzepte und Sprachen« (ISBN 978-3-8266-9453-0) 2013
by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg.
Nähere Informationen unter: http://www.mitp.de/9453
15.3
15.4
15.5
15.6
III
15.2.5 Auditing . . . . . . . . . . . . . . . .
15.2.6 Authentifikation und Autorisierung
Privacy-Aspekte in Datenbanken . . . . . .
15.3.1 Statistische Datenbanken . . . . . .
15.3.2 k-Anonymität . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . .
Vertiefende Literatur . . . . . . . . . . . . .
Übungsaufgaben . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Weitere Datenbankmodelle
518
520
520
521
523
524
525
525
527
16 Historische Modelle
16.1 Das Netzwerkmodell . . . . . . . . . . . . . . . . . . . . . . .
16.1.1 Netzwerkschema . . . . . . . . . . . . . . . . . . . . .
16.1.2 Simulation einer allgemeinen Beziehung . . . . . . .
16.2 Das hierarchische Modell . . . . . . . . . . . . . . . . . . . . .
16.3 ER-Abbildung auf das Netzwerkmodell . . . . . . . . . . . .
16.4 ER-Abbildung auf das hierarchische Modell . . . . . . . . . .
16.5 Anwendungsprogrammierung in den historischen Modellen
16.5.1 Datenmanipulation im Netzwerkmodell . . . . . . . .
16.5.2 Datenmanipulation im hierarchischen Modell . . . .
16.6 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . .
16.7 Vertiefende Literatur . . . . . . . . . . . . . . . . . . . . . . .
16.8 Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
529
529
530
532
533
534
535
537
537
541
543
543
543
17 Objektrelationale Modelle & SQL:2003
17.1 Exkurs: Objektorientierte Datenbankmodelle . . . .
17.1.1 Objektorientierte Datenbanken . . . . . . . .
17.1.2 Der ODMG-Standard . . . . . . . . . . . . . .
17.1.3 OQL . . . . . . . . . . . . . . . . . . . . . . . .
17.2 Abbildung von Objekten auf Relationen . . . . . . .
17.2.1 Typkonstruktoren . . . . . . . . . . . . . . . .
17.2.2 Abbildung der Spezialisierungshierarchie . .
17.3 Objektrelationale Erweiterungen . . . . . . . . . . .
17.3.1 Large Objects: BLOB und CLOB . . . . . . .
17.3.2 Typkonstruktoren . . . . . . . . . . . . . . . .
17.3.3 Identitäten, Referenzen und Pfadausdrücke
17.3.4 Hierarchien und Vererbung . . . . . . . . . .
17.3.5 Methoden . . . . . . . . . . . . . . . . . . . . .
17.4 Objektrelationale Konzepte in SQL:2003 . . . . . . .
17.4.1 Typsystem und DDL . . . . . . . . . . . . . .
17.4.2 Anfragen . . . . . . . . . . . . . . . . . . . . .
17.4.3 Methoden in SQL:2003 . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
545
545
546
547
550
552
552
553
556
557
557
561
562
563
564
564
572
577
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
xvii
© des Titels »Datenbanken – Konzepte und Sprachen« (ISBN 978-3-8266-9453-0) 2013
by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg.
Nähere Informationen unter: http://www.mitp.de/9453
17.5
17.6
17.7
17.8
Objektrelationale Konzepte in kommerziellen DBMS
Zusammenfassung . . . . . . . . . . . . . . . . . . . . .
Vertiefende Literatur . . . . . . . . . . . . . . . . . . .
Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
578
580
581
582
18 XML und RDF
18.1 Semistrukturierte Datenmodelle . . . . . . . . . . . . .
18.1.1 Merkmale semistrukturierter Datenmodelle . .
18.1.2 Datenmodelle für semistrukturierte Dokumente
18.1.3 XML . . . . . . . . . . . . . . . . . . . . . . . . . .
18.2 Datendefinition in XML . . . . . . . . . . . . . . . . . . .
18.2.1 Dokumenttypdefinition . . . . . . . . . . . . . . .
18.2.2 XML Schema . . . . . . . . . . . . . . . . . . . .
18.2.3 XML-Abbildung auf relationale Schemata . . . .
18.3 Navigation in XML-Dokumenten: XPath . . . . . . . . .
18.3.1 Pfadausdrücke und Lokalisierungsschritte . . .
18.3.2 Selektionsprädikate und Funktionen . . . . . . .
18.4 Die Anfragesprache XQuery . . . . . . . . . . . . . . . .
18.4.1 FLWOR-Ausdrücke . . . . . . . . . . . . . . . . .
18.4.2 Elementkonstruktoren . . . . . . . . . . . . . . .
18.4.3 Verbunde und Gruppierungen . . . . . . . . . . .
18.4.4 Ausdrücke und Vergleiche . . . . . . . . . . . . .
18.4.5 Funktionen . . . . . . . . . . . . . . . . . . . . . .
18.5 SQL/XML: XML-Erweiterungen für SQL . . . . . . . .
18.5.1 XML-Datentypen . . . . . . . . . . . . . . . . . .
18.5.2 XML-Konstruktion mit SQL . . . . . . . . . . . .
18.6 Das Resource Description Framework . . . . . . . . . .
18.6.1 Das RDF-Modell . . . . . . . . . . . . . . . . . . .
18.6.2 RDF-Repräsentationen . . . . . . . . . . . . . . .
18.6.3 RDF Schema und Vokabulare . . . . . . . . . . .
18.7 Die RDF-Anfragesprache SPARQL . . . . . . . . . . . .
18.7.1 Grundlagen . . . . . . . . . . . . . . . . . . . . .
18.7.2 SPARQL-Elemente . . . . . . . . . . . . . . . . .
18.8 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . .
18.9 Vertiefende Literatur . . . . . . . . . . . . . . . . . . . .
18.10 Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
583
583
584
585
588
594
594
598
603
604
605
609
611
612
615
617
621
624
625
626
628
632
634
637
641
645
646
647
654
655
656
19 Multimediale und raumbezogene Daten
19.1 Multimedia-Datenbanken . . . . . . . . . . .
19.1.1 Grundbegriffe . . . . . . . . . . . . . .
19.1.2 Grundlagen des Multimedia Retrieval
19.2 Text Retrieval . . . . . . . . . . . . . . . . . .
19.2.1 Information Retrieval auf Texten . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
659
660
660
665
671
671
xviii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Inhaltsverzeichnis
© des Titels »Datenbanken – Konzepte und Sprachen« (ISBN 978-3-8266-9453-0) 2013
by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg.
Nähere Informationen unter: http://www.mitp.de/9453
19.3
19.4
19.5
19.6
19.7
19.8
19.2.2 Grundtechniken des Text Retrieval . . . . . . . . . .
19.2.3 Deskribierung . . . . . . . . . . . . . . . . . . . . . .
19.2.4 Recherche . . . . . . . . . . . . . . . . . . . . . . . .
19.2.5 Information Retrieval-Systeme . . . . . . . . . . . .
SQL/MM . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19.3.1 SQL/MM Full Text . . . . . . . . . . . . . . . . . . .
19.3.2 SQL/MM Still Image . . . . . . . . . . . . . . . . . .
19.3.3 Der Datentyp Video . . . . . . . . . . . . . . . . . . .
19.3.4 SQL/MM Spatial . . . . . . . . . . . . . . . . . . . .
Verwaltung raumbezogener Daten . . . . . . . . . . . . . .
19.4.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . .
19.4.2 Modellierung raumbezogener Daten . . . . . . . . .
19.4.3 Prädikate und Anfragen auf raumbezogenen Daten
19.4.4 Oracle Spatial . . . . . . . . . . . . . . . . . . . . . .
19.4.5 Weitere Systeme . . . . . . . . . . . . . . . . . . . . .
Temporale Daten . . . . . . . . . . . . . . . . . . . . . . . .
19.5.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . .
19.5.2 Umsetzung in SQL . . . . . . . . . . . . . . . . . . .
19.5.3 Temporale Schlüssel, Fremdschlüssel und Anfragen
19.5.4 Weitere Entwicklung und Einordnung . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . .
Vertiefende Literatur . . . . . . . . . . . . . . . . . . . . . .
Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
672
673
676
684
685
686
688
689
689
690
690
692
697
704
707
708
709
710
712
715
716
716
716
A Laufendes Beispiel
719
A.1 ER-Schema der Weindatenbank . . . . . . . . . . . . . . . . . . . 719
A.2 Relationale Repräsentation . . . . . . . . . . . . . . . . . . . . . 720
A.3 Vereinfachtes Schema und Beispieldaten . . . . . . . . . . . . . 721
Literaturverzeichnis
723
Abbildungsverzeichnis
746
Tabellenverzeichnis
753
Sachindex
755
Schlüsselwortindex
771
xix
© des Titels »Datenbanken – Konzepte und Sprachen« (ISBN 978-3-8266-9453-0) 2013
by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg.
Nähere Informationen unter: http://www.mitp.de/9453
Herunterladen