Transcript scenariu_abonati
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 e ntităţ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-to many, în cazul nostru entitatea ABONAMENT
Diagrame ERD de intersecţie
PERSOANA
#cnp *nume *adresa otelefon
se abonează are abonat REVISTA
#isbn *titlu *număr_volum * data_apariţiei
ABONAMENT
Rezolvarea relaţiei many to many
• o o o
(PASUL 1)
La crearea noilor relaţii stabilim: 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 cardinalitatea : ambele relaţii noi sunt de tip one-to many, iar partea cu many va fi întotdeauna înspre entitatea de intersecţie numele noilor relaţii
Rezolvarea relaţiei many to many
PERSOANA
#cnp *nume *adresa otelefon
semnează apare semnat de ABONAMENT pentru 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ă apare semnat de 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ă apare semnat de pentru ABONAMENT
#cod_abonament *data_de_început * data_finală
REVISTA
#isbn *titlu *număr_volum * data_apariţiei