transakcja jest pojedynczą logiczną jednostką pracy, która uzyskuje dostęp i ewentualnie modyfikuje zawartość bazy danych. Transakcje uzyskują dostęp do danych za pomocą operacji odczytu i zapisu.
w celu zachowania spójności w bazie danych, przed i po transakcji, przestrzegane są pewne właściwości. Są to tzw. właściwości kwasowe.
Atomicity
przez to rozumiemy, że albo cała transakcja odbywa się jednocześnie, albo wcale. Nie ma midway tj., transakcje nie występują częściowo. Każda transakcja jest traktowana jako jedna jednostka i albo trwa do zakończenia, albo nie jest w ogóle wykonywana. Obejmuje ona następujące dwie operacje.
– Abort: jeśli transakcja zostanie przerwana, zmiany wprowadzone w bazie danych nie będą widoczne.
– Commit: jeśli transakcja zatwierdzi, wprowadzone zmiany są widoczne.
Atomiczność jest również znana jako „zasada wszystko albo nic”.
rozważmy następującą transakcję t składającą się z T1 i T2: Przelew 100 z konta X na konto Y.,
jeżeli transakcja nie powiedzie się po zakończeniu T1, ale przed zakończeniem T2.(powiedzmy, po write (X), ale przed write (Y)), wtedy kwota została odjęta od X, ale nie dodana do Y. powoduje to niespójny stan bazy danych. Dlatego transakcja musi być wykonana w całości, aby zapewnić poprawność stanu bazy danych.
spójność
oznacza to, że należy zachować ograniczenia integralności, aby baza danych była spójna przed i po transakcji. Odnosi się do poprawności bazy danych., Odwołując się do powyższego przykładu,
całkowita kwota przed i po transakcji musi zostać zachowana.
suma przed T = 500 + 200 = 700.
suma po T = 400 + 300 = 700.
dlatego baza danych jest spójna. Niespójność występuje w przypadku, gdy T1 się kończy, ale T2 się nie powiedzie. W rezultacie T jest niekompletny.
Isolation
właściwość ta zapewnia, że wiele transakcji może występować jednocześnie bez doprowadzania do niespójności stanu bazy danych. Transakcje odbywają się niezależnie, bez zakłóceń., Zmiany zachodzące w danej transakcji nie będą widoczne dla żadnej innej transakcji, dopóki ta konkretna zmiana w tej transakcji nie zostanie zapisana w pamięci lub nie zostanie zatwierdzona. Ta właściwość zapewnia, że realizacja transakcji jednocześnie spowoduje stan, który jest równoważny stanowi osiągniętego te zostały wykonane seryjnie w pewnej kolejności.
niech X= 500, Y = 500.
rozważmy dwie transakcje T i T”.
Załóżmy, że T zostało wykonane do momentu uruchomienia Read (Y), a następnie t”., W rezultacie odbywa się przeplatanie operacji, dzięki którym T „odczytuje poprawną wartość X, ale niepoprawną wartość Y i sumę obliczoną przez
T”: (X + Y = 50, 000+500=50, 500)
nie jest więc spójna z sumą na koniec transakcji:
T: (X + Y = 50, 000 + 450 = 50, 450).
powoduje to niespójność bazy danych, spowodowaną utratą 50 jednostek. Dlatego transakcje muszą odbywać się w izolacji, a zmiany powinny być widoczne dopiero po ich wprowadzeniu do pamięci głównej.,
trwałość:
właściwość ta zapewnia, że po zakończeniu transakcji aktualizacje i modyfikacje bazy danych są przechowywane i zapisywane na dysku i utrzymują się nawet w przypadku awarii systemu. Aktualizacje te stają się teraz trwałe i są przechowywane w nieulotnej pamięci. Skutki transakcji nigdy nie są zatem tracone.,
właściwości kwasu, w sumie, zapewniają mechanizm zapewniający poprawność i spójność bazy danych w taki sposób, że każda transakcja jest grupą operacji, która działa jako jedna jednostka, daje spójne wyniki, działa w izolacji od innych operacji i aktualizacje, które sprawia, że są trwale przechowywane.
autorem artykułu jest Avneet Kaur. Jeśli lubisz GeeksforGeeks i chciałbyś przyczynić się do tego, możesz również napisać artykuł za pomocą contribute.geeksforgeeks.org lub wyślij artykuł do [email protected]., Zobacz swój artykuł pojawiający się na stronie głównej GeeksforGeeks i pomóż innym Geekom.