Relatii intre entitati
In general cand dorim sa rezolvam o problema ne bazam pe faptul ca in lumea reala niciun obiect nu este izolat, obiectele fiind percepute diar in conexiune cu alte obiecte. De exemplu: Domnul Ionescu Marius identificat cu ci/bi numarul..... are doua case si o masina.
Prin urmare, urmatorul pas ce trebuie facut dupa ce se identifica entitatile si atributele entitatilor de care avem nevoie este sa punem in evidenta relatiile care exista intre aceastea.
Numim relatie o asociere, legatura sau conexiune existenta intre entitati care au semnificatie pentru problema (afacerea) ce dorim sa o modelam.
Orice relatie este bidirectionala si ea leaga doua entitati sau o entitate cu ea insusi.
De exemplu:
O PERSOANA poate fi proprietarul unei sau mai multor CASE.
O CASA poate fi detinuta de una sau mai multe PERSOANE.
O relatie este definita de urmatoarele elemente:
- numele relatiei
- optionalitatea relatiei (poate fi.../trebuie sa fie... /este...)
- gradul (cardinalitatea) relatiei (unul / mai multi).
Optionalitatea
Alt exemplu, daca avem entitatile JUCATOR si ECHIPA putem defini relatiile intre cele 2 entitati tinand cont de datele pe care trebuie sa le indeplineasca problema astfel:
Un JUCATOR trebuie sa joace intr-o ECHIPA.
Un JUCATOR poate sa joace la o ECHIPA.
Un JUCATOR poate juca in mai multe ECHIPE.
Insa, intotdeauna trebuie sa tinem cont de situatiile care pot aparea. Aceste situatii se pot rezolva daca incercam sa raspundem la intrebarile: Un jucator trebuie neaparat sa joace intr-o echipa? Exista cazuri in care un jucator poate sa nu joace pentru nicio echipa?
Cardinalitatea
Cardinalitatea relatiei este data de numarul de instante ale entitatii din partea dreata a relatiei care pot intra in relatie cu o instanta a entitatii din partea stanga a relatiei.
Pentru a rezolva aceasta problema trebuie sa ne punem intrebari de genul: La cate echipe poate juca un jucator?
De exemplu:
Un JUCATOR poate juca intr-o ECHIPA si numai una.
Un JUCATOR trebuie sa joace intr-o ECHIPA si numai una.
Intr-o ECHIPA trebuie sa joace unul sau mai multi JUCATORI.
Conventii de reprezentare a relatiilor
In ERD o relatie se reprezinta printr-o linie (continua sau punctata) care uneste cele 2 entitati.
Deoarece o relatie este bidirectionala, linia care uneste cele doua entitati este compusa din doua segmente distincte, adica cate unul pentru fiecare entitate.
Tipul segmentului indica optionalitatea relatiei astfel:
- segmentul punctat reprezinta posibilitatea, optionalitatea.
De exemplu:
O PERSOANA poate detine una sau mai multe MASINI.
O MASINA poate apartine unei sau mai multor PERSOANE.
- segmentul format dintr-o linie continua reprezinta obligativitatea.
De exemplu:
Un STUDENT trebuie sa participe la unul sau mai multe CURSURI.
Un COPIL trebuie sa aiba o MAMA si numai una.
Foarte important este modul in care se termina linia spre o entitate.
- daca se termina cu o singura linie insemana ca unei instante ii corespunde UNA si NUMAI una din instantele din cealalta entitate;
- daca se termina cu 3 linii (picior de cioara) inseamna ca unei instante ii corespund UNA sau MAI MULTE instante din cealalta entitate.
Caracteristica relatiei | Valoare | Mod de reprezentare |
Numele relatiei | un verb | se scrie deasupra relatiei |
Optionalitatea |
1. Relatie obligatorie (TREBUIE) 2. Relatie optionala (POATE) |
1. Linie continua 2. Linie intrerupta |
Cardinalitatea |
1. una si numai una 2. una sau mai multe |
1. linie simpla 2. Picior de cioara
|