Kanoninės schemos ir reliacinis modelis

Reliacinės duomenų bazės yra populiarios, jos orientuotas vartotojui betarpiškam naudojimui. Reliacinių duomenų bazių modelio pagrindiniai privalumai yra:
– duomenų struktūros paprastumas ;
– nesudėtingi duomenų manipuliavimo metodai ir kalbos.
Visi duomenys, kur jie bebūtų užrašyti, – ar kompiuterio ekrane,ar atspausdinti popieriuje – pateikiami lentelėse. Programuotojas loginiame lygyje taipogi įsivaizduoja duomenų pateikimo formą lentelinę.Tos pačios lentelės visos eilutės turi tą patį formatą. Lentelės duomenys charakterizuoja vieną apibendrintą dalykinės srities objektą, o viena lentelės eilutė charakterizuoja vieną realaus pasaulio objektą-egzempliorių (konkretų tarnautoją, padalinį, detalę ir t.t.). Jeigu du apibendrinti informaciniai objektai TARNAUTOJAS ir PADALINYS susieti tarpusavyje sąryšiu, pavyzdžiui VYKDOMOS_PAREIGOS , tai toks sąryšis traktuojamas kaip savarankiškas apibendrintas objektas ir jam skiriama duomenų bazėje nauja lentelė, kur surašomi duomenys, charakterizuojantys sąryšį VYKDOMOS_PAREIGOS.

Lentelės eilutė skiriama vienam reisui. Lentelės eilutę vadinsime kortežu. Reisus charakterizuoja stulpeliai REISO_NR, IŠSKRIDIMO_PUNKTAS, ATVYKIMO¬_ PUNK¬AS, IŠSKRIDIMO_LAIKAS, ATVYKIMO_LAIKAS. Eilutės formatas keičiantis metų sezonams išlieka nepakitęs, kai tuo tarpu reisai ir atatinkamų eilučių duomenys keičiant grafiką modifikuojami. Lentelės stulpeliai yra vadinami atributais, o atributai turi savo vardus.Kiekvienam atributui priskiriamos leistinų reikšmių sritys, kurias vadinsime domenais. Kortežai turi komponentus, kurių skaičius sutampa su lentelės atributų skaičiumi. Jeigu lentelė mūsų pavyzdyje turi penkis stulpelius, tai kortežai įvardijami penkiaviečiais. Duomenų lentelę toliau vadinsime duomenų santykiu. Atributų rinkinys sudaro santykio schemą.
Duomenų bazių kanoninės schemos

Duomenų bazių kanoninė schema (KS) yra koncepcinio projektavimo rezultatas. Ji susideda iš duomenų įrašų (kortežų) tipų ir ryšių tarp jų. Savo ruožtu įrašų tipas susideda iš duomenų elementų (atributų) arba laukų. Tarp dviejų tipų fiksuojamas binarinis ryšys, jeigu tarp jų egzistuoja asociatyvinis ryšys. Binariniai ryšiai būna trijų tipų 1:1, 1:M, N:M.
Tarkime, kad vienas duomenų tipas susideda iš loginių įrašų, kurių aibė yra T1, o kitą tipą sudaro įrašų aibė T2. Egzistuojant binarinio ryšio R12 tipui 1:1 tarp duomenų tipų T1 ir T2,tarpusavyje asocijuojama po du įrašus t1 T1 ir t2 T2. Binarinio ryšio R12 tipo 1:M atveju vienam loginiam įrašui t1 T1 asocijuojama aibė S1 įrašų t2, t2 S1 T2, ir tuo pačiu metu vienam loginiam įrašui t2 T2 asocijuojamas vienas loginis įrašas t1 T1. Tarp duomenų tipų T1 ir T2 binarinio ryšio R12 tipas N:M nustatomas tada, jeigu įrašas t1 T1 asocijuojamas su įrašų t2 aibe S1; t2 S1 T2, o įrašas t2 T2 asocijuojamas su įrašų t1 aibe S2; t1 S2 T1.
Asocijuojant duomenų tipą T1 su tipu T2 būtina, kad tipai T1 ir T2 turėtų bent po vieną elementą A1 ir A2 su bendra reikšmių sritimi. Įrašas t1 T1 yra asocijuojamas su įrašu t2 T2, jeigu duomenų bazėje t1(A1) = t2(A2), t.y.: konkrečiam įrašui t1 asocijuojama įrašų t2 aibė S1:
S1 = {t2 | t1(A1) = t2(A2), t1 T1, t2 T2; dom(A1) = dom(A2)}
Bendru atveju duomenų bazėje aibė S1 gali būti tuščia. Asocijuojant tipą T1 su tipu T2 asocijavimo kriterijumi gali būti gali būti paimtas nebūtinai vienas tipo T1 laukas, o keli laukai ir būtinai tiek pat tipo T2 laukų.
Binariniai ryšiai tarp dviejų duomenų tipų gali būti nustatyti keli. Jeigu tipas T1 asocijuojamas su tipu T2 kelis, pavyzdžiui, du kartus, tai kiekvieno ryšio R12 ir R’12 atveju tipuose T1 ir T2 yra bent po vieną duomenų elementų porą A1, A2 ir A’1, A’2 tokių, kad kiekviena laukų pora A1, A2 ir A’1, A’2 turi bendras reikšmių sritis, t.y. dom(A1) = dom(A2) ir dom(A’1)= dom (A’2).

Reliacinio skaičiavimo kalba SQL

Jeigu reliacinės algebros kalba yra procedūrinė, SQL kalba yra deklaratyvioji, ir jos užklausų operatoriai pateikiami deklaratyvinėje formoje, t.y. vartotojas deklaruoja norimo rezultato lentelės struktūrą ir neužduoda elementarių reliacinės algebros operacijų. Pateikta kalba yra universali, nors kai kurie sintaksiniai elementai, pavyzdžiui, operatorių skyrikliai arba pagalbinių veiksmų komandos, priklausomai nuo panaudotos DBVS, gali skirtis. Aprašyme pateikiama kalbos operatorių užrašymo sintaksė, tačiau ji nebus komentuojama, kadangi kalbos konstrukcijų panaudojimas bus iliustruojamas pavyzdžiais. Iliustravimui panaudosime praeitame skyrelyje pateikta mokomosios DB kanonine schema ir ten pat patektomis duomenų lentelėmis.
2.7.1 Duomenų bazės deklaravimas

Naudojant SQL operatorius, DB deklaruojama komanda
create database []< DB vardas >;
Nurodytoje direktorijoje sukuriama sub-direktorija DB vardu. Čia vėliau bus kuriami ir saugomi DB failai. Šioje sub-direktorijoje sukuriamos sisteminės lentelės, kuriose saugojama informacija apie sukurtos DB lentelių struktūrą. Egzistuojančių DB sąrašą galima peržiūrėti tokiu būdu :
show database;
DB aktyvizuojama komanda
start database [];
DB uždaroma taip:
stop database;
Aktyvizuojant naują bazę, senąją nebūtina uždaryti: ji uždaroma automatiškai, tačiau norint bazę visai panaikinti, prieš tai ją būtina uždaryti. DB pašalinama komanda:
drop database < DB vardas >;
Po šios komandos pašalinami visi su DB susiję objektai: DB lentelės, virtualiosios lentelės (SuperView), sinonimai, sisteminiai failai ir t.t.

Atsisiųsti pilną 2SK