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:

  • 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.

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


ANSI

American National Standards Institution

DBMS

Datenbankmanagementsystem

DBS

Datenbanksystem

DML

Data Manipulation Language

DV

Datenverarbeitung

ERM

Entity Relationship - Modell

ERP

Enterprise Ressource Planning. Eingeführte Bezeichnung für integrierte prozessorientierte Standardsoftware.

fA

funktionale Abhängigkeit

FA-Diagramm

Diagramm der funktionalen Abhängigkeiten

IRS

Information Retrieval System

IT

Informationstechnologie. Heute benutzt als Bezeichnung für die Abteilung, in der die Computer der Organisation betrieben werden.

OODBS

Objektorientiertes Datenbanksystem

OODM

Objektorientierte Datenmodellierung

PC

Personal Computer

RDBS

Relationales Datenbanksystem

SPARC

Standards Planning and Requirements Committee

SQL

Structured Query Language

vs.

versus (im Vergleich zu, im Gegensatz zu)