DBMS is het beheer van gegevens die geïntegreerd moeten blijven als er wijzigingen in worden aangebracht. Het is omdat als de integriteit van de gegevens wordt aangetast, hele gegevens verstoord en beschadigd raken. Om de integriteit van de gegevens te behouden, worden er daarom vier eigenschappen beschreven in het databasebeheersysteem, die bekend staan als de ZUUR eigenschappen. De ACID-eigenschappen zijn bedoeld voor de transactie die een andere groep taken doorloopt, en daar komen we de rol van de ACID-eigenschappen tegen.
In deze sectie zullen we de ACID-eigenschappen leren en begrijpen. We zullen leren waar deze eigenschappen voor staan en waarvoor elke eigenschap wordt gebruikt. We zullen ook de ZUUR-eigenschappen begrijpen met behulp van enkele voorbeelden.
ZUUR-eigenschappen
De uitbreiding van de term ACID definieert voor:
1) Atomiciteit
De term atomiciteit definieert dat de gegevens atomair blijven. Het betekent dat als er een bewerking op de gegevens wordt uitgevoerd, deze ofwel volledig moet worden uitgevoerd, ofwel helemaal niet moet worden uitgevoerd. Het betekent verder dat de bewerking niet tussendoor mag worden onderbroken of gedeeltelijk mag worden uitgevoerd. In het geval van het uitvoeren van bewerkingen op de transactie moet de bewerking volledig worden uitgevoerd en niet gedeeltelijk.
Voorbeeld: Als Remo rekening A heeft met €30 op zijn rekening waarvan hij €10 naar Sheero's rekening wil sturen, dat is B. Op rekening B staat al een bedrag van €100. Wanneer $10 naar rekening B wordt overgemaakt, wordt het bedrag $110. Nu zullen er twee operaties plaatsvinden. Eén daarvan is dat het bedrag van $ 10 dat Remo wil overmaken, wordt afgeschreven van zijn rekening A, en hetzelfde bedrag wordt bijgeschreven op rekening B, dat wil zeggen op Sheero's rekening. Wat er nu gebeurt: de eerste debetoperatie wordt met succes uitgevoerd, maar de creditoperatie mislukt echter. Op Remo's rekening A wordt de waarde dus $20, en op die van Sheero's rekening blijft het $100, zoals voorheen het geval was.
In het bovenstaande diagram is te zien dat na het crediteren van €10, het bedrag nog steeds €100 op rekening B staat. Het is dus geen atomaire transactie.
De onderstaande afbeelding laat zien dat zowel debet- als creditbewerkingen met succes zijn uitgevoerd. De transactie is dus atomair.
Wanneer het bedrag dus zijn atomiciteit verliest, wordt dit in de banksystemen een groot probleem, en dus is de atomiciteit de belangrijkste focus in de banksystemen.
2) Consistentie
Het woord samenhang betekent dat de waarde altijd behouden moet blijven. In DBMS moet de integriteit van de gegevens behouden blijven, wat betekent dat als er een wijziging in de database wordt aangebracht, deze altijd behouden moet blijven. Bij transacties is de integriteit van de gegevens van groot belang, zodat de database voor en na de transactie consistent blijft. De gegevens moeten altijd kloppen.
Voorbeeld:
In de bovenstaande afbeelding zijn er drie rekeningen, A, B en C, waarbij A één voor één een transactie T uitvoert naar zowel B als C. Er vinden twee bewerkingen plaats, namelijk debet en credit. Rekening A schrijft eerst €50 af van rekening B, en het bedrag op rekening A wordt vóór de transactie door B afgelezen van €300. Na de succesvolle transactie T wordt het beschikbare bedrag in B $150. Nu schrijft A €20 af van rekening C, en op dat moment is de door C gelezen waarde €250 (dat klopt aangezien er met succes €50 is afgeschreven van B). De debet- en creditbewerking van rekening A naar C is succesvol uitgevoerd. We kunnen zien dat de transactie succesvol is uitgevoerd en dat de waarde ook correct wordt gelezen. De gegevens zijn dus consistent. In het geval dat de door B en C gelezen waarde $300 is, betekent dit dat de gegevens inconsistent zijn, omdat deze niet consistent zullen zijn wanneer de debetbewerking wordt uitgevoerd.
3) Isolatie
De term 'isolatie' betekent scheiding. In DBMS is isolatie de eigenschap van een database waarbij geen enkele gegevens de andere mogen beïnvloeden en gelijktijdig kunnen voorkomen. Kortom, de bewerking op één database zou moeten beginnen wanneer de bewerking op de eerste database voltooid is. Dit betekent dat als twee bewerkingen worden uitgevoerd op twee verschillende databases, deze de waarde van elkaar mogelijk niet beïnvloeden. In het geval van transacties, waarbij twee of meer transacties gelijktijdig plaatsvinden, moet de consistentie behouden blijven. Eventuele wijzigingen die in een bepaalde transactie optreden, worden niet door andere transacties gezien totdat de wijziging niet in het geheugen is vastgelegd.
Voorbeeld: Als twee bewerkingen gelijktijdig op twee verschillende accounts worden uitgevoerd, wordt de waarde van beide accounts niet beïnvloed. De waarde moet persistent blijven. Zoals u in het onderstaande diagram kunt zien, voert rekening A T1- en T2-transacties uit naar rekening B en C, maar beide worden onafhankelijk uitgevoerd zonder elkaar te beïnvloeden. Het staat bekend als isolatie.
4) Duurzaamheid
Duurzaamheid zorgt voor de duurzaamheid van iets. In DBMS zorgt de term duurzaamheid ervoor dat de gegevens na de succesvolle uitvoering van de bewerking permanent in de database worden opgenomen. De duurzaamheid van de gegevens moet zo perfect zijn dat zelfs als het systeem uitvalt of tot een crash leidt, de database nog steeds overleeft. Als het echter verloren gaat, wordt het de verantwoordelijkheid van de herstelmanager om de duurzaamheid van de database te garanderen. Voor het vastleggen van de waarden moet het COMMIT-commando elke keer dat we wijzigingen aanbrengen, worden gebruikt.
Daarom speelt de ACID-eigenschap van DBMS een cruciale rol bij het handhaven van de consistentie en beschikbaarheid van gegevens in de database.
Het was dus een nauwkeurige introductie van ACID-eigenschappen in DBMS. We hebben deze eigenschappen ook besproken in het transactiegedeelte.