wyk10, Bazy Danych, Wykłady bazy danych - PDF
[ Pobierz całość w formacie PDF ]
Transakcje
Wykład 10
Prowadzący: dr Paweł Drozda
Wprowadzenie
Baza danych odzwierciedla część
rzeczywistości
Zmiany świata rzeczywistego muszą
znaleźć odzwierciedlenie w bazie
(przejście ze stanu spójnego do
innego stanu spójnego)
Problemy:
Awaryjność
Współbieżny dostęp do danych
Rozproszenie baz
dr Paweł Drozda
Przykład wprowadzający
Rezerwacja biletów lotniczych na lot X w
firmie A przez pasażera Y za kwotę Z
Awaria
po dokonaniu zapłaty (przed wystawieniem
biletu) – częściowo wykonane operacje
Dwie osoby w tym samym czasie rezerwują
ostatni bilet na dany lot
Rozwiązanie -
transakcja
dr Paweł Drozda
Transakcje
Sekwencja logicznie powiązanych
operacji na bazie danych.
Przeprowadza bazę z jednego stanu
spójnego w inny stan spójny
Dozwolone operacje:
Odczyt, zapis danych
Zakończenie transakcji
Akceptację lub wycofanie transakcji
Rozwiązuje problemy awaryjności,
wielodostępności i rozproszenia
dr Paweł Drozda
Transakcja – rezerwacja lotu
begin
UPDATE Loty
SET wolneMiejsca=wolneMiejsca-1
WHERE idlotu =X;
UPDATE Konta
SET saldo = saldo –Z WHERE klient=Y;
UPDATE Konta
SET saldo = saldo +Z WHERE klient=A;
INSERT INTO Pasażerowie(lot,klient)
VALUES (X,Y);
commit; // zatwierdzenie transakcji
dr Paweł Drozda
[ Pobierz całość w formacie PDF ]