Table Of ContentTHOMAS STUDER
Relationale
Datenbanken
Von den theoretischen Grundlagen zu
Anwendungen mit PostgreSQL
eXamen.press
eXamen.pressisteineReihe,dieTheorieundPraxisausallenBereichenderInformatik
fürdieHochschulausbildungvermittelt.
Thomas Studer
Relationale Datenbanken
Von den theoretischen Grundlagen zu
Anwendungen mit PostgreSQL
ThomasStuder
UniversitätBern
Bern,Schweiz
ISSN1614-5216
eXamen.press
ISBN978-3-662-46570-7 ISBN978-3-662-46571-4 (eBook)
DOI10.1007/978-3-662-46571-4
DieDeutscheNationalbibliothekverzeichnetdiesePublikationinderDeutschenNationalbibliografie;detaillierte
bibliografischeDatensindimInternetüberhttp://dnb.d-nb.deabrufbar.
SpringerVieweg
©Springer-VerlagBerlinHeidelberg2016
DasWerkeinschließlichallerseinerTeileisturheberrechtlichgeschützt.JedeVerwertung,dienichtausdrücklich
vomUrheberrechtsgesetzzugelassenist,bedarfdervorherigenZustimmungdesVerlags.Dasgiltinsbesondere
fürVervielfältigungen,Bearbeitungen,Übersetzungen,MikroverfilmungenunddieEinspeicherungundVerar-
beitunginelektronischenSystemen.
DieWiedergabevonGebrauchsnamen,Handelsnamen,Warenbezeichnungenusw.indiesemWerkberechtigt
auchohnebesondereKennzeichnungnichtzuderAnnahme,dasssolcheNamenimSinnederWarenzeichen-
undMarkenschutz-Gesetzgebungalsfreizubetrachtenwärenunddahervonjedermannbenutztwerdendürften.
DerVerlag,dieAutorenunddieHerausgebergehendavonaus,dassdieAngabenundInformationenindiesem
WerkzumZeitpunktderVeröffentlichungvollständigundkorrektsind.WederderVerlagnochdieAutorenoder
dieHerausgeberübernehmen,ausdrücklichoderimplizit,GewährfürdenInhaltdesWerkes,etwaigeFehleroder
Äußerungen.
GedrucktaufsäurefreiemundchlorfreigebleichtemPapier
Springer-Verlag GmbH Berlin Heidelberg ist Teil der Fachverlagsgruppe Springer Science+Business Media
(www.springer.com)
Vorwort
DieautomatischeInformationsverarbeitungentwickeltesichindenletztenJahrzehntenzu
einemimmerwichtigerenAspektunsererGesellschaft.InvielenBereichendestäglichen
LebensspielendieSpeicherungundderZugriffaufriesigeDatenmengeneinewesentliche
Rolle.SomitbenötigenwirverlässlicheTechnologien,umdieVerarbeitungdieserDaten
effizientundsicherzugewährleisten.
DasrelationaleModellbeschreibteinenklassischenAnsatz,umstrukturierteDatenzu
verwaltenunddabeiKonsistenzundTransaktionssicherheitzugarantieren.DiesesModell
wurdeinrelationalenDatenbanksystemenvielfachundäusserterfolgreichimplementiert.
Ein entsprechend wichtiges Thema sind relationale Datenbanken in der Informatik-
ausbildung. Dieses Buch richtet sind an Studierende der Informatik oder Wirtschaftsin-
formatik an Universitäten und Fachhochschulen, sowie an Software-Entwickler, die mit
relationalenDatenbankenarbeiten.EseignetsichzumSelbststudiumoderalsBegleitskript
fürKurseundVorlesungen.
IndiesemBuchstudierenwirrelationaleDatenbankenausSichtdesAnwendungsent-
wicklersundBenutzers.WirgehenimDetailauffolgendeThemenein:
1. Datenbanktheorie,
2. DesignvonDatenbanken,
3. DatenbankspracheSQL,
4. Abfrageoptimierung,
5. Transaktionsverarbeitung.
Im theoretischen Teil geben wir eine präzise mathematische Beschreibung des rela-
tionalen Modells an und führen die relationale Algebra als formale Abfragesprache ein.
Ausserdemstudierenwir,wieeingegebenesDatenbankschemaindiedritteNormalform
und in die Boyce-Codd Normalform zerlegt werden kann. Meistens verzichten wir aber
darauf,dieangegebenenEigenschaftenzubeweisen.DafürenthältdasBucheineVielzahl
vonausführlichenBeispielen,welchedietheoretischenBegriffepraxisnahillustrieren.
Der praktische Teil bietet eine Einführung in SQL als Query-Sprache aber auch
als Sprache zur Datendefinition und -manipulation. Weiter zeigen wir an konkreten
Beispielen,waseingutesDatenbankdesignausmacht.EbensobehandelnwirdieThemen
v
vi Vorwort
AbfrageoptimierungundTransaktionsverarbeitung.FürallepraktischenAspektebeziehen
wirunsaufdieopen-sourceDatenbankPostgreSQL,wobeiwirauchaktuelleEntwicklun-
gen,wiebeispielsweiseSerializableSnapshotIsolation,behandeln.PostgreSQLundeine
ausführlicheDokumentiondazusindverfügbarunter
www.postgresql.org
ZudiesemBuchgibtesaucheineReihevonBegleitmaterialien,welcheunter
db-buch.inf.unibe.ch
öffentlichzugänglichsind.
Danksagung
Dieses Buch wäre nicht möglich gewesen ohne die Hilfe einer Vielzahl von Personen.
ZuerstmöchteichmichbeiGerhardJägerbedanken.SeinVorlesungsskriptDatenbanken
warmeineInspirationzudiesemBuch.
Ein grosses Dankeschön geht an Karin Abegglen, Dominik Feller, Anna Kaeser und
Johannes Werner. Sie haben eine frühe Version dieses Buches sorgfältig gelesen und
vieleFehlerundUnstimmigkeitenkorrigiert.IchmöchtemichauchbeidenStudentinnen
und Studenten meiner Datenbank-Vorlesung des Frühlingssemesters 2015 bedanken.
Insbesondere Eveline Lehmann, Laurent Schwander, Mathias Stocker und Antonio Tuor
habenmichaufverschiedeneFehleraufmerksamgemachtundThemenangeregt,dieich
nunimBuchbehandle.UndnocheinMercianJasminfürdenSchlusssatz.
Dank auch an alle Mitarbeiterinnen und Mitarbeiter des Springer Verlags, welche
die Produktion dieses Buches ermöglicht haben. Speziell erwähnen möchte ich dabei
HermannEngesser,DorotheaGlaunsingerundLisaNienhaus.
Bern,Schweiz ThomasStuder
August2015
Inhaltsverzeichnis
1 Mengenlehre ....................................................................... 1
1.1 ObjekteundMengen........................................................ 1
1.2 OperationenaufMengen.................................................... 5
1.3 Relationen ................................................................... 6
WeiterführendeLiteratur ........................................................... 8
2 DasRelationenmodell............................................................. 9
2.1 StrukturrelationalerDatenbanken.......................................... 9
2.2 Schlüssel..................................................................... 12
2.3 Integritätsbedingungen...................................................... 16
WeiterführendeLiteratur ........................................................... 21
3 DiagrammeundModellierung................................................... 23
3.1 Diagrammefürm:1-Beziehungen.......................................... 24
3.2 Diagrammefürm:n-Beziehungen.......................................... 26
3.3 Diagrammefür1:1-Beziehungen........................................... 30
3.4 ModellierungkomplexerSysteme.......................................... 35
WeiterführendeLiteratur ........................................................... 40
4 DierelationaleAlgebra ........................................................... 41
4.1 Basisrelationen .............................................................. 41
4.2 Grundoperationen ........................................................... 42
4.3 WeitereOperationen ........................................................ 52
4.4 RelationaleAlgebraalsQuerySprache.................................... 62
4.5 GruppierungundAggregation.............................................. 63
WeiterführendeLiteratur ........................................................... 68
5 SQLAbfragen ..................................................................... 69
5.1 SQLganzkurz............................................................... 69
5.2 EinfacheAbfragen .......................................................... 71
vii
viii Inhaltsverzeichnis
5.3 Subqueries................................................................... 83
5.4 Joins.......................................................................... 85
5.5 AggregationundGruppierung.............................................. 87
5.6 RangAbfragenundWindowFunktionen.................................. 93
5.7 WITHKlauselnundRekursion ............................................. 99
WeiterführendeLiteratur ........................................................... 100
6 SQLzurDatendefinitionundDatenmanipulation............................. 101
6.1 Datenmanipulation.......................................................... 101
6.2 ErstellenvonTabellen....................................................... 105
6.3 DefaultWerte................................................................ 106
6.4 Constraints................................................................... 108
6.5 Kaskadierung................................................................ 109
6.6 ÄndernvonTabellen........................................................ 115
6.7 Views......................................................................... 117
WeiterführendeLiteratur ........................................................... 120
7 Abfrageoptimierung............................................................... 121
7.1 Indizes ....................................................................... 121
7.2 LogischeOptimierung ...................................................... 126
7.3 PhysischeOptimierung ..................................................... 132
WeiterführendeLiteratur ........................................................... 139
8 Mehrbenutzerbetrieb ............................................................. 141
8.1 Transaktionen................................................................ 141
8.2 PhantomeundInkonsistenzen.............................................. 146
8.3 MultiversionConcurrencyControlArchitektur............................ 149
8.4 ImplementierungderIsolationsgrade ...................................... 152
WeiterführendeLiteratur ........................................................... 159
9 Normalformen ..................................................................... 161
9.1 Anomalien................................................................... 161
9.2 FunktionaleAbhängigkeiten................................................ 163
9.3 ZerlegungvonRelationenschemata ........................................ 167
9.4 1NFbisBCNF............................................................... 173
WeiterführendeLiteratur ........................................................... 184
10 BerechnungvonNormalformen ................................................. 185
10.1 Armstrong-Kalkül........................................................... 185
10.2 Hüllenberechnungen ........................................................ 188
10.3 MinimaleÜberdeckungen .................................................. 190
Inhaltsverzeichnis ix
10.4 ZerlegungeninBCNFund3NF............................................ 194
WeiterführendeLiteratur ........................................................... 199
Sachverzeichnis.......................................................................... 201
Description:Dieses Buch bietet eine umfassende Einführung in die Theorie und Praxis relationaler Datenbanken. Es beginnt mit einer mathematisch präzisen Darstellung des relationalen Modells und der relationalen Algebra. Darauf basierend wird die Datenbanksprache SQL vorgestellt und anhand zahlreicher praktisc