Extras din curs
2. MODELAREA DATELOR
Posibilitatea de a obtine informatii utile dintr-o colectie de date (deci dintr-o baza de date) depinde de modul de organizare si interpretare a datelor. Datele în sine nu constitue informatie, ci numai datele împreuna cu regulile de organizare (structurare) a acestora permit interpretarea si utilizarea informatiilor continute de datele respective.
De exemplu, secventa de octeti:
21 00 00 3A 00 00
într-un program imagine memorie nu are nici-o semnificatie daca nu se cunoaste modul de codare a instructiunilor masina ale procesorului respectiv. Daca presupunem ca secventa de mai sus face parte dintr-un program pentru procesorul Z80, atunci secventa de octeti este interpretata ca secventa de insructiuni:
LD HL,0
LDA 0
Un model de date este un instrument teoretic care permite structurarea si interpretarea corecta a datelor.
Un model de date ne permite deci sa identificam semnificatia sau continutul de informatie a unei colectii de date. Pentru exemplul de mai sus, arhitectura procesorului (setul de instructiuni) este modelul care permite interpretarea corecta de catre procesor a secventei de instructiuni date.
Reluând definitia bazelor de date, se poate specifica mai precis ca o baza de date este o colectie de date persistente, organizate conform unui anumit model de date.
2.1. Entitati si asocieri
Elementele esentiale ale modelelor de date folosite în proiectarea bazelor de date sunt entitatile (entities) si asocierile (relationships) dintre acestea.
O entitate este "orice poate fi identificat în mod distinctiv". O entitate se refera la un aspect al realitatii obiective, care poate fi deosebit de restul universului si poate reprezenta un obiect fizic, o activitate, un concept, etc.
Orice entitate este descrisa prin atributele sale. Atributele prin care este descrisa o entitate se aleg pe baza criteriului relevantei relativ la domeniul de interes pentru care se defineste modelul respectiv, astfel încât sa asigure diferentierea precisa a entitatii respective fata de restul universului. De exemplu, entitatea ANGAJAT (al unei institutii) reprezinta o persoana angajata a institutiei, care are o anumita functie, lucreaza într-o anumita sectie si primeste un anumit salariu. Aceasta entitate fi descrisa prin mai multe atribute, dintre care o parte sunt atribute de identificare a persoanei (cum sunt: Nume, Prenume, DataNasterii, Adresa), iar alte atribute sunt atribute legate de activitatea acesteia în institutia respectiva (cum sunt: Functia, Salariul).
În bazele de date entitatile similare, care pot fi descrise prin aceleasi atribute, se grupeaza în multimi, fiecare entitate având valori particulare ale atributelor respective. Toate entitatile similare, care pot fi descrise prin aceleasi atribute, apartin unui acelasi tip de entitate (entity type). Colectia tuturor entitatilor de acelasi tip dintr-o baza de date constitue o multime de entitati (entities set). O multime de entitati se descrie prin aceleasi atribute prin care este descrisa fiecare entitate componenta.
În proiectarea bazelor de date de orice tip se folosesc asocieri (relationships) între multimile de entitati (datele) componente, pentru a modela realitatea pe care baza de date o reprezinta. Asocierile pot fi binare (între 2 multimi de entitati) sau n-are (între n multimi de entitati, n>2).
Asocierile binare sunt, la rândul lor, de trei categorii, dupa numarul elementelor asociate din fiecare dintre cele doua multimi (Figura 2.1). Fiind date doua multimi de entitati, E1 si E2, se definesc urmatoarele asocierile binare:
- Asocierea unu-la-unu (one-to-one) este asocierea în care unei entitati din multimea E1 îi coreaspunde o singura entitate din multimea E2, si reciproc; se noteaza cu 1:1.
- Asocierea unu-la-multe (one-to-many) este asocierea în care unei entitati din multimea E1 îi coreaspund una sau mai multe entitati în multimea E2, dar unei entitati din E2 îi corespunde o singura entitate în multimea E1; se noteaza cu 1:N.
- Asocierea multe-la-multe (many-to-many) este asocierea în care unei entitati din multimea E1 îi coreaspund una sau mai multe entitati în multimea E2, si, de asemenea, unei entitati din E2 îi corespund una sau mai multe entitati în multimea E1; se noteaza cu M:N.
Figura 2.1. Tipuri de asocieri între doua multimi de entitati. (a) Asociere 1:1; (b) Asociere 1:N; (c) Asociere M:N.
Numarul de elemente dintr-o multime de entitati care intervine într-o asociere se numeste cardinalitatea (sau multiplicitatea) asocierii fata de multimea respectiva. De exemplu, asocierea 1:N dintre multimile E1 si E2 prezinta multiplicitatea 1 fata de multimea E1 si multiplicitatea N (se întelege o valoare oarecare N > 1) fata de multimea E2.
Asocierile n-are (ternare, quaternare, etc. ) prezinta câte o valoare a multiplicitatii pentru fiecare din multimile asociate.
Asocierile între multimile de entitati sunt, în acelasi timp asocieri între tipurile de entitati corespunzatoare.
2.2. Clasificarea modelelor de date folosite la proiectarea bazelor de date
La proiectarea bazelor se folosesc, de regula, doua modele de date. Punctul de plecare este un model semantic a datelor, pe baza carui se dezvolta unui model de date specializat, cum ar fi modelul ierarhic, modelul retea, modelul relational, etc.
Modelul semantic este un model conceptual de nivel înalt, care exprima esenta entitatilor si a asocierilor între acestea independent de sistemul de gestiune a bazelor de date care va fi folosit pentru proiectarea si realizarea bazei de date respective. Modelul semantic se mai numeste si modelul Entitate-Asociere si este, de regula, folosit ca punct de plecare pentru obtinerea unui model de date specializat, care sa corespunda sistemului de gestiune care va fi folosit în realizarea bazei de date respective.
Modelele de date specializate impun anumite forme de reprezentare a entitatilor si a asocierilor dintre acestea, forme care corespund sistemului de gestiune a bazelor de date care va fi folosit pentru realizarea bazei de date. Modelele de date specializate sunt:
- Modelul ierarhic
- Modelul retea
- Modelul relational
- Modelul obiect
- Modelul obiect-relational
2.3. Modelul Entitate-Asociere (E/A)
Modelarea conceptuala este o faza importanta în proiectarea unei aplicatii de baze de date. Termenul aplicatie de baza de date se refera la o utilizare particulara a unei baze de date. De exemplu, o baza de date care contine informatii de personal al unei institutii si un program asociat care implementeaza comenzile necesare pentru introducere, stergere, actualizare a datelor, precum si interogarile prin care un utilizator (operator) obtine informatiile dorite (drepturile salariale ale unui angajat, etc) reprezinta o aplicatie de baze de date.
Preview document
Conținut arhivă zip
- Modelarea Datelor.DOC