DBMS je upravljanje podatkov, ki bi morali ostati integrirani, ko se v njih izvedejo kakršne koli spremembe. Če je prizadeta celovitost podatkov, bodo celotni podatki moteni in poškodovani. Zato so za ohranitev celovitosti podatkov v sistemu za upravljanje baze podatkov opisane štiri lastnosti, ki so znane kot KISLINA lastnosti. Lastnosti ACID so namenjene transakciji, ki poteka skozi drugo skupino nalog, in tam vidimo vlogo lastnosti ACID.
V tem razdelku se bomo naučili in razumeli lastnosti ACID. Izvedeli bomo, kaj te lastnosti pomenijo in za kaj se posamezna lastnost uporablja. Lastnosti KISLINE bomo razumeli tudi s pomočjo nekaj primerov.
Lastnosti ACID
Razširitev izraza ACID opredeljuje za:
1) Atomičnost
Izraz atomičnost opredeljuje, da podatki ostanejo atomični. To pomeni, da če je na podatkih izvedena kakršna koli operacija, jo je treba izvesti ali izvesti v celoti ali pa je sploh ne bi smeli izvesti. To nadalje pomeni, da se operacija ne sme prekiniti vmes ali izvesti delno. V primeru izvajanja operacij na transakciji naj bo operacija izvedena v celoti in ne delno.
primer: Če ima Remo račun A s 30 $ na svojem računu, s katerega želi poslati 10 $ na račun Sheero, ki je B. Na računu B je že prisotna vsota 100 $. Ko bo 10 USD nakazanih na račun B, bo vsota postala 110 USD. Zdaj bosta izvedeni dve operaciji. Prvi je, da bo znesek 10 $, ki ga Remo želi nakazati, bremenjen z njegovega računa A, isti znesek pa bo pripisan računu B, tj. na Sheerojev račun. Zdaj, kaj se zgodi - prva operacija bremenitve se uspešno izvede, vendar operacija kredita ne uspe. Tako v Removem računu A vrednost postane 20 $, na računu Sheero pa ostane 100 $, kot je bila prej prisotna.
V zgornjem diagramu je razvidno, da je po pripisu 10 USD znesek še vedno 100 USD na računu B. Torej ne gre za atomsko transakcijo.
Spodnja slika prikazuje, da so tako debetne kot kreditne operacije uspešno izvedene. Tako je transakcija atomska.
Tako, ko znesek izgubi atomičnost, potem v bančnih sistemih to postane velika težava, zato je atomičnost glavni poudarek v bančnih sistemih.
2) Doslednost
Beseda doslednost pomeni, da mora vrednost vedno ostati ohranjena. notri DBMS , je treba ohraniti celovitost podatkov, kar pomeni, da mora biti v primeru spremembe baze vedno ohranjena. V primeru transakcij je celovitost podatkov zelo pomembna, da baza podatkov ostane konsistentna pred in po transakciji. Podatki naj bodo vedno pravilni.
primer:
Na zgornji sliki so trije računi, A, B in C, kjer A izvaja transakcijo T enega za drugim za B in C. Izvedeta se dve operaciji, tj. bremenitev in kredit. Račun A najprej bremeni račun B za 50 USD, B pa pred transakcijo prebere znesek na računu A 300 USD. Po uspešni transakciji T postane razpoložljivi znesek v B 150 USD. Zdaj A bremeni račun C za 20 USD in takrat je vrednost, ki jo prebere C, 250 USD (to je pravilno, saj je bila bremenitev B-ja v višini 50 USD uspešno opravljena). Debetna in kreditna operacija od računa A do C je bila uspešno izvedena. Vidimo, da je transakcija uspešno opravljena, vrednost pa je tudi pravilno prebrana. Tako so podatki konsistentni. V primeru, da je vrednost, ki jo prebereta B in C, 300 USD, to pomeni, da so podatki nedosledni, ker ko se izvede operacija bremenitve, ne bodo dosledni.
3) Izolacija
Izraz 'izolacija' pomeni ločitev. V DBMS je izolacija lastnost baze podatkov, kjer noben podatek ne sme vplivati na drugo in se lahko pojavi sočasno. Skratka, operacija na eni bazi podatkov se mora začeti, ko je operacija na prvi bazi podatkov končana. To pomeni, da če se dve operaciji izvajata v dveh različnih zbirkah podatkov, morda ne vplivata na vrednost druga druge. V primeru transakcij, ko se zgodita dve ali več transakcij hkrati, je treba ohraniti doslednost. Druge transakcije ne bodo videle kakršnih koli sprememb, ki se zgodijo v določeni transakciji, dokler sprememba ni potrjena v pomnilniku.
primer: Če se dve operaciji hkrati izvajata na dveh različnih računih, to ne bi smelo vplivati na vrednost obeh računov. Vrednost mora ostati obstojna. Kot lahko vidite na spodnjem diagramu, račun A izvaja transakcije T1 in T2 za računa B in C, vendar se oba izvajata neodvisno, ne da bi vplivala drug na drugega. Znana je kot izolacija.
4) Trajnost
Trajnost zagotavlja trajnost nečesa. V DBMS izraz trajnost zagotavlja, da podatki po uspešni izvedbi operacije postanejo trajni v bazi podatkov. Trajnost podatkov mora biti tako popolna, da baza podatkov še vedno preživi, tudi če sistem odpove ali povzroči zrušitev. Če pa se izgubi, za zagotovitev trajnosti baze podatkov postane odgovoren upravitelj obnovitve. Za objavo vrednosti je treba vsakič, ko naredimo spremembe, uporabiti ukaz COMMIT.
Zato ima lastnost ACID DBMS ključno vlogo pri ohranjanju doslednosti in razpoložljivosti podatkov v bazi podatkov.
Tako je šlo za natančno uvedbo lastnosti ACID v DBMS. O teh lastnostih smo razpravljali tudi v razdelku o transakcijah.