Mga pangunahing function ng DBMS
Mga pangunahing function ng DBMS

Video: Mga pangunahing function ng DBMS

Video: Mga pangunahing function ng DBMS
Video: PAANO PATABAIN ANG 45 DAYS MANOK O BROILER | Broiler Weight Gain Tips 2024, Mayo
Anonim

Ang mga modernong database management system ay ginagamit sa maraming site, ngunit hindi alam ng lahat kung ano ang mga ito at kung paano mo magagamit ang mga function ng DBMS. Ang mga naturang tool ay may malaking bilang ng mga posibilidad, kaya upang ganap na magamit ang mga ito, dapat mong maunawaan kung ano ang magagawa ng mga ito at kung gaano kapaki-pakinabang ang mga ito para sa user.

Pamamahala ng data

Una sa lahat, ang mga function ng DBMS ay kinabibilangan ng pagproseso ng impormasyon sa external memory, at ang function na ito ay upang magbigay ng mga pangunahing istruktura ng VI, na kinakailangan hindi lamang upang mag-imbak ng impormasyon na direktang kasama sa database, kundi pati na rin upang magsagawa ng iba't ibang mga gawain sa serbisyo, tulad ng pagkuha ng pinabilis na pag-access sa anumang mga file sa iba't ibang mga kaso. Sa ilang mga pagbabago, ang mga kakayahan ng iba't ibang mga file system ay aktibong ginagamit, habang ang iba ay nagbibigay para sa trabaho kahit na sa antas ng mga panlabas na aparato ng memorya. Ngunit sa kasong ito, ito ay nagkakahalaga ng noting na sa pag-andar ng isang mataas na binuo DBMS, ang user ay sa anumang kaso ay hindi alam kung anumang sistema ay ginagamit, at kung gayon, kung paano ang mga file ay nakaayos. Sa partikular, pinapanatili ng system ang sarili nitong pagkakasunud-sunod ng pagbibigay ng pangalan para sa mga bagay na kasama sa database.

mga function ng subd
mga function ng subd

RAM buffer management

Sa karamihan ng mga kaso, kaugalian na gumamit ng mga function ng DBMS sa medyo malalaking database, at ang laki na ito ay madalas na mas malaki kaysa sa available na RAM. Siyempre, kung sa kaso ng pag-access sa bawat elemento ng data, ang isang palitan na may panlabas na memorya ay isinasagawa, ang bilis ng huli ay tumutugma sa bilis ng system mismo, samakatuwid, halos ang tanging pagpipilian para sa aktwal na pagtaas nito ay ang buffer. impormasyon sa RAM. Bukod dito, kahit na ang OS ay nagsasagawa ng system-wide buffering, halimbawa sa UNIX, hindi ito magiging sapat upang mabigyan ang DBMS ng layunin at mga pangunahing pag-andar, dahil mayroon itong mas malaking halaga ng data sa mga kapaki-pakinabang na katangian ng buffering para sa bawat isa. tiyak na bahagi ng database na ginamit. Dahil dito, pinapanatili ng mga advanced na system ang sarili nilang hanay ng mga buffer, pati na rin ang isang natatanging disiplina para sa kanilang kapalit.

Nararapat na tandaan ang katotohanan na mayroong isang hiwalay na direksyon ng mga control system, na nakatuon sa patuloy na presensya ng buong database sa RAM. Ang direksyon na ito ay batay sa pag-aakala na sa malapit na hinaharap ang dami ng RAM sa mga computer ay mapapalawak nang labis na hindi na sila mag-aalala tungkol sa anumang buffering, at ang mga pangunahing pag-andar ng ganitong uri ng DBMS ay magagamit dito. Sa ngayon, nananatili ang lahat ng gawaing ito sa yugto ng pagsubok.

Pamamahala ng transaksyon

Ang transaksyon ay isang pagkakasunud-sunod ng mga operasyon gamit ang database na ginamit, na itinuturing ng sistema ng pamamahala bilangisang solong kabuuan. Kung ang transaksyon ay ganap na matagumpay na naisakatuparan, inaayos ng system ang mga pagbabagong ginawa nito sa panlabas na memorya, o wala sa mga pagbabagong ito ang makakaapekto sa estado ng database. Ang operasyong ito ay kinakailangan upang mapanatili ang lohikal na integridad ng ginamit na database. Kapansin-pansin na ang pagpapanatili ng tamang takbo ng mekanismo ng transaksyon ay isang paunang kinakailangan kahit na gumagamit ng single-user na DBMS, ang layunin at mga function na malaki ang pagkakaiba sa iba pang mga uri ng system.

