Neuerscheinung:
Relationale Datenbanken
Grundlagen, Modellierung, Speicherung, Alternativen
März 2015 - 431 Seiten - 143 Abbildungen
ISBN 978-3-9817175-2-5
Beziehbar über den Buchhandel und Amazon
Auszüge auf www.staud.info --> DATENBANKEN / NEU 2015 Relationale Datenbanken
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.
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.
Josef Ludwig Staud
Inhaltsverzeichnis
1 Einleitung
1.1 Aufbau des Buches, Gesamtüberblick
1.2 Datenbanken
1.3 Logische Datenmodelle, Datenorganisation
1.4 Relationale Datenbanksysteme
1.5 Die drei Ebenen der ANSI-SPARC - Architektur
1.6 Syntax, Semantik, Pragmatik
2 Informationen, Daten, Attribute. 29
2.1 Informationen, Daten
2.2 Klassifizierung von Daten
2.3 Zeichen, Zeichenvorrat
2.4 Attribute
3 Konzeptionelle Modellierung
3.1 Anwendungsbereiche
3.2 Objekte und Beziehungen erkennen
3.3 Klassen bilden
3.4 Beispiele
3.5 Zusammenfassung
4 Relationen bilden
4.1 Von Klassen zu Relationen
4.2 Eigenschaften und Darstellung von Relationen
5 Beziehungen erkennen und einrichten
5.1 Beziehungen erkennen
5.2 Schlüssel und Fremdschlüssel
5.3 Umsetzung von 1:1
5.4 Min-/Max-Angaben und "1:1 vertieft"
5.5 Umsetzung von 1:n
5.6 Umsetzung von n:m
5.7 Verknüpfung konkret
5.8 Mehrstellige Beziehungen
5.9 Integritäten
5.10 Schlüssel vertieft
6 Zusammenfassung Grundlagen
6.1 Erste Schritte
6.2 Warum eigentlich flache Tabellen?
7 Die erste Normalform (1NF)
7.1 Optimierung durch Normalisierung
7.2 Definition und Herbeiführung
7.3 Tupelvermehrung
7.4 Zerlegung nach 1:n
7.5 Zerlegung nach n:m
7.6 Schlechte Lösungen
7.7 Darstellung ganzer Relationaler Datenmodelle
7.8 Redundanzen in 1NF-Relationen
7.9 Anomalien
8 Funktionale Abhängigkeiten
8.1 Einführung
8.2 Funktionale Abhängigkeit
8.3 Schneller Weg zum Erfolg
8.4 Einfache und volle FA
8.5 Schlüssel (formaler)
9 Die zweite Normalform (2NF)
9.1 Redundanz trotz 1NF
9.2 Definition
9.3 Beispiel AUFTRÄGE
9.4 Beispiel PROJEKTMITARBEIT
9.5 Zerlegung und Zusammengehörigkeit
10 Die dritte Normalform (3NF)
10.1 Redundanz trotz 2NF
10.2 Beispiel Auftragsköpfe
10.3 Beispiel Angestellte
10.4 Beispiel Aufträge / Artikel / Kunden
10.5 Definition 3NF
11 Die Boyce-Codd - Normalform (BCNF)
11.1 Redundanz trotz 3NF
11.2 Beispiel Projektmitarbeit
11.3 Definition BCNF
11.4 Noch ein Beispiel
12 Die vierte Normalform (4NF)
12.1 Das Defizit
12.2 Beispiel Vorlesungsbetrieb
12.3 Mehrwertige Abhängigkeit
12.4 Definition 4NF
13 Die fünfte Normalform (5NF)
13.1 Verbund (Join) und Projektion
13.2 N-Zerlegbarkeit
13.3 Definition
13.4 Regeln für die Erstellung relationaler Datenmodelle
14 Muster in Anwendungsbereichen und Modellen
14.1 Ähnlichkeit - Generalisierung / Spezialisierung
14.2 Einzel- und Typinformation
14.3 Enthaltensein - Aggregation
14.4 Enthaltensein und Existenzabhängigkeit - Komposition
14.5 Beziehungsattribute
15 Die Zeit in Datenmodellen und Datenbanken
15.1 Zeitlich fixiert oder zeitabhängig
15.2 Duplizieren zum Zeitpunkt der Rechnungsstellung
15.3 Andere Lösungen
16 Modellierungsbeispiele mit Lösungsweg
16.1 Rechnungsstellung
16.2 Sportverein
16.3 PC-Beschaffung
16.4 Fachliteratur
16.5 Hochschule - Vorlesungsbetrieb
16.6 Sprachenverlag
17 Weitere Modellierungsbeispiele. 249
17.1 Obst
17.2 Haushaltsgeräte
17.3 Angestellte
17.4 Kfz-Werkstatt
17.5 WebShop
17.6 Zoo
18 Von Attributen zu Datentypen
18.1 Vielfalt
18.2 Die Datentypen von MySQL
18.3 Die Datentypen von ORACLE SQL
18.4 Die Datentypen von ACCESS
18.5 Welcher Datentyp für welches Attribut?
19 SQL - Eine Kurzeinführung
19.1 Einleitung
19.2 Relationen anlegen und löschen
19.3 Eingeben von Daten
19.4 Abfragen der Daten mit Select
19.4.1 Projektion
19.4.2 Parameter IN
19.5 Gezieltes Löschen und Korrigieren
19.6 Maskierung mit LIKE
19.7 Funktionen
19.8 Verknüpfen von Relationen
19.9 Transaktionen
20 Vom Zeichen zur Datenbank
20.1 Die Ebenen
20.2 Übersicht
21 Dateitechniken
21.1 Datenmodell - Datenbank - Datei
21.2 Stapeldateien
21.3 Sequenzielle Dateien
21.4 Indexsequenzielle Dateien
21.5 Direktzugriffsdateien/Hashing
22 Speichermedien
22.1 Periphere Speicher
22.2 Konkrete Speicherung
22.3 Magnetische Speicher
22.4 Optische Speicher
22.5 Elektronische Speicher
23 Andere Datenmodelle
23.1 Semantische Datenmodelle
23.2 Logische Datenmodelle
24 Andere Datenbanken
24.1 OLTP und OLAP
24.2 Dimensionale Datenbanken
24.3 Spaltenorientierte Datenbanken
24.4 NoSQL-Datenbanken - Überblick
24.4.1 Definition
24.5 BigData
24.5.1 Parallelwelten
24.5.2 Ursache 1: Immer mehr Daten in den Rechnernetzen
24.5.3 Ursache 2: Internet der Dinge und Industrie 4.0
24.5.4 Immenser Speicherbedarf und Vielfalt
24.5.5 Volume, Velocity, Variety
24.5.6 Skalierbarkeit
24.5.7 Parallelisierung mit Hilfe des MapReduce-Frameworks
24.6 Konsistenz, CAP-Theorem
24.7 Schemafreiheit
24.8 Key/Value - Datenbanken
24.9 Graphendatenbanken
24.10 Dokumentendatenbanken
24.11 InMemory - Datenbanksysteme
Index
Literatur