Logout succeed
Logout succeed. See you again!

Grundkurs relationale Datenbanken : eine grundlegende Einführung in die Praxis der Datenbankentwicklung für Ausbildung, Studium und Beruf PDF
Preview Grundkurs relationale Datenbanken : eine grundlegende Einführung in die Praxis der Datenbankentwicklung für Ausbildung, Studium und Beruf
Leserstimmen zu vorangegangenen Auflagen: „Pragmatische Bearbeitung und Darstellung ohne theore- tische Schnörkel – ausgezeichnet, trifft in Formulierung und Themenauswahl den praktisch orientierten Studenten. Dieses Buch hält, was der Titel verspricht.“ Dr. Wolfgang Riggert, FH Flensburg „Dieses Buch werde ich meinen Studenten empfehlen, weil es exakt den Stoff meiner Vorlesung „Datenbanken“ abdeckt. Das Buch stellt eine praxisgerechte Einführung in das Gebiet der Datenbanken ohne Theorieballast dar.“ Prof. Dr. Peter Liell, FH Kaiserslautern „Klar, nüchterne Darstellung die gleichzeitig den „Erfahrungs- schatz“ des Autors wieder spiegelt. Dieses Buch werde ich meinen Studenten empfehlen, weil es über das Studium hin- ausgehende, für die Praxis wichtige Informationen enthält.“ Prof. Dr. Stefan Hessel, FH München „Dieses Buchist als Einsteigerbuch für Ingenieure hervor- ragend geeignet.“ Prof. Dr. Klaus Dürrschnabel, FH Karlsruhe „Verständliche Grundlagendarstellung, praxisnah – sehr brauchbar für den Einstieg in die Thematik.“ Hennig Klein, FH OOW „Gut dargestellt – angenehm zu lesen – Grundlagen passend vermittelt.“ Prof. Dr. Achim Gottscheber, FH Heidelberg Dieses Buch werde ich meinen Studenten empfehlen, weil es eine sehr gut verständliche und nachvollziehbare Einführung liefert.“ Prof. Dr.-Ing. Eckhard Scholz, HTWK Leipzig Aus dem Bereich IT erfolgreich lernen Lexikon für IT-Berufe Grundkurs Verteilte Systeme von Peter Fetzer und Bettina Schneider von Günther Bengel Grundkurs IT-Berufe Grundkurs Mobile Kommunikationssysteme von Andreas M. Böhm und Bettina Jungkunz von Martin Sauter Java für IT-Berufe Grid Computing von Wolf-Gert Matthäus von Thomas Barth und Anke Schüll Prüfungsvorbereitung für IT-Berufe Grundkurs Wirtschaftsinformatik von Manfred Wünsche von Dietmar Abts und Wilhelm Mülder Grundlegende Algorithmen Grundkurs Theoretische Informatik von Volker Heun von Gottfried Vossen und Kurt-Ulrich Witt Algorithmen für Ingenieure – realisiert mit Anwendungsorientierte Visual Basic Wirtschaftsinformatik von Harald Nahrstedt von Paul Alpar, Heinz Lothar Grob, Peter Weimann Grundkurs Programmieren mit Delphi und Robert Winter von Wolf-Gert Matthäus Business Intelligence – Grundlagen Grundkurs Visual Basic und praktische Anwendungen von Sabine Kämper von Hans-Georg Kemper, Walid Mehanna und Carsten Unger Visual Basic für technische Anwendungen von Jürgen Radel IT-Projekte strukturiert realisieren von Ralph Brugger Grundkurs Smalltalk – Objektorientierung von Anfang an Grundkurs Geschäftsprozess-Management von Johannes Brauer von Andreas Gadatsch GrundkursSoftware-Entwicklung mit C++ Prozessmodellierung mit ARIS® von Dietrich May von HeinrichSeidlmeier Programmieren lernen mit Java Logistikprozesse mit SAPR/3® von Erwin Merker und Roman Merker von Jochen Benz und Markus Höflinger Grundkurs JAVA ITIL kompakt und verständlich von Dietmar Abts von Alfred Olbrich Aufbaukurs JAVA BWL kompakt und verständlich von Dietmar Abts von Notger Carl, Rudolf Fiedler, William Jórasz und Manfred Kiesel Grundkurs Java-Technologien von Erwin Merker GrundkursMediengestaltung von David Starmann Java ist eine Sprache von Ulrich Grude Grundkurs Web-Programmierung von Günter Pomaska Middleware in Java von Steffen Heinzl und Markus Mathes Web-Programmierung von Oral Avcı, Ralph Trittmann und Werner Mellis Grundkurs Computergrafik mit Java von Frank Klawonn Grundkurs MySQL und PHP von Martin Pollakowski Masterkurs Computergrafik und Bildverarbeitung Grundkurs SAP R/3® von Alfred Nischwitz und Peter Haberäcker von André Maassen, Markus Schoenen, Detlev Frick und Andreas Gadatsch Das Linux-Tutorial – Ihr Weg zum LPI-Zertifikat Controlling mit SAP® von Helmut Pils von Gunther Friedl, Christian Hilz und Burkhard Pedell Rechnerarchitektur vonPaul Herrmann SAP®-gestütztes Rechnungswesen von Andreas Gadatsch und Detlev Frick Grundkurs Datenbankentwurf von Helmut Jarosch Kostenträgerrechnung mit SAPR/3® von Franz Klenger und Ellen Falk-Kalms Datenbank-Engineering von Alfred Moos Masterkurs Kostenstellenrechnung mit SAP® von Franz Klenger und Ellen Falk-Kalms Grundkurs Datenbankentwicklung von Stephan Kleuker Masterkurs IT-Controlling von Andreas Gadatsch und Elmar Mayer Grundlagen der Rechnerkommunikation von Bernd Schürmann Grundkurs Codierung von Wilfried Dankmeier Netze – Protokolle – Spezifikationen von Alfred Olbrich Grundkurs Relationale Datenbanken von René Steiner Grundkurs Computernetze von Jürgen Scherff www.vieweg.de René Steiner Grundkurs Relationale Datenbanken Eine grundlegende Einführung in die Praxis der Datenbankentwicklung für Ausbildung, Studium und Beruf 6., überarbeitete und erweiterte Auflage Mit 165 Abbildungen Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über <http://dnb.ddb.de> abrufbar. Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendei- ner Art verbunden. Der Autor übernimmt infolgedessen keine Verantwortung und wird keine daraus fol- gende oder sonstige Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieses Programm- Materials oder Teilen davon entsteht. 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 wären und daher von jedermann benutzt werden dürfen. Höchste inhaltliche und technische Qualität unserer Produkte ist unser Ziel. Bei der Produktion und Auslieferung unserer Bücher wollen wir die Umwelt schonen: Dieses Buch ist auf säurefreiem und chlorfrei gebleichtem Papier gedruckt. Die Einschweißfolie besteht aus Polyäthylen und damit aus organischen Grundstoffen, die weder bei der Herstellung noch bei der Verbrennung Schadstoffe freisetzen. 1.Auflage 1994 2. Auflage1996 3. Auflage 1999 4. Auflage2000 Diese Auflagen erschienen unter dem Titel „Theorie und Praxis relationaler Datenbanken“ 5. Auflage 2003 6., überarbeitete und erweiterte Auflage Oktober 2006 Alle Rechte vorbehalten ©Friedr.Vieweg & Sohn Verlag | GWV Fachverlage GmbH, Wiesbaden 2006 Lektorat: Günter Schulz /Andrea Broßler Der Vieweg-Verlag ist ein Unternehmen von Springer Science+BusinessMedia. www.vieweg.de Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Ein- speicherung und Verarbeitung in elektronischen Systemen. Konzeption und Layout des Umschlags: Ulrike Weigel, www.CorporateDesignGroup.de Umschlagbild: Nina Faber de.sign, Wiesbaden Druck-und buchbinderische Verarbeitung: MercedesDruck, Berlin Printed in Germany ISBN-10 3-8348-0163-1 ISBN-13 978-3-8348-0163-0 Vorwort Für die 6. Auflage dieses Buches wurde vor allem der Theorie- teil im Kapitel 3 ausgebaut. Ich habe damit den Wünschen vie- ler Lehrkräfte entsprochen, die dieses Buch als Unterrichtsmit- tel an den Schulen einsetzen. Es wird nun klar zwischen dem konzeptionellen und dem physischen Datenmodell unterschie- den. Zudem wurden die Definitionen angepasst und kompli- zierte Sachverhalte mit zusätzlichen Beispielen erklärt. Trotz- dem ist das Buch übersichtlich und verständlich geblieben und konzentriert sich weiterhin klar auf den Praktiker, der mit dem Wissen über die Datenmodellierung praxistaugliche Daten- bankapplikationen entwickeln möchte. Die beschriebene Methodik wurde in den letzten drei Jahren genau so bei der Entwicklung der Datenbankapplikation „val- Formex“ (www.valformex.com) angewandt. Es handelt sich dabei um eine Software für Forschung und Entwicklung, die meine Firma für die chemische Industrie programmiert hat. Dieses Programm wird seit November 2005 vermarktet, und die größte Installation hat zurzeit weltweit 200 Benutzer in vier Ländern, darunter die USA. Weitere Anbindungen von China und Brasilien sind in Vorbereitung. Die zugrunde liegende, zentrale Datenbank umfasst dabei etwa 330 Tabellen. Im Ver- gleich dazu besitzt das größte von mir realisierte Data Ware- house „nur“ gerade 100 Tabellen. Das Buch wurde zudem auch optisch aufgewertet, indem wichtige Textpassagen, Kernaussagen und Beispiele mit blauer Farbe hervorgehoben wurden. Zum Buch gibt es einen Online-Service mit allfälligen Korrek- turen, Beispieldatenbanken, zusätzlichen Aufgaben mit Lösun- gen und allen Abbildungen zum Download. Die URL-Adresse lautet: http://homepage.sunrise.ch/mysunrise/rene.steiner Für Fragen bin ich unter [email protected] erreichbar. Ich wünsche Ihnen beim Studium dieses Buches viel Erfolg, in- teressante Erkenntnisse und den Durchblick im Datendschun- gel. Der Autor März 2006 René Steiner Inhaltsverzeichnis 1 Einführung.................................................................................................1 1.1 Hinweise zur Verwendung dieses Buches.......................................2 1.2 Online-Service....................................................................................3 2 Allgemeines über Datenbanken.............................................................5 2.1 Definition und Aufgaben..................................................................5 2.2 Datenbank-Grundsätze......................................................................5 2.3 Bestandteile einer Datenbank...........................................................6 2.4 Datenbankmodelle............................................................................8 2.5 Fragen und Aufgaben zu Kapitel 2.................................................13 3 Datenbanktheorie...................................................................................15 3.1 Das Globale ER-Modell...................................................................15 3.1.1 Erklärung der wichtigsten Begriffe.....................................16 3.1.2 Beziehungen........................................................................18 3.1.2.1 Die 1-1-Beziehung................................................24 3.1.2.2 Die 1-c-Beziehung................................................26 3.1.2.3 Die 1-m-Beziehung...............................................28 3.1.2.4 Die 1-mc-Beziehung.............................................29 3.1.2.5 Die c-c-Beziehung................................................30 3.1.2.6 Die c-m-Beziehung...............................................34 3.1.2.7 Die c-mc-Beziehung.............................................36 3.1.2.8 Die m-m-Beziehung.............................................38 3.1.2.9 Die m-mc-Beziehung............................................41 3.1.2.10 Die mc-mc-Beziehung..........................................43 3.1.2.11 Rekursive Beziehungen........................................46 3.1.2.12 Mehrfachbeziehungen..........................................50 3.1.2.13 Optionale Beziehungen.......................................53 3.1.3 Generalisierung/Spezialisierung.........................................54 3.1.3.1 Zugelassene Überlappung...................................55 3.1.3.2 Vollständige Überdeckung...................................57 3.1.3.3 Überlappung nicht zugelassen.............................59 3.1.4 Programmierhinweise.........................................................62 VIII Inhaltsverzeichnis 3.2 Der Normalisierungsprozess...........................................................63 3.2.1 Abhängigkeiten...................................................................64 3.2.2 Die 1. Normalform..............................................................68 3.2.3 Die 2. Normalform..............................................................70 3.2.4 Die 3. Normalform..............................................................72 3.2.5 Höhere Normalformen (Globale Normalisierung).............75 3.2.6 Optimale Normalformen.....................................................77 3.3 Strukturregeln..................................................................................78 3.4 Der logische Entwurfsprozess.........................................................81 3.4.1 Aufgabenstellung.................................................................82 3.4.2 Bildung von Entitätsmengen...............................................83 3.4.3 Festlegen der Beziehungen................................................83 3.4.4 Definition von Identifikationsschlüsseln............................84 3.4.5 Globale Normalisierung......................................................85 3.4.6 Lokal-Attribute.....................................................................89 3.4.7 Konsistenzbedingungen......................................................91 3.4.8 Transaktionen definieren....................................................93 3.4.9 Zusammenfassung.............................................................100 3.5 Datenintegrität...............................................................................101 3.5.1 Datenkonsistenz................................................................102 3.5.2 Datensicherheit..................................................................102 3.5.3 Datenschutz.......................................................................103 3.6 Fragen und Aufgaben zu Kapitel 3...............................................104 4 Datenbankentwicklung.......................................................................107 4.1 Ablauf.............................................................................................108 4.2 Projektorganisation........................................................................108 4.3 Pflichtenheft erarbeiten.................................................................109 4.4 Datenbasis entwerfen....................................................................111 4.5 Zugriffsberechtigungen definieren...............................................112 4.6 Datenbasis implementieren...........................................................113 4.6.1 Tabellen generieren..........................................................114 4.6.2 Tabellen indizieren / Beziehungen implementieren.......115 Inhaltsverzeichnis IX 4.6.3 Zugriffsberechtigungen erteilen........................................118 4.7 Applikationssoftware erstellen......................................................122 4.7.1 Benutzermasken erstellen.................................................122 4.7.2 Transaktionen programmieren.........................................124 4.7.3 Programmieraufwand........................................................126 4.7.4 Dokumentation..................................................................128 4.8 Reports entwickeln........................................................................128 4.9 Menüsystem aufbauen...................................................................129 4.10 Benutzer schulen...........................................................................131 4.11 Weitere Entwicklungsmethoden...................................................131 4.12 Mehrschichtige Systemarchitekturen............................................132 4.12.1 Fat-Client-Architektur (2-schichtig)...................................133 4.12.2 Thin-Client-Architektur (2-schichtig)................................134 4.12.3 3-tier-Architektur (3-schichtig)..........................................135 4.12.4 n-tier-Architektur (n-schichtig).........................................136 4.12.5 Die Wahl der Systemarchitektur.......................................137 4.13 Praktische Erfahrungen von der Front.........................................139 4.13.1 Das Projektteam oder der Faktor Mensch........................139 4.13.2 Das geniale Konzept oder 2-tier, 3-tier, Untier................140 4.13.3 Das Netzwerk - Chaos total oder hört mich jemand?......141 4.13.4 Automatische Softwareverteilung oder russisches Roulette..............................................................................142 4.13.5 Die wunderbare Welt der EDV oder nichts passt zusammen..........................................................................143 4.13.5.1 Datentypen, Beziehungen oder Wunsch- traum Standardisierung......................................144 4.13.5.2 Alles doppelt oder was?.....................................145 4.13.5.3 Zugriff verweigert oder Administrieren ohne Ende...........................................................146 4.13.6 Hintertüren oder Narrenmatt des Administrators............150 4.13.7 Selbsternannte Experten oder warum es alle besser wissen................................................................................151 X Inhaltsverzeichnis 4.13.8 Reorganisationen oder 0 Grad Kelvin, der totale Stillstand.............................................................................153 4.13.9 Die Dokumentation oder kein Schwein schaut rein.......154 4.13.10Die Kostenschätzung oder der Einzug der Esoterik........155 4.13.11Das Anforderungsprofil oder fertig lustig........................159 4.14 Schlussbemerkung.........................................................................161 4.15 Fragen und Aufgaben zu Kapitel 4 (ohne 4.13)..........................162 5 Der Datenbankbetrieb.........................................................................163 5.1 Laufende Arbeiten.........................................................................163 5.1.1 Datensicherung..................................................................163 5.1.2 Speicherverwaltung...........................................................164 5.1.3 Systemüberwachung / Optimierung................................165 5.1.4 Zugriffskontrolle................................................................165 5.1.5 Benutzerverwaltung..........................................................166 5.2 Aufgaben des DBA........................................................................166 5.2.1 Systembetreuung und -überwachung..............................167 5.2.2 Systemänderungen............................................................168 6 Einführung in SQL................................................................................171 6.1 Datendefinition..............................................................................172 6.1.1 Tabellen erstellen..............................................................172 6.1.2 Tabellen ändern................................................................174 6.1.3 Tabellenattribute indizieren..............................................175 6.1.4 Beziehungen verwalten....................................................177 6.1.5 Tabellen löschen...............................................................179 6.2 Datenmanipulation........................................................................179 6.2.1 Datensätze (Tupel) einfügen............................................179 6.2.2 Datensätze (Tupel) nachführen........................................180 6.2.3 Datensätze (Tupel) löschen..............................................181 6.3 Datenabfrage (Query)...................................................................182 6.3.1 Einfache Abfragen.............................................................183 6.3.2 Abfragen mit Bedingungen...............................................185 6.3.3 Datensätze sortieren..........................................................187 Inhaltsverzeichnis XI 6.3.4 Datensätze gruppieren......................................................189 6.3.5 Verschachtelte Abfragen (Subqueries).............................190 6.3.6 Tabellen verknüpfen (Joining).........................................192 6.4 Datenschutz...................................................................................195 6.5 Transaktionen................................................................................199 7 Lösungen zu den Aufgaben.................................................................205 ANHANG......................................................................................................213 A Mustertabellen zur Kursverwaltung..............................................213 B Datenbasis einrichten....................................................................216 B1 Benutzer einrichten...........................................................216 B2 Tabellen definieren...........................................................216 B3 „Views“ (Sichten) definieren.............................................217 B4 Zugriffsberechtigungen erteilen........................................218 B5 Synonyme vergeben..........................................................219 B6 Indizes definieren..............................................................220 C Notation für praxisorientierte Datenmodelle...............................221 Abbildungsverzeichnis.............................................................................223 Literaturverzeichnis..................................................................................229 Sachwortverzeichnis.................................................................................231