- 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
- Benutzer schickt Anfrage an DBMS
- DBMS generiert Anfrageplan
- DBMS optimiert den Plan
- DBMS führt den Plan aus
- Daten lesen
- Operationen durchführen (Join, Index-Scan, …)
- 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