Datenbanken Konzepte und Sprachen - Saake ... - Semantic Scholar

24.01.2013 - Prädikate und Anfragen auf raumbezogenen Daten . . . 697. 19.4.4. Oracle Spatial . . . . . . . . . . . . . . . . . . . . . . . . . 704. 19.4.5. Weitere Systeme .
1MB Größe 24 Downloads 363 Ansichten
mitp Professional

Datenbanken – Konzepte und Sprachen von Gunter Saake, Kai-Uwe Sattler, Andreas Heuer 5., überarbeitete Auflage 2013

Datenbanken – Konzepte und Sprachen – Saake / Sattler / Heuer schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Thematische Gliederung: Datenbanken, Informationssicherheit, Geschäftssoftware

mitp/bhv 2013 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 8266 9453 0

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