Relationale Datenbanken von Dr. Josef Ludwig Staud | Grundlagen, Modellierung, Speicherung, Alternativen | ISBN 9783981717518

Relationale Datenbanken

Grundlagen, Modellierung, Speicherung, Alternativen

von Dr. Josef Ludwig Staud
Buchcover Relationale Datenbanken | Dr. Josef Ludwig Staud | EAN 9783981717518 | ISBN 3-9817175-1-1 | ISBN 978-3-9817175-1-8
Backcover

Alle, die
- an einer Einführung in Relationale Datenbanken, insbesondere relationale Datenmodellierung interessiert sind.
- einen Überblick über den gesamten "Weg" der Daten vom Anwendungsbereich bis zur physischen Speicherung erhalten wollen
- die einen Blick auf die "Alternativen" der relationalen Datenbanktechnologie werfen wollen.

Relationale Datenbanken

Grundlagen, Modellierung, Speicherung, Alternativen

von Dr. Josef Ludwig Staud
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.
Inhaltsverzeichnis 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