scenariu_abonati

Report
Diagrame ERD
Scenariul: Abonaţi la reviste
Scenariul
Pentru a se abona la diverse reviste,
persoanele doritoare trebuie să furnizeze
numele, adresa şi un număr de telefon.
Fiecare revistă este identificată prin titlul,
numărul volumului şi data apariţiei. Abonaţii
semnează pentru abonare un contract pe o
anumită durată de timp precizată prin data
de început a abonamentului şi data finală.
Bineînţeles că o persoană se poate abona la
mai multe reviste în acelaşi timp.
Instrucţiuni
- cu o linie continuă colorată subliniem
numele entităţilor
- cu o linie întreruptă de aceeaşi culoare
atributele unei entităţi
- cu o linie dublă numele relaţiei
între două entităţi
Scenariul subliniat
Pentru a se abona la diverse reviste,
persoanele doritoare trebuie să furnizeze
numele, adresa şi un număr de telefon.
Fiecare revistă este identificată prin titlul,
numărul volumului şi data apariţiei. Abonaţii
semnează pentru abonare un contract pe o
anumită durată de timp precizată prin data de
început a abonamentului şi data finală.
Bineînţeles că o persoană se poate abona la
mai multe reviste în acelaşi timp.
Diagrame ERD iniţiale
PERSOANA
#cnp
*nume
*adresa
otelefon
se abonează
are abonat
REVISTA
#isbn
*titlu
*număr_volum
* data_apariţiei
Rezolvarea relaţiei many-to-many
constă în introducerea unei noi entităţi numită
entitate de intersecţie, pe care o legăm de
entităţile originale prin câte o relaţie one-tomany, în cazul nostru entitatea ABONAMENT
Diagrame ERD de intersecţie
PERSOANA
#cnp
*nume
*adresa
otelefon
se abonează
are abonat
ABONAMENT
REVISTA
#isbn
*titlu
*număr_volum
* data_apariţiei
Rezolvarea relaţiei many to many
• (PASUL 1) La crearea noilor relaţii stabilim:
o opţionalitatea: relaţiile care pleacă din entitatea de
intersecţie sunt întotdeauna obligatorii în această
parte. În partea dinspre entităţile originale, relaţiile
vor păstra opţionalitatea relaţiilor iniţiale
o cardinalitatea: ambele relaţii noi sunt de tip one-tomany, iar partea cu many va fi întotdeauna înspre
entitatea de intersecţie
o numele noilor relaţii
Rezolvarea relaţiei many to many
PERSOANA
#cnp
*nume
*adresa
otelefon
semnează
apare
semnat de
pentru
ABONAMENT
REVISTA
#isbn
*titlu
*număr_volum
* data_apariţiei
Rezolvarea relaţiei many to many
• (PASUL 2) Adăugăm atribute în cadrul entităţii de
intersecţie, dacă acestea există. În exemplul nostru,
pentru fiecare abonament se precizează durata prin
data de început şi data de sfârşit a perioadei
Rezolvarea relaţiei many to many
PERSOANA
#cnp
*nume
*adresa
otelefon
semnează
semnat de
apare
pentru
ABONAMENT
#cod_abonament
*data_de_început
* data_finală
REVISTA
#isbn
*titlu
*număr_volum
* data_apariţiei
Rezolvarea relaţiei many to many
• (PASUL 3) Stabilirea identificatorului unic UID
pentru entitatea de intersecţie: dacă entitatea de
intersecţie nu are un identificator unic propriu,
atunci acesta se poate forma din identificatorii unici
ai entităţilor iniţiale la care putem adăuga atribute
ale entităţii de intersecţie.
• Faptul că identificatorul unic al entităţii de intersecţie
preia UID din altă entitate cu care este legată este
reprezentat grafic prin bararea relaţiei respective,
înspre partea care preia UID-ul celeilalte entităţi.
Rezolvarea relaţiei many to many
PERSOANA
#cnp
*nume
*adresa
otelefon
semnează
semnat de
apare
pentru
ABONAMENT
#cod_abonament
*data_de_început
* data_finală
REVISTA
#isbn
*titlu
*număr_volum
* data_apariţiei

similar documents