Sunteți pe pagina 1din 7

Entiti. Instane. Atribute.

Identificator unic O entitate este un lucru, obiect, persoan sau eveniment care are semnificaie pentru afacerea modelat, despre care trebuie s colectm i s memorm date. O entitate poate fi un lucru real, tangibil precum o cldire, o persoan, poate fi o activitate precum o programare sau o operaie, sau poate fi o noiune abstract. O entitate, este reprezentat n ERD (diagram) printr-un dreptunghi cu colurile rotunjite. Numele entitii este ntotdeauna un substantiv la singular i se scrie n partea de sus a dreptunghiului cu majuscule, ca n figura 1.1.1.
PROFESOR PACIENT

Figura 1.1.1. Exemple de entiti i modul de reprezentare O entitate este de fapt o clas de obiecte i pentru orice entitate exist mai multe instane ale sale. O instan a unei entiti este un obiect, persoan, eveniment, particular din clasa de obiecte care formeaz entitatea. De exemplu elevul x din clasa a IX-a A de la Liceul de Informatic din localitatea y este o instan a entitii ELEV. Dup cum se vede, pentru a preciza o instan a unei entiti, trebuie s specificm unele caracteristici ale acestui obiect, s-l descriem (precizm de exemplu numele, clasa, coala, etc). Aadar, dup ce am identificat entitile trebuie s descriem aceste entiti, adic s le stabilim atributele Un atribut este orice detaliu care servete la identificarea, clasificarea, cuantificarea, sau exprimarea strii unei instane a unei entiti. De exemplu, atributele entitii ELEV sunt nume, prenume, adresa, nr. de telefon, adresa e-mail, data naterii, etc. n cadrul unei diagrame (ERD) atributele se vor scrie imediat sub numele entitii, cu litere mici. Un atribut este un substantiv la singular. Un atribut poate fi obligatoriu sau opional. Un atribut obligatoriu este precedat n ERD de asterisc * iar un atribut opional este precedat de un cercule o.
ELEV # cnp * nume * prenume * data_nasterii * adresa o telefon o e-mail

Figura 1.1.2. Entitatea ELEV Atributele care definesc n mod unic instanele unei entiti se numesc identificatori unici (UID). UID-ul unei entiti poate fi compus dintr-un singur atribut, precum codul numeric personal ce poate fi un identificator unic pentru entitatea elev. n alte situaii, identificatorul unic este compus dintr-o combinaie de dou sau mai multe atribute.

De exemplu combinaia dintre titlu, numele autorului i data apariiei poate forma unicul identificator al entitii carte. Oare combinaia titlu i nume autor nu era suficient? Rspunsul este NU, deoarece pot exista de exemplu mai multe volume scrise de Mihai Eminescu avnd toate titlul Poezii", dar aprute la date diferite. Atributele care fac parte din identificatorul unic al unei entiti vor fi precedate de semnul #. Atributele din UID sunt ntotdeauna obligatorii, ns semnul # este suficient, nu mai trebuie pus i un semn * n faa acestor atribute. Relaii ntre entiti Aadar, dup ce ai identificat care sunt entitile i atributele acestor entiti trebuie s punem n eviden relaiile ce exist ntre aceste entiti, modul n care acestea comunic ntre ele. O relaie este o asociere, legtur sau conexiune existent ntre entiti. Orice relaie este bidirecional, legnd dou entiti sau o entitate cu ea nsi. De exemplu, elevii studiaz mai multe materii, o materie e studiat de ctre elevi. Orice relaie este caracterizat de urmtoarele elemente: - Numele relaiei - Opionalitatea relaiei - Gradul (cardinalitatea) relaiei Exemplu: relaia existent ntre entitile JUCATOR i ECHIPA. Vom spune: Un JUCATOR joac ntr-o ECHIPA - Numele relaiei este: joac - Pentru a stabili opionalitatea relaiei trebuie s rspundem la urmtoarea ntrebare: Un juctor trebuie s joace ntr-o echip? Se poate ca un juctor s nu joace n nici-o echip? Dac acceptam c toi juctorii trebuie s joace ntr-o echip relaia este obligatorie sau mandatorie i vom spune: Un JUCATOR trebuie s joace ntr-o ECHIPA Dac ns acceptm c exist juctori care nu joac n nici o echipa (de ex i s-a terminat contractul i n momentul de fa nu mai joac la nici o echipa) atunci relaia este opional. n acest caz vom spune: Un JUCATOR poate juca la o ECHIPA Cardinalitatea relaiei este dat de numrul de instane ale entitii din partea dreapta a relaiei care pot intra n relaie cu o instan a entitii din partea stnga a relaiei. Va trebui s rspundem la ntrebri de genul: la cte echipe poate juca un juctor? Rspunsurile posibile sunt una i numai una sau una sau mai multe. Vom spune: Un JUCATOR trebuie/poate s joace la o ECHIPA i numai una Sau Un JUCATOR trebuie/poate s joace la una sau mai multe ECHIPE

Cea mai realist variant a relaiei dintre JUCATOR i ECHIPA este: Un JUCATOR poate s joace la o ECHIPA i numai una Am precizat ns c o relaie este bidirecional. Relaia dintre ECHIPA i JUCATOR o putem enuna astfel: La o ECHIPA trebuie s joace unul sau mai muli JUCATORI

