Alfred Moos Datenbank-Engineering Grundkurs Software-Entwicklung Objektorientierte mit C++ Programmierung in JAVA von Dietrich May von Otto Rauh Grundkurs Datenbankentwurf Anwendungsorientierte von Helmut jarosch Wirtschaftsinformatik Web-Programmierung von Paul Alpar, Heinz Lothar Grob, Peter von Oral Avcl, Ralph Trittmann und Werner Mellis Weimann und Robert Winter OhneCzuC++ Rechnerarchitektur von Peter P. Bothner und Michael Kahler von Paul Herrmann Grundkurs JAVA Grundkurs Relationale Datenbanken von Dietmar Abts von Rene Steiner Aufbaukurs Wirtschaftsinformatik Grundkurs UNIX/Linux von Dietmar Abts und Wilhelm MOlder von Wilhelm Schaffrath Kompaktkurs Mikrocontroller Grundkurs MySOL und PHP von Silvia Limbach von Martin Pollakowski Von Pascal zu Assembler Pascal von Peter Kammerer von Doug Cooper und Michael Clancy Das PC Wissen fur IT-Berufe: Aufbaukurs JAVA Hardware, Betriebssysteme, Netzwerktechnik von Dietmar Abts von Rainer Egewardt Grundkurs Informatik Grundkurs Verteilte Systeme von Hartmut Ernst von Gunther Bengel Kostentrigerrechnung mit SAP R/3® Online-Publishing fur Studenten und von Franz Klenger und Ellen Falk-Kalms Wissenschaftler Netze - Protokolle - Spezifikationen von Michael BeiBwenger von Alfred Olbrich SOL mit Oracle Grundlegende Algorithmen von Wolf-Michael Kahler von Volker Heun Module, Klassen, Vertrige Softwaretechnik mit Ada 95 von Karlheinz Hug von Manfred Nagl Grundkurs Betriebswirtschaftslehre Visual Basic fur technische von Notger Carl, Rudolf Fiedler, William j6rasz Anwendungen und Manfred Kiesel von jurgen Radel Relationales und objektrelationales SOL Controlling mit SAP R/3® von Wolf-Michael Kahler von Gunther Friedl, Christian Hilz Lern-und Arbeitsbuch SAP R/3® und Burkhard Pedell von Andre Maassen und Markus Schoenen Grundkurs Kostenstellenrechnung mit SAP R/3® Geschiftsprozess - Management von Franz Klenger und Ellen Falk-Kalms von Andreas Gadatsch Grundkurs Algorithmen und Grundkurs IT-Controlling Datenstrukturen in JAVA von Andreas Gadatsch und Elmar Mayer von Andreas Solymosi und Ulrich Grude Grundkurs Socketprogrammierung Grundkurs Wirtschaftsinformatik mit C unter Linux von Dietmar Abts und Wilhelm Mulder von Martin Pollakowski Prozessmodellierung mit ARIS ® Datenbank-Engineering von Heinrich Seidl meier von Alfred Moos Alfred Moos Datenbank-Engineering Analyse, Entwurf und Implementierung objektrelationaler Datenbanken - Mit UML, DB2-SQL und Java 3., uberarbeitete und erweiterte Auflage ~ vleweg Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet uber <http://dnb.ddb.de> abrufbar. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne von Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten waren und daher von jedermann benutzt werden durfen. Hochste inhaltliche und technische Qualitat unserer Produkte ist unser Ziel. Bei der Produktion und Auslieferung unserer Bucher wollen wir die Umwelt schon en: Dieses Buch ist auf saurefreiem und chlorfrei gebleichtem Papier gedruckt. Die EinschweiBfolie besteht aus Polyathylen und damit aus organischen Grundstoffen, die weder bei der Herstellung noch bei der Verbrennung Schadstoffe freisetzen. 1. Auflage 1991 Die erste Auflage erschien unter dem Titel "SQL-Datenbanken". 2. Auflage 1997 3., uberarbeitete und erweiterte Auflage Februar 2004 Aile Rechte vorbehalten © Friedr. Vieweg & Sohn Verlag/GWV Fachverlage GmbH, Wiesbaden 2004 Der Vieweg Verlag ist ein Unternehmen von Springer Science+Business Media. www.vieweg-it.de Das Werk einschlieBlich aller seiner Teile ist urheberrechtlich geschutzt. Jede Verwertung auBerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulassig und strafbar. Das gilt insbesondere fUr Vervielfaltigungen, Obersetzungen, Mikroverfilmungen und die Ein speicherung und Verarbeitung in elektronischen Systemen. Umschlaggestaltung: Ulrike Weigel, www.CorporateDesignGroup.de Gedruckt auf saurefreiem und chlorfrei gebleichtem Papier. ISBN-13: 978-3-528-25183-3 e-ISBN-13: 978-3-322-80335-1 DOl: 10.10071978-3-322-80335-1 Vorwort Der Entwurf eines untemehmensweiten Datenmodells, dessen Umsetzung in ein objektreiationales Datenbankmodell und die anschlieBende Implementierung in einer objektrelationalen Da tenbank mit der Datenbanksprache SQL sind heute und in ab sehbarer Zukunft zentrale Aufgaben in der betrieblichen Daten verarbeitung und der praktischen Wirtschaftsinformatik. Dabei ist der Entwurf von Datenbanken immer wieder ein an spruchsvolles Problem fur den Datenbankentwickler. Mit dem derzeitigen Wissensstand tiber Strategien, Methoden und Spra chen der Datenmodellierung lassen sich diese Aufgaben syste matisch Ibsen. Erforderlich hierzu ist eine methodische und ar chitekturgetriebene Vorgehensweise. Ihre Darstellung und Ver mittlung ist zentrales Anliegen dieses Buches. Die Implementierung eines objektrelationalen Datenbankmodells mit den Sprachmitteln der aktuellen SQL-Norm SQL99 bzw. SQL3, und hier insbesondere mit deren Implementierung in DB2® von IBM®, ist der zweite Schwerpunkt des Buches. Zentrales Anliegen des Buches ist es, dem Leser die derzeit aktu ellen und erprobten Methoden, Strategien und Verfahren der Da tenbankmodellierung und der Modellbeschreibung in praziser aber dennoch leicht verstandlicher Art zu vermitteln. Es werden hierbei die einzelnen Methoden, wie das ERM und Relationen modell, erklart. Die Modellierungsergebnisse werden mit der Modellierungssprache Unified Modeling Language (UML) doku mentiert. An zwei einfachen, leicht verstandlichen und durchgangigen Beispieien wird der Entwicklungsprozess einer Datenbank von der Idee bis zur lauffahigen Implementierung in DB2® darge stellt. Die Beispiele sind den Anwendungsgebieten der Rech nungsschreibung und der Srucklistenorganisation entnommen. Mit der systematischen Ftihrung des Lesers durch die Methoden wird ihm der Weg aufgezeigt, der zu einer qualitativ hochwerti gen Datenbankorganisation und effektiven Datenbankauswer tung fuhrt. Am Ende eines jeden Kapiteis werden mehrere Auf gaben angeboten. Es wird empfohlen, die Aufgaben zusammen mit DB2® zu Ibsen. Hierzu kann eine Probierlizenz von DB2® aus dem WWW von den Seiten der Firma IBM heruntergeladen v werden. Musterl6sungen k6nnen auf der Homepage www.Alfred-Moos.de eingesehen werden. Das Buch ist deshalb sowohl fur Praktiker und Studenten als auch fur den Computerprofi eine wertvolle Hilfe, mit der sie den aktuellen Wissensstand tiber objektrelationale Datenbanken leicht, schnell und effektiv erlemen k6nnen. Es ist sowohl fur den Einsatz im Unterricht, in Datenbankkursen als auch fur das Selbststudium sowie als Ratgeber fur die Datenbankpraxis geeig net. Die Vennittlung der Buchinhalte ist yom Verfasser mehrfach in verschiedenen Lehrveranstaltungen an der Fachhochschule Hei delberg auf unterschiedlichen Ausbildungsebenen und verschie denen Studienrichtungen erprobt worden. Hierbei hat das Buch durch seine leichte Verstandlichkeit, seinen vielen Beispielen und seinem groBen Sachumfang seinen hohen Nutzwert sowohl bei der Datenbankausbildung von Informatikem als auch Be triebswirten bewiesen. Die in DB2-SQL® der Finna IBM® geschriebenen Programme sind allesamt erprobt und funktionstiichtig. Sie decken einen graBen Teil der Implementierung von SQL99 im aktuellen DB2- SQL® abo Besonders die neuen und machtigen objektrelationalen Sprachkonzepte von DB2-SQL® sind zentrale Themen des Bu ches. Hierbei handelt es sich speziell urn die Integritatseinrich tungen, temporaren Tabellen, OLAP-Funktionen, benutzerdefi nierten Funktionen, Datenbanktriggem, rekursive und struktu rierte Datentypen. Die programmiersprachliche Anbindung der objektrelationalen Datenbank DB2® wird mit JDBC® und Java® demonstriert. Das Buch ist als Ergebnis der dreiBigjahrigen intensiven Beschaf tigung mit der Datenmodellierung, dem Softwareengineering und der Datenbanktechnik entstanden. Besonders die unzahligen Diskussionen mit Studenten an der Fachhochschule Heidelberg und die didaktischen Dberlegungen zu einer leicht verstandli chen und schnell erfassbaren Vermittlung der heutigen praxisre levanten Datenbanktechniken haben das Aussehen des Buches gepragt. In diesem Zusammenhang m6chte ich besonders mei nem Kollegen, Herrn Dipl.-Math. Gerhard Daues danken, mit dem ich die Vorgangerversion zu dieser v611ig tiberarbeiteten und wesentlich erweiterten Auflage verfasst habe. Hemsbach, im Februar 2004 Alfred Moos VI Leitfaden zum Lesen des Buches Das Buch spiegelt in seiner Struktur die drei Phasen der Soft wareentwicklung wider: • Analyse • Entwurf • Implementierung In der Analysephase wird das Entitats-Beziehungs-Modell ent worfen (ERM). Wie ein ERM entwickelt wird, lernen Sie im ersten Kapitel. In der Entwurfsphase wird aus dem ERM das Datenbankmodell abgeleitet. Das Buch beschaftigt sich ausschlielSlich mit dem ob jektrelationalen Datenbankmodell (ORDBM). 1m Kapitel zwei und drei lernen Sie, wie ein anwendungsorientiertes und objekt relationales Datenbankmodell aus dem ERM abgeleitet werden kann. 1m Kapitel dreizehn wird der Fokus verstarkt auf die ob- jektorientierte Seite des ORDBM ge!enkt. o In der Implementierungsphase wird das ORDBM in einer daten bankspezifischen Sprache formuliert und im Computer hinterlegt. In diesem Buch lernen Sie die Datenbanksprache DB2-SQL im Dialekt der Firma IBM kennen. Hierzu arbeiten Sie bitte die Ka pitel vier bis dreizehn durch. Wie man aus einem Java-Programm heraus tiber die Anwen dungsprogrammierschnittstelle Java Database Connectivity (JDBC) einfach auf Daten in der DB2-Datenbank zugreift, lernen Sie im Kapitel vierzehn. Ich wtinsche Ihnen vie! Freude bei der Lekttire des Buches. VII Inhaltsverzeichnis 1. GrundIagen der Datenmodellierung ..................................................... 1 1.1 Daten tiber die Realwelt und Miniwelt.. ..................................................... 1 1.2 Modell der Miniwelt ..................................................................................... 3 1.3 Anwendungsfalldiagramm ........................................................................... 8 1.4 Entitats-Beziehungs-Modell ......................................................................... 9 1.5 Konstruktionselemente fur die Elementebene .......................................... 10 1.5.1 Entitat ...................................................................................................1 1 1.5.2 Eigenschaft ........................................................................................... 11 1.5.3 Faktum ................................................................................................. 12 1.5.4 Entitatsschltissel ................................................................................... 12 1.5.5 Beziehung ............................................................................................ 13 1.5.6 Vereinfachung von Beziehungen .......................................................1 6 1.6 Konstruktionselemente fur die Mengenebene .......................................... 18 1.6.1 Entitatsmenge ......................................................................................1 9 1.6.2 Domane ................................................................................................ 20 1.6.3 Attribut ................................................................................................. 21 1.6.4 Beziehungsmenge ............................................................................... 23 1.6.5 Kardinalitat ...........................................................................................2 4 1.7 Konstruktionselemente fur die Typebene ................................................. 25 1.7.1 Entitatstyp ............................................................................................2 6 1.7.2 Attribut ................................................................................................. 27 1.7.3 Domanendefinition ............................................................................. 28 1.7.4 Beziehungstyp ..................................................................................... 29 1.7.5 Multiplizitat .......................................................................................... 30 1.7.6 Zweiseitiger Beziehungstyp ............................................................... 36 1.7.7 Beziehungstyp mit Attribut ................................................................. 38 1.7.8 Vielseitiger Beziehungstyp ................................................................. .40 IX 1.8 Entitats-Beziehungs-Diagramrn ................................................................. .48 1.8.1 Datenarchitektur ................................................................................. .48 1.8.2 Datenanalyse ....................................................................................... 50 1.9 Strukturmuster ·der Wirtschaftsinformatik ................................................. .52 1.9.1 Entwurfsmuster extemer Geschaftsvorfall ......................................... 52 1.9.2 Geschaftsvorfallskette ..........................................................................5 4 1.10 Aufgaben .................................................................................................. 56 2 Relationales Datenbankmodell ............................................................. 63 2.1 Konstruktionse1emente fur Relationen ...................................................... 63 2.2 Normalisierung von Relationen .................................................................. 66 2.2.1 Unnormalisierte Relation ..................................................................... 67 2.2.2 Die erste Normalform - 1NF ...............................................................7 3 2.2.3 Die zweite Normalform - 2NF ............................................................8 0 2.2.4 Die dritte Normalform - 3NF ..............................................................8 3 2.2.5 Weitere Normalformen ....................................................................... 86 2.3 Aufgaben ..................................................................................................... 86 3 Vom ERM zur relationalen Datenbank ................................................9 5 3.1 Oberfuhrungsstrategie Schritt fur Schritt .................................................... 96 3.2 Beziehungsmenge und Beziehungsrelation .............................................. 97 3.3 Beziehungstyp als Re1ationstyp implementiert .........................................9 9 3.4 Integration von Beziehungs- in Entitatsrelationen .................................. 10 2 3.5 Integrierbare Beziehungsrelationen ......................................................... 105 3.6 Nicht integrierbare Beziehungsrelationen ............................................... 112 3.7 RDBD von Geschaftsvorfall Rechnung .................................................... 115 3.8 RDBD der Geschaftsvorfallkette Kunde .................................................. 115 3.9 Aufgaben ................................................................................................... 117 x 4 Datenbanken und die Sprache SQL.. .................................................. 121 4.1 Datenbanken ............................................................................................. 121 4.2 Datenbankarten ......................................................................................... 125 4.3 Die Datenbanksprache SQL ..................................................................... 126 4.4 Entwicklungsgeschichte von SQL ............................................................ 127 4.5 Einteilung der SQL-Sprachelemente ........................................................ 128 4.6 Katalogsystem von DB2 ............................................................................ 130 4.7 Befehlszeilenprozessor ............................................................................. 131 4.7.1 Datenbankprozessor starten ............................................................. 132 4.7.2 Datenbanken auflisten ......................................................................1 32 4.7.3 Datenbank erstellen .......................................................................... 133 4.7.4 Verbindung zur Datenbank aufbauen ............................................ 133 4.7.5 Verbindung zur Datenbank abbauen .............................................. 134 4.7.6 Datenbank loschen ........................................................................... 134 4.7.7 Datenbankprozessor stoppen ........................................................... 135 4.8 Befehlszentrale ..........................................................................................1 36 4.9 Aufgaben ................................................................................................... 136 5 Die Datendei1nitionssprache von SQL.. .............................................1 37 5.1 Katalog und Schema ................................................................................. 137 5.2 Schemaanweisungen von SQL ................................................................. 138 5.3 Tabelle vereinbaren ..................................................................................1 39 5.4 Datentypen von SQL.. ............................................................................... 143 5.4.1 Numerische Datentypen ................................................................... 146 5.4.2 Zeichendatentypen ............................................................................ 148 5.4.3 Grafische Datentypen .......................................................................1 50 5.4.4 Objektorientierter Datentyp .............................................................. 150 5.4.5 Datums- und Zeitdatentypen ............................................................ 151 5.4.6 Benutzerdefinierte Datentypen ......................................................... 152 XI
Description: