Relationale Datenbanken

Springer-Verlag Berlin Heidelberg GmbH

Andreas Meier

Relationale Datenbanken Leitfaden für die Praxis Vierte, überarbeitete und erweiterte Auflage Mit 80 Abbildungen

Springer

Andreas Meier Universität Fribourg Institut für Informatik Rue Faucigny 2 1700 Fribourg, Schweiz e-mall: [email protected]

Die bisherigen Auflagen erschienen unter dem Titel Relationale Datenbanken - Eine Einführung für die Praxis Die Deutsche Bibliothek - CIP-Einheitsaufnahme Meier, Andreas: Relationale Datenbanken: Leitfaden für die Praxis / Andreas Meier. 4., überarb. und erw. Aufl. ISBN 978-3-540-41468-1 ISBN 978-3-662-09740-3 (eBook) DOI 10.1007/978-3-662-09740-3

Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundes republik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Stratbestimmungen des Urheberrechts gesetzes.

© Springer-Verlag Berlin Heidelberg 1992,1995,1998,2001

Ursprünglich erschienen bei Springer-Verlag Berlin Heidelberg New York 2001 Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, daß solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Umschlaggestaltung: Künkel + Lopka, Heidelberg Satz: Reproduktionsfertige Autorenvorlage Gedruckt auf säurefreiem Papier SPIN: 10793508

45/3142PS - 543210

Für Heiri, Ramani und Tina

Vorwort zur vierten Auflage

Wir alle kennen den sektoralen Strukturwandel, d.h. die längerfristige Verlagerung der Beschäftigung vom Landwirtschaftsbereich über den Produktionssektor hin zu Dienstleistungen und zur Informationsverarbeitung. Bereits heute dominieren die Informationsberufe gegenüber anderen Berufssparten deutlich. Immer mehr Personen beschäftigen sich mit der Produktion, Verarbeitung und Verteilung von Informationen. Das Suchen nach qualifizierten Wirtschaftsinformatikern in vielen europäischen Ländern ist nur ein Zeichen dieser Entwicklung zu einer digitalen Wirtschaft und Informationsgesellschaft. Datenbanksysteme mit ihren Sprach- und Auswertungsfunktionen zählen neben der Kommunikationsinfrastruktur zu den Schlüsseltechnologien der Internet-Ökonomie. Im elektronischen Geschäft benötigen wir webbasierte Produktekataloge für die Informationsphase. Zudem verwenden wir Kundendatenbanken in der Offertstellung, bei der Vertragsverhandlung und bei der Kontraktabwicklung. Auch die Distribution der Produkte überwachen wir mit Online-Datenbanken, unabhängig davon, ob es sich um digitale oder materielle Güter handelt. Das kundenindividuelle Marketing ohne Datenbank oder Data Warehouse ist kaum mehr vorstellbar. Mit der vorliegenden überarbeiteten Auflage wollen wir Ihnen die Grundlagen der relationalen Datenbanktechnologie und das Anwendungspotenzial für Ihre praktische Tätigkeit vermitteln. Die Grobgliederung des Buches haben wir belassen, d.h. wir behandeln die Aufgaben und Pflichten des Datenmanagements, Methoden und Techniken der Datenmodellierung, Datenbanksprachen inklusive Datenschutzaspekte und Integritätsfragen, Umgang mit Altlasten und Restaurierung bestehender Informationssysteme sowie Entwicklungen temporaler oder objektrelationaler Datenbanken. Neu haben wir sämtliche Kapitel den laufenden Entwicklungen angepasst und die Literaturangaben am Ende jedes Kapitels aktualisiert. Zudem haben wir einen Abschnitt über multidimensionale Datenbanken aufgenommen, der den Entwurf mit einem SternSchema sowie den Aufbau und Betrieb eines Data Warehouse illustriert. Um den Praxisbezug und den Nutzen des Buches zu erhöhen, haben wir einen neuen Anhang angefügt: Mit der Anleitung 'Eine Datenbank mit Access erstellen' gelingt es Ihnen, selbständig und nach den Regeln der Kunst eine eigene Datenbank zu entwerfen, sie mit Access zu definieren, Tabellen zu erfassen, Konsistenzregeln wie referentielle Integrität zu formulieren oder Auswertungsfragen mit SQL (Structured Query Language) oder QBE (Query by Example) zu lösen. Mit dieser rezeptartigen Anleitung repetieren Sie nicht nur die Inhalte des Buches, sondern Sie erhalten auch das Vertrauen, ohne fremde Hilfe eine kleinere Datenbankanwendung zu konzipieren und zu betreiben.

vm

Vorwort

Die Einführung in die relationale Datenbankwelt steht und fällt mit dem Grad der Übereinstimmung mit Ihren Bedürfnissen aus der Praxis. Gerne erwarten wir Ihre Anregungen und Ihr Feedback zur vorliegenden Auflage. Am besten schreiben Sie uns per e-Mail IhreKritikundVerbesserungswü[email protected]. Wtr werden uns auch in der nächsten Auflage bemühen, Ihre Anliegen zu berücksichtigen. An dieser Stelle möchte ich mich bei meiner Forschungsgruppe, die mit kritischem Auge die Veränderungen des Buches verfolgt, ganz herzlich bedanken. Ein besonderes Dankeschön geht an Gitta Marchand und Stefan Hüsemann; sie haben wichtige Inhalte des Leitfadens für die Access-Datenbankentwicklung formuliert. Ein Kompliment richte ich an den Springer-Verlag und an Hans Wössner für die angenehme Zusammenarbeit. Er hat angeregt, das Buch aufgrund des Erfolges im deutschsprachigen Raum auch beim Springer-Verlag in Paris herauszugeben. Die vierte Auflage wird somit in Deutsch und in Französisch erscheinen. Fribourg, im November 2000

Andreas Meier

Vorwort zur dritten Auflage Die positive Aufnahme der beiden ersten Auflagen des Fachbuches haben mich veranlasst, einige inhaltliche Ergänzungen anzubringen und das Literaturverzeichnis nachzuführen. Das Einführungskapitel habe ich um organisatorische und betriebliche Aspekte eines Datenmanagements ergänzt. Kapitel 2 habe ich bezüglich der unternehmensweiten Datenmodellierung angepasst. Die Formulierung von deldarativen und prozeduralen Integritätsbedingungen ist neu in Kapitel 3 aufgenommen worden. Das für die Praxis relevante Thema zur Migration von Datenbankanwendungen habe ich stark ausgebaut und aktualisiert. Ihrem vielseitigen Wunsch nach Übungsaufgaben habe ich mit einem Repetitorium im Anhang entsprochen. Dabei erfahren Sie unter anderem, wie man technische Objekte in einer relationalen Datenbank abspeichem kann. Nun wünsche ich Ihnen viel Spass bei der Lektüre und freue mich auf weitere Anregungen. Für die speditive und angenehme Zusammenarbeit mit dem Springer-Verlag möchte ich mich bei Hans Wössner herzlich bedanken. Kastanienbaum, im August 1997

Andreas Meier

Vorwort IX

Vorwort zur ersten Auflage Viele Unternehmen der Wirtschaft und der öffentlichen Hand haben die Zeichen der Zeit erkannt und stellen ihre Informationssysteme auf ein neues Fundament. Sie legen eiti unternehmensweites Datenmodell fest, bauen relationale Datenbanken auf und setzen entsprechende Entwicklungs- und Auswertungswerkzeuge ein. Die vorliegende Fachbroschüre zeigt das gesamte Anwendungsspektrum vom relationalen Datenbankentwurf bis hin zur Entwicklung von postrelationalen Datenbankmanagementsystemen im Überblick und praxisnah auf. Als fundierte Einführung in das Gebiet der relationalen Datenbankmanagementsysteme ermöglicht sie dem interessierten Datenverarbeitungs-Praktiker, - bei der Datenmodellierung und in der Datenbankentwurfsmethodik das Relationenmodell anzuwenden, - relationale Abfrage- und Manipulationssprachen kennenzulernen und auch einzusetzen, - die automatischen Abläufe und Techniken innerhalb eines relationalen Datenbanksystems zu verstehen, - die Stärken und Schwächen relationaler Technologie zu erkennen, in seine Überlegungen miteinzubeziehen und künftige Entwicklungen einigermassen richtig abzuschätzen. Die Broschüre richtet sich ausser an DV-Praktiker auch an Ausbildungsverantwortliche von Unternehmen, an Dozenten, Schüler und Studenten an Fachhochschulen und Berufsakademien sowie an alle, die eine praxisbezogene Einführung in die relationale Datenbanktechnik suchen. Im Zentrum stehen wichtige Begriffe, die zwar vielerorts gebraucht, jedoch selten richtig verstanden und angewendet werden. illustriert wird die Broschüre durch eine grosse Anzahl von einfachen, meist selbsterklärenden Abbildungen. Ein gezielt zusammengestelltes Literaturverzeichnis verweist den interessierten Leser auf weiterführende Publikationen, die einen vertieften Einblick in die angeschnittenen Themenkreise bieten. Diese Einführung geht die relationale Datenbanktechnologie von verschiedenen Blickwinkeln an. Sie erläutert Entwurfsmethoden und Sprachaspekte ebenso wie wichtige Architekturkonzepte relationaler Datenbanksysteme. Auf eine Beschreibung spezifischer Herstellerprodukte wird verzichtet, um. den grundlegenden Methoden und Techniken mehr Platz einzuräumen und das Verständnis beim Benutzen relationaler Datenbanken zu fördern. Somit schliesst diese Veröffentlichung eine Lücke in der praxisbezogenen Fachliteratur. Die Fachbroschüre ist im Rahmen eines firmeninternen Ausbildungsprogrammes entstanden, ergänzt durch Diskussionsbeiträge aus der eigenen Vorlesungsrunde "Praxis relationaler Datenbanken" an der ETH in Zürich. Viele Fachkollegen und -kolleginnen aus

X

Vorwort

Praxis und Hochschule haben dazu beigetragen, den Text verständlicher und die Abbildungen anschaulicher zu gestalten. Mein Dank richtet sich an Eirik Danielsen, Bemardin Denzel, Erinnerich Fuchs, Carotine Grässle-Mutter, Michael Hofmann, Günther 1akobitsch, Hans-Peter 100s, Klaus Küspert, Thomas Myrach, Michel Patcas, Emst-Rudolf Patzke, Thomas Rätz, Wemer Schaad, August Scherrer, Walter Schnider, Max Vetter und Gerhard Weikum. Urs Bebler danke ich für die spontane Bereitschaft, die ursprünglichen Kursunterlagen in Buchform herauszugeben. Ein besonderes Kompliment richte ich an Peter Gasche als kritischen Gutachter, der das Skriptum sprachlich sorgfältig bearbeitet hat. Dem Springer-Verlag, vor allem Hans Wössner, danke ich für viele praktische Hinweise. Liestal, im Oktober 1991

Andreas Meier

Inhaltsverzeichnis

1.

Der Weg zum Datenmanagement

1.1 1.2 1.3 1.4 1.5

Grundbegriffe des ReJationenmodelIs ...................................................... . Die international standardisierte Sprache SQL ....................................... . Die Komponenten eines relationalen Datenbanksystems ....................... . Zur Organisation des Datenbankeinsatzes .............................................. . Bemerkungen zur Literatur .. .................................................................... .

2.

Schritte zur Datenmodellierung

2.1

Von der Datenanalyse zur Datenbank ...................................................... .

13

2.2

16 16

2.2.2 2.2.3

Das Entitäten-Beziehungsmodell ............................................................... . Entitäten und Beziehungen .. ...................................................................... . Assoziationstypen ....................................................................................... . GeneraJisation und Aggregation ................................................................ .

2.3 2.3.1 2.3.2 2.3.3

Das relationale Datenbankschema ............................................................. . ÜberfUhren des Entitäten-BeziehungsmodelIs ......................................... . Abbildungsregeln. fiir Beziehungsmengen .............................................. . Abbildungsregeln. fiir GeneraJisation und Aggregation .......................... .

2.4 2.4.1 2.4.2 2.4.3 2.4.4

Abhängigkeiten und Normalformen ......................................................... . Sinn und Zweck von Normalformen ....................................................... . Funktionale Abhängigkeiten .................................................................... . Transitive Abhängigkeiten ......................................................................... . Mehrwertige Abhängigkeiten .................................................................... .

41

2.5

Strukturelle Integritätsbedingungen .......................................................... .

44

2.6

Ein unternehmensweites Datenmodell ist nötig ....................................... .

47

2.7

Rezept zum Datenbankentwurf ............................................................... .

50

2.8

Bibliographische Angaben ....................................................................... .

52

2.2.1

1 4

7 9 12

18 20

