Transakcja to całość operacji wykonywanych w
bazie danych, stanowica pewną funkcjonalną całość. Ponieważ ważny jest efekt końcowy, a nie elementy częściowe, to muszą te operacje być wykonane w całości, albo żadna z nich. Zabezpiecza to bazy przed utratą danych.
Transakcja skada się zawsze z trzech elementów, etapów operacji:
- rozpoczęcia
- wykonywania
- zakończenia, które kończy się zatwierdzeniem transakcji
Książkowy przykad na w/w to operacje bankowe, a konkretnie przelewy pieniędzy. Elementami przelewu to pobranie pieniądzy z jednego konta i wpłacenie na konto docelowe. Jeeli wystąpi niepowodzenie w transakcji, to wszystkie czynności należy anulować.
W przypadku
Relacyjnych Baz Danych transakcją jest ciąg poleceń (zapytań, języka
SQL).
Podane poniżej zależności dotyczą
transakcji w komputerowych bazach danych.
- Transakcja powinna trwać jak najkrócej, ze względu na fakt wykonywania wielu czynnoci jednoczenie, a niektóre operacje muszą czekać w kolejce do wykonania
- W komputerach stosuje się także inne sposoby zabezpieczania transakcji przed utratą danych. Jest to tzw. mechanizm księgowania, stosowany w systemach plikowych ntfs lub w ext3. Księgowaniu mogą podlegać dane i metadane
- Etapy operacji są zapisywane w plikach (czynności są logowane), dzięki czemu można odtworzyć stan bazy sprzed transakcji, w przypadku braku zamknięcia transakcji
- Transakcje muszą zapewniać spójność i integralność danych
Bazy danych stosują zwykłe operacje na plikach takie jak, kopiowanie, kasowanie, zmiana nazwy... i dlatego dobrym rozwiązaniem jest zastosowanie systemów plikowych z
księgowaniem. Dzięki takiemu rozwiązaniu zabezpieczenie przed utratą danych jest lepsze, niż przy systemie plików bez
księgowania.