Vorwort |
|||||||||||||||||||||||||||||||||||||
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. |
Informatisierung |
||||||||||||||||||||||||||||||||||||
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. |
Immer mehr Datenbanken |
||||||||||||||||||||||||||||||||||||
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. |
Der ganze Weg |
||||||||||||||||||||||||||||||||||||
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: |
|||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||
Prof. Dr. Josef Ludwig Staud |
|||||||||||||||||||||||||||||||||||||
Inhaltsverzeichnis der Textversion |
|||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||
Inhalt |
|||||||||||||||||||||||||||||||||||||
Vorwort, Inhalt, Abkürzungen. III |
|||||||||||||||||||||||||||||||||||||
1 Einleitung. 11 |
|||||||||||||||||||||||||||||||||||||
1.1 Aufbau des Buches, Gesamtüberblick. 11 |
|||||||||||||||||||||||||||||||||||||
1.2 Datenbanken. 14 |
|||||||||||||||||||||||||||||||||||||
1.3 Logische Datenmodelle, Datenorganisation. 16 |
|||||||||||||||||||||||||||||||||||||
1.4 Relationale Datenbanksysteme. 17 |
|||||||||||||||||||||||||||||||||||||
1.5 Die drei Ebenen der ANSI-SPARC - Architektur 20 |
|||||||||||||||||||||||||||||||||||||
1.6 Syntax, Semantik, Pragmatik. 20 |
|||||||||||||||||||||||||||||||||||||
2 Informationen, Daten, Attribute. 25 |
|||||||||||||||||||||||||||||||||||||
2.1 Informationen, Daten. 25 |
|||||||||||||||||||||||||||||||||||||
2.2 Klassifizierung von Daten. 27 |
|||||||||||||||||||||||||||||||||||||
2.3 Zeichen, Zeichenvorrat 29 |
|||||||||||||||||||||||||||||||||||||
2.4 Attribute. 29 |
|||||||||||||||||||||||||||||||||||||
3 Konzeptionelle Modellierung. 35 |
|||||||||||||||||||||||||||||||||||||
3.1 Anwendungsbereiche. 35 |
|||||||||||||||||||||||||||||||||||||
3.2 Objekte und Beziehungen erkennen. 36 |
|||||||||||||||||||||||||||||||||||||
3.3 Klassen bilden. 38 |
|||||||||||||||||||||||||||||||||||||
3.4 Beispiele. 39 |
|||||||||||||||||||||||||||||||||||||
3.5 Zusammenfassung. 40 |
|||||||||||||||||||||||||||||||||||||
4 Relationen bilden. 45 |
|||||||||||||||||||||||||||||||||||||
4.1 Von Klassen zu Relationen. 45 |
|||||||||||||||||||||||||||||||||||||
4.2 Eigenschaften und Darstellung von Relationen. 47 |
|||||||||||||||||||||||||||||||||||||
5 Beziehungen erkennen und einrichten. 53 |
|||||||||||||||||||||||||||||||||||||
5.1 Beziehungen erkennen. 53 |
|||||||||||||||||||||||||||||||||||||
5.2 Schlüssel und Fremdschlüssel 56 |
|||||||||||||||||||||||||||||||||||||
5.3 Umsetzung von 1:1. 57 |
|||||||||||||||||||||||||||||||||||||
5.4 Min-/Max-Angaben und "1:1 vertieft". 58 |
|||||||||||||||||||||||||||||||||||||
5.5 Umsetzung von 1:n. 62 |
|||||||||||||||||||||||||||||||||||||
5.6 Umsetzung von n:m... 65 |
|||||||||||||||||||||||||||||||||||||
5.7 Verknüpfung konkret 68 |
|||||||||||||||||||||||||||||||||||||
5.8 Mehrstellige Beziehungen. 70 |
|||||||||||||||||||||||||||||||||||||
5.9 Integritäten. 71 |
|||||||||||||||||||||||||||||||||||||
5.10 Schlüssel vertieft 72 |
|||||||||||||||||||||||||||||||||||||
6 Zusammenfassung Grundlagen. 75 |
|||||||||||||||||||||||||||||||||||||
6.1 Erste Schritte. 75 |
|||||||||||||||||||||||||||||||||||||
6.2 Warum eigentlich flache Tabellen?. 76 |
|||||||||||||||||||||||||||||||||||||
7 Die erste Normalform (1NF) 81 |
|||||||||||||||||||||||||||||||||||||
7.1 Optimierung durch Normalisierung. 81 |
|||||||||||||||||||||||||||||||||||||
7.2 Definition und Herbeiführung. 82 |
|||||||||||||||||||||||||||||||||||||
7.3 Tupelvermehrung. 83 |
|||||||||||||||||||||||||||||||||||||
7.4 Zerlegung nach 1:n. 84 |
|||||||||||||||||||||||||||||||||||||
7.5 Zerlegung nach n:m... 86 |
|||||||||||||||||||||||||||||||||||||
7.6 Schlechte Lösungen. 91 |
|||||||||||||||||||||||||||||||||||||
7.7 Darstellung ganzer Relationaler Datenmodelle. 93 |
|||||||||||||||||||||||||||||||||||||
7.8 Redundanzen in 1NF-Relationen. 96 |
|||||||||||||||||||||||||||||||||||||
7.9 Anomalien. 98 |
|||||||||||||||||||||||||||||||||||||
8 Funktionale Abhängigkeiten. 101 |
|||||||||||||||||||||||||||||||||||||
8.1 Einführung. 101 |
|||||||||||||||||||||||||||||||||||||
8.2 Funktionale Abhängigkeit 102 |
|||||||||||||||||||||||||||||||||||||
8.3 Schneller Weg zum Erfolg. 106 |
|||||||||||||||||||||||||||||||||||||
8.4 Einfache und volle FA.. 108 |
|||||||||||||||||||||||||||||||||||||
8.5 Schlüssel (formaler) 110 |
|||||||||||||||||||||||||||||||||||||
9 Die zweite Normalform (2NF) 113 |
|||||||||||||||||||||||||||||||||||||
9.1 Redundanz trotz 1NF. 113 |
|||||||||||||||||||||||||||||||||||||
9.2 Definition. 114 |
|||||||||||||||||||||||||||||||||||||
9.3 Beispiel AUFTRÄGE.. 115 |
|||||||||||||||||||||||||||||||||||||
9.4 Beispiel PROJEKTMITARBEIT.. 118 |
|||||||||||||||||||||||||||||||||||||
9.5 Zerlegung und Zusammengehörigkeit 121 |
|||||||||||||||||||||||||||||||||||||
10 Die dritte Normalform (3NF) 123 |
|||||||||||||||||||||||||||||||||||||
10.1 Redundanz trotz 2NF. 123 |
|||||||||||||||||||||||||||||||||||||
10.2 Beispiel Auftragsköpfe. 124 |
|||||||||||||||||||||||||||||||||||||
10.3 Beispiel Angestellte. 125 |
|||||||||||||||||||||||||||||||||||||
10.4 Beispiel Aufträge / Artikel / Kunden. 127 |
|||||||||||||||||||||||||||||||||||||
10.5 Definition 3NF. 129 |
|||||||||||||||||||||||||||||||||||||
11 Die Boyce-Codd - Normalform (BCNF) 133 |
|||||||||||||||||||||||||||||||||||||
11.1 Redundanz trotz 3NF. 133 |
|||||||||||||||||||||||||||||||||||||
11.2 Beispiel Projektmitarbeit 135 |
|||||||||||||||||||||||||||||||||||||
11.3 Definition BCNF. 138 |
|||||||||||||||||||||||||||||||||||||
11.4 Noch ein Beispiel 138 |
|||||||||||||||||||||||||||||||||||||
12 Die vierte Normalform (4NF) 141 |
|||||||||||||||||||||||||||||||||||||
12.1 Das Defizit 141 |
|||||||||||||||||||||||||||||||||||||
12.2 Beispiel Vorlesungsbetrieb. 141 |
|||||||||||||||||||||||||||||||||||||
12.3 Mehrwertige Abhängigkeit 144 |
|||||||||||||||||||||||||||||||||||||
12.4 Definition 4NF. 146 |
|||||||||||||||||||||||||||||||||||||
13 Die fünfte Normalform (5NF) 149 |
|||||||||||||||||||||||||||||||||||||
13.1 Verbund (Join) und Projektion. 149 |
|||||||||||||||||||||||||||||||||||||
13.2 N-Zerlegbarkeit 153 |
|||||||||||||||||||||||||||||||||||||
13.3 Definition. 157 |
|||||||||||||||||||||||||||||||||||||
13.4 Regeln für die Erstellung relationaler Datenmodelle. 159 |
|||||||||||||||||||||||||||||||||||||
14 Muster in Anwendungsbereichen und Modellen. 163 |
|||||||||||||||||||||||||||||||||||||
14.1 Ähnlichkeit - Generalisierung / Spezialisierung. 163 |
|||||||||||||||||||||||||||||||||||||
14.2 Einzel- und Typinformation. 171 |
|||||||||||||||||||||||||||||||||||||
14.3 Enthaltensein - Aggregation. 176 |
|||||||||||||||||||||||||||||||||||||
14.4 Enthaltensein und Existenzabhängigkeit - Komposition. 180 |
|||||||||||||||||||||||||||||||||||||
14.5 Beziehungsattribute. 184 |
|||||||||||||||||||||||||||||||||||||
15 Die Zeit in Datenmodellen und Datenbanken. 189 |
|||||||||||||||||||||||||||||||||||||
15.1 Zeitlich fixiert oder zeitabhängig. 189 |
|||||||||||||||||||||||||||||||||||||
15.2 Duplizieren zum Zeitpunkt der Rechnungsstellung. 190 |
|||||||||||||||||||||||||||||||||||||
15.3 Andere Lösungen. 191 |
|||||||||||||||||||||||||||||||||||||
16 Modellierungsbeispiele mit Lösungsweg. 195 |
|||||||||||||||||||||||||||||||||||||
16.1 Rechnungsstellung. 195 |
|||||||||||||||||||||||||||||||||||||
16.2 Sportverein. 204 |
|||||||||||||||||||||||||||||||||||||
16.3 PC-Beschaffung. 209 |
|||||||||||||||||||||||||||||||||||||
16.4 Fachliteratur 215 |
|||||||||||||||||||||||||||||||||||||
16.5 Hochschule - Vorlesungsbetrieb. 223 |
|||||||||||||||||||||||||||||||||||||
16.6 Sprachenverlag. 233 |
|||||||||||||||||||||||||||||||||||||
17 Weitere Modellierungsbeispiele. 245 |
|||||||||||||||||||||||||||||||||||||
17.1 Obst 245 |
|||||||||||||||||||||||||||||||||||||
17.2 Haushaltsgeräte. 247 |
|||||||||||||||||||||||||||||||||||||
17.3 Angestellte. 249 |
|||||||||||||||||||||||||||||||||||||
17.4 Kfz-Werkstatt 253 |
|||||||||||||||||||||||||||||||||||||
17.5 WebShop. 254 |
|||||||||||||||||||||||||||||||||||||
17.6 Zoo. 257 |
|||||||||||||||||||||||||||||||||||||
18 Von Attributen zu Datentypen. 263 |
|||||||||||||||||||||||||||||||||||||
18.1 Vielfalt 263 |
|||||||||||||||||||||||||||||||||||||
18.2 Die Datentypen von MySQL.. 267 |
|||||||||||||||||||||||||||||||||||||
18.3 Die Datentypen von ORACLE SQL.. 274 |
|||||||||||||||||||||||||||||||||||||
18.4 Die Datentypen von ACCESS. 276 |
|||||||||||||||||||||||||||||||||||||
18.5 Welcher Datentyp für welches Attribut?. 279 |
|||||||||||||||||||||||||||||||||||||
19 SQL - Eine Kurzeinführung. 281 |
|||||||||||||||||||||||||||||||||||||
19.1 Einleitung. 281 |
|||||||||||||||||||||||||||||||||||||
19.2 Relationen anlegen und löschen. 284 |
|||||||||||||||||||||||||||||||||||||
19.3 Eingeben von Daten. 289 |
|||||||||||||||||||||||||||||||||||||
19.4 Abfragen der Daten mit Select 293 |
|||||||||||||||||||||||||||||||||||||
19.4.1 Projektion. 294 |
|||||||||||||||||||||||||||||||||||||
19.4.2 Parameter IN.. 305 |
|||||||||||||||||||||||||||||||||||||
19.5 Gezieltes Löschen und Korrigieren. 306 |
|||||||||||||||||||||||||||||||||||||
19.6 Maskierung mit LIKE.. 308 |
|||||||||||||||||||||||||||||||||||||
19.7 Funktionen. 310 |
|||||||||||||||||||||||||||||||||||||
19.8 Verknüpfen von Relationen. 317 |
|||||||||||||||||||||||||||||||||||||
19.9 Transaktionen. 326 |
|||||||||||||||||||||||||||||||||||||
20 Vom Zeichen zur Datenbank. 337 |
|||||||||||||||||||||||||||||||||||||
20.1 Die Ebenen. 337 |
|||||||||||||||||||||||||||||||||||||
20.2 Übersicht 339 |
|||||||||||||||||||||||||||||||||||||
21 Dateitechniken. 341 |
|||||||||||||||||||||||||||||||||||||
21.1 Datenmodell - Datenbank - Datei 341 |
|||||||||||||||||||||||||||||||||||||
21.2 Stapeldateien. 342 |
|||||||||||||||||||||||||||||||||||||
21.3 Sequenzielle Dateien. 343 |
|||||||||||||||||||||||||||||||||||||
21.4 Indexsequenzielle Dateien. 346 |
|||||||||||||||||||||||||||||||||||||
21.5 Direktzugriffsdateien/Hashing. 348 |
|||||||||||||||||||||||||||||||||||||
22 Speichermedien. 351 |
|||||||||||||||||||||||||||||||||||||
22.1 Periphere Speicher 351 |
|||||||||||||||||||||||||||||||||||||
22.2 Konkrete Speicherung. 352 |
|||||||||||||||||||||||||||||||||||||
22.3 Magnetische Speicher 352 |
|||||||||||||||||||||||||||||||||||||
22.4 Optische Speicher 356 |
|||||||||||||||||||||||||||||||||||||
22.5 Elektronische Speicher 361 |
|||||||||||||||||||||||||||||||||||||
23 Andere Datenmodelle. 367 |
|||||||||||||||||||||||||||||||||||||
23.1 Semantische Datenmodelle. 367 |
|||||||||||||||||||||||||||||||||||||
23.2 Logische Datenmodelle. 368 |
|||||||||||||||||||||||||||||||||||||
24 Andere Datenbanken. 371 |
|||||||||||||||||||||||||||||||||||||
24.1 OLTP und OLAP. 371 |
|||||||||||||||||||||||||||||||||||||
24.2 Dimensionale Datenbanken. 373 |
|||||||||||||||||||||||||||||||||||||
24.3 Spaltenorientierte Datenbanken. 384 |
|||||||||||||||||||||||||||||||||||||
24.4 NoSQL-Datenbanken - Überblick. 387 |
|||||||||||||||||||||||||||||||||||||
24.4.1 Definition. 388 |
|||||||||||||||||||||||||||||||||||||
24.5 BigData. 391 |
|||||||||||||||||||||||||||||||||||||
24.5.1 Parallelwelten. 391 |
|||||||||||||||||||||||||||||||||||||
24.5.2 Ursache 1: Immer mehr Daten in den Rechnernetzen. 392 |
|||||||||||||||||||||||||||||||||||||
24.5.3 Ursache 2: Internet der Dinge und Industrie 4.0. 393 |
|||||||||||||||||||||||||||||||||||||
24.5.4 Immenser Speicherbedarf und Vielfalt 395 |
|||||||||||||||||||||||||||||||||||||
24.5.5 Volume, Velocity, Variety. 395 |
|||||||||||||||||||||||||||||||||||||
24.5.6 Skalierbarkeit 396 |
|||||||||||||||||||||||||||||||||||||
24.5.7 Parallelisierung mit Hilfe des MapReduce-Frameworks. 397 |
|||||||||||||||||||||||||||||||||||||
24.6 Konsistenz, CAP-Theorem... 398 |
|||||||||||||||||||||||||||||||||||||
24.7 Schemafreiheit 399 |
|||||||||||||||||||||||||||||||||||||
24.8 Key/Value - Datenbanken. 402 |
|||||||||||||||||||||||||||||||||||||
24.9 Graphendatenbanken. 404 |
|||||||||||||||||||||||||||||||||||||
24.10 Dokumentendatenbanken. 406 |
|||||||||||||||||||||||||||||||||||||
24.11 InMemory - Datenbanksysteme. 411 |
|||||||||||||||||||||||||||||||||||||
Index. 415 |
|||||||||||||||||||||||||||||||||||||
Literatur 421 |
|||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||
Abkürzungsverzeichnis |
|||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||