Sunteți pe pagina 1din 5

Cap.

4 MODELUL ENTITATE/RELAIE Una dintre cele mai cunoscute abordri ale modelrii semantice - cu siguran una dintre cele mai utilizate - este aa-numita abordare entitate/relaie (E/R), bazat pe modelul entitate/relaie introdus de ctre Chen n 1976 i rafinat de atunci n diverse moduri de ctre acesta i de muli ali cercettori. Prin urmare, cea mai mare parte din acest capitol este destinat unei analize a abordrii E/R. Totui, trebuie s subliniem c modelul E/R este departe de a fi singurul extins" au fost propuse multe altele. Trebuie s remarcm c Chen a introdus nu numai modelul E/R per se, ci i o tehnic de realizare a diagramelor corespunztoare (diagramele E/R"). n paragraful urmtor vom analiza n detaliu diagramele E/R. Entiti Entitatea este un obiect (fizic sau abstract) care poate fi identificat ca distinct. Entitile pot fi a clasificate n entiti obinuite i entiti slabe. Entitatea slab este cea a crei existen depinde de o alt entitate, n sensul c nu poate exista daca nu exist i acea entitate. Spre deosebire de aceasta, entitatea obinuit poate exista de sine stttor. Exemple de entiti: angajaii, departamentele, furnizorii, componentele etc. Observaie Unii autori utilizeaz termenul de entitate tare n loc de entitate obinuit. Atribute Entitile, ca i unele corelaii dintre entiti, au atribute (proprieti). Atributele sunt informaii care descriu entitile (corelaiile). Toate entitile sau corelaiile de un anumit tip au n comun anumite proprieti (atribute) ; de exemplu, toi angajaii au un Id_angajat, un nume, un salariu .a.m.d. Observaii: 1. Dintre atributele unei entiti, o importan deosebit o au cheile. O cheie este un atribut, sau un grup de atribute, care identific n mod unic o entitate. De exemplu, Id_angajat este cheie pentru entitile de tip ANGAJAT; nu putem avea doi angajai cu aceeai valoare a atributului Id_angajat. 2. Atributele a cror valoare nu poate fi determinat pe baza valorilor altor atribute se numesc atribute de baz; atributele a cror valoare poate fi determinat , prin calcule, pe baza valorilor altor atribute se numesc atribute derivate. De exemplu, cantstoc - dintr-o anumit component - poate fi determinat pe baza cantitilor livrate de furnizori i a numrului de componente de tipul respectiv asamblate deja n produse finite. Corelaii Corelaia reprezint o asociaie (legtur) ntre entiti. De exemplu, exist o corelaie numit LUCREAZ ntre departamente i angajai, reprezentnd faptul c anumite departamente au ca personal anumii angajai.

Entitile implicate ntr-o anumit corelaie sunt participanii acesteia. Numrul de participani dintr-o anumit corelaie se numete gradul acesteia. Fie R un tip de corelaie care presupune ca participant tipurile de entiti E1 i E2. Dac fiecrei instane a tipului E1 i corespunde cel puin o instan tipului E2, atunci spunem c participarea entitii E1 n corelaia R este total; n caz contrar, spunem c este parial. Diferite tipuri de corelaii (legturi) 1. Corelaie de tip unu-la-unu (1:1) Unui element (instan) al unui tip de entitate E1 i corespunde cel mult un element de tipul de entitate E2 i reciproc, unui element de tipul E2 i corespunde cel mult un element de tipul de entitate E1. 2. Corelaie de tip unu-multi (1:m) - Unui element al unui tip de entitate E1 i sunt asociate zero, unul sau mai multe elemente de tipul de entitate E2 iar unui element de tipul de entitate E2 i corespunde cel mult un element de tipul de entitate E1. 3. Corelaie de tip multi- multi (m:m) - Unui element al unui tip de entitate E1 i sunt asociate zero, unul sau mai multe elemente de tipul de entitate E2 i reciproc, unui element de tipul E2 i sunt asociate zero, unul sau mai multe elemente de tipul de entitate E1. Observaii: 1. Este posibil s ne intereseze o legtur ntre dou tipuri de entiti ntr-un singur sens sau n dublu sens, n funcie de necesitile de exploatare. Dac legtura este ntr-un singur sens, precizm acest lucru cu ajutorul sgeilor. 2. Este posibil ca ntre aceleai dou tipuri de entiti s existe mai multe tipuri de corelaii, cu semnificaii diferite. 3. Este posibil ca i legturile s aib atribute (proprieti). Diagrame E/R Diagramele E/R constituie o tehnic de reprezentare a structurii logice a bazei de date ntr-o maniera pictural. Astfel, ofer un mijloc simplu i cu adevrat inteligibil de comunicare a caracteristicilor importante ale designului unei anumite baze de date; de fapt, popularitatea modelului E/R ca mijloc de abordare a proiectrii bazelor de date poate fi atribuit n principal tehnicii de realizare a diagramelor E/R. Entiti Fiecare tip de entitate este reprezentat sub forma unui dreptunghi care conine numele tipului entitii respective. Pentru un tip de entitate slab, chenarul dreptunghiului este o lini punctat. Atribute Atributele sunt reprezentate ca elipse ce conin numele atributului respectiv i sunt ataate entitii sau corelaiei respective prin intermediul unei linii continue. Marginea elipsei este o linie punctat dac atributul respectiv este derivat. Atributele cheie sunt subliniate. Mulimile de valori corespunztoare atributelor nu se reprezint.

