Mis on andmebaasi tehing?
Database Tehing on loogiline ühik töötlemiseks DBMS mis toob kaasa ühe või mitme andmebaasi juurdepääsu operatsiooni. Lühidalt öeldes esindavad andmebaasitehingud iga ettevõtte tegelikke sündmusi.
Igat tüüpi andmebaasi juurdepääsu toiminguid, mida hoitakse tehingu alguse ja lõpu vahel, käsitletakse DBMS-is ühe loogilise tehinguna. Tehingu ajal on andmebaas vastuoluline. Alles pärast andmebaasi sidumist muudetakse olek ühest järjepidevast olekust teise.
Selles õpetuses saate teada:
- Faktid andmebaasi tehingute kohta
- Miks vajate tehingutes samaaegsust?
- Tehingute olekud
- Mis on happe omadused?
- Tehingute tüübid
- Mis on ajakava?
Faktid andmebaasi tehingute kohta
- Tehing on programmiüksus, mille täitmine võib andmebaasi sisu muuta või mitte.
- DBMS-i tehingukontseptsioon viiakse läbi ühe üksusena.
- Kui andmebaasi toimingud ei uuenda andmebaasi, vaid toovad ainult andmeid, nimetatakse seda tüüpi tehinguid kirjutuskaitstud tehinguks.
- Edukas tehing võib muuta andmebaasi ühtsest järjekindlast seisundist teise
- DBMS-i tehingud peavad olema atomaarsed, järjepidevad, isoleeritud ja püsivad
- Kui andmebaas oleks enne tehingut ebajärjekindlas olekus, jääks see pärast tehingut ebajärjekindlasse olekusse.
Miks vajate tehingutes samaaegsust?
Andmebaas on jagatud ressurss, millele pääseb juurde. Seda kasutavad paljud kasutajad ja protsessid samaaegselt. Näiteks pangandussüsteem, raudtee- ja lennupiletite süsteemid, aktsiaturu seire, supermarketite varud ja kassad jne.
Samaaegse juurdepääsu haldamata jätmine võib tekitada järgmisi probleeme:
- Riistvaratõrge ja süsteem jookseb kokku
- Sama tehingu samaaegne täitmine, ummikseis või aeglane toiming
Tehingute olekud
Tehingukontseptsiooni erinevad olekud DBMS-is on loetletud allpool:
Osariik | Tehingu tüübid |
Aktiivne riik | Kui täitmisprotsess algab, läheb tehing aktiivsesse olekusse. Selles olekus saab teha lugemis- või kirjutamistoiminguid. |
Osaliselt pühendunud | Tehing läheb osaliselt sooritatud olekusse pärast tehingu lõppu. |
Pühendunud riik | Kui tehing on kinnitatud, on see juba edukalt lõpule viidud. Pealegi registreeritakse kõik selle muudatused andmebaasis püsivalt. |
Ebaõnnestunud riik | Tehing loetakse nurjunuks, kui mõni kontroll ebaõnnestub või kui tehing katkestatakse aktiivses olekus. |
Lõpetatud riik | Tehinguriik saab lõpetatud olekusse, kui teatud süsteemist lahkuvaid tehinguid ei saa uuesti käivitada. |

