A transactie is een enkele logische werkeenheid die toegang krijgt tot de inhoud van een database en deze mogelijk wijzigt. Transacties hebben toegang tot gegevens met behulp van lees- en schrijfbewerkingen.
Om de consistentie in een database te behouden, worden voor en na de transactie bepaalde eigenschappen gevolgd. Deze worden genoemd ZUUR eigenschappen.
Voor degenen die deze concepten onder de knie willen krijgen en willen uitblinken in examens zoals HEK , ons GATE-cursus biedt een diepgaande verkenning van databasebeheersystemen. We behandelen alles, van de basis tot geavanceerde onderwerpen, en zorgen voor een grondig begrip dat essentieel is voor hoge scores en praktische toepassing
Atomiciteit:
Hiermee bedoelen we dat de hele transactie in één keer plaatsvindt of helemaal niet plaatsvindt. Er is geen middenweg, dat wil zeggen dat transacties niet gedeeltelijk plaatsvinden. Elke transactie wordt beschouwd als één eenheid en wordt óf voltooid óf helemaal niet uitgevoerd. Het gaat om de volgende twee operaties.
— Afbreken : Als een transactie wordt afgebroken, zijn wijzigingen in de database niet zichtbaar.
— Verbinden : Als een transactie wordt vastgelegd, zijn de aangebrachte wijzigingen zichtbaar.
Atomiciteit wordt ook wel de ‘Alles of niets-regel’ genoemd.
Beschouw de volgende transactie T bestaande uit T1 En T2 : Overboeking van 100 van rekening X verklaren EN .

Als de transactie na voltooiing mislukt T1 maar vóór voltooiing van T2 .(zeg, na schrijf(X) maar voorheen schrijf(J) ), dan is het bedrag in mindering gebracht X maar niet toegevoegd EN . Dit resulteert in een inconsistente databasestatus. Daarom moet de transactie in zijn geheel worden uitgevoerd om de juistheid van de databasestatus te garanderen.
Samenhang:
Dit betekent dat integriteitsbeperkingen moeten worden gehandhaafd, zodat de database voor en na de transactie consistent is. Het verwijst naar de juistheid van een database. Verwijzend naar het bovenstaande voorbeeld,
Het totaalbedrag voor en na de transactie moet behouden blijven.
Totaal Voor t komt voor = 500 + 200 = 700 .
Totaal nadat T optreedt = 400 + 300 = 700 .
Daarom is de database consistent . Er ontstaat inconsistentie in het geval T1 voltooit maar T2 mislukt. Als gevolg hiervan is T onvolledig.
Isolatie:
Deze eigenschap zorgt ervoor dat meerdere transacties gelijktijdig kunnen plaatsvinden zonder dat dit leidt tot inconsistentie van de databasestatus. Transacties vinden onafhankelijk en zonder tussenkomst plaats. Wijzigingen die plaatsvinden in een bepaalde transactie zullen niet zichtbaar zijn voor andere transacties totdat die specifieke wijziging in die transactie naar het geheugen is geschreven of is vastgelegd. Deze eigenschap zorgt ervoor dat het gelijktijdig uitvoeren van transacties resulteert in een toestand die gelijkwaardig is aan de toestand waarin deze in een bepaalde volgorde serieel werden uitgevoerd.
Laten X = 500, EN = 500.
Beschouw twee transacties T En T.

