Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Modelul entitate-relatie

Baze de date


Modelul entitate-relatie

Generalitati

O baza de date poate fi definita ca o multime de date ce modeleaza un univers. Acest univers este format din obiecte legate intre ele. Obiectele de acelasi tip constituie o entitate, iar legatura intre doua e 212i87c ntitati defineste o relatie (asociere). Entitatile si relatiile au anumite caracteristici (atribute).



Procesul de descriere a entitatilor si a asocierilor este numit modelare si este realizat cu ajutorul unui model de date. Modelarea unei baze de date permite trecerea de la perceptia unor fapte din lumea reala la reprezentarea lor prin date.

Diagrama entitate-relatie (E-R) reprezinta un model neformalizat pentru reprezentarea unor fenomene din lumea reala. Diagrama este deseori utilizata pentru reprezentarea grafica a modelului relational. Practic, se construieste diagrama E-R careia i se asociaza modelul relational si acestuia i se adreseaza cererile. În felul acesta se imbina simplitatea descriptiva a diagramei E-R cu puterea limbajului de manipulare a datelor al modelului relational.

Vom analiza notiunile de entitate, relatie, atribut, introduse de Peter Chen in 1976 si vom arata cum se poate construi o diagrama entitate-relatie.

Entitate

Prin entitate se intelege un obiect concret sau abstract reprezentat prin proprietatile sale. De exemplu, consideram o institutie formata dimn mai multe departamente, in care lucraza salariati. Salariati sunt asociati la anumite proiecte, executtnd in cadrul acestor proiecte diferite sarcini. Elementele semnificative ale modelului analizat si legaturile dintre acestea, sunt reprezentate in urmatoarea figura.

Fig. ‑ Modelul analizat si legaturile dintre elementele modelului

În diagrama din figura Fig. 3.2-1, SALARIAT, DEPARTAMENT, PROIECT, SARCINA sunt entitati.

Cate observatii privind entitatile:

Entitatile devin tabele in modelele relationale.

În general, entitatile se scriu cu litere mari, iar valoarea entitatii se scrie cu litere mici.

Entitatile sunt substantive, dar nu orice substantiv este o entitate. Trebuie ignorate substantivele nerelevante, ca de exemplu, numar de ore lucrate, salarii etc.

Pentru fiecare entitate este obligatoriu sa se dea o descriere detaliata. De exemplu, un SALARIAT este orice angajat permanent, functionar care lucreaza jumatate de timp sau pensionar, dar persoanele care au fost angajate numai pentru un anumit contract nu apartin acestei entitati.

Nu pot exista doua entitati cu acelasi nume, sau o entitate cu doua nume diferite.

Cheia primara identifica unic o entitate si face distinctie intre valori diferite ale entitati. De exemplu, codul salariatului este o cheie primara pentru entitatea SALARIAT, dar numele salariatului nu este o cheie primara deoarece pot exista doi salariati cu acelasi nume.

Cheia primara trebuie sa fie unica si cunoscuta la orice moment. Cheia primara trebuie sa satisfaca urmatoarele conditii:

Sa fie controlata de administratorul bazei de date;

Sa nu contina informatii descriptive;

Sa fie scurta, simpla, fara ambiguitati;

Sa fie stabila, deoarece schimbarea ei poate conduce la confuzii;

Sa fie familiara utilizatorului astfel incat acesta sa o poata folosi cu usurinta in filtrarile sale.

Relatie (asociere)

Relatia (asociere) reprezinta o legatura intre doua sau mai multe entitati. De exemplu, 'atasat_la', reprezinta o relatie care leaga entitatile SALARIAT si PROIECT. O valoare a unei relatii este o comunicare intre valorile entitatilor care le leaga. Existenta unei asocieri este subordonata existentei entitatilor care le leaga.

Cate observatii privind relatiile:

În modelul relational, relatiile devin tabele speciale sau coloane speciale care refera chei primare.

Relatiile sunt verbe, dar nu orice verb este o relatie.

Pot exista relatii diferite cu acelasi nume. În acest caz le diferentiaza entitatile care sunt asociate prin relatia respectiva.

Pentru fiecare relatie este important sa se dea o descriere detaliata.

Cardinalitatea relatiei, adica numarul de tupluri apartinand unei relatii, este raspunsul la intrebari de tipul:

a.       Cati salariati pot lucra intr-un departament? Multi!

În cate departamente poate lucra un salariat? În cel mult unu!

Deci relatia 'SALARIAT_lucreaza in _DEPARTAMENT' este many-one (n:1).

b. Cati salariati pot conduce un departament? Unul !. Cate departamente poate conduce un salariat ? Unul !.

Deci relatia 'SALARIAT_conduce_DEPARTAMENT' este one-one (1:1).

c. Cati salariati pot fi atasati la un proiect ?Multi !.

La cate proiecte poate fi atasat un salariat ? Multe !.

Deci relatia 'SALARIAT_atasat la_ PROIECT' este many-many (n:m).

