40 likes | 173 Views
Lese-Schreib-Modell: Beispiele. Relationen TICKET (ticketNr, name) T BUCHUNG (flugNr, ticketNr, platzCode, datum) B Transaktionen: T 1 : Prüfen der Konsistenz von Passagierlisten und Buchungen, T 2 : Umbuchung einer Gruppe von Passagieren, T 3 : Stornieren einer Buchung.
E N D
Lese-Schreib-Modell: Beispiele • Relationen • TICKET (ticketNr, name)T • BUCHUNG (flugNr, ticketNr, platzCode, datum) B • Transaktionen: • T1: Prüfen der Konsistenz von Passagierlisten und Buchungen, • T2: Umbuchung einer Gruppe von Passagieren, • T3: Stornieren einer Buchung. • Vereinfachende Annahmen: • Bei Lese- und Schreib-Operationen werden stets die gesamten Relationen zwischen Hintergrund- und Arbeitsspeicher übertragen.
Beispiel-Transaktion T1 • Transaktion T1 druckt Anzahl der für den 12. August 2000 verkauften Tickets sowie Liste der Inhaber aus: selectcount (distinct ticketNr)from BUCHUNGwhere datum = 12-AUG-00; drucke Anzahl der verkauften Tickets; select namefrom TICKETwhere ticketNr in (select ticketNrfrom BUCHUNGwhere datum = 12-AUG-00); drucke Passagierliste; commit; Lesen von BUCHUNG Lesen von TICKET BUCHUNG schon gelesen Transaktionsbeschreibung von T1 : r1(B) r1(T) c1.
Transaktionsbeschreibung von T2 : r2(B) r2(T) w2(T) w2(B) c2. Beispiel-Transaktion T2 Nicht anzusehen, dass die geschriebenen Werte von beiden gelesenen Werten abhängen • Transaktion T2 bucht Passagiere in Reihe 19 (Bender, Kuhn und Weinand) auf LH500 vom 12. August 2000 auf 11. August 2000 um und versieht Ticketnummer mit Änderungsvermerk : update TICKET set ticketNr = ticketNr + 100000where ticketNr in (select ticketNrfrom BUCHUNGwhere datum = 12-AUG-00 and flugNr = "LH500"and (platzCode = "19D" or platzCode = "19E"or platzCode = "19G" )); update BUCHUNGset datum = 11-AUG-00, ticketNr = ticketNr + 100000where datum = 12-AUG-00 and flugNr = "LH500"and (platzCode = "19D" or platzCode = "19E" or platzCode = "19G"); commit; Lesen von TICKET Lesen von BUCHUNG Schreiben von TICKET BUCHUNG schon gelesen Schreiben von BUCHUNG
Beispiel-Transaktion T3 Lesen von TICKET • Transaktion T3 storniert Ticket Nr. 7216087338: deletefrom TICKET where ticketNr = 7216087338; deletefrom BUCHUNGwhere ticketNr = 7216087338; commit; Schreiben von TICKET Lesen von BUCHUNG Schreiben von BUCHUNG Transaktionsbeschreibung von T3 : r3(T) w3(T) r3(B) w3(B) c3.