Relationale Datenbanken: Grundlagen, Modellierung, Speicherung, Alternativen von Josef Ludwig Staud
Deutsch | 1. März 2015 | ISBN: 3981717511 | 431 Seiten | PDF (True) | 3.85 MB
Deutsch | 1. März 2015 | ISBN: 3981717511 | 431 Seiten | PDF (True) | 3.85 MB
Datenbanken waren noch nie so wichtig. Diese Aussage mag überraschen, angesichts der Bedeutung, die Datenbanken in den letzten 50 Jahren schon gewonnen haben. Sie ist aber, angesichts der Herausbildung einer digitalen Parallelwelt, richtig.
Datenbanken werden überall dort benötigt, wo - im Rahmen der Informatisierung - Informationen "erhalten bleiben sollen". Da dies für so gut wie alle Anwendungs- und Lebensbereiche gilt, ergibt sich eine entsprechende Verbreitung von Datenbanken und ein entsprechender Bedarf an Wissen über Datenbanktechniken.
In einer Zeit aber, in der sich die Weltgesellschaft mit dem Internet eine digitale Parallelwelt geschaffen hat, in der sie privat, geschäftlich, kriminell, in staatlichem Auftrag, usw. aktiv ist, ist dieser Bedarf noch größer geworden. Denn alle diese Netzaktivitäten beruhen auf bzw. führen zu Datenbanken. Natürlich Datenbanken der verschiedensten Art. Netzwerkdaten im Social Web, wo Terabyte von Daten bereits emsig ausgewertet werden; Datenbanken der Suchmaschinen, die letztendlich auf die Technologie der "inverted files" zurückgehehen; "Unstruktierte Daten" der unterschiedlichsten Art, usw. Und die schon altbewährten Relationalen Datenbanken, die einen sehr großen Anteil am Gesamtbestand von Datenbanken halten, v.a. in den Unternehmen.
Um die Relationalen Datenbanken geht es in diesem Buch in erster Linie. Sie sollen umfassend dargestellt werden und auch der Weg zu ihnen: Vom Anwendungsbereich zur konzeptionellen und logischen Datenmodellierung, dann zum Datenbankdesign und zur Einrichtung der Datenbank. Zum Schluss werden noch die physischen Datenstrukturen beschrieben, auf denen die heutigen Speichertechniken beruhen.
Daneben werden aber auch die wichtigsten Alternativen kurz beschrieben. Alternative Datenmodelle (semantische und logische) und alternative Datenbanktechnologien, von dimensionalen Datenbanken über NoSQL-Datenbanken bis zur InMemory-Technologie.
Bezüglich der relationalen Datenbanktheorie sind folgende Themen neu und so anderweitig nicht abgedeckt:
- Die intensive Betrachtung von Mustern in Anwendungsbereichen und in relationalen Datenmodellen(„Semantik sucht Syntax“). Dies sollte die konkrete Datenmodellierung erleichtern.
- Die Erweiterung der Kardinalitäten zur durchgängigen Betrachtung von Min-/Max-Angaben bei relationalen Verknüpfungen („wieviele Teilnehmer mindestens, wieviele höchstens“). Auch dies sollte bei einer modernen Modellierung so sein.
- Die Betrachtung des gesamten Wegs von der Wahrnehmung des Anwendungsbereichs bis zur Erstellung der Datenbank und der physischen Datenorganisation.
- Zahlreiche Beispiele für relationale Datenmodellierung, einige mit Lösungsweg, einige ohne. Dies ist motiviert durch die Erfahrung aus jahrzehntelanger Lehr- und Beratungstätigkeit, dass Datenmodellierung beim Umgang mit Datenbanken die größten Probleme macht und vielerorts nur eingeschränkt beherrscht wird.
1 Einleitung 15
1.1 Aufbau des Buches, Gesamtüberblick 15
1.2 Datenbanken 18
1.3 Logische Datenmodelle, Datenorganisation 20
1.4 Relationale Datenbanksysteme 21
1.5 Die drei Ebenen der ANSI-SPARC - Architektur 24
1.6 Syntax, Semantik, Pragmatik 25
2 Informationen, Daten, Attribute 29
2.1 Informationen, Daten 29
2.2 Klassifizierung von Daten 31
2.3 Zeichen, Zeichenvorrat 33
2.4 Attribute 33
3 Konzeptionelle Modellierung 39
3.1 Anwendungsbereiche 39
3.2 Objekte und Beziehungen erkennen 40
3.3 Klassen bilden 42
3.4 Beispiele 43
3.5 Zusammenfassung 44
4 Relationen bilden 49
4.1 Von Klassen zu Relationen 49
4.2 Eigenschaften und Darstellung von Relationen 51
5 Beziehungen erkennen und einrichten 57
5.1 Beziehungen erkennen 57
5.2 Schlüssel und Fremdschlüssel 60
5.3 Umsetzung von 1:1 61
5.4 Min-/Max-Angaben und "1:1 vertieft" 62
5.5 Umsetzung von 1:n 66
5.6 Umsetzung von n:m 69
5.7 Verknüpfung konkret 72
5.8 Mehrstellige Beziehungen 74
5.9 Integritäten 75
5.10 Schlüssel vertieft 76
6 Zusammenfassung Grundlagen 79
6.1 Erste Schritte 79
6.2 Warum eigentlich flache Tabellen? 80
7 Die erste Normalform (1NF) 85
7.1 Optimierung durch Normalisierung 85
7.2 Definition und Herbeiführung 86
7.3 Tupelvermehrung 87
7.4 Zerlegung nach 1:n 88
7.5 Zerlegung nach n:m 90
7.6 Schlechte Lösungen 95
7.7 Darstellung ganzer Relationaler Datenmodelle 97
7.8 Redundanzen in 1NF-Relationen 100
7.9 Anomalien 102
8 Funktionale Abhängigkeiten 105
8.1 Einführung 105
8.2 Funktionale Abhängigkeit 106
8.3 Schneller Weg zum Erfolg 110
8.4 Einfache und volle FA 113
8.5 Schlüssel (formaler) 115
9 Die zweite Normalform (2NF) 117
9.1 Redundanz trotz 1NF 117
9.2 Definition 119
9.3 Beispiel AUFTRÄGE 119
9.4 Beispiel PROJEKTMITARBEIT 122
9.5 Zerlegung und Zusammengehörigkeit 125
10 Die dritte Normalform (3NF) 127
10.1 Redundanz trotz 2NF 127
10.2 Beispiel Auftragsköpfe 128
10.3 Beispiel Angestellte 129
10.4 Beispiel Aufträge / Artikel / Kunden 131
10.5 Definition 3NF 133
11 Die Boyce-Codd - Normalform (BCNF) 137
11.1 Redundanz trotz 3NF 137
11.2 Beispiel Projektmitarbeit 139
11.3 Definition BCNF 142
11.4 Noch ein Beispiel 142
12 Die vierte Normalform (4NF) 145
12.1 Das Defizit 145
12.2 Beispiel Vorlesungsbetrieb 145
12.3 Mehrwertige Abhängigkeit 148
12.4 Definition 4NF 150
13 Die fünfte Normalform (5NF) 153
13.1 Verbund (Join) und Projektion 153
13.2 N-Zerlegbarkeit 157
13.3 Definition 161
13.4 Regeln für die Erstellung relationaler Datenmodelle 163
14 Muster in Anwendungsbereichen und Modellen 167
14.1 Ähnlichkeit - Generalisierung / Spezialisierung 167
14.2 Einzel- und Typinformation 175
14.3 Enthaltensein - Aggregation 180
14.4 Enthaltensein und Existenzabhängigkeit - Komposition 184
14.5 Beziehungsattribute 188
15 Die Zeit in Datenmodellen und Datenbanken 193
15.1 Zeitlich fixiert oder zeitabhängig 193
15.2 Duplizieren zum Zeitpunkt der Rechnungsstellung 194
15.3 Andere Lösungen 195
16 Modellierungsbeispiele mit Lösungsweg 199
16.1 Rechnungsstellung 199
16.2 Sportverein 209
16.3 PC-Beschaffung 214
16.4 Fachliteratur 220
16.5 Hochschule - Vorlesungsbetrieb 229
16.6 Sprachenverlag 238
17 Weitere Modellierungsbeispiele 249
17.1 Obst 249
17.2 Haushaltsgeräte 251
17.3 Angestellte 253
17.4 Kfz-Werkstatt 257
17.5 WebShop 258
17.6 Zoo 261
18 Von Attributen zu Datentypen 267
18.1 Vielfalt 267
18.2 Die Datentypen von MySQL 271
18.3 Die Datentypen von ORACLE SQL 278
18.4 Die Datentypen von ACCESS 280
18.5 Welcher Datentyp für welches Attribut? 284
19 SQL - Eine Kurzeinführung 287
19.1 Einleitung 287
19.2 Relationen anlegen und löschen 290
19.3 Eingeben von Daten 295
19.4 Abfragen der Daten mit Select 299
19.4.1 Projektion 300
19.4.2 Parameter IN 311
19.5 Gezieltes Löschen und Korrigieren 312
19.6 Maskierung mit LIKE 314
19.7 Funktionen 316
19.8 Verknüpfen von Relationen 323
19.9 Transaktionen 332
20 Vom Zeichen zur Datenbank 343
20.1 Die Ebenen 343
20.2 Übersicht 345
21 Dateitechniken 347
21.1 Datenmodell - Datenbank - Datei 347
21.2 Stapeldateien 348
21.3 Sequenzielle Dateien 349
21.4 Indexsequenzielle Dateien 352
21.5 Direktzugriffsdateien/Hashing 354
22 Speichermedien 357
22.1 Periphere Speicher 357
22.2 Konkrete Speicherung 358
22.3 Magnetische Speicher 358
22.4 Optische Speicher 362
22.5 Elektronische Speicher 367
23 Andere Datenmodelle 373
23.1 Semantische Datenmodelle 373
23.2 Logische Datenmodelle 374
24 Andere Datenbanken 377
24.1 OLTP und OLAP 377
24.2 Dimensionale Datenbanken 379
24.3 Spaltenorientierte Datenbanken 390
24.4 NoSQL-Datenbanken - Überblick 393
24.4.1 Definition 394
24.5 BigData 397
24.5.1 Parallelwelten 397
24.5.2 Ursache 1: Immer mehr Daten in den Rechnernetzen 398
24.5.3 Ursache 2: Internet der Dinge und Industrie 4.0 399
24.5.4 Immenser Speicherbedarf und Vielfalt 401
24.5.5 Volume, Velocity, Variety 402
24.5.6 Skalierbarkeit 402
24.5.7 Parallelisierung mit Hilfe des MapReduce-Frameworks 403
24.6 Konsistenz, CAP-Theorem 404
24.7 Schemafreiheit 406
24.8 Key/Value - Datenbanken 408
24.9 Graphendatenbanken 411
24.10 Dokumentendatenbanken 412
24.11 InMemory - Datenbanksysteme 417
Index 421
Literatur 427
1.1 Aufbau des Buches, Gesamtüberblick 15
1.2 Datenbanken 18
1.3 Logische Datenmodelle, Datenorganisation 20
1.4 Relationale Datenbanksysteme 21
1.5 Die drei Ebenen der ANSI-SPARC - Architektur 24
1.6 Syntax, Semantik, Pragmatik 25
2 Informationen, Daten, Attribute 29
2.1 Informationen, Daten 29
2.2 Klassifizierung von Daten 31
2.3 Zeichen, Zeichenvorrat 33
2.4 Attribute 33
3 Konzeptionelle Modellierung 39
3.1 Anwendungsbereiche 39
3.2 Objekte und Beziehungen erkennen 40
3.3 Klassen bilden 42
3.4 Beispiele 43
3.5 Zusammenfassung 44
4 Relationen bilden 49
4.1 Von Klassen zu Relationen 49
4.2 Eigenschaften und Darstellung von Relationen 51
5 Beziehungen erkennen und einrichten 57
5.1 Beziehungen erkennen 57
5.2 Schlüssel und Fremdschlüssel 60
5.3 Umsetzung von 1:1 61
5.4 Min-/Max-Angaben und "1:1 vertieft" 62
5.5 Umsetzung von 1:n 66
5.6 Umsetzung von n:m 69
5.7 Verknüpfung konkret 72
5.8 Mehrstellige Beziehungen 74
5.9 Integritäten 75
5.10 Schlüssel vertieft 76
6 Zusammenfassung Grundlagen 79
6.1 Erste Schritte 79
6.2 Warum eigentlich flache Tabellen? 80
7 Die erste Normalform (1NF) 85
7.1 Optimierung durch Normalisierung 85
7.2 Definition und Herbeiführung 86
7.3 Tupelvermehrung 87
7.4 Zerlegung nach 1:n 88
7.5 Zerlegung nach n:m 90
7.6 Schlechte Lösungen 95
7.7 Darstellung ganzer Relationaler Datenmodelle 97
7.8 Redundanzen in 1NF-Relationen 100
7.9 Anomalien 102
8 Funktionale Abhängigkeiten 105
8.1 Einführung 105
8.2 Funktionale Abhängigkeit 106
8.3 Schneller Weg zum Erfolg 110
8.4 Einfache und volle FA 113
8.5 Schlüssel (formaler) 115
9 Die zweite Normalform (2NF) 117
9.1 Redundanz trotz 1NF 117
9.2 Definition 119
9.3 Beispiel AUFTRÄGE 119
9.4 Beispiel PROJEKTMITARBEIT 122
9.5 Zerlegung und Zusammengehörigkeit 125
10 Die dritte Normalform (3NF) 127
10.1 Redundanz trotz 2NF 127
10.2 Beispiel Auftragsköpfe 128
10.3 Beispiel Angestellte 129
10.4 Beispiel Aufträge / Artikel / Kunden 131
10.5 Definition 3NF 133
11 Die Boyce-Codd - Normalform (BCNF) 137
11.1 Redundanz trotz 3NF 137
11.2 Beispiel Projektmitarbeit 139
11.3 Definition BCNF 142
11.4 Noch ein Beispiel 142
12 Die vierte Normalform (4NF) 145
12.1 Das Defizit 145
12.2 Beispiel Vorlesungsbetrieb 145
12.3 Mehrwertige Abhängigkeit 148
12.4 Definition 4NF 150
13 Die fünfte Normalform (5NF) 153
13.1 Verbund (Join) und Projektion 153
13.2 N-Zerlegbarkeit 157
13.3 Definition 161
13.4 Regeln für die Erstellung relationaler Datenmodelle 163
14 Muster in Anwendungsbereichen und Modellen 167
14.1 Ähnlichkeit - Generalisierung / Spezialisierung 167
14.2 Einzel- und Typinformation 175
14.3 Enthaltensein - Aggregation 180
14.4 Enthaltensein und Existenzabhängigkeit - Komposition 184
14.5 Beziehungsattribute 188
15 Die Zeit in Datenmodellen und Datenbanken 193
15.1 Zeitlich fixiert oder zeitabhängig 193
15.2 Duplizieren zum Zeitpunkt der Rechnungsstellung 194
15.3 Andere Lösungen 195
16 Modellierungsbeispiele mit Lösungsweg 199
16.1 Rechnungsstellung 199
16.2 Sportverein 209
16.3 PC-Beschaffung 214
16.4 Fachliteratur 220
16.5 Hochschule - Vorlesungsbetrieb 229
16.6 Sprachenverlag 238
17 Weitere Modellierungsbeispiele 249
17.1 Obst 249
17.2 Haushaltsgeräte 251
17.3 Angestellte 253
17.4 Kfz-Werkstatt 257
17.5 WebShop 258
17.6 Zoo 261
18 Von Attributen zu Datentypen 267
18.1 Vielfalt 267
18.2 Die Datentypen von MySQL 271
18.3 Die Datentypen von ORACLE SQL 278
18.4 Die Datentypen von ACCESS 280
18.5 Welcher Datentyp für welches Attribut? 284
19 SQL - Eine Kurzeinführung 287
19.1 Einleitung 287
19.2 Relationen anlegen und löschen 290
19.3 Eingeben von Daten 295
19.4 Abfragen der Daten mit Select 299
19.4.1 Projektion 300
19.4.2 Parameter IN 311
19.5 Gezieltes Löschen und Korrigieren 312
19.6 Maskierung mit LIKE 314
19.7 Funktionen 316
19.8 Verknüpfen von Relationen 323
19.9 Transaktionen 332
20 Vom Zeichen zur Datenbank 343
20.1 Die Ebenen 343
20.2 Übersicht 345
21 Dateitechniken 347
21.1 Datenmodell - Datenbank - Datei 347
21.2 Stapeldateien 348
21.3 Sequenzielle Dateien 349
21.4 Indexsequenzielle Dateien 352
21.5 Direktzugriffsdateien/Hashing 354
22 Speichermedien 357
22.1 Periphere Speicher 357
22.2 Konkrete Speicherung 358
22.3 Magnetische Speicher 358
22.4 Optische Speicher 362
22.5 Elektronische Speicher 367
23 Andere Datenmodelle 373
23.1 Semantische Datenmodelle 373
23.2 Logische Datenmodelle 374
24 Andere Datenbanken 377
24.1 OLTP und OLAP 377
24.2 Dimensionale Datenbanken 379
24.3 Spaltenorientierte Datenbanken 390
24.4 NoSQL-Datenbanken - Überblick 393
24.4.1 Definition 394
24.5 BigData 397
24.5.1 Parallelwelten 397
24.5.2 Ursache 1: Immer mehr Daten in den Rechnernetzen 398
24.5.3 Ursache 2: Internet der Dinge und Industrie 4.0 399
24.5.4 Immenser Speicherbedarf und Vielfalt 401
24.5.5 Volume, Velocity, Variety 402
24.5.6 Skalierbarkeit 402
24.5.7 Parallelisierung mit Hilfe des MapReduce-Frameworks 403
24.6 Konsistenz, CAP-Theorem 404
24.7 Schemafreiheit 406
24.8 Key/Value - Datenbanken 408
24.9 Graphendatenbanken 411
24.10 Dokumentendatenbanken 412
24.11 InMemory - Datenbanksysteme 417
Index 421
Literatur 427