O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Datenbanken -- Konzepte und Sprachen

Book Description

  • Detaillierte Einführung in die Datenbanktechnologie in der 6. aktualisierten Neuauflage
  • Konzepte relationaler Datenbanken: Architekturen, Modelle, Entwurfsmethoden, Relationenalgebra
  • Ausführliche Behandlung von SQL sowie Einblick in weitere Datenbanksprachen

Datenbanken sind eines der wichtigsten Teilgebiete der Informatik und dank Big Data, Industrie 4.0, Internet of Things & Co. müssen immer mehr Daten effizient verwaltet, performant analysiert und sinnvoll ausgegeben werden.

Das Buch behandelt systematisch und fundiert die wichtigsten Konzepte und Sprachen, die für den Einsatz von Datenbanksystemen und die Entwicklung von Datenbankanwendungen eine Rolle spielen. Die Grundlagen relationaler Datenbanken werden dabei umfassend erklärt. Die Autoren gehen außerdem auf Theorie, Entwurfsmethoden sowie Sprachkonzepte für relationale Datenbanken inklusive der ausführlichen Behandlung von SQL ein. Des Weiteren werden Alternativen und Erweiterungen von Datenbankmodellen vorgestellt.

Eine durchgehende Beispielanwendung liefert einen wertvollen Praxisbezug und hilft Ihnen dabei, die zugrundeliegenden theoretischen Konzepte besser zu verstehen. Zusammenfassungen und Übungsaufgaben am Ende eines jeden Kapitels erleichtern Ihnen außerdem das Selbststudium und ermöglichen Ihnen eine optimale Prüfungsvorbereitung.

Das Buch eignet sich als Lehrbuch für Studierende der Informatik und verwandter Fächer, aber auch für Anwender und Entwickler, die sich über aktuelle Datenbanktechnologie genauer informieren möchten. Zusätzliche Kapitel sind als kostenloser Download verfügbar.


Aus dem Inhalt: Kernkonzepte relationaler Datenbanken
  • Konzepte und Architektur
  • Datenbankentwurf
  • Entity-Relationship-Modell
  • Relationenalgebra
  • Die relationale Datenbanksprache SQL (SQL:2016)
Erweiterte Konzepte
  • Erweiterte Entwurfsmodelle
  • QUEL, QBE und Datalog
  • Sichten, Transaktionen, Integrität und Trigger
  • Datenbankanwendungsentwicklung
  • Zugriffskontrolle & Privacy
Weitere Datenbankmodelle
  • Multimediale, raum- und zeitbezogene Daten
  • Objektorientierte und objektrelationale Datenbankmodelle
  • XML, XPath, XQuery und SQL/XML
  • NoSQL und Graphdatenbanken

Über die Autoren: Gunter Saake, Andreas Heuer und Kai-Uwe Sattler sind Professoren für Informatik an den Universitäten von Magdeburg, Rostock und Ilmenau.