pangunahing tungkulin ng subd
pangunahing tungkulin ng subd

Ang pag-aari na ang anumang transaksyon ay magsisimula lamang kapag ang database ay nasa pare-parehong estado at iniiwan ito sa parehong estado pagkatapos ng pagtatapos ng pamamaraan, ginagawa itong lubos na maginhawang gamitin bilang isang yunit ng aktibidad patungkol sa database. Sa wastong pamamahala ng sabay-sabay na pagsasagawa ng mga transaksyon sa pamamagitan ng control system, ang bawat indibidwal na gumagamit, sa prinsipyo, ay maaaring pakiramdam na isang bahagi ng kabuuan. Gayunpaman, ito ay sa ilang sukat ay isang idealized na representasyon, dahil sa maraming sitwasyon kapag ang mga nagtatrabaho ay madarama pa rin ang presensya ng kanilang mga kasamahan kung gumagamit sila ng isang multi-user system, ngunit sa katunayan ito ay ibinigay din para sa mismong konsepto ng isang DBMS. Iniuugnay din ng mga feature ng multi-user type DBMS ang mga konsepto gaya ng serial execution plan at serialization sa pamamahala ng transaksyon.

Ano ang ibig sabihin ng mga ito?

Serialization ng sabay-sabay na pagpapatupad ng mga transaksyon ay nagbibigay para sa pagbuo ng isang espesyal na plano para sa kanilang trabaho, kung saanang kabuuang epekto ng pinaghalong nakamit ay katumbas ng resultang nakuha dahil sa sunud-sunod na pagsasagawa ng mga ito.

Ang isang serial execution plan ay isang partikular na istruktura ng mga aksyon na humahantong sa serialization. Siyempre, kung ang system ay namamahala upang magbigay ng isang tunay na serial execution ng isang halo ng mga transaksyon, kung gayon para sa sinumang user na nagpasimula ng isang transaksyon, ang presensya ng iba ay magiging ganap na hindi mahahalata, maliban na ito ay gagana ng kaunti mas mabagal kumpara sa single-user mode.

bilang ng mga pangunahing subd function
bilang ng mga pangunahing subd function

May ilang pangunahing serialization algorithm. Sa mga sentralisadong sistema, ang pinakasikat na mga algorithm ngayon ay batay sa pag-synchronize ng mga pagkuha ng iba't ibang mga object ng database. Sa kaso ng paggamit ng anumang mga algorithm ng serialization, ang posibilidad ng mga salungatan sa pagitan ng dalawa o higit pang mga transaksyon sa pag-access sa ilang mga object ng database ay ibinigay. Sa ganoong sitwasyon, upang suportahan ang pamamaraang ito, kinakailangan na magsagawa ng rollback, iyon ay, upang maalis ang anumang mga pagbabagong ginawa sa database sa pamamagitan ng isa o higit pang mga proseso. Isa lang ito sa mga sitwasyon kung saan nararamdaman ng isang tao ang presensya ng iba sa isang multi-user system.

Journaling

Ang isa sa mga pangunahing kinakailangan para sa mga modernong sistema ay upang matiyak ang pagiging maaasahan ng imbakan ng impormasyon sa panlabas na memorya. Sa partikular, ito ay nagbibigay na ang mga pangunahing pag-andar ng DBMS ay kinabibilangan ng kakayahang ibalik ang huling napagkasunduanang estado ng database pagkatapos mangyari ang anumang pagkabigo ng software o hardware. Sa karamihan ng mga kaso, kaugalian na isaalang-alang ang dalawang opsyon para sa mga pagkabigo ng hardware:

  • soft, na maaaring bigyang-kahulugan bilang isang hindi inaasahang pagsara ng computer (ang pinakakaraniwang kaso ay isang emergency na pagkawala ng kuryente);
  • hard, na nailalarawan sa bahagyang o kumpletong pagkawala ng data na nakaimbak sa external na media.

Kabilang sa mga halimbawa ng mga pagkabigo ng software ang pag-crash sa system kapag sinusubukang gumamit ng ilang feature na hindi bahagi ng mga pangunahing function ng DBMS, o pag-crash ng ilang utility ng user, bilang resulta kung saan hindi nakumpleto ang isang partikular na transaksyon. Ang dating sitwasyon ay maaaring ituring na isang espesyal na uri ng mahinang pagkabigo, habang ang huli ay nangangailangan ng isang pagbawi ng transaksyon.

subd layunin at pangunahing pag-andar
subd layunin at pangunahing pag-andar

