• Informationssystem: Ein Computergestütztes Programmsystem, welches Informationen erfasst, speichert, verarbeitet, verändert, analysiert, bereitstellt, anzeigt.
  • Ohne Datenbank?
    • Komplex
    • Ineffizient, Langsam
    • Keine Anfragesprache
    • Kein ACID
    • Redundanz (keine JOINS)
  • Benutzer und Anwendungen sprechen mit dem DBMS in einer Anfragesprache (Query Language)
  • Anfrageausführung
    1. Benutzer schickt Anfrage an DBMS
    2. DBMS generiert Anfrageplan
    3. DBMS optimiert den Plan
    4. DBMS führt den Plan aus
      • Daten lesen
      • Operationen durchführen (Join, Index-Scan, …)
    5. Ergebnis wird zurück an den Benutzer geschickt
  • Metadaten und Daten
    • Metadaten (Datenbankschema)
      • Festlegung der Struktur (“Tabellenkopf”)
      • Weitgehend zeitinvariant
    • Daten (Ausprägungen)
      • Das was in der Tabelle steht
      • Veränderlich
  • Datenbankmodellierung
    • Konzeptionelles Datenmodell
      • Unabhängig vom DBMS
      • ER-Diagramme, UML, …
    • Logisches Datenmodell
      • Relationenmodell (SQL), Objekt-Rational, Objektorientiert (NoSQL), …
    • Physisches Datenmodell
      • Interne Speicherung und Organisation der Daten
  • Datenabstraktion
    • Externe Ebene (Sichten/Views)
      • Sicht auf Teilmenge der Daten, z.B. für bestimmten Benutzer
      • Beispiel: Gejointe Tabelle zwischen Produkten und zuletzt gekauft, mit Durchschnittspreis
    • Logische Ebene
      • DB-Gesamt-Schema
      • Beispiel: Alle Tabellen der DB, insbesondere die mit allen Produkten und die mit dem Kaufverlauf
    • Physische Ebene
      • Internes Schema / Speicherung der Daten
      • Beispiel: 01010101010…
  • Datenunabhängigkeit
    • Logisch: Änderung am Schema beeinflusst Daten nicht, nur externes Schema
    • Physisch: Änderungen an internen Strukturen haben keine Auswirkungen auf logisches oder externes Schema
  • Architektur von DBMS (3-Schichten-Modell)
    • Datensystem - Übersetzt und optimiert Anfragen
    • Zugriffssystem - Verwaltet Datensätze und Indexe
    • Speichersystem - Blockverwaltung und Caching