Inhalt 1 Einleitung und Übersicht 1 1.1 Anforderungserhebung und -analyse 6 1.2 Konzeptuelle Modellbildung 7 1.3 Logischer Entwurf 9 1.4 Implementationsphase 9 1.5 Allgemeine Datenbankbegriffe 10 1.6 Zusammenfassung 12 1.7 Literatur 13 1.8 Kontrollaufgaben 13 2 Anforderungserhebung und -analyse 15 2.1 2.1.1 2.1.2 2.1.3 Dateisystem vs. Datenbankmanagementsystem Isolierte Dateiverwaltung Integrierte Dateiverwaltung Architektur von Datenbankmanagementsystemen 18 19 19 21 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 Anforderungserhebung Dokumentenanalyse Fragebogentechnik Interviewmethode Berichtsmethode Selbstaufschreibung Beobachtungsmethode 26 26 28 29 30 30 30 2.3 2.3.1 2.3.2 2.3.3 Anforderungsdokument Informationsanforderungen Funktionale Anforderungen Bearbeitungsanforderungen und dynamische Aspekte 31 33 42 57 2.4 Zusammenfassung 60 2.5 Literatur 62 2.6 Kontrollaufgaben 62 http://d-nb.info/102876068X XIV Inhalt 3 Konzeptueller Datenbankentwurf 65 3.1 3.1.1 3.1.2 3.1.3 3.1.4 Strukturorientierte Modellbildung Grundlagen des Entity-Relationship-Modells Weiterentwicklungen des Entity-Relationship-Modells Literatur Kontrollaufgaben 68 69 78 86 86 3.2 3.2.1 3.2.2 3.2.3 Struktur- und funktionsorientierte Modellbildung Gründe für die Verwendung der Kombinationsmethode Kombination von ERM und DFD Kontrollaufgaben 89 89 90 96 3.3 3.3.1 3.3.2 Objektorientierte Modellbildung Konzepte der Objektorientierung Unified Modeling Language (UML) 96 98 101 3.4 3.4.1 Weitere Formen der Modellbildung Geschäftsprozessorientierte Modellbildung 114 115 3.5 3.5.1 3.5.2 Sichtenintegration und Schemakonsolidierung Prozess der Sichtenintegration Kontrollaufgaben 120 123 133 3.6 3.6.1 3.6.2 3.6.3 3.6.4 Formaler Datenbankentwurf Das relationale Datenbankmodell Grundlagen des formalen Datenbankentwurfs Relationentheorie und Normalisierung Kontrollaufgaben 134 135 141 147 160 3.7 Zusammenfassung 165 3.8 Literatur 166 4 Logischer Entwurf 169 4.1 Transformation von Entitytypen 170 4.2 4.2.1 4.2.2 4.2.3 Transformation von Beziehungstypen Transformation rekursiver Beziehungstypen Transformation binärer Beziehungstypen Transformation n-ärer Beziehungstypen 171 171 172 176 4.3 Transformation von Generalisierung und Subtypenhierarchie 178 4.4 Zusammenfassung 182 4.5 Literatur 183 4.6 „ Kontrollaufgaben 183 Inhalt XV 5 Einführung in Datenbankmanagementsysteme 187 - 5.1 5.1.1 5.1.2 Architektur eines Datenbankmanagementsystems Die Schemaarchitektur Die Systemarchitektur 187 187 189 5.2 Die Verwaltung von Metadaten 192 5.3 Literatur 195 6 Grundlagen von Anfragesprachen 197 6.1 Formale Grundlagen von Datenbankmodellen 197 6.2 "typen von Relationen 205 6.3 Anforderungen an Anfragesprachen 207 6.4 Sprachansätze 211 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.5.5 6.5.6 Relationale Algebra Mengenoperationen Zusätzliche relationale Operationen Beispiele Eigenschaften der Relationenalgebra Zusammenfassung Literatur 214 215 219 232 234 235 235 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 Relationenkalkül Tupelkalkül Bereichskalkül Mächtigkeit der Relationenkalküle Zusammenfassung Literatur 237 239 249 254 255 255 6.7 Funktionen auf Mengen von Tupeln 256 6.8 Zusammenfassung 257 6.9 Kontrollaufgaben 258 7 Die relationale Datenbanksprache SQL 261 7.1 Einführung in SQL 261 7.2 7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.2.6 Die Datendefinitionssprache (DDL) Anlegen einer Datenbank Datentypen in SQL-92 Anlegen einer Tabelle Integritätsbedingungen Umgang mit Beziehungstypen Ändern des Datenbankschemas 271 271 272 295 296 311 314 XVI Inhalt 7.2.7 7.2.8 Beispiel eines Datenbankschemas für eine Unternehmung Kontrollaufgaben 317 324 7.3 7.3.1 7.3.2 7.3.3 7.3.4 7.3.5 7.3.6 7.3.7 7.3.8 7.3.9 Die Datenbankanfragesprache (DRL) Die SELECT-Klausel (Projektion) Die FROM-Klausel (Ausgangstabelle) Die WHERE-Klausel (Selektion) Die GROUP BY-Klausel (Bilden von Untertabellen) Geschachtelte Anfragen Mengenoperationen in SQL Die ORDER BY-Klausel (Sortieren der Ergebnistabelle) Zusammenfassung Kontrollaufgaben 326 327 339 364 373 385 401 404 405 408 7.4 7.4.1 7.4.2 7.4.3 Die Datenmanipulationssprache (DML) Einfügen von Zeilen Ändern von Zeilen Löschen von Zeilen 412 413 415 417 7.5 7.5.1 7.5.2 7.5.3 7.5.4 Datensichten Motivation Vorteile von Sichten Probleme mit Sichten Änderungen auf Sichten 418 418 423 424 426 7.6 Die Datenkontrollsprache (DCL) 429 7.7 Die Speicherungsstrukturdefinitionssprache(SSL) 436 7.8 Datenschutz, Datensicherung und Datenkonsistenz 437 7.9 Kritische Würdigung von SQL-92 445 7.10 Charakteristika relationaler DBMS 448 7.11 Einbettung von SQL in Wirtssprachen (Embedded SQL) 450 7.12 Programmgeneratoren 454 7.13 Anfragebearbeitung und -Optimierung 456 7.13.1 7.13.2 Anfragebearbeitung Anfrageoptimierung 457 460 7.14 Zusammenfassung 464 7.15 Literatur 465 7.16 Kontrollaufgaben 466 XVII Inhalt 8 Der objektrelationale Teil von SQL:2011 und weitere wesentliche Erweiterungen 469 8.1 Struktur von SQL:2011 470 8.2 8.2.1 8.2.2 8.2.3 8.2.4 Datentypen und T^pkonstruktoren Vordefinierte Datentypen Typkonstruktoren Individualisierte Datentypen (distinct data type) Benutzerdefinierte strukturierte Datentypen bzw. benannte Zeilentypen 473 474 477 493 495 8.3 8.3.1 8.3.2 8.3.3 8.3.4 8.3.5 8.3.6 8.3.7 8.3.8 8.3.9 8.3.10 Objektorientierte Konzepte in SQL:2011 502 Komplexe Objekte 503 Objektidentität 510 Datentypen / Klassen 516 Datenabstraktion / Kapselung 517 Vererbung 528 Polymorphismus 541 Anfragen im objektrelationalen SQL 544 Anmerkungen zu komplexen Objekten im objektrelationalen SQL 550 Beispiel eines objektrelationalen Datenbankschemas für eine Unternehmung ..550 Zusammenfassung 559 8.4 Trigger 560 8.5 564 8.5.2 8.5.3 8.5.4 8.5.5 8.5.6 8.5.7 8.5.8 8.5.9 Weitere Neuerungen im Überblick Benennung von S FW-Blöcken Rekursion Datenschutz und Datensicherheit On/ine Analytical Processing (OLAP) Sicherungspunkte SQL/MM (Multimedia-Unterstützung) SQL/MED (A/anagement of £xternal Data) Java Sprachanbindung Einbindung von XML-Dokumenten 565 566 566 569 569 570 571 574 8.6 Literatur 574 9 Transaktionsverarbeitung und Fehlertoleranz 577 9.1 9.1.1 9.1.2 9.1.3 9.1.4 Transaktionsmanagement Probleme bei der Parallelarbeit auf der DB Das Transaktionskonzept Serialisierbarkeit Literatur 577 578 582 584 592 9.2 9.2.1 Synchronisationsverfahren Klassifikation 593 593 8.5.1 564 XVIII Inhalt 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 Sperrverfahren Zeitstempelverfahren Optimistische Synchronisationsverfahren Synchronisation in SQL-92 TP-Monitor Literatur 594 607 608 613 615 618 9.3 9.3.1 9.3.2 9.3.3 Fehlertoleranz Fehler in Transaktionssystemen Maßnahmen zur Fehlerbehandlung Literatur 618 620 622 637 9.4 9.4.1 9.4.2 9.4.3 9.4.4 Geschachtelte Transaktionen Geschlossen geschachtelte Transaktion Offen geschachtelte Transaktion Entwicklungstransaktion Literatur 637 641 642 643 643 9.5 Kontrollaufgaben 644 Literaturverzeichnis 647 Sachverzeichnis 663