CURSUL 3
1. Modelarea logica a datelor
Poate cea mai importanta parte din procesul construirii unei baze de date il constituie studiul sistemului ce urmeaza sa fie reflectat in baza de date. Stabilirea informatiilor relevante pentru sistem si a relatiilor dintre ele este de cea mai mare importanta pentru etapele urmatoare.
Baza de date reprezinta un model al lumii reale si nu poate reprezenta decat un numar limitat de caracteristici ale ei necesare in unele aplicatii. Oricat de perfectionat ar fi modelul utilizat exista aplicatii care se pot concepe astfel incat sa nu poata fi satisfacute de baza de date. Deci apar interpretari subiective ale lumii reale reflectate in baza de date.
Pentru a construi o baza de date corespunzatoare unui sistem real dat se face mai intai o apreciere generala a sistemului. In aceasta apreciere se includ informatii privind structura sistemului, elementele esentiale ale sistemului care sunt cuprinse intr-o schita preliminara. Schita cup 17417s1822r rinde printre alte informatii si modul in care sistemul este vazut de diferitele persoane implicate in sistemul respectiv. Se creaza un model informational in care sunt cuprinse principalele functiuni si fluxul de informatii din sistem. Sistemul trebuie privit unitar si nu ca o alaturare a componentelor sale. In baza de date multe parti sunt folosite in comun de diferitele componente ale sistemului.
Modelul utilizat frecvent in acest caz se numeste modelul entitate/relatie (E/R) descris de Chen in 1976 si perfectionat ulterior. Acest model are drept obiecte semantice urmatoarele:
- Entitatea ce este definita ca un lucru ce poate fi unic identificabil. Se pot deosebii entitati obisnuite (regular entities) si entitati speciale (weak entities) a caror existenta este dependenta de existenta altor entitati.
- Proprietatea sau atributul ce defineste o latura a entitatii sau relatiei putand lua valori intr-un domeniu asociat. Proprietatile pot sa fie simple sau compuse, chei (sa identifice unic entitatea respectiva), univaloare sau multivaloare (grup repetitiv), sa poata fi omisa (necunoscuta sau neaplicabila), de baza sau derivata si asa mai departe.
- Relatia ce defineste o asociere intre entitati. Numarul de edntitati ce apar intr-o relatie se numeste gradul relatiei. O entitate E poate sa participe la relatia R total (prin toate elementele lui E) sau partial. Relatiile pot sa fie de tipul unu-la-unu, unu-la-mai-multi (mai-multi-la-unu) sau mai-multi-la-mai-multi.
- Subtipul unei entitati este un tip de entitate ce formeaza o submultime a entitatii respective, de obicei cu proprietati suplimentare. Tipul de entitate de care apartine un subtip se numeste supertip. Pentru fiecare entitate in parte se poate stabili un tip ierarhic prin subordonarile de forma subtip si supratip.
Modelul logic al bazei de date este reprezentat grafic prin diagrame entitate/relatie. In aceste diagrame entitatile sunt reprezentate sub forma de dreptunghiuri ce contin numele entitatii respective. Pentru entitatile speciale linia ce inconjoara dreptunghiul este dubla. Proprietatile sunt reprezentate prin elipse ce contin numele proprietatii respective si unite cu linii de entitatile la care sunt asociate. Elipsa se deseneaza punctat daca proprietatea este derivata si dublat daca este multivaloare. Proprietatile compuse au legate de ele componentele lor reprezentate tot sub forma de elipse. Cheile sunt subliniate. Relatiile sunt reprezentate sub forma de romburi etichetate cu numele tipului relatiei respective. Rombul se dubleaza daca relatia indica legatura intre o entitate speciala si entitatea de care depinde ea. Relatia este unita prin linii cu entitatile ce apar in ea etichetate cu "one" sau "many" dupa caz. Linia se dubleaza daca participarea in relatie a entitatii este totala. Orice subtip Y al lui X se marcheaza cu o linie de la Y la X pe care se pune semnul de incluziune de multimi (a lui Y in X).
Un alt model utilizat in proiectarea logica a datelor este modelul relational extins (extended relational model sau pe scurt RM/T) introdus de Codd. In acest model nu se face distinctie intre entitati si relatii. Entitatile sunt clasificate in trei tipuri: entitati nucleu (existenta independenta), entitati caracteristice (ce descriu unele proprietati ale altor entitati) si entitati asociative (ce descriu asocieri intre diferite entitati). In sistemul RM/T atat cheile primare cat si cheile straine se considera surogate, combinatii ce determina unic in sistem informatia respectiva pe toata durata existentei ei. Baza de date contine cate o E-relatie pentru fiecare tip de entitate, acestea fiind relatii unare ce contin surogatele entitatilor din tipul de entitate asociat. Tipurile de proprietati ale unui tip de entitate dat sunt reprezentate printr-o multime de P-relatii.
Sistemul RM/T contine o serie de reguli de integritate si anume: regula integritatii entitatii (cheile nu pot sa contina valoarea null), regula integritatii referentiale (necesitatea existentei elementului referit printr-o cheie straina nenula), regula integritatii E-relatiilor (pentru E-relatii sunt permise inserari si stergeri dar nu modificari), integritatea proprietatilor (o proprietate nu poate exista in baza de date daca nu exista si entitatea pe care o descrie), integritatea caracteristicilor (o entitate caracteristica nu poate exista in baza de date fara existenta entitatii pe care o descrie), integritatea asocierii (o entitate asociativa nu poate exista in baza de date decat daca exista si entitatile asociate de ea), integritatea desemnarii si integritatea subtipului.
Metodologia proiectarii folosind sistemul RM/T cuprinde urmatorii pasi: determinarea entitatilor nucleu, determinarea entitatilor asociative, determinarea desemnarilor, determinarea entitatilor caracteristice, determinarea proprietatilor si determinarea supertipurilor si subtipurilor.
2. Vederile utilizatorilor
Fiecare aplicatie presupune utilizarea unei parti din baza de date, folosind informatiile intr-un mod determinat. Aceasta parte de informatie se numeste vedere. O baza de date poate sa aiba una sau mai multe vederi. La fiecare vedere corespunde un grup de utilizatori. Pentru un grup particular se definesc tipurile de cereri de informatii si modul de determinare a datelor din baza de date care formeaza raspunsuri la aceste cereri.
Un pas important in proiectarea unei baze de date corespunzatoare unui sistem este determinarea vederilor si claselor de utilizatori asociate lor. Acestea se stabilesc de obicei prin colaborarea persoanelor cu responsabilitati in sistem.
Utilizarea vederilor permite independenta logica a datelor in sensul ca informatiile si programele utilizatorilor nu sunt dependente de structura logica a bazei de date ce se poate modifica in timp prin extindere sau restructurare.
Extinderea se poate face fie prin adaugarea de noi atribute la relatiile existente in baza de date fie prin adaugarea unor relatii noi. Restructurarea presupune rearanjarea diferitelor atribute in noi relatii.
Vederile permit ca aceleasi date sa fie privite in mod diferit de diferitii utilizatori. Prin ele se simplifica modul de percepere al utilizatorilor prin ignorarea informatiilor care nu sunt importante pentru aplicatia respectiva. Importanta este si asigurarea automata a securitatii datelor la care utilizatorii nu au acces.
3. Construirea unei vederi utilizator
Se stabilesc persoanele de la care urmeaza sa fie obtinute informatiile privind vederea respectiva, ordinea in care urmeaza sa fie intervievati, subiectele ce urmeaza sa fie discutate si ce intrebari esentiale trebuiesc puse. Se urmareste obtinerea unor informatii relevante pentru sistemul respectiv, concise, corecte si actuale. Vederile trebuiesc sa fie concepute adaptabile in sensul de a putea fi schimbate in functie de necesitatile utilizatorului.
Avand o structura generala a aplicatiei, cunoscand persoanele ce utilizeaza acea parte de sistem si informatiile de care au ele nevoie se poate construi un model de informatii pentru vederea respectiva. Plecand de la o schita grafica avand principalele elemente, pe baza discutiilor avute si a observarii sistemului existent sunt precizate detaliile si sunt facute corecturile necesare. Se stabilesc de asemenea fluxurile de resurse, diferitele legaturi cu exteriorul (interfete) si limitari existente.
Pentru construirea vederilor se pot aplica diferite strategii cum sunt:
- metoda elementelor componente (Organisation Chart approach) prin care se
definesc pe rand fiecare din elementele componente ale vederii;
- integrarea ulterioara (Integration Later) prin punerea de acord a
informatiilor comune diferitelor componente;
- metoda de sus in jos (Top Down approach) in care detaliile sunt precizate
pe nivele succesive;
- metoda colectiei de date (The Data Collection approach) in care se face o
achizitie de date ce urmeaza sa fie analizate in momentul punerii in baza de
date retinandu-se numai datele utile;
- metoda bazei de date (The Data Base approach) in care datele sunt
achizitionate sub forma de reprezentare din baza de date.
Se construieste o diagrama de tip entitate-relatie in care entitatile sunt reprezentate prin dreptunghiuri si relatiile prin linii intre entitati.
Exemplul 2.1. Un prim model pentru o vedere a unei facultati avand drept utilizatori membrii Colectivului de Conducere este cel din fig. 2.1.
___________________
| |
| STUDENTI |
|_________________|
/ \
/ \
/ \
__________________ _________________ ________________
| | | CADRE | | PERSONAL |
| CURSURI |-------------| DIDACTICE |-------| AJUTATOR |
|________________| |_______________| |______________|
Figura 2.1.
4. Integrarea vederilor utilizatorilor
|