Siyempre, sa anumang kaso, upang maibalik sa normal ang database, kailangan mong magkaroon ng isang tiyak na halaga ng karagdagang impormasyon. Sa madaling salita, para sa normal na pagpapanatili ng pagiging maaasahan ng pag-iimbak ng data sa database, kinakailangan upang matiyak ang kalabisan ng imbakan ng impormasyon, at ang bahagi ng data na ginamit sa panahon ng pagbawi ay dapat na maingat na bantayan lalo na. Ang pinakakaraniwang paraan para sa pagpapanatili ng paulit-ulit na data na ito ay ang pag-log ng pagbabago.

Ano ito at paano ito ginagamit?

Ang log ay isang espesyal na bahagi ng database, accessna hindi kasama sa bilang ng mga function ng DBMS, at ito ay maingat na sinusuportahan. Sa ilang mga sitwasyon, nagbibigay pa ito ng suporta para sa dalawang kopya ng log sa parehong oras, na matatagpuan sa magkaibang pisikal na media. Ang mga repositoryong ito ay tumatanggap ng impormasyon tungkol sa anumang mga pagbabagong nagaganap sa pangunahing bahagi ng database, at sa iba't ibang mga sistema ng pamamahala, ang mga pagbabago ay maaaring mai-log sa iba't ibang antas. Sa ilang mga sitwasyon, ang isang log entry ay ganap na tumutugma sa isang partikular na lohikal na pagpapatakbo ng pag-update, sa iba pa - isang minimal na panloob na operasyon na nauugnay sa pag-update ng isang external na memory page, habang ang ilang DBMS ay nagbibigay ng kumbinasyon ng dalawang approach.

Sa anumang kaso, ginagamit ang tinatawag na "write ahead" logging strategy. Kapag ito ay inilapat, ang isang talaan na nagpapahiwatig ng pagbabago sa anumang mga bagay sa database ay pumapasok sa panlabas na memorya ng log bago ang bagay na binago. Alam na kung ang mga function ng Access DBMS ay nagbibigay para sa normal na pagpapatupad ng protocol na ito, ang paggamit ng log ay malulutas ang anumang mga problema na nauugnay sa pagpapanumbalik ng database sa kaganapan ng anumang mga pagkabigo.

Rollback

Ang pinakasimpleng sitwasyon sa pagbawi ay isang indibidwal na rollback ng transaksyon. Para sa pamamaraang ito, hindi mo kailangang gumamit ng log ng pagbabago sa buong system, at sapat na na gumamit ng lokal na log ng pagpapatakbo ng pagbabago para sa bawat transaksyon, at pagkatapos ay i-roll back ang mga transaksyon sa pamamagitan ng pagsasagawa ng mga reverse operation, simula sa dulo ng bawat isa ang mga talaan. Ang istraktura ng isang function ng DBMS ay madalas na nagbibigayang paggamit ng ganoong istraktura, ngunit sa karamihan ng mga kaso ay hindi pa rin sinusuportahan ang mga lokal na log, at ang isang indibidwal na rollback kahit na para sa mga indibidwal na transaksyon ay isinasagawa ayon sa system-wide, at para dito ang lahat ng mga talaan ng bawat isa sa mga transaksyon ay pinagsama. sa isang baligtad na listahan.

ang konsepto ng subd function subd
ang konsepto ng subd function subd

Sa panahon ng mahinang pagkabigo, ang panlabas na memorya ng database ay maaaring magsama ng iba't ibang mga bagay na binago ng mga transaksyon na hindi nakumpleto sa oras ng pagkabigo, at maaaring kulang din ang iba't ibang mga bagay na na-upgrade ng mga matagumpay na nakumpleto bago ang pagkabigo sa pamamagitan ng paggamit ng mga buffer ng RAM, ang mga nilalaman nito ay ganap na nawawala kapag nangyari ang mga naturang problema. Kung susundin ang protocol na gumamit ng mga lokal na log, tiyak na may mga entry sa external memory na nauugnay sa pagbabago ng anumang naturang mga bagay.

Ang pangunahing layunin ng pamamaraan ng pagbawi pagkatapos ng paglitaw ng mga malalambot na pagkabigo ay tulad ng isang estado ng panlabas na memorya ng pangunahing database, na magaganap kung ang mga pagbabago sa anumang nakumpletong mga transaksyon ay ginawa sa VI at hindi naglalaman ng mga bakas ng mga hindi natapos na pamamaraan. Upang makamit ang epektong ito, ang mga pangunahing pag-andar ng DBMS sa kasong ito ay ang pag-rollback ng mga hindi kumpletong transaksyon at ang pag-replay ng mga operasyong iyon na ang mga resulta ay hindi ipinakita sa panlabas na memorya. Ang prosesong ito ay nagsasangkot ng medyo malaking bilang ng mga subtlety, na pangunahing nauugnay sa organisasyon ng log at pamamahala ng buffer.

