This is an old revision of the document!
Zusammenfassung
Grundbegriffe
Anforderungen (Codd)
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)
Ebenen
Anwendungen (mehrere) |
Externe Ebene | Views (mehrere) |
| ↓↓ Logische Datenunabhängigkeit ↓↓ |
Konzeptionelle Ebene | |
| ↓↓ Physische Datenunabhängigkeit ↓↓ |
Interne Ebene | Speicherformat |
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
Serialisierungs-Graph
x | y | z | ← Attribute |
r1 | w2 | r1 | ← OperationTransaktion |
r2 | r3 | w1 |
w2 | w3 | r4 |
| | w3 |
Spaltenweise von oben nach unten die wr(x),rw(x),ww(x)-Paare finden
Anomalien
Lost update
Dirty read/write
Non-repeatable read
Phantom-Problem
Non-repeatable read mit Aggregiertem read
Eigenschaften von Schedules
Eigenschaften eines Schedules:
Schedule | Beschreibung |
allgemein | Durcheinander |
seriell | Blockform |
serialisierbar | allgemein + seriell (Zyklenfrei) |
rücksetzbar | commit erst nach commit von denen ich gelesen habe |
ohne kaskadiertes
Rollback | Keine Daten einer laufenden TA lesen |
strikt | Keine Daten einer laufenden TA lesen/schreiben |
Eigenschaften zwischen Schedules:
Schedule | Beschreibung |
konfliktäquivalent | Gleiche Abhängigkeitsmengen |
Locking
Verfahren
(Voll)
| X |
X | |
RX
RUX
RAX
RIX
| R | X | IR | IX | RIX |
R | | | | | |
X | | | | | |
IR | | | | | |
IX | | | | | |
RIX | | | | | |
Überprüfung auf unterer Ebene nötig |
RAC
Eigenschaften
Verfahren | Verhungern | Deadlock | Bemerkung |
| | | |