Uurime olekute ülemineku skeemi, mis näitab, kuidas tehing nende erinevate olekute vahel liigub.
- Kui tehing täidab täitmise, muutub see aktiivseks. See võib väljastada READ või WRITE operatsiooni.
- Kui READ ja WRITE toimingud on lõpule viidud, muutuvad tehingud osaliselt seotud olekuks.
- Järgmisena peavad mõned taasteprotokollid tagama, et süsteemi tõrge ei põhjustaks võimet muudatusi tehingus jäädavalt registreerida. Kui see kontroll on edukas, sooritatakse tehing ja sisenetakse määratud olekusse.
- Kui kontroll on ebaõnnestunud, läheb tehing olekusse Ebaõnnestunud.
- Kui tehing katkestatakse aktiivses olekus, läheb see nurjunud olekusse. Tehing tuleks andmebaasi kirjutamistoimingute mõju tagasivõtmiseks tagasi pöörata.
- Lõpetatud olek viitab süsteemist lahkuvale tehingule.
Mis on happe omadused?
ACID atribuute kasutatakse andmebaasi terviklikkuse säilitamiseks tehingute töötlemise ajal. Hapet DBMS tähistab tomicity, C SIDUSUS, I solation ja D urability.
- Aatomilisus: tehing on üks toimimisüksus. Sa kas täidad selle täielikult või ei täida seda üldse. Osalist täitmist ei saa olla.
- Järjepidevus: kui tehing on täidetud, peaks see liikuma ühest järjepidevast olekust teise.
- Isolatsioon: tehing tuleks sooritada eraldi teistest tehingutest (lukud puuduvad). Samaaegse tehingu täitmise ajal ei tohiks samaaegselt sooritatud tehingute vahepealseid tehinguid üksteisele kättesaadavaks teha. (Tase 0,1,2,3)
- Vastupidavus: · Pärast tehingu edukat lõpuleviimist peaksid muudatused andmebaasis püsima. Isegi süsteemirikete korral.
ACID atribuut DBMS-is koos näitega:
Allpool on näide ACMS-i atribuudist DBMS-is:
Transaction 1: Begin X=X+50, Y = Y-50 ENDTransaction 2: Begin X=1.1*X, Y=1.1*Y END
1. tehing kannab kontolt X kontole Y 50 dollarit.
Tehing 2 krediteerib igat kontot 10% intressimaksega.
Kui mõlemad tehingud esitatakse koos, ei saa garanteerida, et 1. tehing täidetakse enne 2. tehingut või vastupidi. Sõltumata tellimusest peab tulemus olema selline, nagu toimuksid tehingud järjest järjest.
Tehingute tüübid
Põhineb rakendusaladel
- Jagamata vs jaotatud
- Tehingute hüvitamine
- Tehingute ajastus
- On-line vs partii
Toimingute põhjal
- Kaheastmeline
- Piiratud
- Tegevusmudel
Põhineb struktuuril
- Kindlad või lihtsad tehingud: see koosneb alg- ja lõpptoimingute vahel sooritatud primitiivsete toimingute jadast.
- Pesastatud tehingud: tehing, mis sisaldab muid tehinguid.
- Töövoog
Mis on ajakava?
Graafik on protsess, mis loob ühe rühma mitmest paralleelsest tehingust ja täidab neid ükshaaval. See peaks säilitama juhiste ilmumise järjekorra igas tehingus. Kui korraga sooritatakse kaks tehingut, võib ühe tehingu tulemus mõjutada teise tehingut.
Näide
Initial Product Quantity is 10Transaction 1: Update Product Quantity to 50Transaction 2: Read Product Quantity
Kui 2. tehing viiakse läbi enne 1. tehingut, loetakse aegunud teavet toote koguse kohta. Seega on vaja ajakavasid.
Paralleelne täitmine andmebaasis on vältimatu. Kuid paralleelne täitmine on lubatud, kui samaaegselt sooritatavate tehingute vahel on samaväärsus. See samaväärsus on kolme tüüpi.
TULEMUSVÕRDSUS:
Kui kaks ajakava kuvavad pärast täitmist sama tulemuse, nimetatakse seda tulemuse ekvivalendiks. Nad võivad pakkuda mõne väärtuse jaoks sama tulemust ja teise väärtuste jaoks erinevaid tulemusi. Näiteks värskendab üks tehing toote kogust, teine aga kliendi üksikasju.
Kuva samaväärsus
Vaate samaväärsus tekib siis, kui mõlema ajakava tehing teeb sarnase toimingu. Näiteks üks tehing lisab toote üksikasjad tootetabelisse, teine tehing lisab toote üksikasjad arhiivitabelisse. Tehing on sama, kuid tabelid on erinevad.
KONFLIKTIDE samaväärsus
Sel juhul värskendavad / vaatavad sama andmekogumit kaks tehingut. Tehingu vahel on konflikt, kuna täitmise järjekord mõjutab väljundit.
Mis on serialiseeritavus?
Serialiseeritavus on samaaegse ajakava otsimise protsess, mille väljund on võrdne järjestikuse ajakavaga, kus tehing sooritatakse üksteise järel. Sõltuvalt ajakavade tüübist on jadatavust kahte tüüpi:
- Konflikt
- Vaade
Kokkuvõte:
- Tehingute haldamine on DBMS-is töötlemise loogiline üksus, mis hõlmab ühte või mitut juurdepääsu andmebaasile
- See on tehing on programmiüksus, mille käivitamine võib andmebaasi sisu muuta või mitte.
- Samaaegse juurdepääsu haldamata jätmine võib tekitada selliseid probleeme nagu riistvaratõrge ja süsteemi krahh.
- Aktiivne, osaliselt pühendunud, pühendunud, ebaõnnestunud ja lõpetatud on olulised tehingu olekud.
- Happe omaduste täielik vorm DBMS-is on aatom, konsistents, isoleerimine ja vastupidavus
- Kolm DBMS-tüüpi tehingu tüüpi on rakendusalad, tegevus ja struktuur.
- Graafik on protsess, mis loob ühe rühma mitmest paralleelsest tehingust ja täidab neid ükshaaval.
- Serialiseeritavus on samaaegse ajakava otsimise protsess, mille väljund on võrdne järjestikuse ajakavaga, kus tehingud teostatakse üksteise järel.