Sunteți pe pagina 1din 6

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.

1
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.
De exemplu, dac fiecare angajat trebuie s aparin unui departament, atunci
participarea angajailoe n corelaia LUCREAZ este total; dac este posibil ca un
anumit departament s nu aib angajai, atunci participarea departamentelor n corelaia
LUCREAZ 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 linie punctat.
Atribute
Atributele sunt reprezentate ca elipse ce conin numele atributului respectiv i
sunt ataate entitii sau corelaiei respective prin intermediul unei linii continue.

2
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:

Exemplu

S se proiecteze o baz de date relaional pentru evidena activitilor unei


ntreprinderi. Baza de date trebuie s cuprind informaii despre angajai, seciile la care
lucreaz acetia, contractele pe care le execut ntreprinderea, produsele finite care fac
obiectul contractelor, componentele care alctuiesc produsele finite i furnizorii acestor
componente. Astfel, baza de date va trebui s conin: id-ul, numele i adresa fiecrui
furnizor; id-ul, descrierea fiecrei componente, cantitatea din stoc pentru fiecare
component n parte; cantitatea dintr-o anumit component livrat de un anumit
furnizor i data la care a avut loc livrarea; id-ul, descrierea fiecrui produs finit,
cantitatea din stoc pentru fiecare produs finit n parte; numrul de componente de un
anumit tip care intr n alctuirea unui produs finit; id-ul, data nceperii i data livrrii
contractelor; produsele finite care fac obiectul fiecrui contract i contractelor crora le
este afectat un anumit produs finit precum i cantitatea din fiecare produs finit prevzut
ntr-un anumit contract; id-ul, numele i salariul fiecrui angajat; contractele la care
lucreaz angajaii i managerul fiecrui contract; id-ul i denumirea fiecrei secii; secia
la care lucreaz fiecare angajat n parte i eful fiecrei secii.
Obs. : un angajat poate fi manager al unui singur contract i poate s lucreze n acelai
timp la mai multe contracte.

3
Figura 4.1 Exemplu de diagram 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 (o coloan).
- 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

4
Fiecare astfel de corelaie este transformat ntr-o tabel. Astfel:
- 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, nrcomp ]

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 ]

5
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 ]

S-ar putea să vă placă și