Mahirap na pagkabigo

Kapag ang isang database ay kailangang ibalik pagkatapos ng matinding pagkabigo, hindi lamang ang log ang ginagamit, kundi pati na rin ang isang backup na kopya ng database. Ang huli ay isang kumpletong kopya ng database sa oras na nagsimula ang pagpuno ng log. Siyempre, para sa isang normal na pamamaraan ng pagbawi, ang pag-iingat ng journal ay kinakailangan, samakatuwid, tulad ng nabanggit kanina, napakaseryosong mga kinakailangan ay ipinapataw sa pangangalaga nito sa panlabas na memorya. Sa kasong ito, ang pagbawi ng database ay binubuo sa katotohanan na, batay sa kopya ng archive, ang log ay nagpaparami ng lahat ng mga transaksyon na nakumpleto sa oras na naganap ang kabiguan. Kung kinakailangan, maaari pa itong i-replay ang mga nakabinbing transaksyon at ipagpatuloy ang kanilang normal na operasyon pagkatapos ng pagtatapos ng proseso ng pag-restore, ngunit sa karamihan ng mga tunay na system ang pamamaraang ito ay hindi isinasagawa sa kadahilanang ang hard failure recovery mismo ay medyo napakahabang pamamaraan.

Suporta sa wika

Ang mga modernong database ay gumagamit ng iba't ibang mga wika, at ang mga naunang DBMS, na ang layunin, mga function, at iba pang mga tampok ay naiiba nang malaki sa mga modernong system, ay nagbigay ng suporta para sa ilang mga highly specialized na wika. Karaniwan, ang mga ito ay SDL at DML, na idinisenyo upang tukuyin ang schema ng database at manipulahin ang data, ayon sa pagkakabanggit.

istraktura ng subd function
istraktura ng subd function

SDL ay ginamit upang matukoy ang lohikal na istraktura ng database, iyon ay, upang makilala ang partikular na istraktura ng database, na kinakatawanmga gumagamit. Ang DML, sa kabilang banda, ay nagsama ng isang buong kumplikado ng mga operator ng pagmamanipula ng impormasyon na nagbigay-daan sa iyong magpasok ng impormasyon sa database, pati na rin magtanggal, magbago o gumamit ng umiiral na data.

Ang mga function ng DBMS ay kinabibilangan ng iba't ibang uri ng suporta para sa iisang pinagsama-samang wika, na nagbibigay ng pagkakaroon ng anumang paraan na kinakailangan para sa normal na gawain sa mga database, simula sa unang paglikha nito, at pagbibigay ng karaniwang user interface. Ginagamit ang SQL bilang karaniwang wika na nagbibigay ng mga pangunahing pag-andar ng DBMS ng mga pinakakaraniwang relational system ngayon.

Ano ito?

Una sa lahat, pinagsasama ng wikang ito ang mga pangunahing function ng DML at SDL, ibig sabihin, nagbibigay ito ng kakayahang matukoy ang mga partikular na semantika ng isang relational database at manipulahin ang kinakailangang impormasyon. Kasabay nito, ang pagbibigay ng pangalan ng iba't ibang mga object ng database ay direktang sinusuportahan sa antas ng wika sa kahulugan na ang compiler ay nagko-convert ng mga pangalan ng object sa kanilang mga panloob na identifier, batay sa espesyal na pinapanatili na mga talahanayan ng katalogo ng serbisyo. Ang core ng mga control system, sa prinsipyo, ay hindi nakikipag-ugnayan sa mga talahanayan o sa kanilang mga indibidwal na column sa anumang paraan.

hindi kasama sa mga pangunahing function ng subd
hindi kasama sa mga pangunahing function ng subd

Ang wikang SQL ay may kasamang buong listahan ng mga espesyal na tool na nagbibigay-daan sa iyong matukoy ang mga hadlang sa integridad ng database. Muli, ang anumang naturang mga paghihigpit ay kasama sa mga espesyal na talahanayan ng katalogo, at ang kontrol sa integridad ay direktang isinasagawa sa antas ng wika, iyon aysa proseso ng pagbabasa ng mga indibidwal na pahayag ng pagbabago sa database, ang compiler, batay sa mga hadlang sa integridad sa database, ay bumubuo ng kaukulang program code.

Inirerekumendang: