4 TEMA

 

 

 

Duomenų bazių valdymo sistemos, jų funkcijos

 

          Duomenų bazės valdymo sistema (DBVS) vadinama programinė įranga, skirta duomenų bazėms (DB) kurti, jas saugoti ir įvairiais būdais apdoroti. Svarbiausios DBVS funkcijos yra šios:

§    DB struktūros projektavimas;

§    DB pildymas, kaupimas, redagavimas;

§    navigacija DB;

§    duomenų peržiūra, paieška, rikiavimas ir kitas tvarkymas;

§    taikomųjų vartotojo programų kūrimas;

§    ataskaitų kūrimas.

Bet kurią DBVS sudaro priemonės DB struktūrai aprašyti, duomenims įvesti, papildyti ir modifikuoti. Šiuolaikinė DBVS suteikia jos vartotojui lanksčias galimybes lengvai surasti ir atrinkti reikalingus duomenis pagal vieną ar kelis kriterijus, tuos duomenis rikiuoti, grupuoti, vaizduoti juos pageidaujama forma. Tam tikrais laiko tarpais reikia sukauptą informaciją apibendrinti, atlikti analizę, vykdyti matematinius, statistinius skaičiavimus ir kurti įvairių formatų ataskaitas. Vartotojai, esant reikalui, rašo bei derina savas taikomąsias programas, naudodamiesi tam skirtomis DBVS priemonėmis. DBVS turi atlikti ir daug kitų svarbių funkcijų: duomenų apsaugą, jų korektiškumo, neprieštaringumo ir išsamumo kontrolę, DB kopijų išsaugojimą ir kt.

 

DBVS sudėtis.  Duomenų manipuliavimo kalba SQL

 

Bet kurią DBVS sudaro priemonės DB struktūrai projektuoti, duomenims įvesti, papildyti ir modifikuoti. Daugelį šiuolaikinių DBVS sudaro tokios dalys:

§    Duomenų tvarkymo dialoginė aplinka;

§    Duomenų aprašymo ir manipuliavimo jais kalba;

§    Programų generatoriai.

          Dialoginė aplinka yra viena svarbiausių šiuolaikinių DBVS dalių. Ji skirta interaktyviam darbui su DBVS atliekant veiksmus su visa DB ar atskirais įrašais. Yra du pagrindiniai darbo su DB būdai:

§    grafinių, vizualiai orientuotų instrumentų panaudojimas;

§    specialių instrukcijų rašymas.

          Grafiniai instrumentai skirstomi į dizainerius, vedlius ir meniu sistemas bei konstruktorius. Dizaineriai suteikia galimybę vartotojui pačiam laisvai pasirinkti, ką daryti ir kaip daryti. Vedliai ir meniu sistemos leidžia tik išrinkti, ką daryti, t.y. pateikiamas galimų veiksmų sąrašas – vartotojui telieka patvirtinti savo pasirinkimą. Kitaip tariant, vartotojas iš daugelio siūlomų veiksmų sekų, maršrutų išsirenka tinkamiausią. Konstruktoriai padės rašyti sudėtingas išraiškas, formules ir pan.

         Kartais konkretiems poreikiams įgyvendinti dažnai nepakanka dialoginių – interaktyvių priemonių. Sprendžiant iškilusius specifinius uždavinius, tenka kurti taikomąsias vartotojo programas. Šios programos kuriamos, naudojant duomenų aprašymo ir manipuliavimo jais kalba, kitaip dar vadinama programavimo kalba.  Šiuo metu plačiausiai yra naudojama SQL (Structured Query Language).  SQL kalboje numatytos šios pagrindinės manipuliavimo duomenimis instrukcijos (komandos):

§    DB kūrimas,

§    paieška DB,

§    duomenų modifikavimas,

§    įrašo įterpimas į DB,

§    įrašo pašalinimas.

 

Nauja DB lentelė sukuriama naudojant „CREATE” instrukciją. Šios instrukcijos supaprastintas formatas yra toks:


CREATE TABLE duomenų_bazės_lentelės_vardas

(lauko_vardas_1tipas [ (plotis [, tikslumas ]) ] [, lauko_vardas_2 ... ] );

 

