8.1. Duomenų organizavimo principai, duomenų vaizdavimas

Prieš pradėdami nagrinėti duomenų organizavimą, apibrėšime duomenų elemento (DE) sąvoką. DE vadinsime minimalią prasmingą duomenų dalį. Kaip minėta, DB duomenys saugomi ne bet kaip, o kaip susietų tarpusavyje DE visuma, t. y. joje turi būti nustatyti ryšiai tarp įvairių DE. Toks duomenų sruktūros pateikimo būdas dažnai vadinamas duomenų modeliu. Jį patogu grafiškai vaizduoti ovalinėmis diagramomis. Tokiose diagramose DE vaizduojami ovalais, kurių viduje užrašomas DE vardas, o ryšiai vaizduojami linijomis (žr. 1 pav.).

teorija1.bmp (84606 bytes)

1 pav. Duomenų vaizdavimas ovaline diagrama

1 pav. diagramoje yra du DE , o kiekvienas DE gali turėti daug reikšmių. Pvz., DE „Studentas” gali turėti reikšmes: «JONAITIS J», «PETRAITIS P» ir kt., DE „Stipendija” - 0, 200 ir kt.

Yra du pagrindiniai ryšių tarp DE tipai. Pirmasis - tai vadinamasis ryšys „vienas su vienu”, arba paprastas ryšys. Sakoma, jog tarp DE „A” ir „B” egzistuoja paprastas ryšys, jeigu bet kuriuo momentu kiekvieną „A” reikšmę atitinka tik viena „B” reikšmė. Toks ryšys vaizduojamas paprasta rodykle (žr. 2 pav.). Šiuo atveju sakoma, kad „A” identifikuoja „B”.

teorija2.bmp (76230 bytes)

2 pav. Ryšio „vienas su vienu” pavyzdys

Antras tipas - tai vadinamasis ryšys „vienas su daugeliu” arba sudėtingas ryšys. Tarp DE „A” ir „B” egzistuoja sudėtingas ryšys, jeigu bet kuriuo momentu vieną „A” reikšmę atitinka kelios „B” reikšmės. Toks ryšys vaizduojamas dviguba rodykle (žr. 3 pav.).

teorija3.bmp (75338 bytes)

3 pav. Ryšio „vienas su daugeliu” pavyzdys

Tarp bet kurių dviejų DE dažnai egzistuoja abipusis ryšys. Pavyzdžiui, jei DE yra „Vyras” ir „Moteris”, tai tarpusavio ryšys tarp jų gali atspindėti santuokos formą (žr. 4 pav.).

teorija4.bmp (146102 bytes)

4 pav. Galimi ryšių tarp DE „Vyras” ir „Moteris” variantai

Pirmuoju (a) atveju 4 pav. vaizduojama tradicinė krikščioniška santuokos forma, antruoju (b) atveju - daugpatystė, trečiuoju (c) - daugvyrystė, ketvirtuoju (d) - grupinė santuoka.

Kitame pavyzdyje pateikiama ovalinė diagrama su gausesniais DE ir ryšiais tarp jų (žr. 5 pav.).

teorija5.bmp (120462 bytes)

5 pav. Duomenys apie skyriaus tarnautojus ir jų ryšiai

Šioje diagramoje vaizduojami ne visi galimi ryšiai tarp DE. Čia, pavyzdžiui, nematyti sudėtingo ryšio „Alga” - „Tarnautojas” (o be tokio ryšio nebūtų galima atsakyti štai į tokį vartotojo klausimą „Kokie tarnautojai gauna algą, didesnę negu 1000 litų?”).

Jeigu yra N skirtingų DE, tai tarp jų galimi N* (N-1) ryšiai. Todėl didelėse DB, kuriose būna šimtai ar tūkstančiai DE, ryšių skaičius be galo išaugtų (pvz., jei N=1000, tai ryšių skaičius siektų milijoną). Norint sumažinti ryšių skaičių, DE jungiami į grupes. Tokios DE grupės vadinamos įrašais. Įrašų struktūrą taip pat galima pavaizduoti ovalinėmis diagramomis (žr. 6 pav.). Konkretaus įrašo struktūros pavyzdys pateiktas 7 pav.

teorija6.bmp (135510 bytes)

6 pav. Bendras įrašo ovalinės diagramos pavidalas

teorija7.bmp (152202 bytes)

7 pav. Įrašo vaizdavimo ovaline diagrama pavyzdys

Įraše yra bent vienas DE (ar jų rinkinys), kurio visos reikšmės yra nepasikartojančios, t. y. jo reikšmės vienareikšmiškai identifikuoja kitas įrašo reikšmes. Toks DE (ar jų rinkinys) vadinamas raktu. Kiti (neraktiniai) DE vadinami atributais (žr. 6 pav.). Jei raktas susideda iš kelių DE, jis vadinamas sudėtiniu. Sudėtinis raktas apdorojant duomenis traktuojamas kaip vienas DE ir diagramoje vaizduojamas vienu ovalu. 8a pav. parodytas sudėtinis raktas „Programuotojas”+„Programos Nr.”.

teorija8.bmp (318294 bytes)

8 pav. Sudėtinių ir galimų raktų pavyzdys

Įrašas gali turėti kelis raktus, vadinamus galimais raktais. 8 pav. diagramoje yra du galimi raktai - „Programuotojas”+„Programos Nr.” ir „Programuotojas”+„Programos pavadinimas”. Vienas iš galimų raktų yra pirminis raktas (faktiškai naudojamas DE identifikacijai), o kiti - alternatyvieji raktai (raktai-kandidatai).

Pirminiam raktui DE reikia parinkti taip, kad iš anksto būtų žinomas jų įgyjamų reikšmių diapazonas, o DE jame būtų kuo mažiau. Labai pabrėžtina rakto savybė yra jo pertekliškumo nebuvimas: iš rakto, kurį sudaro keli DE, negalima išmesti jokio DE (to rakto nesuardant). Įrašo rakto svarba didelė - juo galime atskirti DE vieną nuo kito, pagal jį nustatoma įrašo vieta atmintyje.

Panašiai kaip DE, į grupes sujungiami ir įrašai. Įrašų su tarpusavio ryšiais visuma sudaro DB. Jos sudarymo metu labai svarbu tai, kaip sugrupuojami DE, t. y. kokie DE surenkami į vieną įrašą, kokie parenkami raktai ir kaip tarp įrašų nustatomi ryšiai.

Ryšiai tarp skirtingų įrašų vaizduojami rodyklėmis tarp tų įrašų raktų - taip gaunamas DB rodyklinis modelis, kitaip tariant, DB struktūros diagrama. DB, rezervuojančios lėktuvų bilietus, diagramos pavyzdys parodytas 9 pav.

teorija9.bmp (287286 bytes)

9 pav. DB struktūros ovalinės diagramos pavyzdys

Kompaktiškesnis įrašo ir DB struktūros vaizdavimo būdas yra stačiakampė diagrama. Tokioje diagramoje DE vaizduojami stačiakampiais, o įrašai - stačiakampių blokais. Raktiniai DE pabraukiami. 10 pav. pateikiama stačiakampė diagrama, gauta iš 9 pav. parodytos ovalinės diagramos.

teorija10.bmp (238530 bytes)

10 pav. DB struktūros stačiakampės diagramos pavyzdys

[ 8. Duomenų bazės ] [ Kontroliniai klausimai ] [ Literatūra ] [ Turinys ]