Junior
Waarom worden transacties gebruikt in databases?
sobes.tech AI
Antwoord van AI
Transacties zorgen voor de atomairheid, consistentie, isolatie en duurzaamheid (ACID) van databasebewerkingen.
- Atomairheid: Alle operaties binnen een transactie worden volledig uitgevoerd of helemaal niet. Als één operatie faalt, worden alle teruggedraaid.
- Consistentie: De transactie brengt de database van een consistente naar een andere staat. Overtredingen van beperkingen (bijvoorbeeld unieke sleutels) worden voorkomen.
- Isolatie: Elke transactie wordt uitgevoerd alsof het de enige is in het systeem. Wijzigingen door een transactie zijn niet zichtbaar voor anderen totdat deze is voltooid.
- Duurzaamheid: Na succesvolle voltooiing worden de wijzigingen opgeslagen en gaan ze niet verloren, zelfs niet bij systeemstoringen.
Transacties zijn belangrijk voor het waarborgen van de gegevensintegriteit, vooral bij het uitvoeren van meerdere gerelateerde operaties die samen of helemaal niet uitgevoerd moeten worden. Een voorbeeld is geld overmaken van een spaarrekening naar een lopende rekening.
-- Begin van de transactie
START TRANSACTION;
-- Aftrekken van het eerste account
UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;
-- Als de vorige operatie succesvol was, bijschrijven op het tweede account
UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;
-- Controleren of beide operaties succesvol waren en geen fouten bevatten
-- IF foutconditie THEN
-- ROLLBACK; -- Alle wijzigingen terugdraaien
-- ELSE
-- COMMIT; -- Alle wijzigingen bevestigen
-- END IF;
-- Aangenomen dat beide commando's succesvol zijn uitgevoerd, voorbeeld
COMMIT; -- Bevestig de transactie
-- ROLLBACK; -- Annuleer de transactie bij fout