© 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Datenbanken im Unternehmen Analyse, Modellbildung und Einsatz von Prof. Dr. Günther Pernul, Prof. Dr. Rainer Unland Universität Essen 2., korrigierte Auflage OldenbourgVerlag München Wien Inhalt 1 Einleitung und Übersicht 1 1.1 Anforderungserhebung und -analyse ..... 1.2 Konzeptuelle Modellbildung ................ 1.3 Logischer Entwurf ....................................................................................... 1.4 Implementationsphase ................................................................ ................................................. ................................................. 6 7 8 .............. 9 1.5 Allgemeine Datenbankbegriffe ..................................................................... 1.6 Zusammenfassung ...................................................................................... 12 1.7 Literatur ................................. 10 13 1.8 .............................................................. Kontrollaufgaben ........................................................................................ 2 Anforderungserhebungund -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 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 Anfordenngserhebung ................................................................................ Dokumentenanalyse .................................................................................... Fragebogentechnik ..................................................................................... Interviewmethode ......................................... ........................................ Berichtsmethode ...................... ............................................................... Selbstaufschreibung ................. ............................................................... Beobachtungsmethode ................................................................................ 25 27 27 28 29 30 30 2.3 2.3.1 2.3.2 2.3.3 Anfordenngsdokument ............................................................... Informationsanfordenngen.......................................................................... 33 Funktionale Anforderungen ......................................................................... 42 Bearbeitungsanfordenngen und dynamische Aspekte ..................................... 56 2.4 Zusammenfassung ............................................ 13 2.5 ...................................... 60 Literatur .................................................................................................... 61 2.6 Kontrollaufgaben ............. ...................................................................... 61 XI1 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 ................................................. Weiterentwicklungendes Entity-Relationship-Modells ................................... Literatur .................................................................................................... Kontrollaufgaben........................................................................................ 68 69 79 84 85 3.2 3.2.1 3.2.2 3.2.3 Struktur- und funktionsonentierte Modellbildung........................................... Gründe für die Verwendung der Kombinationsmethode................................... Kombination von ERM und DFD ................................................................. Kontrollaufgaben........................................................................................ 88 88 89 95 3.3 3.3.1 3.3.2 Objektorientierte Modellbildung .................................................................. 95 Konzepte der Objektorientierung.................................................................. 97 Unified Modeling Language (UML) ........................................................... 100 3.4 3.4.1 Weitere Formen der Modellbildung ............................................................ Geschäftsprozessorientierte Modellbildung .............................................. 3.5 3.5.1 3.5.2 Sichtenintegration und Schemakonsolidierung............................................. 118 Prozess der Sichtenintegration.................................................................... 121 Kontrollaufgaben...................................................................................... 132 3.6 3.6.1 3.6.2 3.6.3 3.6.4 Formaler Datenbankentwurf ...................................................................... Das relationale Datenbankmodell ............................................................... Grundlagen des formalen Datenbankentwurfs.............................................. Relationentheone und Normalisierung .. .................................................. Kontrollaufgaben ...................................................................................... 133 133 140 145 158 3.7 Zusammenfassung .................................................................................... 162 3.8 Literatur .................................................................................................. 164 4 Logischer Entwurf 165 4.1 Transformation von Entitytypen ................................................................. 165 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 ... ............................................... 167 167 168 172 4.3 Transformation von Generalisierung und Subtypenhierachie.......................... 173 4.4 Zusammenfassung .................................................................................... 177 4.5 Literatur .................................................................................................. 178 4.6 Kontrollaufgaben...................................................................................... 178 113 113 Inhalt XI11 5 Einführung in Datenbankmanagementsysteme 181 5.1 5.1.1 5.1.2 Architektur eines Datenbankmanagementsystems ......................................... Die Schemaarchitektur .............................................................................. Die Systemarchitektur ............................................................................... 181 181 183 5.2 Die Verwaltung von Metadaten ................................................................. 186 5.3 Literatur .................................................................................................. 189 6 Grundlagen von Anfragesprachen 191 6.1 Formale Einführung der Grundlagen von Datenbankmodellen ....................... 191 6.2 Typen von Relationen ............................................................................... 199 6.3 Anforderungen an Anfragesprachen ............................................................ 200 6.4 Sprachansätze .......................................................................................... 205 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 .................................................................................................. 208 208 213 226 227 230 230 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 .................................................................................................. 230 232 242 248 249 249 6.7 Funktionen auf Mengen von Tupeln ............................................................ 250 6.8 Zusammenfassung .................................................................................... 251 6.9 Kontrollaufgaben ...................................................................................... 252 7 Die relationaleDatenbanksprache SQL 255 7.1 Einführung in SQL ................................................................................... 255 7.2 7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.2.6 7.2.7 Die Datendefinitionssprache (DDL) ............................................................ Anlegen einer Datenbank .......................................................................... Datentypen in SQL-92 .............................................................................. Anlegen einer Tabelle ............................................................................... Integritätsbedingungen .............................................................................. Ändern des Datenbankschemas .................................................................. Beispiel eines Datenbankschemas für eine Unternehmung ............................. Kontrollaufgaben ...................................................................................... 264 264 265 287 289 304 307 313 XIV Inhalt 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 Datenbankanfragespräche (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 ...................................................................................... 316 317 328 354 363 376 391 395 396 399 7.4 7.4.1 7.4.2 7.4.3 Die Datenmanipulationssprache (DML) ...................................................... Einfügen von Zeilen ................................................................................. Andern von Zeilen .................................................................................... Löschen von Zeilen .................................................................................. 403 403 406 408 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 ............................................................................ 409 409 414 415 417 7.6 Die Datenkontrollsprache (DCL) ................................................................ 421 7.7 Die Speicherungsstrukturdefinitionssprache(SSL) ....................................... 427 7.8 Datenschutz, Datensicherung und Datenkonsistenz ...................................... 428 7.9 Kritische Würdigung von SQL-92 .............................................................. 437 7.10 Charakteristika relationaler DBMS ............................................................. 439 7.11 Einbettung von SQL in Wirtssprachen (Embedded SQL)............................... 442 7.12 Programmgeneratoren............................................................................... 446 7.13 7.13.1 7.13.2 Anfragebearbeitung und -optimierung......................................................... Anfragebearbeitung .................................................................................. Anfrageoptimierung.................................................................................. 449 449 452 7.14 Zusammenfassung .................................................................................... 456 7.15 Literatur .................................................................................................. 457 7.16 Kontrollaufgaben ...................................................................................... 458 8 SQL:1999 461 8.1 Struktur von SQL:1999 ............................................................................. 461 8.2 8.2.1 Datentypen und Typkonstruktoren .............................................................. Vordefinierte Datentypen ........................................................................... 463 463 Inhalt XV 8.2.2 8.2.3 8.2.4 Typkonstruktoren ..................................................................................... 467 Individualisierte Datentypen (distinct data type) ........................................... 480 Benutzerdefinierte strukturierte Datentypen bzw. benannte Zeilentypen ......................................................................... 481 8.3 8.3.1 8.3.7 Objektorientierte Konzepte in SQL:1999 ..................................................... 483 Beziehungsarten zwischen Vaterobjekten und eingebundenen Objekten in komplexen Objekten ................................................................................. 484 Objektidentität ......................................................................................... 490 Datenabstraktion/Kapselung ...................................................................... 495 Vererbung .......... ..................................................................................... 508 Polymorphismus....................................................................................... 513 Einige Anmerkungen zu komplexen Objekten in SQL:1999 ............................................................................................ 516 Zusammenfassung .................................................................................... 517 8.4 Trigger .................................................................................................... 8.3.2 8.3.3 8.3.4 8.3.5 8.3.6 8.5 8.5.1 8.5.2 8.5.3 8.5.4 8.5.5 8.5.6 8.5.7 8.5.8 8.5.9 519 Weitere Neuerungen im Überblick .............................................................. 522 Sichten .................................................................................................... 522 Benennung von SFW-Blöcken ................................................................... 523 Rekursion ........................................................ .................................... 523 Datenschutz und Datensicherheit ................................................................ 524 Online Analytical Processing (OLAP) ......................................................... 525 Sicherungspunkte ..................................................................................... 527 SQL/MM (Multimedia-Unterstützung) ........................................................ 527 SQL/MED (Management of External Data) ................................................. 528 Java Sprachanbindung ............................................................................... 530 8.6 Literatur .................................................................................................. 532 9 Transaktionsverarbeitungund Fehlertoleranz 535 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 .................................................................................................. 535 536 540 542 550 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 Sy nchronisationsverfahren ......................................................................... Klassifikation ........................................................................................... Sperrverfahren ......................................................................................... Zeitstempelverfahren ................................................................................ Optimistische Synchronisationsverfahren .................................................... Synchronisation in SQL-92........................................................................ TP-Monitor .............................................................................................. Literatur ............................... .............................................................. 550 550 551 565 566 571 573 576 XVI Inhalt 9.3 9.3.1 9.3.2 9.3.3 Fehlertoleranz .......................................................................................... Fehler in Transaktionssystemen .................................................................. Maßnahmen zur Fehlerbehandlung ............................................................. Literatur .................................................................................................. 576 578 580 595 9.4 9.4.1 9.4.2 9.4.3 9.4.4 Geschachtelte Transaktionen ...................................................................... Geschlossen geschachtelte Transaktion ....................................................... Offen geschachtelte Transaktion ................................................................. Entwicklungstransaktion ........................................................................... Literatur .................................................................................................. 595 599 600 601 601 9.5 Kontrollaufgaben ...................................................................................... 602 Literatur 605 Sachverzeichnis 619