Corelaii Corelaiile fr atribute se pot reprezenta n dou moduri: a) Prin intermediul unor linii continue sau ntrerupte, dup cum participarea entitii respective la corelaie este total sau parial. Numele corelaiei este trecut deasupra sau lng liniile ce unesc tipurile de entiti. b) Ca un romb ce conine numele i tipul de corelaie respectiv. Marginea rombului este o linie punctat dac legtura respectiv este ntre un tip de entitate slab i tipul de entitate de care depinde existena acesteia. Participanii la corelaie sunt conectai la corelaia respectiv prin intermediul unor linii continue sau ntrerupte, dup cum participarea entitii respective la corelaie este total sau parial. Corelaiile cu atribute se reprezint, obligatoriu, n forma precizat la punctul b). Tipul legturii (unu-la-unu, unu-multi sau multi-multi) poate fi specificat n diferite moduri: a) Fiecare astfel de linie este etichetat cu 1 sau m. b) Tipul legturii (1:1, 1:m, m:m)este specificat deasupra rombului. c) Linia corespunztoare prii multi a unei legturi de tipul 1:m sau m:m poate fi prevzut cu mai multe piciorue:

Figura 4.1 Exemplu de diagrama E/R Proiectarea bazelor de date cu ajutorul modelului E/R

O diagram E/R construit conform regulilor schiate n paragraful anterior este un proiect al bazei de date. In continuare, vom prezenta cum se transpune o diagram E/R ntr-o baz de date. Entiti Fiecrui tip de entitate din diagrama E/R i corespunde, n baza de date, o tabel. Astfel: - Numele tabelei va fi acelai cu al tipului entitii respective. - Fiecrui atribut al tipului de entitate respectiv i va corespunde, n tabel, un cmp. - Cheia tabelei va fi chiar cheia tipului de entitate corespunztoare. Astfel, corespunztor tipurilor de entiti prezentate n Figura 4.1, vom avea, n baza de date, urmtoarele tabele: FURNIZOR, COMPONENTA, CONTRACT, PRODUSFINIT, ANGAJAT, SECTIE Corelaii de tip multi multi Fiecare astfel de corelaie este transformat ntr-o tabel. Asftel: - Numele tabelei va fi acelai cu al corelaiei respective. - Cheile primare ale celor dou tipuri de entiti participante la corelaie vor fi cmpuri ale acestei tabele (chei strine). Cheile strine dintr-o tabel se subliniaz cu linie ntrerupt. - Dac legtura are atribute, atunci atributele acesteia se vor regsi ca i cmpuri ale tabelei respective. Observaie: Exist dou posibiliti pentru stabilirea cheii primare a acestei tabele: fie se alege o cheie compus din toate cmpurile tabelei, fie se introduce un cmp suplimentar, care s serveasc ca i cheie primar nlocuitoare. Corespunztor corelaiilor de tip multi-multi prezentate n Figura 4.1, vom avea, n baza de date, urmtoarele tabele: LIVRARI [ Nrf, Nrc, datal, cant, nrlivr ] ASAMBLARE [ Nrc, Nrpf, nrcopm ] AFECTARE [ Nrcontr, Nrpf ] PARTICIPARE [Nrcontr, Idang ] Corelaii de tip unu multi Acest tip de legtur nu determin introducerea unei noi tabele,. Astfel: - Vom introduce o cheie strin n tabela din partea multi a corelaiei. - n plus, dac legtura are atribute, acestea vor fi introduse ca i coloane ale tabelei din partea multi a corelaiei.

Corespunztor corelaiei de tip unu-multi prezentat n Figura 4.1 (LUCREAZ), structura tabelei ANGAJAT din baza de date va fi urmtoarea: ANGAJAT [ Idang, Nrsectie, numeang, salariu ] Corelaii de tip unu-la-unu Observaii: 1. Corelaiile de tip unu-la-unu n dublu sens sunt tratate la fel ca i corelaiile de tip multi-multi. 2. Corelaiile de tip unu-la-unu ntr-un singur sens sunt tratate la fel ca i corelaiile de tip unu-multi. Partea unu a corelaiei este dat de vrful sgeii care indic sensul legturii, n timp ce partea multi a corelaiei este considerat spre baza sgeii. 3. Acest tip de corelaii nu sunt uzuale n practic. Avnd n vedere corelaiile de tip unu-la-unu din Figura 4.1 (MANAGER i CONDUSA) structura tabelelor CONTRACT i SECTIE este urmtoarea: CONTRACT [ Nrcontr, manager , dataic, datalc ] SECTIE [ Nrsectie, sefsectie, densecie ] n final, prezentm structura tabelelor FURNIZOR, COMPONENTA i PRODUSFINIT, corespunztoare tipurilor de entiti cu acelai nume din Figura 4.1. FURNIZOR [ Nrf, nume, adresa ] COMPONENTA [ Nrc, descriere, cantstoc, cantcurscd ] PRODUSFINIT [ Nrpf, descrpf, cantstocpf, cantcursfabr ]