een transactie is een enkele logische werkeenheid die toegang heeft tot en mogelijk de inhoud van een database wijzigt. Transacties 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 zure eigenschappen genoemd.
Atomicity
hiermee bedoelen we dat ofwel de gehele transactie tegelijk plaatsvindt of helemaal niet plaatsvindt. Er is geen midway d.w.z., transacties vinden niet gedeeltelijk plaats. Elke transactie wordt beschouwd als één eenheid en loopt tot voltooiing of wordt helemaal niet uitgevoerd. Het gaat om de volgende twee operaties.
– Abort: als een transactie wordt afgebroken, zijn wijzigingen in de database niet zichtbaar.
– Commit: als een transactie commit, zijn gemaakte wijzigingen zichtbaar.atomiciteit is ook bekend als de ‘alles of niets regel’.
beschouw de volgende transactie T bestaande uit T1 en T2: overdracht van 100 van rekening X naar rekening Y.,
indien de transactie mislukt na voltooiing van T1 maar vóór voltooiing van T2.(zeg, na schrijven(X) maar vóór schrijven (Y)), dan is het bedrag afgetrokken van X maar niet toegevoegd aan Y. Dit resulteert in een inconsistente database staat. Daarom moet de transactie in zijn geheel worden uitgevoerd om de juistheid van de gegevensbestandstatus te waarborgen.
consistentie
dit betekent dat integriteitsbeperkingen moeten worden gehandhaafd zodat de database consistent is voor en na de transactie. Het verwijst naar de juistheid van een database., Onder verwijzing naar bovenstaand voorbeeld moet
Het totale bedrag vóór en na de transactie worden gehandhaafd.
totaal voordat T optreedt = 500 + 200 = 700.
totaal na T = 400 + 300 = 700.
daarom is de database consistent. Inconsistentie treedt op in het geval dat T1 wordt voltooid, maar T2 mislukt. Daardoor is T onvolledig.
isolatie
Deze eigenschap zorgt ervoor dat meerdere transacties gelijktijdig kunnen plaatsvinden zonder dat dit leidt tot de inconsistentie van de databasestatus. Transacties gebeuren onafhankelijk zonder interferentie., Wijzigingen die zich voordoen in een bepaalde transactie zullen niet zichtbaar zijn voor een andere transactie totdat die specifieke wijziging in die transactie in het geheugen is geschreven of is vastgelegd. Deze eigenschap zorgt ervoor dat de uitvoering van transacties gelijktijdig zal resulteren in een staat die gelijkwaardig is aan een staat bereikt deze werden serieel uitgevoerd in een bepaalde volgorde.
zij X = 500, Y = 500.zie twee transacties T en T”.
stel dat T is uitgevoerd tot Read (Y) en dan T ” start., Als gevolg hiervan vindt interleaving van operaties plaats waardoor T “de juiste waarde van X leest, maar onjuiste waarde van Y en Som berekend door
T”: (X + Y = 50, 000+500=50, 500)
is dus niet consistent met de som aan het einde van de transactie:
T: (X + Y = 50, 000 + 450 = 50, 450).
Dit resulteert in een database inconsistentie, als gevolg van een verlies van 50 eenheden. Transacties moeten daarom geïsoleerd plaatsvinden en veranderingen moeten pas zichtbaar zijn nadat ze in het hoofdgeheugen zijn aangebracht.,
duurzaamheid:
Deze eigenschap zorgt ervoor dat zodra de uitvoering van de transactie is voltooid, de updates en wijzigingen aan de database worden opgeslagen en naar de schijf worden geschreven en 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.,
De ZUUREIGENSCHAPPEN bieden in hun totaliteit een mechanisme om de juistheid en consistentie van een database zodanig te waarborgen dat elke transactie een groep van bewerkingen is die één eenheid uitvoert, consistente resultaten oplevert, los staat van andere bewerkingen en updates die worden uitgevoerd duurzaam worden opgeslagen.
Dit artikel is geschreven door Avneet Kaur. Als je GeeksforGeeks leuk vindt en wil bijdragen, kun je ook een artikel schrijven met contribute.geeksforgeeks.org of mail uw artikel naar [email protected]., Zie je artikel verschijnen op de GeeksforGeeks hoofdpagina en help andere Geeks.