CONVENTII DE REPREZENTARE A RELATIILOR n cadrul diagramei relaia va fi reprezentat printr-o linie ce unete cele dou entiti. Linia ce unete cele dou entiti este compus din dou segmente distincte, cte unul pt. fiecare entitate. Tipul segmentului ce pleac de la o entitate ne va indica opionalitatea relaiei dintre aceast entitate i entitatea aflat n cealalt parte a relaiei. Dac acest segment este continuu este vorba de o relaie obligatorie, o linie ntrerupt indic o relaie opional.
JUCATOR

joaca
are

are

ECHIPA

Figura 1.1.4. Reprezentarea relaiilor Modul n care o linie se termin spre o entitate este important. Dac se termin printr-o linie simpl, nseamn c o instan i numai una a acestei entiti este n relaie cu o instan a celeilalte entiti. Dac linia se termina cu trei linii (picior de cioar) nseamn c mai multe instane ale entitii pot corespunde unei instane a celeilalte entiti.

CARACTERISTICA RELAIEI

VALOARE

MOD DE REPREZENTARE

Numele relaiei OPTIONALITATE

Un verb Relaie obligatorie (TREBUIE) Relaie optionala (POATE) una i numai una una sau mai multe

Se scrie deasupra relaiei Linie continua


LINIE INTRERUPT

CARDINALITATEA

Linie simpl Picior de cioar

Tipuri de relaii

1. Relaii one-to-one Acest tip de relaie este destul de rar ntlnit. Ele pot fi modelate transformnd una din entiti n atribut al celeilalte entiti.
are pentru

INTREBARE

RASPUNS CORECT

PERSOANA

este este

PROFESOR

LOC DE PARCARE

ocupat de ocupat

MASINA

2. Relaii one-to-many Este cel mai ntlnit tip de relaie.


public EDITURA publicat CARTE

POET

scrie scris de

POEZIE

FORMAIE

format din cnt n

ARTIST

FILM

memorat pe conine

CD

3. Relaii many-to-many Acest tip de relaii apar n prima faz a proiectrii bazei de date, ns ele trebuie s fie ulterior eliminate.
MEDICAMENT apare pe conine REET

urmat de CURS nscris la STUDENT

PROFESOR

pred predat de

DISCIPLINA

Rezolvarea relaiilor many-to many Vom lua ca exemplu relaia dintre entitile STUDENT i CURS. Se tie c orice curs se termin n general cu un examen. Unde vom memora nota studentului la fiecare examen.

STUDENT # id *nume *prenume *adres

CURS # id *denumire *durata *nr_credite

urmat de

Dac ncercm s introducem atributul NOTA la entitatea STUDENT, nu vom ti crei materii corespunde acea not, ntruct unei instane a entitii STUDENT i corespund mai multe instane ale entitii CURS. Invers, dac ncercm s memorm nota n cadrul entitii CURS, nu vom ti crui student i aparine acea not. Rezolvarea unei relaii many-to-many const n introducerea unei noi entiti numit entitate de intersecie, pe care o legm de entitile originale prin cte o relaie one-to-many. Paii n rezolvare unei relaii many-to-many: a. Se gsete entitatea de intersecie, pentru exemplul nostru vom introduce entitatea INSCRIERE

STUDENT # id *nume *prenume *adres


urmeaz

CURS # id *denumire *durata *nr_credite

urmat de

INSCRIERE

b. Crearea noilor relaii - Opionalitatea: relaiile care pleac din entitatea de intersecie sunt ntotdeauna obligatorii n aceast parte. n partea dinspre entitile originale, relaiile vor pstra opionalitatea relaiilor iniiale. - Cardinalitatea: ambele relaii sunt de tip one-to-many, iar partea cu many va fi ntotdeauna nspre entitatea de intersecie. - Numele noilor relaii

STUDENT # id *nume *prenume *adres are are

CURS # id *denumire *durata *nr_credite

pentru

pentru

INSCRIERE

c. adugarea de atribute n cadrul entitii de intersecie. n exemplu am aduga de exemplu, data la care s-a nscris un student la un curs, data la care a finalizat cursul precum i nota obinut la sfritul cursului.

STUDENT # id *nume *prenume *adres are are

CURS # id *denumire *durata *nr_credite

pentru

pentru

INSCRIERE *data_nscrierii o data_finalizrii o nota

d. Stabilirea identificatorului unic pentru entitatea de intersecie: dac entitatea de intersecie nu are un identificator unic propriu, atunci acesta se poate forma din identificatorii unici ai entitilor iniiale la care putem aduga atribute ale entitii de intersecie. n exemplu, identificatorul unic al entitii de intersecie este format din idul studentului, id-ul cursului i data nscrierii la curs. e. Faptul c identificatorul unic al unei entiti preia identificatorul unic din alt entitate cu care este legat este reprezentat prin bararea relaiei respective, nspre entitatea care preia UID-ul celeilalte entiti.

STUDENT # id *nume *prenume *adres are are

CURS # id *denumire *durata *nr_credite

pentru

pentru

INSCRIERE *data_nscrierii o data_finalizrii o nota

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