Table of Contents

  1. Umschlag
  2. Titel
  3. Impressum
  4. Vorwort zur sechsten Auflage
  5. Inhaltsverzeichnis
  6. 1 Grundlegende Konzepte
    1. 1.1 Motivation und Historie
    2. 1.2 Komponenten und Funktionen
      1. 1.2.1 Prinzipien und Aufgaben
      2. 1.2.2 Einsatzgebiete, Grenzen und Entwicklungstendenzen
      3. 1.2.3 Wann kommt was?
    3. 1.3 Beispielanwendung
    4. 1.4 Vertiefende Literatur
    5. 1.5 Übungsaufgaben
  7. 2 Relationale Datenbanken – Daten in Tabellen
    1. 2.1 Relationen für tabellarische Daten
      1. 2.1.1 Begriffe im Relationenmodell
      2. 2.1.2 Integritätsbedingungen: Schlüssel
      3. 2.1.3 Integritätsbedingungen: Fremdschlüssel
    2. 2.2 Datendefinition in SQL
      1. 2.2.1 Mögliche Wertebereiche in SQL
      2. 2.2.2 Beispiele für die Datendeklaration
      3. 2.2.3 Nullwerte
    3. 2.3 Grundoperationen: Die Relationenalgebra
      1. 2.3.1 Selektion σ
      2. 2.3.2 Projektion π
      3. 2.3.3 Natürlicher Verbund ⋈
      4. 2.3.4 Umbenennung ß
      5. 2.3.5 Mengenoperationen
    4. 2.4 Qualität entworfener Tabellen
    5. 2.5 SQL als Anfragesprache
    6. 2.6 Änderungsoperationen in SQL
      1. 2.6.1 Die update-Anweisung
      2. 2.6.2 Die delete-Anweisung
      3. 2.6.3 Die insert-Anweisung
    7. 2.7 Sichten in SQL
    8. 2.8 Wie geht es weiter?
    9. 2.9 Übungsaufgaben
  8. I Kernkonzepte relationaler Datenbanken
    1. 3 Architekturen von Datenbanksystemen
      1. 3.1 Schemaarchitektur und Datenunabhängigkeit
      2. 3.2 Systemarchitekturen
        1. 3.2.1 ANSI-SPARC-Architektur
        2. 3.2.2 Der Weg einer Anfrage
        3. 3.2.3 Fünf-Schichten-Architektur
        4. 3.2.4 Konkrete Systemarchitekturen
      3. 3.3 Anwendungsarchitekturen
      4. 3.4 Zusammenfassung
      5. 3.5 Vertiefende Literatur
      6. 3.6 Übungsaufgaben
    2. 4 Das Entity-Relationship-Modell
      1. 4.1 Datenbankmodelle
      2. 4.2 Grundlagen des Entity-Relationship-Modells
        1. 4.2.1 Grundkonzepte des klassischen ER-Modells
        2. 4.2.2 Ein einfaches Beispiel für ein ER-Schema
        3. 4.2.3 Semantik eines ER-Schemas
      3. 4.3 Eigenschaften von Beziehungen
        1. 4.3.1 Stelligkeit
        2. 4.3.2 Kardinalitäten und funktionale Beziehungen
        3. 4.3.3 Kardinalitäten in der klassischen Chen-Notation
        4. 4.3.4 Kardinalitäten in funktionaler Notation
        5. 4.3.5 Kardinalitäten in Intervallnotation
      4. 4.4 Weitere Konzepte im Entity-Relationship-Modell
        1. 4.4.1 Abhängige Entity-Typen
        2. 4.4.2 Die IST-Beziehung
        3. 4.4.3 Optionalität von Attributen
      5. 4.5 Zusammenfassung
      6. 4.6 Vertiefende Literatur
      7. 4.7 Übungsaufgaben
    3. 5 Relationenmodell und Relationenalgebra
      1. 5.1 Relationenmodell: Strukturteil
        1. 5.1.1 Schemata und Instanzen
        2. 5.1.2 Integritätsbedingungen
      2. 5.2 Relationenalgebra: Operationenteil
        1. 5.2.1 Kriterien für Anfragesprachen
        2. 5.2.2 Relationenalgebra
      3. 5.3 Änderungsoperationen
        1. 5.3.1 Allgemeine Grundprinzipien
        2. 5.3.2 Relationale Änderungsoperationen
      4. 5.4 Zusammenfassung
      5. 5.5 Vertiefende Literatur
      6. 5.6 Übungsaufgaben
    4. 6 Phasen des Datenbankentwurfs
      1. 6.1 Entwurfsaufgabe
      2. 6.2 Phasenmodell
        1. 6.2.1 Anforderungsanalyse
        2. 6.2.2 Konzeptioneller Entwurf
        3. 6.2.3 Verteilungsentwurf
        4. 6.2.4 Logischer Entwurf
        5. 6.2.5 Datendefinition
        6. 6.2.6 Physischer Entwurf
        7. 6.2.7 Implementierung und Wartung
        8. 6.2.8 Objektorientierte Entwurfsmethoden
        9. 6.2.9 Phasenbegleitende Methoden
      3. 6.3 Aspekte der Datenintegration
        1. 6.3.1 Heterogenität der Datenmodelle
        2. 6.3.2 Heterogene Datenbankschemata
        3. 6.3.3 Heterogenität auf der Datenebene
        4. 6.3.4 Schemakonflikte bei der Integration
      4. 6.4 Entity-Relationship-Abbildung auf das Relationenmodell
        1. 6.4.1 Informationskapazität
        2. 6.4.2 Beispiel für eine Abbildung auf das Relationenmodell
        3. 6.4.3 Abbildungsregeln für das relationale Modell
      5. 6.5 Zusammenfassung
      6. 6.6 Vertiefende Literatur
      7. 6.7 Übungsaufgaben
    5. 7 Relationaler Datenbankentwurf
      1. 7.1 Funktionale Abhängigkeiten
        1. 7.1.1 Definition funktionaler Abhängigkeiten
        2. 7.1.2 Ableitung von funktionalen Abhängigkeiten
      2. 7.2 Schemaeigenschaften
        1. 7.2.1 Änderungsanomalien
        2. 7.2.2 Normalformen
        3. 7.2.3 Minimalität
      3. 7.3 Transformationseigenschaften
        1. 7.3.1 Abhängigkeitstreue
        2. 7.3.2 Verbundtreue
      4. 7.4 Entwurfsverfahren
        1. 7.4.1 Ziele
        2. 7.4.2 Dekompositionsverfahren
        3. 7.4.3 Ausblick Syntheseverfahren
      5. 7.5 Zusammenfassung
      6. 7.6 Vertiefende Literatur
      7. 7.7 Übungsaufgaben
    6. 8 Die relationale Datenbanksprache SQL
      1. 8.1 SQL als Datendefinitionssprache
        1. 8.1.1 Erzeugen von Tabellen
        2. 8.1.2 Tabellen mit Integritätsbedingungen
        3. 8.1.3 Löschen und Ändern von Tabellendefinitionen
        4. 8.1.4 Erzeugen und Löschen von Indexen
      2. 8.2 SQL als relationale Anfragesprache
        1. 8.2.1 Überblick
        2. 8.2.2 Die from-Klausel
        3. 8.2.3 Die select-Klausel
        4. 8.2.4 Die where-Klausel
        5. 8.2.5 Mengenoperationen
        6. 8.2.6 Schachtelung von Anfragen
        7. 8.2.7 Mächtigkeit des SQL-Kerns
      3. 8.3 Änderungsoperationen in SQL
        1. 8.3.1 Übersicht über Änderungen in SQL
        2. 8.3.2 Die update-Anweisung
        3. 8.3.3 Die delete-Anweisung
        4. 8.3.4 Die insert-Anweisung
        5. 8.3.5 Die merge-Anweisung
        6. 8.3.6 Probleme bei SQL-Änderungen
      4. 8.4 Zusammenfassung
      5. 8.5 Vertiefende Literatur
      6. 8.6 Übungsaufgaben
  9. II Erweiterte Konzepte für relationale Datenbanken
    1. 9 Erweiterter relationaler Datenbankentwurf
      1. 9.1 Überdeckungen von funktionalen Abhängigkeiten
        1. 9.1.1 Nicht-redundante Überdeckung
        2. 9.1.2 Reduzierte Überdeckung
        3. 9.1.3 Bildung von Äquivalenzklassen
        4. 9.1.4 Minimale Überdeckung
        5. 9.1.5 Ringförmige Überdeckung
      2. 9.2 Syntheseverfahren
        1. 9.2.1 Ablauf der Synthese
        2. 9.2.2 Erreichung der Verbundtreue
      3. 9.3 Verfeinerung des Entity-Relationship-Datenbankentwurfs
      4. 9.4 Mehrwertige Abhängigkeiten
        1. 9.4.1 Grundlagen
        2. 9.4.2 Schemaeigenschaften
        3. 9.4.3 Transformationseigenschaften
      5. 9.5 Weitere Abhängigkeiten und Normalformen
        1. 9.5.1 Verbundabhängigkeiten
        2. 9.5.2 Inklusionsabhängigkeiten
        3. 9.5.3 Weitere relationale Entwurfsverfahren
        4. 9.5.4 Weitere Anwendungen der relationalen Theorie
      6. 9.6 Zusammenfassung
      7. 9.7 Vertiefende Literatur
      8. 9.8 Übungsaufgaben
    2. 10 Grundlagen von relationalen Anfragen
      1. 10.1 Erweiterungen der Relationenalgebra
      2. 10.2 Anfragekalküle
        1. 10.2.1 Ein allgemeiner Kalkül
        2. 10.2.2 Ergebnisbestimmung einer Anfrage
      3. 10.3 Tupelkalkül
        1. 10.3.1 Definition des Tupelkalküls
        2. 10.3.2 Beispielanfragen im Tupelkalkül
        3. 10.3.3 Bezug zu SQL
      4. 10.4 Bereichskalkül
        1. 10.4.1 Sichere Anfragen
        2. 10.4.2 Beispielanfragen im Bereichskalkül
        3. 10.4.3 Eigenschaften des Bereichskalküls
        4. 10.4.4 Relationenalgebraoperationen im Bereichskalkül
      5. 10.5 Zusammenfassung
      6. 10.6 Vertiefende Literatur
      7. 10.7 Übungsaufgaben
    3. 11 Erweiterte Konzepte von SQL
      1. 11.1 Weitere Operationen und Prädikate
        1. 11.1.1 Skalare Ausdrücke
        2. 11.1.2 Prädikate
        3. 11.1.3 Quantoren und Mengenvergleiche
        4. 11.1.4 Behandlung von Nullwerten
      2. 11.2 Aggregation, Gruppierung und Sortierung
        1. 11.2.1 Aggregatfunktionen
        2. 11.2.2 Gruppierung
        3. 11.2.3 Sortierung
        4. 11.2.4 Erweiterte Aggregatfunktionen in SQL:2003
        5. 11.2.5 Top-k-Anfragen
        6. 11.2.6 Skyline-Anfragen
      3. 11.3 Äußere Verbunde
      4. 11.4 Künstliche Schlüssel und Sequenzgeneratoren
      5. 11.5 Benannte Anfragen und Rekursion
        1. 11.5.1 Benannte Anfragen
        2. 11.5.2 Rekursive Anfragen
      6. 11.6 Erkennung von Tupelmustern
      7. 11.7 SQL-Versionen
        1. 11.7.1 SEQUEL2
        2. 11.7.2 SQL-89
        3. 11.7.3 SQL-92
        4. 11.7.4 SQL:1999 und SQL:2003
        5. 11.7.5 SQL:2006 und SQL:2008
        6. 11.7.6 SQL:2011 und SQL:2016
      8. 11.8 Zusammenfassung
      9. 11.9 Vertiefende Literatur
      10. 11.10 Übungsaufgaben
    4. 12 Weitere relationale Datenbanksprachen
      1. 12.1 QUEL
        1. 12.1.1 Anfragen in QUEL
        2. 12.1.2 Änderungsoperationen in QUEL
      2. 12.2 Query by Example
        1. 12.2.1 Anfragen in QBE
        2. 12.2.2 Funktionen, Sortierung und Aggregierung in QBE
        3. 12.2.3 Formale Semantik von QBE
        4. 12.2.4 Ausdrucksfähigkeit von QBE
        5. 12.2.5 Änderungen in QBE
        6. 12.2.6 Anfragen in MS Access
      3. 12.3 Datalog
        1. 12.3.1 Grundbegriffe
        2. 12.3.2 Semantik rekursiver Regeln
        3. 12.3.3 Semantik und Auswertung von Datalog
      4. 12.4 Zusammenfassung
      5. 12.5 Vertiefende Literatur
      6. 12.6 Übungsaufgaben
    5. 13 Transaktionen, Integrität & Trigger
      1. 13.1 Grundlagen von Transaktionen
        1. 13.1.1 ACID-Prinzip
        2. 13.1.2 Probleme im Mehrbenutzerbetrieb
        3. 13.1.3 Transaktionssteuerung in SQL
        4. 13.1.4 Transaktionen und Integritätssicherung
      2. 13.2 Architekturen zur Integritätssicherung
        1. 13.2.1 Integritätssicherung durch Anwendung
        2. 13.2.2 Integritätsmonitor als Komponente des DBMS
        3. 13.2.3 Integritätssicherung durch Einkapselung
      3. 13.3 Integritätsbedingungen in SQL
        1. 13.3.1 Inhärente Integritätsbedingungen im Relationenmodell
        2. 13.3.2 Weitere Bedingungen in der SQL-DDL
        3. 13.3.3 Die assertion-Klausel
        4. 13.3.4 Verwaltung und Überprüfung von Bedingungen
      4. 13.4 Klassifikation von Integritätsbedingungen
      5. 13.5 Trigger
      6. 13.6 Methoden der Integritätssicherung
        1. 13.6.1 Integritätssicherung durch Trigger
        2. 13.6.2 Integritätssicherung durch Anfragemodifikation
      7. 13.7 Zusammenfassung
      8. 13.8 Vertiefende Literatur
      9. 13.9 Übungsaufgaben
    6. 14 Datenbankanwendungsentwicklung
      1. 14.1 Grundprinzipien
      2. 14.2 Programmiersprachenanbindung: Call-Level-Schnittstellen
        1. 14.2.1 SQL/CLI: Der Standard
        2. 14.2.2 ODBC
        3. 14.2.3 JDBC
        4. 14.2.4 Weitere Call-Level-Schnittstellen
      3. 14.3 Eingebettetes SQL
        1. 14.3.1 Statische Einbettung: Embedded SQL
        2. 14.3.2 Dynamische Einbettung: Dynamic SQL
        3. 14.3.3 SQLJ: Embedded SQL für Java
      4. 14.4 High-Level-Schnittstellen
        1. 14.4.1 Persistenz von Objekten
        2. 14.4.2 Grundlagen der Abbildung
        3. 14.4.3 JPA und Hibernate
        4. 14.4.4 Weitere Technologien
      5. 14.5 Prozedurale SQL-Erweiterungen und Datenbanksprachen
        1. 14.5.1 Vorteile von gespeicherten Prozeduren
        2. 14.5.2 SQL/PSM: Der Standard
        3. 14.5.3 PL/SQL von Oracle
        4. 14.5.4 Gespeicherte Prozeduren in Java
      6. 14.6 Anwendungsentwicklung in der Cloud
        1. 14.6.1 Database-as-a-Service und Cloud-Datenbanken
        2. 14.6.2 Klassische DBMS in der Cloud
        3. 14.6.3 NoSQL-Systeme in der Cloud
      7. 14.7 Zusammenfassung
      8. 14.8 Vertiefende Literatur
      9. 14.9 Übungsaufgaben
    7. 15 Sichten
      1. 15.1 Motivation und Begriffsbildung
        1. 15.1.1 Sichten und externe Schemata
        2. 15.1.2 Definition von Sichten
        3. 15.1.3 Definition von Sichten in SQL
        4. 15.1.4 Vorteile von Sichten
      2. 15.2 Probleme mit Sichten
        1. 15.2.1 Kriterien für Änderungen auf Sichten
        2. 15.2.2 Projektionssichten
        3. 15.2.3 Selektionssichten
        4. 15.2.4 Verbundsichten
        5. 15.2.5 Aggregierungssichten
        6. 15.2.6 Klassifikation der Problembereiche
      3. 15.3 Behandlung von Sichten in SQL
        1. 15.3.1 Auswertung von Anfragen an Sichten in SQL
        2. 15.3.2 Sichtänderungen in SQL-92
        3. 15.3.3 Sichtänderungen ab SQL:2003
      4. 15.4 Theorie änderbarer Sichten
      5. 15.5 Instead-of-Trigger für Sichtänderungen
      6. 15.6 Zusammenfassung
      7. 15.7 Vertiefende Literatur
      8. 15.8 Übungsaufgaben
    8. 16 Zugriffskontrolle & Privacy
      1. 16.1 Sicherheitsmodelle
        1. 16.1.1 Diskrete Sicherheitsmodelle
        2. 16.1.2 Verbindliche Sicherheitsmodelle
      2. 16.2 Rechtevergabe in SQL
        1. 16.2.1 Benutzer und Schemata
        2. 16.2.2 Rechtevergabe in SQL
        3. 16.2.3 Zurücknahme von Rechten
        4. 16.2.4 Rollenmodell in SQL:2003
        5. 16.2.5 Auditing
        6. 16.2.6 Authentifikation und Autorisierung
      3. 16.3 Privacy-Aspekte in Datenbanken
        1. 16.3.1 Statistische Datenbanken
        2. 16.3.2 Quasi-Identifikator
        3. 16.3.3 k-Anonymität
        4. 16.3.4 l-Diversität, t-Closeness, Differential Privacy
        5. 16.3.5 Datensparsame Anfrageverarbeitung
      4. 16.4 Zusammenfassung
      5. 16.5 Vertiefende Literatur
      6. 16.6 Übungsaufgaben
  10. III Erweiterte Datenbankmodelle und -techniken
    1. 17 Multimediale Daten
      1. 17.1 Multimedia-Datenbanken
        1. 17.1.1 Grundbegriffe
        2. 17.1.2 Grundlagen des Multimedia Retrieval
      2. 17.2 Text Retrieval
        1. 17.2.1 Information Retrieval auf Texten
        2. 17.2.2 Grundtechniken des Text Retrieval
        3. 17.2.3 Deskribierung
        4. 17.2.4 Recherche
        5. 17.2.5 Ranking
        6. 17.2.6 Information-Retrieval-Systeme
      3. 17.3 SQL/MM
        1. 17.3.1 SQL/MM Full Text
        2. 17.3.2 SQL/MM Still Image
        3. 17.3.3 Der Datentyp Video
        4. 17.3.4 SQL/MM Spatial
      4. 17.4 Zusammenfassung
      5. 17.5 Vertiefende Literatur
      6. 17.6 Übungsaufgaben
    2. 18 Räumliche und temporale Daten
      1. 18.1 Verwaltung raumbezogener Daten
        1. 18.1.1 Grundbegriffe
        2. 18.1.2 Modellierung raumbezogener Daten
        3. 18.1.3 Prädikate und Anfragen auf raumbezogenen Daten
        4. 18.1.4 Oracle Spatial
        5. 18.1.5 Weitere Systeme
      2. 18.2 Temporale Daten
        1. 18.2.1 Grundbegriffe
        2. 18.2.2 Umsetzung in SQL
        3. 18.2.3 Temporale Schlüssel, Fremdschlüssel und Anfragen
        4. 18.2.4 Weitere Entwicklung und Einordnung
      3. 18.3 Zusammenfassung
      4. 18.4 Vertiefende Literatur
      5. 18.5 Übungsaufgaben
    3. 19 Objektorientierte und objektrelationale Modelle
      1. 19.1 Exkurs: Objektorientierte Datenbankmodelle
      2. 19.2 Abbildung von Objekten auf Relationen
        1. 19.2.1 Typkonstruktoren
        2. 19.2.2 Abbildung der Spezialisierungshierarchie
      3. 19.3 Objektrelationale Erweiterungen
        1. 19.3.1 Large Objects: BLOB und CLOB
        2. 19.3.2 Typkonstruktoren
        3. 19.3.3 Identitäten, Referenzen und Pfadausdrücke
        4. 19.3.4 Hierarchien und Vererbung
        5. 19.3.5 Methoden
      4. 19.4 Objektrelationale Konzepte in SQL:2003
        1. 19.4.1 Typsystem und DDL
        2. 19.4.2 Anfragen
        3. 19.4.3 Methoden in SQL:2003
      5. 19.5 Zusammenfassung
      6. 19.6 Vertiefende Literatur
      7. 19.7 Übungsaufgaben
    4. 20 XML, XQuery und SQL/XML
      1. 20.1 Semistrukturierte Datenmodelle
        1. 20.1.1 Merkmale semistrukturierter Datenmodelle
        2. 20.1.2 Datenmodelle für semistrukturierte Dokumente
      2. 20.2 XML
        1. 20.2.1 Bausteine von XML
        2. 20.2.2 Verarbeitung von XML
      3. 20.3 Datendefinition in XML
        1. 20.3.1 Dokumenttypdefinition
        2. 20.3.2 XML Schema
        3. 20.3.3 XML-Abbildung auf relationale Schemata
      4. 20.4 Navigation in XML-Dokumenten: XPath
        1. 20.4.1 Pfadausdrücke und Lokalisierungsschritte
        2. 20.4.2 Selektionsprädikate und Funktionen
      5. 20.5 Die Anfragesprache XQuery
        1. 20.5.1 FLWOR-Ausdrücke
        2. 20.5.2 Elementkonstruktoren
        3. 20.5.3 Verbunde und Gruppierungen
        4. 20.5.4 Ausdrücke und Vergleiche
        5. 20.5.5 Funktionen
      6. 20.6 SQL/XML: XML-Erweiterungen für SQL
        1. 20.6.1 XML-Datentypen
        2. 20.6.2 XML-Konstruktion mit SQL
      7. 20.7 Zusammenfassung
      8. 20.8 Vertiefende Literatur
      9. 20.9 Übungsaufgaben
    5. 21 NoSQL-Datenbanken
      1. 21.1 Exkurs: Big Data
      2. 21.2 Motivation für NoSQL
      3. 21.3 KV-Stores und das Wide-Column-Datenmodell
        1. 21.3.1 Datenmodell: Key-Value-Stores
        2. 21.3.2 Datenmodell: Wide Column
      4. 21.4 Document Stores
        1. 21.4.1 Das JSON-Format
        2. 21.4.2 Anfragen bei dokumentenorientierter Speicherung
        3. 21.4.3 Datenrepräsentation und Anfragen in MongoDB
      5. 21.5 NewSQL – relationale Datenbanken schlagen zurück
      6. 21.6 Zusammenfassung
      7. 21.7 Vertiefende Literatur
      8. 21.8 Übungsaufgaben
    6. 22 Graph-Datenbanken
      1. 22.1 Graph-Datenmodelle: Grundlagen
        1. 22.1.1 Repräsentation von Graphstrukturen
        2. 22.1.2 Operationen und Anfragen auf Graphen
      2. 22.2 Das Resource Description Framework
        1. 22.2.1 Das RDF-Modell
        2. 22.2.2 RDF-Repräsentationen
        3. 22.2.3 RDF Schema und Vokabulare
      3. 22.3 Die RDF-Anfragesprache SPARQL
        1. 22.3.1 Grundlagen
        2. 22.3.2 SPARQL-Elemente
        3. 22.3.3 Aggregation und Gruppierung
        4. 22.3.4 Weitere Anfragetypen
        5. 22.3.5 Updates
      4. 22.4 Property-Graph-Modelle
        1. 22.4.1 Anfragen in Cypher
        2. 22.4.2 Anfragen in Gremlin
      5. 22.5 Zusammenfassung
      6. 22.6 Vertiefende Literatur
      7. 22.7 Übungsaufgaben
  11. A Laufendes Beispiel
    1. A.1 ER-Schema der Weindatenbank
    2. A.2 Relationale Repräsentation
    3. A.3 Vereinfachtes Schema und Beispieldaten
  12. B Zusätzliche Kapitel
    1. B.1 Historische Modelle
    2. B.2 Erweiterte Entwurfsmodelle
    3. B.3 Erweiterte Modelle und Anfragealgebren
    4. B.4 Objektorientierte und objektrelationale Modelle inklusive SQL:2003
    5. B.5 Tutorial D
    6. B.6 ECA-Regeln und aktive Datenbanken
    7. B.7 Grundlegende Datenbanktechniken
    8. B.8 SQL/JSON
  13. Literaturverzeichnis
  14. Anmerkungen