|
Sisteme de Gestiune pentru Baze de date Distribuite (SGBDD)
Un SGBDD este format dintr-o colectie de baze de date locale, amplasate geografic in puncte diferite (noduri ale unei retele de calculatoare) si legate logic prin relatii functionale, astfel incat pot fi vazute la nivel global ca o singura baza de date.
Obiectivele principale ale unui SGBDD sunt:
q definirea si manipularea colectiilor de date distribuite pe calculatoare diferite, ca un singur ansamblu logic (baza de date distribuita);
q distribuirea datelor trebuie sa se faca dupa criterii foarte variate care sa raspunda tuturor necesitatilor utilizatorilor;
q utilizatorii manipuleaza datele fara a cunoaste locul unde sunt memorate;
q pentru cresterea gradului de fiabilitate sau de performanta, datele pot fi duplicate pe mai multe sisteme, fara ca utilizatorii sa cunoasca acest lucru;
q asigurarea coerentei bazei de date in cazul operatiilor de actualizare si de reluare in caz de incidente la unul sau la mai multe din nodurile retelei;
q exploatarea bazei de date in regim de multi-acces;
q controlul accesului la date.
4. Niveluri de reprezentare a datelor in BD
In demersul realizarii unei baze de date exista trei niveluri de perceptie a acesteia (figura 4):
Figura 4
Nivelul conceptual este nivelul central care reflecta datele structurate astfel incat acestea sa poata fi preluate si prelucrate cu ajutorul unui SGBD.
In proiectarea bazelor de date, la nivel conceptual, se pot utiliza mai multe modele, dintre care cel mai frecvent utilizat in ultima vreme este modelul Entitate-Atribut-Corespondenta.
Modelul EAC abstractizeaza lumea reala si o transpune, pe de o parte, in agregari de date elementare, numite entitati, iar pe de alta parte, in legaturi intre entitati, denumite corespondente (sau asocieri). Asadar, o entitate corespunde unui obiect din lumea reala, identificat, in general, printr-un nume (o factura, un produs finit, un furnizor, un client etc.). O entitate este un model de obiect identificat in lumea reala - material (o persoana, un lucru etc.), imaterial (un eveniment) sau abstract - al carui tip este definit de un nume si de o lista de proprietati (atribute). Un atribut se defineste ca fiind o proprietate a unei entitati sau a unei corespondente, caracterizata printr-un nume si un tip. Realizare a unei entitati se numeste multimea formata din cate o valoare pentru fiecare atribut al entitatii. Identificatorul unei entitati este atributul (sau grupul de atribute si roluri) a carui realizare (valoare) caracterizeaza in mod unic o realizare a entitatii. In reprezentarea grafica, de regula, identificatorul se subliniaza cu o linie continua.
O corespondenta sau asociere reprezinta o legatura logica intre doua sau mai multe realizari de entitati. La nivelul limbajului natural, este definita printr-un verb. O corespondenta (asociere) poate avea proprietati particulare, date de atribute specifice.
Rolul unei entitati este un nume care desemneaza modul de participare al entitatii la o asociere. Identificarea asocierilor se realizeaza prin rolurile entitatilor participante deci, concret, cu ajutorul identificatorilor entitatilor participante.
O corespondenta intre realizari diferite ale aceleeasi entitati se numeste asociere reflexiva, caz in care este recomandata precizarea rolurilor fiecarei entitati in cadrul asocierii.
Reguli:
q o asociere nu poate exista decat o singura data intre aceleasi entitati;
q numele entitatilor, corespondentelor, rolurilor, atributelor trebuie sa fie unice in cadrul modelului conceptual, iar apoi in baza de date definita.
Conceptele prezentate sunt utilizate in modelarea diferitelor situatii descrise in limbaj natural. In exemplul urmator este ilustrata abstractizarea unui ansamblu de date, extras din limbajul natural, aplicand modelul EAC.
Exemplu:
Produsele finite ale unei fabrici, reprezentand articole de incaltaminte, sunt livrate clientilor. La livrare se intocmesc facturi, care contin data livrarii, articole de incaltaminte, fiecare dintre ele intr-o anumita cantitate si la un anumit pret unitar, cota TVA corespunzatoare articolului respectiv, cu ajutorul carora se calculeaza valoarea totala a facturii. O asemenea situatie s-ar putea reprezenta prin urmatoarea schema entitate-corespondenta:
q Entitati: ;
q Corespondenta: ; nu are identificator;
q Atribute:
q Identificatori: .
Grafic se reprezinta astfel:
Figura 5
Se stie ca o factura poate cuprinde mai multe articole livrate, cu alte cuvinte, va contine cel putin un articol. De asemenea, intr-o anumita perioada de timp, un articol poate sa nu fie comandat de catre clienti sau poate fi solicitat de mai multi dintre acestia, adica poate face obiectul niciuneia sau mai multor facturi. In proiectarea bazei de date trebuie sa se tina seama si de faptul ca un cod de produs finit trebuie sa se regaseasca printre codurile articolelor facturate. Toate acestea se numesc reguli de gestiune.
Pe
baza regulilor de gestiune se stabilesc cardinalitati intre
realizarile atributelor din entitati si cele ale
proprietatilor din asocieri (corespondente). Acestea
exprima maniera de participare a valorilor atributelor din
entitati la fiecare aparitie de valori din asocieri. Putem vorbi
despre o cardinalitate minima (0 sau 1)
si una maxima
(1 sau n).
In exemplul anterior, pentru stabilirea corecta a cardinalitatilor se va tine seama de urmatoarele reguli, observate in activitatea de facturare si livrare:
q un articol de incaltaminte, intr-un anumit interval de timp, poate fi cuprins in minim zero facturi (se poate intampla ca un anumit produs fabricat sa nu mai fie comandat de catre clienti) sau se poate factura de mai multe ori, adica - vom spune - se poate regasi in maxim n facturi;
q factura intocmita la o anumita data poate contine, in cantitati si la preturi diferite, minimum un articol de incaltaminte, maximum n (adica unul sau mai multe produse finite ce urmeaza a fi livrate unui client al fabricii).
Figura 6 prezinta partea de model conceptual anterioara, la care s-au adaugat cardinalitatile:
Figura 6