Valorile (n:1), (1:1), (n:m) reprezinta cardinalitatea maxima. Daca in propozitiile anterioare se inlocuieste cuvantul 'poate' cu ' trebuie', se obtin relatii de tipul (0:1), (1:0), (0:0), care reprezinta cardinalitatea minima.

d. Cati salariati trebuie sa conduca un departament ? Cel putin unu !

Cate departamente trebuie sa conduca un salariat ? Zero !.

Deci relatia 'SALARIAT_conduce_DEPARTAMENT' are cardinalitatea minima 1:0.

Atribut

Atributul reprezinta o proprietate a unei entitati sau a unei relatii. Trebuie facuta distinctie intre tipul atributului care devine coloana in modelele relationale si valoarea acestuia, care devine valoare in coloane. Fiecarui atribut trebuie sa i se de-a o descriere completa (caracteristici), respectiv pentru fiecare atribut trebuie specificat numele, tipul atributului (integer, float, char, etc), valorile posibile, valorile implicite, regulile de validare.

Diagrama entitate-relatie

O diagrama consta din urmatoarele componente majore:

Dreptunghiuri, care reprezinta entitatile;

Arce neorientate, prin care sunt reprezentate relatiile dintre entitati;

Atributele care reprezinta chei primare trebuie subliniate;

Cardinalitatea minima este indicata in paranteze, iar cardinalitatea maxima se scrie fara paranteze;

Nu trebuie specificate toate atributele. Daca se da o descriere completa, un dictionar relevant pentru fiecare entitate, atribut, relatie, exista unelte CASE care pot genera automat din informatiile date, diagrame entitate-relatie.

Vom descrie cateva cazuri speciale de entitati, relatii, atribute si modul lor de reprezentare in cadrul diagramei entitate-relatie.

O entitate dependenta nu poate exista de sine statatoare. De exemplu, SARCINA depinde de PROIECT. Cheia primara a unei entitati dependente include cheia primara a sursei (nr_proiect) si cel putin o descriere a entitatii (nr_sarcina). Entitatea dependenta se deseneaza prin dreptunghiuri cu linii mai subtiri.

Fig. 3.5 Reprezentarea unei diagrame entitate-relatie

O subentitate este o submultime a unei entitati, numita superentitate. De exemplu, SALARIAT reprezinta o superentitate pentru PROGRAMATOR, iar PROGRAMATOR este o subentitate pentru SALARIAT (Fig. 3.5-2). Subentitatea se deseneaza prin dreptunghiuri incluse in superentitate.

Cheile primare, atributele si relatiile unei superentitati sunt valabile pentru orice subentitate. Afirmatia reciproca este falsa. De exemplu, un programator poate avea ca atribute limbajele de programare cunoscute si nivelul de cunoastere a acestora, dar aceste atribute nu sunt semnificative pentru un agent teritorial. Cheia primara a subentitatii PROGRAMATOR este 'cod_salariat' care este cheia primara a superentitatii SALARIAT.

Exista totdeauna o relatie intre o subentitate si o superentitate numita ISA, care are cardinalitatea maxima 1:1 si minima 1:0.

Fig. 3.5 Reprezentarea unei subentitati

O relatie poate fi reprezentata ca un atribut, sau putem folosi reatii in loc de atribute. Cand un atribut al unei entitati reprezinta cheia primara a unei alte entitati, atunci    el refera o relatie.

Uneori este dificil sa separi entitate de relatie. Daca exista o incertitudine, se cerceteaza cheia primara. Daca aceasta cheie combina cheile primare a doua entitati, atunci se defineste o relatie.

Exista atribute optionale, a caror valoare este uneori necunoscuta, uneori neaplicabila. Aceste atribute trebuie introduse la subentitati. De exemplu, comisionul pentru deplasare si zona de lucru sunt atribute specifice unui agent teritorial si trebuie introduse la subentitatea AGEN_TERITORIAL.

Valorile efective ale entitatilor, reatiilor si atributelor depind de momentul analizei, se pot schimba in timp.

Pentru obtinerea diagramei entitate-relatie sunt parcurse urmatoarele etape:

Identificarea entitatilor din cadrul sistemului analizat;

Identifiarea relatiilor (asocierilor) dintre entitati si stabilirea cardinalitatii acestora;

Identificarea atributelor aferente entitatilor si asocierilor dintre entitati;

Stabilirea atributelor de identificare a entitatilor, adica stabilirea cheilor.

Relatiile reflecta legaturi naturale care exista intre componentele sistemului. Aceeasi realitate poate fi insa perceputa diferit, de diferiti analisti, pentru un acelasi sistem putand fi obtinute modele structurale distincte.

Exista si alte moduri grafice de prezentatre a diagramelor entitate-relatie. De exemplu, relatiile sunt reprezentate prin romburi, entitatile prin dreptunghiuri, iar atributele prin elipse.


Document Info


Accesari: 16117
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )