Basis van databases

Welke van de ACID-eigenschappen die een transactie moet hebben, is de eigenschap dat een overboeking die rekening A debiteert en rekening B crediteert ofwel volledig ofwel helemaal niet wordt uitgevoerd, ook als er halverwege een storing optreedt?

  1. AConsistentie (consistency)
  2. BDuurzaamheid (durability)
  3. CAtomiciteit (atomicity)
Antwoord en toelichting tonen

Antwoord: C. Atomiciteit (atomicity)

De ACID-eigenschappen zijn genoemd naar de beginletters van vier eigenschappen waaraan een transactie moet voldoen. Atomiciteit (atomicity) betekent dat de bewerkingen in een transactie ofwel allemaal ofwel geen van alle worden uitgevoerd; bij een storing worden de tot dan toe gemaakte wijzigingen ongedaan gemaakt. Consistentie (consistency) betekent dat de gegevens vóór en na de transactie blijven voldoen aan de integriteitsbeperkingen (saldi nooit negatief, vreemde sleutels die altijd naar bestaande rijen verwijzen enzovoort). Isolatie (isolation) betekent dat gelijktijdig lopende transacties elkaar niet beïnvloeden en hetzelfde resultaat geven als wanneer ze een voor een zouden zijn uitgevoerd. Duurzaamheid (durability) betekent dat de resultaten van een gecommitte transactie niet verloren gaan, ook als er daarna een storing optreedt. De alles-of-niets-eigenschap uit de vraag is atomiciteit.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Basis van databases

  1. De voorraad van een product in de tabel Voorraad is 10. Transactie T1 leest de voorraad en schrijft de waarde min 3 terug, en T2 leest de voorraad en schrijft de waarde min 5 terug. Als ze zonder locks worden uitgevoerd in de volgorde T1 leest, T2 leest, T1 schrijft, T2 schrijft, wat is dan de uiteindelijke voorraad?
  2. Welke beschrijving van een dirty read, een van de problemen die optreden als transacties gelijktijdig lopen, is juist?
  3. Transactie T1 voerde SELECT COUNT(*) FROM Bestelling WHERE Bedrag >= 1000 uit en kreeg 8. Direct daarna voegde T2 met INSERT een rij toe voor een bestelling met een bedrag van 2000 en voerde een commit uit. Toen T1 hetzelfde SELECT-statement opnieuw uitvoerde, kreeg het 9. Welk verschijnsel is dit?
  4. Welk antwoord noemt van de isolatieniveaus die de SQL-standaard definieert juist de verschijnselen die bij READ COMMITTED kunnen optreden?
  5. Transactie T1 heeft een gedeelde lock op een rij en leest die. T2 vraagt een gedeelde lock en T3 een exclusieve lock op dezelfde rij aan. Wat is juist voor de periode tot T1 zijn lock vrijgeeft?