uni:8:dbs2:start
This is an old revision of the document!
Table of Contents
Datenbanksysteme II
Aufbau
- DB-Anwendung
- DBS
- DBMS
- DB
| Anwendungen (mehrere) | |
| Externe Ebene | Views (mehrere) |
|---|---|
| ↓↓ Logische Datenunabhängigkeit ↓↓ | |
| Konzeptionelle Ebene | |
| ↓↓ Physische Datenunabhängigkeit ↓↓ | |
| Interne Ebene | Speicherformat |
Anforderungen
- Integration einheitlicher Zugriff auf alle Daten einer Anwendung
- Operationen auf den Daten (ändern, löschen, …)
- Data Dictionary Schema anschauen
- Benutzersicheten views
- Konsistenzüberwachung bei Änderung
- Zugriffskontrolle
- Transaktionen
- Synchronisation (Mehrbenutzersystem)
- Datensicherung
- Datensystem (deskriptive Anfragen, Mengenzugriffe)
- Zugriffssystem (Satzzugriffe)
- Speichersystem (Seitenzugriffe)
- DB (Blocktransfer)
Neben an:
- Transfermanagement???
- Metadatenverwaltung
Drüber:
- Anwendung
ACID
- Atomic (Wenn, dann wird man als ganzes abgebrochen)
- Consistency (Konsistenter Zystand → Konsistenter Zustand)
- Isolation (Man muss sich aleine fühlen)
- Durability (Abgeschlossene Transaktionen sind von dauer)
Synchronisation
Anomalien
Lost update
| t1 | r(x) | w(x) | |
|---|---|---|---|
| t2 | w(x) |
Dirty read/write
| t1 | w(x) | w(x) | |
|---|---|---|---|
| t2 | r(x) |
Non-repeatable read
| t1 | r(x) | r(x) | |
|---|---|---|---|
| t2 | w(x) |
Phantom-Problem
Non-repeatable read mit Aggregiertem read
Serialisierung
| allgemeiner Schedule | Durcheinander |
|---|---|
| serialisierbarer (allgemeiner) Schedule | Durcheinander kann in Blockform gebracht werden |
| serieller Schedule | Blockform |
Graph Zeichen
- Knoten: Transaktionen
- Kanten: Abhängigkeiten
| Übergang | Markierung |
|---|---|
| $w_i(x) \rightarrow r_j(x)$ | wr(x) |
| $r_i(x) \rightarrow w_j(x)$ | rw(x) |
| $w_i(x) \rightarrow w_j(x)$ | ww(x) |
Kein rr(x)
Zyklenfrei? ⇒ Serialisierbar durch topologisches sorieren
Technicken
- Pessimistische Ablaufsteuerung (Locking)
- Optimistische Ablaufsteuerung (Zeitstempelverfahren)
Notfalls rollback
uni/8/dbs2/start.1429693774.txt.gz · Last modified: (external edit)
