1 Schnelleinstieg
1.1 Entwurf von Datenmodellen
1.2 Datenspeicherung in relationalen Datenbanken
1.3 Normalisierung
1.4 Tabellenübergreifende Datenabfragen
1.5 Verschachtelung von Abfragen
1.6 Mengenoperationen
1.7 Benutzersichten
1.8 Trigger und Stored Procedures
1.9 Zugriffsberechtigungen
2 QAS: Flugzeugvercharterung - Geschäftsabwicklung
2.1 Die Firma WebSoft stellt sich vor
2.2 QAS: Das Charterunternehmen – Anforderungen
2.3 QAS: Situationsanalyse
2.4 QAS: Pflichtenheft
3 Datenbanken installieren
4 Grundlagen relationaler Datenbanken
4.1 Relationen
4.2 Relationen und Tabellen
4.3 Architektur eines relationalen Datenbanksystems
4.4 Operationen auf Relationen
4.5 Relationsinterne Abhängigkeiten
4.6 Relationsübergreifende Abhängigkeiten
5 Entwicklungsphasen einer Datenbank-Anwendung
5.1 Analyse des Anwendungsbereichs
5.2 QAS: Anwendungsanalyse
5.3 Logisches Schema
5.4 Transformationsregeln zum Entwurf von Tabellen
5.4.1 Abbildung einer Klasse in eine Tabelle
5.4.2 Abbildung einer Klassenhierarchie in eine Tabelle
5.4.3 Abbildung konkreter Klassen
5.4.4 Übernahme der Klassenhierarchie in eine Tabellenhierarchie
5.4.5 Abbildung von 0.1:1-Assoziationen
5.4.6 Abbildung von 1:*-Assoziationen mit Varianten
5.4.7 Abbildung einer *:*-Assoziation
5.4.8 Abbildung von Kompositionen und Aggregationen
5.4.9 Abbildung reflexiver Beziehungen
5.4.10 Abbildung von Klassenattributen
5.5 Normalisierung
5.5.1 Anomalien
5.5.2 Hauptnormalformen
5.5.3 Weiterführende Normalformen
5.6 Entwurf des View-Schemas
5.7 Erstellung des Datenbankschemas
5.8 Zusammenfassung
5.9 QAS: Datenbankschema
6 Lesen aus mehreren Tabellen: Verbunde
6.1 Produkt von Relationen
6.2 Der Theta-Verbund
6.3 Innere Verbunde
6.4 Verschachtelung von Verbunden
6.5 Auto Join
6.6 Äußere Verbunde
6.7 QAS: Auswertungen
7 Unterabfragen
7.1 Skalare Abfragen
7.2 Unterabfragen mit 1-spaltigem Ergebnis
7.3 all, any, some-Klauseln
7.4 Korrelierte Unterabfragen
7.5 Unterabfragen mit beliebigen Wertrückgaben
7.6 Anzeigeaufbereitung mit Unterabfragen
7.7 Unterabfragen als Datenherkunft
7.8 Dynamische Wertebereiche mit Unterabfragen
7.9 Fortgeschrittene Anwendungen
7.10 QAS: Datenanalysen
8 Mengen
8.1 Vereinigung von Tabelleninhalten
8.2 Handhabung von Vereinigungen
8.3 Durchschnitt und Differenz
8.4 QAS: Berichte
9 Benutzerorientierte Datenpräsentation
9.1 Einrichten von Benutzersichten
9.2 Arbeiten mit Benutzersichten
9.3 Benutzersichten zur Datenkonzentration
9.4 Datenmanipulation mit Sichten
9.5 QAS: Benutzerorientierte Informationsdarstellung
10 Datenschutz
10.1 Datenschutz und Benutzernamen
10.2 Gewährung von Privilegien
10.3 Weitergabe und Entzug von Rechten
10.4 Rollen
10.5 QAS: Benutzerorientierte Informationsdarstellung
11 Programmierung von DB-Anwendungen
11.1 Stored Procedures
11.1.1 Einführung in Stored Procedures
11.1.2 SP in der Firebird-Datenbank
11.1.3 Stored Procedures in MySQL
11.2 Mengenverarbeitung von Datensätzen
11.2.1 Cursorkonzept
11.2.2 Spezielle Sprachelemente
11.3 Trigger
11.3.1 Trigger-Definition
11.3.2 Trigger-Programmierung
11.3.3 Generierung von Nummernkreiswerten
11.4 Transaktionen
11.4.1 Definition von Transaktionen
11.4.2 Eigenschaften einer Transaktion
11.4.3 Nebenläufigkeitskontrolle
11.4.4 Konkurrierende Datenzugriffe
11.5 JDBC
11.6 QAS: Verarbeitungen
12 Ausblick
aus dem Vorwort: "Das Festhalten von Informationen ist eine Tätigkeit, die so alt ist, wie das Schreiben selbst. Fast immer wurde der Zweck damit verbunden, Informationen dauerhaft für den Schreiber selbst oder andere festzuhalten. Als Träger der Information wurden in früher Zeit Naturmaterialien, z. B. Leder und Papyrus, später das industriell gefertigte Papier verwendet. In neuer Zeit setzt man zur Speicherung von Informationen elektronische Datenbanksysteme (DB-Systeme) ein. Unter modernen Datenbanksystemen sind die relationalen Datenbanksysteme am weitesten verbreitet. Sie sind besonders geeignet zur Speicherung von regelmäßig strukturierten
Informationen insbesondere, wenn sie in textueller Form vorliegen. Durch die heute verfügbaren Speichersysteme ist es möglich, Daten von imensem Umfang zu erfassen. Eine besonders interessante Aufgabe ist dann einerseits die effiziente Wiedergewinnung komplexer Informationen und andererseits die Aufbereitung der gespeicherten Informationen, um daraus neue Erkenntnisse über das Umfeld, aus dem die Daten stammen, herzuleiten."
Charakteristika dieses Buches: Ausgehend von Anforderungen an eine DB-Anwendung wird über mehrere Analyse- und Entwurfsschritte unter Einsatz der Modellierungssprache UML ein normalisiertes Datenmodell hergeleitet. Die wichtigsten Konzepte zur Entwicklung von DB-Anwendungen, wie Transaktionen, Stored Procedures und Trigger, werden behandelt und ihre Umsetzung in Programme gezeigt. Die Wiedergewinnung von Informationen, die in komplexen Datenstrukturen über mehrere Tabellen verteilt gespeichert sein können, wird mit SQL demonstriert. Anhand von zahlreichen Beispielen und einer durchgehenden Fallstudie werden die Vorgehensweisen und Mechanismen zur Entwicklung einer Datenbankanwendung veranschaulicht. Es werden die Open-Source-Datenbanken Firebird und MySQL erklärt und eingesetzt. Forum LivingBooks: Sie fragen, Experten antworten, 245 Abbildungen, 113 Glossarbegriffe