čia:     CREATE -instrukcijos pavadinimas,
          TABLE -bazinis žodis, nurodantis, jog kuriama nauja lentelė (konkretus lentelės vardas rašomas po šio žodžio).

          Instrukcijoje nurodoma, kokie būtent laukai sudarys kuriamą lentelę. Kiekvieną lauką apibūdina to lauko tipas, lauko plotis ir, jeigu reikia, tikslumas (skaitmenų kiekis po kablelio). Lauko charakteristikos rašomos apvaliuose skliaustuose. Simboliai „[” ir  „] nurodo, kad tarp jų esanti instrukcijos dalis nėra būtina, jos galima nerašyti. Instrukcijos pavyzdys:

 

CREATE TABLE a (u_numeris N(3), p_kodas C(7), pr_kodas C(5), data D);

 

Pagal ją bus sukurta nauja, tuščia „A” lentelė, kurią sudarys 4 laukai: skaitmeninis laukas „U_NUMERIS(lauko plotis – ne daugiau kaip 3 skaitmenys), simbolių laukas „P_KODAS” (lauko plotis – ne daugiau kaip 7 simboliai) ir t.t.

         

SQL kalboje duomenų paieškos ir atrankos instrukcijos supaprastintas formatas yra toks:


SELECT laukų vardų sąrašas | *
FROM duomenų_bazės_lentelės_vardas
[WHERE paieškos sąlyga];


čia:     SELECT -instrukcijos pavadinimas,
          FROM -bazinis žodis, po kurio nurodoma, kurioje lentelėje daryti paiešką,
          WHERE -bazinis žodis, apibrėžiantis paieškos sąlygą, t. y. kriterijų, kurį turi tenkinti ieškomi duomenys.

          Simbolis „|” reiškia, kad instrukcijoje galima nurodyti tik vieną iš alternatyvų, .t.y arba laukų vardų sąrašą, arba simbolį „* ”. „* ” nurodo, jog reikia pateikti visų duotos lentelės laukų reikšmes. Taigi parašius instrukciją  „SELECT”, bus iš lentelės atrinktos nurodytų laukų reikšmės, kurios tenkina pateiktą paieškos sąlygą. Instrukcijos pavyzdys:

 

SELECT* FROM b WHERE p_kodas = „1-12693”;

 

Pagal ją „B” lentelėje bus surastas pirkėjas, kurio kodas „1-12693”.

 

          Kad palengvinti vartotojų, ypač programuotojų, darbą kuriant taikomąsias programas, naudojami programų generatoriai. Šiuolaikinės modernios DBVS turi programų generatorius. Tai specialūs instrumentai, skirti automatizuoti programų rašymą. Generatoriai įgalina žymiai sumažinti darbo sąnaudas, kai reikia programuoti daug laiko jų rašymui reikalaujančias ir dažnai pasikartojančias operacijas, pvz., ekrano apiforminimo, veiksmų (meniu) juostų, ataskaitų sudarymo ir kt. operacijas.

 

          Ryšys su kitomis programomis (DDE)

 

DBVS neizoliuotos nei viena nuo kitos, nei nuo kitų taikomųjų programų. Yra įvairių priemonių, leidžiančių atskiroms DBVS  bendrauti tarpusavyje bei palaikyti ryšį su kitomis programomis, sistemomis. Pagrindiniai ryšio tarp DBVS ir kitų taikomųjų programų mechanizmai yra šie:

§    dinaminis apsikeitimas duomenimis;

§    objektų susiejimas ir įdiegimas.

          Dinaminis duomenų apsikeitimas (angliškai DDE –Dynamic Data Exchange) įgalina perduoti duomenis iš vienos programos į kitą. Programa, kuri inicijuoja ryšį ir kreipiasi į kitą programą, vadinama klientu, o programa, kuri atsako klientui ir jį aptarnauja, vadinama serveriu. DBVS gali atlikti ir kliento, ir serverio vaidmenį. Atlikdama kliento vaidmenį, DBVS gali kreiptis į kitą programą, pasiųsti vienus duomenis į tą programą bei gauti iš jos kitus duomenis.

 

 

Ryšys su kitomis programomis (OLE)

Susiejimo ir įdiegimo mechanizmas (angliškai OLE -Object Linking and Embedding) leidžia DB lentelėse saugoti įvairiausius objektus tekstus, grafinius vaizdus, video vaizdus ir pan. Tokie objektai saugomi atitinkamo tipo laukuose. Objektas gali būti sukurtas ne DBVS, o kurios nors kitos taikomosios programos - serverio. Galimi du variantai:

§    DB saugoma tik nuoroda į objektą, sukurtą programos - serverio;

§    DB talpinamas pats objektas.

Procesas, kurio metu į DB įtraukiama nuoroda į objektą, vadinamas susiejimu (Linking), o procesas, kurio metu į DB įtraukiamas pats objektas, vadinamas objekto įdiegimu (Embedding). Įterpiant į DB susiejamą/įdiegiamą objektą ar jį koreguojant, automatiškai iškviečiama ta programa (serveris), kurios pagalba šis objektas buvo sukurtas. Taigi, DB galima saugoti įvairialypius duomenis, paruoštus skirtingomis taikomosiomis programomis, pvz., teksto procesoriais, grafiniais redaktoriais ir kt.

Paminėtinas dar vienas DBVS dažnai naudojamas mechanizmas - duomenų eksportas-importas. Šiuo mechanizmu viena DBVS gali paruošti duomenis kitai DBVS arba priimti duomenis iš kitos DBVS.

 

Populiarių duomenų bazių valdymo sistemų palyginimas

 

Yra daugybė DBVS. Jas kuria įvairios firmos, kurios šias sistemas platina tarp vartotojų kaip atskirus, savarankiškus programinės įrangos vienetus. Tokie vienetai vadinami paketais. DB valdymo paketai skiriasi vieni nuo kitų kokybinėmis ir kiekybinėmis (techninėmis) charakteristikomis. Kokybinės DBVS charakteristikos -tai apimtis (sudėtingumo laipsnis), taikymo sritis, funkcionavimo bazė, darbo patogumas. Kiekybinės charakteristikos -tai, pvz., leistina apdorojamos DB apimtis, DB lentelių skaičius, lentelės apimtis ir pan. Vienas iš pagrindinių sistemų klasifikavimo kriterijų yra sistemų apimtis.

          Pagal savo apimtį DBVS galima suskirstyti į dideles (labai sudėtingas) sistemas, vidutines (mažiau sudėtingas) sistemas ir mažas sistemas. Didelės DBVS yra šios: Oracle, Sybase, Informix, DB2, SQL Server, IMS, Ingres. Vidutinių sistemų yra daugiau. Pagrindinės yra šios: FoxPro, Access, MySQL, Paradox, Clipper, Clarion, dBase ir kt. Dar daugiau yra mažų DBVS -jų šiuo metu suskaičiuojama daugiau kaip 50.

 

Kiekybinės DBVS charakteristikos

 

          Pagrindinės kiekybinės DBVS charakteristikos yra šios:

§    maksimalus leistinas lentelių kiekis DB;

§    maksimalus lentelės dydis;

§    maksimalus įrašų kiekis lentelėje;

§    maksimalus simbolių kiekis įraše (lentelės plotis);

§    maksimalus laukų kiekis lentelėje;

§    maksimalus lauko plotis;

§    maksimalus lauko vardo ilgis ir kt.

Kai kurių DBVS konkrečios kiekybinės charakteristikos parodytos 1 lentelėje (čia pateikiami 1996-97 m. Duomenys). Lentelėje panaudoti pažymėjimai: OA – operatyvioji atmintis, GB – gigabaitas, TB – terabaitas.

 

Lentelė 1

DBVS

Lentelių kiekis

Lentelių dydis

Lentelių plotis

Laukų kiekis

Lauko plotis

Oracle

---

---

priklauso nuo laukų pločių

254

2 GB

Sybase

2*109

priklauso nuo OA dydžio

priklauso nuo OA dydžio

250

1962 baitai

Informix

477*106

64 TB

32767 baitai

2767

325767 baitai

DB2

priklauso nuo OA dydžio

64 GB

priklauso nuo OA dydžio

255

4005 baitai

SQL Server

2*109

2 TB

2048 baitai

250

255 baitai

FoxPro

---

2 GB

65500 baitų

255

254 baitai

Access

---

1 GB

---

255

255 baitai

 

 

 

Parengta pagal:

 

1.             J.Adomaitis ir kt. Informatika I dalis Vadovėlis, L-kla “Technologija”, Kaunas, 1999.

2.             http://distance.ktu.lt/kursai/informatika1/8/

3.             Duomenų bazės. ECDL atstovybės Lietuvoje sertifikuota mokomoji medžiaga, L-kla “Žara”,  Vilnius.