Baze de date
Modelarea logica a datelorModelarea logica a datelor Cea mai importanta parte din procesul construirii unei baze de date o constituie studiul sistemului ce urmeaza sa fie reflectat in baza de date. Baza de date este un model al lumii reale si nu poate reprezenta decat un numar limitat de caracteristici necesare in unele aplicatii. Oricat de perfectionat ar fi modelul utilizat, exista aplicati care se pot concepe astfel incat sa nu poata fi satisfacute de baza de date. Pot sa apara 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 acestuia care sunt cuprinse intr-o schita preliminara. Schita cuprinde, pe langa alte informatii, modelul in care sistemul este vazut de diferitele persoane implicate in sistemul respectiv. Se creeaza un model informational in care sunt cuprinse principalele functii 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 este modelul entitate-relatie. Acest model are drept obiecte semantice urmatoarele: Entitatea este un lucru ce poate fi unic identificabil. Se pot deosebi entitati obisnuite si entitati speciale, a caror existenta este dependenta de existenta altor entitati. Proprietatea sau atributul defineste o latura a entitatii sau relatiei, care poate lua valori intr-un domeniu asociat. Proprietatile pot sa fie simple sau compuse, chei, univaloare sau multivaloare, de baza sau derivata, pot fi omise, etc. Relatia defineste o asociere intre entitati. Numarul de entitati ce apar intr-o relatie se numeste gradul sau aritatea relatiei. O entitate E poate sa paricipe la relatia R total sau partial. Relatiile pot fi tipul unu-la-unu, unu-la-mai-multi 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 supertip.
Modelul logic al bazei de date este reprezentat grafic prin 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, unite prin cu linii de entitatile la care sunt asociate. Elipsa se deseneaza punctat daca proprietatea este derivata si dublat daca este multivaloare. Proprietatile compuse au atasate 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 care apar in ea, etichetate cu one sau many, dupa caz. Linia se dubleaza daca participarea in relatie a entitatii este totala. Orice subti Y sau X se marcheaza cu o linie de la Y la X pe care se pune semnul de incluziune de multimi. Un alt model utilizat in proiectarea logica a bazelor de date este modelul relational extins introdus de Codd in 1970. In acest model nu se face distinctie intre entitati si relatii. Entitatile sunt clasificate in trei tipuri: -entitati nucleu -entitati caracteristice -entitati asociative In acest sistem, cheile sunt considerate surogate (atat cele primare cat si cele straine), 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 unice ce contin surogatele entitatilor din tipul de entitate asociat. Tipurile de proprietati ale unui tip de entitate dat sunt reprezetate printr-o multime de P-relatii. Sistemul relational extins contine o serie de reguli de integritate: -Regula integritatii entitatii cheile nu pot sa contina valoarea nul; -Regula integritatii referentiale este necesara existenta 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 entitati asociate cu ea; -Integritatea desemnarii o desemnare se poate folosi numai pentru elemente existente; -Integritatea subtipului un subtip exista numai in prezenta supertipului sau. Pentru a proiecta un sistem relational extins se executa urmatorii pasi: 1. Se desemneaza entitatile nucleu; 2. Se determina entitatile asociative; 3. Se determina desemnarile; 4. Se determina entitatile caracteristice; 5. Se determina proprietatile ; 6. Se determina supertipurile si subtipurile.
|