Veronderstellen T is geëxecuteerd tot Klaar) en dan T'' begint. Als gevolg hiervan vindt interleaving van bewerkingen plaats T'' leest de juiste waarde van X maar de onjuiste waarde van EN en som berekend door
T’’: (X+Y = 50, 000+500=50, 500)
komt dus niet overeen met het bedrag aan het einde van de transactie:
T: (X+Y = 50.000 + 450 = 50.450) .
Dit resulteert in inconsistentie in de database, als gevolg van een verlies van 50 eenheden. Daarom moeten transacties geïsoleerd plaatsvinden en mogen wijzigingen pas zichtbaar zijn nadat ze in het hoofdgeheugen zijn aangebracht.
Duurzaamheid:
Deze eigenschap zorgt ervoor dat zodra de transactie is uitgevoerd, de updates en wijzigingen in de database worden opgeslagen en naar schijf worden geschreven en dat ze blijven bestaan, zelfs als er een systeemfout optreedt. Deze updates worden nu permanent en worden opgeslagen in niet-vluchtig geheugen. De effecten van de transactie gaan dus nooit verloren.
Enkele belangrijke punten:
| Eigendom | Verantwoordelijk voor het onderhouden van eigendommen |
|---|---|
| Atomiciteit | Transactiebeheerder |
| Samenhang | Applicatie programmeur |
| Isolatie | Beheerder van gelijktijdigheidscontrole |
| Duurzaamheid | Herstelmanager |
De ZUUR eigenschappen bieden in totaal een mechanisme om de juistheid en consistentie van een database te garanderen, op een zodanige manier dat elke transactie een groep bewerkingen is die als een enkele eenheid fungeert, consistente resultaten oplevert, afzonderlijk van andere bewerkingen werkt en updates uitvoert die waardoor het duurzaam wordt opgeslagen.
ACID-eigenschappen zijn de vier belangrijkste kenmerken die de betrouwbaarheid en consistentie van een transactie in een Database Management System (DBMS) bepalen. De afkorting ACID staat voor Atomicity, Consistentie, Isolatie en Duurzaamheid. Hier volgt een korte beschrijving van elk van deze eigenschappen:
- Atomiciteit: Atomiciteit zorgt ervoor dat een transactie wordt behandeld als een enkele, ondeelbare werkeenheid. Ofwel worden alle handelingen binnen de transactie met succes voltooid, ofwel geen enkele ervan. Als een deel van de transactie mislukt, wordt de gehele transactie teruggedraaid naar de oorspronkelijke staat, waardoor de consistentie en integriteit van de gegevens wordt gewaarborgd.
- Consistentie: Consistentie zorgt ervoor dat een transactie de database van de ene consistente staat naar de andere consistente staat brengt. De database bevindt zich in een consistente staat, zowel vóór als nadat de transactie is uitgevoerd. Beperkingen, zoals unieke sleutels en externe sleutels, moeten worden gehandhaafd om de consistentie van gegevens te garanderen.
- Isolatie: Isolatie zorgt ervoor dat meerdere transacties gelijktijdig kunnen worden uitgevoerd zonder elkaar te hinderen. Elke transactie moet worden geïsoleerd van andere transacties totdat deze is voltooid. Deze isolatie voorkomt vuile leesbewerkingen, niet-herhaalbare leesbewerkingen en fantoomleesbewerkingen.
- Duurzaamheid: Duurzaamheid zorgt ervoor dat zodra een transactie is vastgelegd, de wijzigingen permanent zijn en eventuele daaropvolgende systeemstoringen zullen overleven. De wijzigingen van de transactie worden permanent in de database opgeslagen, en zelfs als het systeem crasht, blijven de wijzigingen intact en kunnen ze worden hersteld.
Over het geheel genomen bieden ACID-eigenschappen een raamwerk voor het garanderen van gegevensconsistentie, integriteit en betrouwbaarheid in DBMS. Ze zorgen ervoor dat transacties op een betrouwbare en consistente manier worden uitgevoerd, zelfs als er sprake is van systeemstoringen, netwerkproblemen of andere problemen. Deze eigenschappen maken DBMS tot een betrouwbaar en efficiënt hulpmiddel voor het beheren van gegevens in moderne organisaties.
Voordelen van ACID-eigenschappen in DBMS:
- Gegevensconsistentie: ACID-eigenschappen zorgen ervoor dat de gegevens consistent en nauwkeurig blijven na elke transactie-uitvoering.
- Gegevensintegriteit: ACID-eigenschappen behouden de integriteit van de gegevens door ervoor te zorgen dat eventuele wijzigingen in de database permanent zijn en niet verloren kunnen gaan.
- Concurrency Control: ACID-eigenschappen helpen bij het beheren van meerdere transacties die gelijktijdig plaatsvinden door interferentie daartussen te voorkomen.
- Herstel: ACID-eigenschappen zorgen ervoor dat het systeem in geval van een storing of crash de gegevens kan herstellen tot het punt van de storing of crash.
Nadelen van ACID-eigenschappen in DBMS:
- Prestaties: De ACID-eigenschappen kunnen een prestatieoverhead in het systeem veroorzaken, omdat ze extra verwerking vereisen om de consistentie en integriteit van gegevens te garanderen.
- Schaalbaarheid: De ACID-eigenschappen kunnen schaalbaarheidsproblemen veroorzaken in grote gedistribueerde systemen waar meerdere transacties gelijktijdig plaatsvinden.
- Complexiteit: Het implementeren van de ACID-eigenschappen kan de complexiteit van het systeem vergroten en aanzienlijke expertise en middelen vereisen.
Over het geheel genomen wegen de voordelen van ACID-eigenschappen in DBMS zwaarder dan de nadelen. Ze bieden een betrouwbare en consistente benadering van gegevens - beheer, waarbij de gegevensintegriteit, nauwkeurigheid en betrouwbaarheid worden gewaarborgd. In sommige gevallen kan de overhead van het implementeren van ACID-eigenschappen echter prestatie- en schaalbaarheidsproblemen veroorzaken. Daarom is het belangrijk om de voordelen van ACID-eigenschappen af te wegen tegen de specifieke behoeften en vereisten van het systeem.