23 23 26 31

34 34 36 39

xn

Inhaltsverzeichnis

3.

Abfrage- und Manipulationssprachen

3.1

Benutzung einer Datenbank ...................................................................... .

55

3.2 3.2.1 3.2.2 3.2.3

GruncUagen der ReJationenalgebra ............................................................ . Zusammenstellung der Operatoren ......................................................... . Die mengenorientierten Operatoren .. ...................................................... . Die re1ationenorientierten Operatoren ..................................................... .

57 57 59

62

3.3

ReJational voßständige Sprachen .............................................................. .

68

3.4 3.4.1 3.4.2 3.4.3

Übersicht über reJationale Sprachen ........................................................ . SQL ............................................................................................................ . QUEL ........................................................................................................ . QBE ........................................................................................................... .

70 70 72 74

3.5

Eingebettete Sprachen ............................................................................. .

77

3.6

Behandlung von Nunwerten ..................................................................... .

78

3.7

Datenschutzaspekte .................................................................................. .

80

3.8

Formulierung von Integritätsbedingungen ............................................. .

83

3.9

Bibliographische Angaben .............................. ,......................................... .

86

4.

Elemente der Systemarchitektur

4.1

WJSSenswertes über die Systemarchitektur ........................................... .

87

4.2 4.2.1 4.2.2 4.2.3

Übersetzung und Optimierung ............................................................... . Erste11en eines Anfragebaumes ............................................................... . Optimierung durch algebraische Umformung ..... ................................. . Berechnen des Verbundoperators .......................................................... .

90 90

4.3 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5

Mehrbenutzerbetrieb ............................................................................... . Der Begriff der Transaktion ................................................................. . Serialisierbarkeit .................................................................................... . Pessimistische Verfahren ........................................................................ . Optimistische Verfahren ......................................................................... . Vermeidung von Verklemmungen ........................................................ .

98 98

100 103 107 109

4.4 4.4.1 4.4.2 4.4.3

Speicher- und Zugriffsstrukturen .......................................................... . Baumstrukturen ....................................................................................... . Hash-Verfuhren ........................................................................................ . Mehrdimensionale Datenstrukturen ........................................................ .

111 111 114 116

92

95

Inhaltsverzeichnis

xm

4.5

Fehlerbehandlung ...................................................................................... .

120

4.6

Die Systemarchitektur im Detail ............................................................... .

122

4.7

Bibliographische Angaben ........................................................................ .

124

5.

Migrationswege rür relationale Datenbanken

5.1

Zum Wechsel eines Datenbanksystems ................................................... .

125

5.2

Die Erblast herkömmlicher Datenbanksysteme ..... ................................ .

127

5.3 5.3.1 5.3.2

5.3.3

Abbildungsregeln fiir die Datenmigration .............................................. . Abbildungen für einfache Entitätsmengen u. Wtederholungsgruppen .. Abbildungen für abhängige Entitätsmengen ........................................... . Indirekte Abbildungen fiir die Datenmigration ..................................... .

130 130 132 136

5.4 5.4.1 5.4.2 5.4.3

Migrationsvarianten für heterogene Datenbanken ................................. . Konversion von Datenbanken und Anwendungsprogrammen ............ . Transformation von Datenbankaufrufen ................................................. . Systemkonforme Spiegelung von Datenbanken ..................................... .

139 139 141 143

5.5

Grundsätze der Migrationsplanung ........................................................ .

145

5.6

Literaturhinweise ..................................................................................... .

148

6.

Postrelationale Datenbanksysteme

6.1 6.2 6.3

Weiterentwicklung - weshalb und wohin? .............................................. . Verteilte Datenbanken .. ............................................................................ . Temporale Datenbanken ..... ..................................................................... . Objektrelationale Datenbanken ............................................................... . Muhidimensionale Datenbanken ............................................................ .. WJSSensbasierte Datenbanken ............................................................... ... . Literatur zur Forschung und Entwicklung ............................................. .

149 150

Repetitorium ............................................................................................................ Eine Datenbank mit Access erstellen ................................................................. Glossar...................................................... ................................................................ Fachbegriffe englisch/deutsch ............................................................................ Literaturverzeichnis .............................................................................................. Stichwortverzeichnis .............................................................................................

175 185 205 211 215 221

6.4 6.5

6.6 6.7

155

158 163

168 172