Sunteți pe pagina 1din 39

M.

Danubianu - Baze de date 1


BAZE DE DATE
CURS 4
Modelul Entitate Relatie
(continuare)
M. Danubianu - Baze de date 2
Entiti slabe
Sunt tipuri de entiti ale cror chei sunt compuse din
atribute care provin parial sau n totalitate din alte
tipuri de entiti
dou surse de tipuri de entiti slabe:
ierarhii pe baz de clasificare (fr legturi cu ierarhiile
isa)- pentru anumite subuniti ale unor tipuri de entiti, este
posibil ca numele s nu fie unice atta timp ct nu se ia n
considerare i numele entitilor crora le sunt subordonate
tipurile de entiti de conectare care elimin tipurile de
legturi de grad superior - de regul nu au propriile lor atribute,
iar cheile lor sunt formate din atributele care sunt chei n
tipurile de entiti legate
M. Danubianu - Baze de date 3
Entiti slabe
O entitate slab poate fi identificat unic numai dac se ia n considerare cheia primar
a altei entiti (entitate proprietar -owner)
Tipurile de entitile slabe i tipurile de entiti proprietar trebuie s fie pri ale unei
legturi 1:N (partea unu - entitatea proprietar,partea N- mai multe entiti slabe)
Tipul de entitate slab trebuie s aib o participare total n tipul de legtur care o
asociaz cu tipul de entitate proprietar - tip de legtur de identificare sau de
susinere
participarea total a unui tip de entitate ntr-o legtura => existena unei entiti necesit
existena unei entiti asociate
n diagrame ER constrngerile de participare total sunt simbolizate prin linii duble
(sau ngroate)
sex
nume
ddn
nume
Pers_intret
Angajati
cnp
Intrein
valoare
M. Danubianu - Baze de date 4
Principii de proiectare
Corectitudinea
Evitarea redundanei
Evitarea introducerii n proiect a mai
multor elemente dect sunt strict necesare
Stabilirea corect a legturilor
Alegerea tipurilor corecte de elemente
M. Danubianu - Baze de date 5
Corectitudinea
Cumpr
Produs
Persoan
Care sunt erorile din diagramele de mai jos?
Preedinte
Persoan ar
Concluzii:
tipurile de entiti i atributele trebuie s reflecte realitatea.
legturile trebuie stabilite a.. s aib un sens dat de ceea ce se cunoate
despre realitatea modelat.
cnp
nume
Nr_locuitori
M. Danubianu - Baze de date 6
Corectitudinea
Cumpr
Produs
Magazin
data
Nume_pers
Adresa_pers
Concluzia: folosii tipurile adecvate de entiti.
M. Danubianu - Baze de date 7
Evitarea introducerii n proiect a mai
multor elemente dect sunt strict necesare
Cumpr
Produs
Persoan
Magazin
data
Date
Concluzia: nu v complicai viaa mai mult dect este deja!!!
M. Danubianu - Baze de date 8
Tipurile de entiti pot fi asociate ntre ele n diverse
moduri prin legturi
nu este necesar adugarea la un proiect a tuturor
legturilor posibile
redundan
incoeren
spaiu suplimentar de stocare
Stabilirea corect a legturilor
M. Danubianu - Baze de date 9
Alegerea tipurilor corecte de elemente
Entitate vs. atribut
Entitate vs. legtur
Legturi binare vs. legturi ternare
M. Danubianu - Baze de date 10
Entitate vs. Atribut
Este posibil ca adresa s fie un atribut asociat entitii
Angajai sau o entitate conectat la Angajai printr-o
legtur?
Soluia depinde de modul de utilizare a informaiilor
despre adres i de semnificaia datelor:
dac exist mai multe adrese pentru un angajat,
adresa trebuie s fie o entitate (deoarece atributele
nu pot avea valori multiple)
dac structura (ora, strad, etc.) este important (ex.
se dorete regsirea angajailor dintr-un ora), adresa
trebuie modelat ca o entitate (chiar dac valorile
atributelor sunt atomice)
M. Danubianu - Baze de date 11
Entitate vs. Atribut (II)
Lucr_n_1 nu permite ca
un angajat s lucreze
ntr-un departament
dou sau mai multe
perioade
Similar cazului n care se
dorete nregistrarea mai
multor adrese pentru un
angajat: se dorete
nregistrarea mai multor
valori ale atributelor
descriptive pentru
fiecare instan a acestei
legturi
nume
Angajai
cnp sex
Lucr_n_1
De_la
pn
dnume
buget
did
Departament
dnume
buget
did
nume
Departament
cnp sex
Angajai
Lucr_n
Durata
De_la
pn
M. Danubianu - Baze de date 12
Entitate vs. Legtur
Corect dac fiecare manager primete cte un buget
separat pentru departamentul pe care l administreaz.
Ce se ntmpl dac se obine un buget care acoper toate
departamentele administrate?
Redundan: dbudget este memorat pentru fiecare
departament administrat de un manager
Semnificaie greit: Sugereaz c dbudget este asociat cu
combinaia departament-angajat
Administr
nume
dnume
buget
did
Angajai Departament
cnp sex
dbuget
Din
M. Danubianu - Baze de date 13
Entitate vs. Legtur
dname
budget
did
Departament
Administreaz
Angajai
nume
cnp sex
din
Manageri dbuget
ISA
Este un mod de rezolvare a problemelor!!!
M. Danubianu - Baze de date 14
Legturi binare vs.legturi ternare
Se presupune c fiecare pensie este asigurat exact de un angajat:
Proiectare gresita
ddn
cnume
Asigur
nume
Angajai
cnp sex
Pensie
pid
valoare
Pensionar
O eventual constrngere de cheie pentru tipul de entitate Pensii, ar putea
avea ca semnificaie faptul c o pensie poate asigura cel mult un
pensionar!
M. Danubianu - Baze de date 15
Legturi binare vs.legturi ternare (II)
Care sunt constrngerile adiionale n diagrama
din imagine?
Beneficiaz
ddn
pnume
Pensionar
pid
valoare
Pensie
Furnizeaz
nume
Angajai
cnp sex
M. Danubianu - Baze de date 16
Legturi binare vs.legturi ternare(IV)
Exemplul dat anterior ilustreaz un caz n care dou legturi binare
au fost mai indicate dect o legtur ternar.
Fie legtura ternar Contracte care asociaz tipurile de entiti
Piese, Departamente i Furnizori, i care are atributul descriptiv
cantitate. Aceasta nu poate fi substituit corespunztor de nici o
combinaie de legturi binare:
F pot furniza P, D au nevoie de P, i D lucreaza cu F nu
implic faptul c D au agreat s cumpere P de la F.
Cum poate fi nregistrat atributul cantitate?
M. Danubianu - Baze de date 17
Proiectarea conceptual utiliznd
modelul ER
Decizii n proiectare:
Poate fi un concept modelat printr-o entitate sau prin atribute?
Poate fi un concept modelat printr-o entitate sau printr-o
legtur?
Identificarea legturilor: Binare sau ternare? Agregarea?
Constrngeri n modelul ER:
Permit specificarea nelesului datelor
Anumite constrngeri nu pot fi surprinse prin diagramele ER
Necesitatea rafinrii ulterioare a schemei:
Schema relaional obinut din diagrama ER este un prim pas
important dar proiectarea conceptul este subiectiv i nu
poate exprima anumite constrngeri; astfel nct schema
relaional trebuie rafinat
M. Danubianu - Baze de date 18
Constrngeri dincolo de modelul ER
Dependene funcionale:
ex. Un departament nu poate comanda dou piese diferite de la
acelai furnizor.
Nu poate fi exprimat prin legruri ternare
Normalizarea rafineaz proiectarea conceptual prin luarea n
considerare a dependenelor funcionale
Dependene de incluziune:
Cazuri speciale: cheile strine
ex. , Cel puin o persoan trebuie s se subordoneze fiecrui
manager. (Mulimea valorilor cnp din tabelul Administreaz trebuie
s fie o submulime a valorilor cnp_supervizor din tabelul
Subordonat)
Constrngeri generale:
ex. Bugetul la dispoziia managerului mai mic de 10% din bugetul
total al departamentului pe care l administreaz
M. Danubianu - Baze de date 19
Concluzii
Proiectarea conceptual urmeaz fazei de analiz a cererilor,
furnizeaz o descriere la nivel nalt a datelor ce vor fi stocate
modelul ER este cel mai popular pentru proiectarea conceptual
Constructiile sunt expresive, apropiate de modul n are oamenii i
gndesc aplicaiile
Elementele de baz: entiti, legturi i atribute (corespunztoare
entitilor i legturilor)
Elemente adiionale: entiti slabe, ierarhii ISA , i agregri.
Not: Exist mai multe variante de model ER.
Modelul ER poate exprima o serie de constrngeri de integritate, printre
care:constrngeri de chei, constrngeri de participare i constrngeri de
acoperire sau constrngeri de suprapunere, pentru ierarhiile ISA. Anumite
constrngeri de chei strine sunt de asemenea implicite n definirea
unui tip de legtur.
O parte a acestor constrngeri pot fi exprimate n SQL
Anumitre constngeri ( dependene functionale) nu pot fi exprimate n
modeul ER.
Constrngerile joac un rol important n determinarea celui mai bun
proiect de baze de date pentru o ntreprindere.
M. Danubianu - Baze de date 20
Concluzii
Modelul ER este subiectiv. Adesea exist mai multe
metode de a furniza un scenariu: entitate vs. atribute,
entitate vs. legtur, legtur binar sau n-ar,dac
sau nu se vor folosi ierarhiile isa,i cnd se va utiliza
agregarea.
Pentru a asigura o proiectare corect pentru baza de
date, schema referitoare la schema relaional va fi
analizat i rafinat. Tehnicile de normalizare sunt
utilizate pe scar larg.
M. Danubianu - Baze de date 21
Studiu de caz
1.Descrierea problemei
Casa ta agenie imobiliar specializat n administrarea
proprietilor de nchiriat n contul proprietarilor
Serviciile oferite includ:
Campanii de reclam a proprietii n presa local i central
Interviuri cu chiriaii poteniali
Organizarea de vizite pentru potenialii chiriai
Negocierea contractului de nchiriere
Dup nchiriere agenia i asum responsabilitatea privind
proprietatea nchiriat inspecii regulate efectuate de personalul
companiei
M. Danubianu - Baze de date 22
2.Cerine privind datele
Filialele
agenia are filiale pe tot cuprinsul rii
fiecare filial este identificat printr-un cod unic
are:
o adresa
un numr de telefon i unul de fax
un numr de membri de personal
Personalul
Fiecare filial are un manager
Sunt reinute datele de la care persoana ocup funcia respectiv
Fiecare manager primete lunar o prim funcie de realizrile filialei i o alocaie
pentru main
Fiecare filial are un numr de supervizori
Rspund de activitile zilnice ale unui grup de angajai min. 5 i max. 10
Nu toi membrii de personal sunt repartizai unui supervizor
Informaiile despre fiecare membru al personalului cuprind:
Un cod unic pentru toate filialele
Nume (prenume i nume), adresa, numr de telefon, sex, DDN, cnp
Funcia ocupat, salariul, data angajrii
M. Danubianu - Baze de date 23
Cerine privind datele(continuare)
Proprietatea de nchiriat
Identificat printr-un cod unic pentru toate filialele
Detalii:
Adresa complet (strada, numar, zon, oras, cod postal)
Tipul proprietii
Numrul de camere
Chiria lunar este revizuit anual
Fiecrei proprieti i se atribuie un anumit membru al personalului -
responsabil cu administrarea sa
Un membru al personalului poate administra maxim 10 proprieti de nchiriat
La retragerea unei proprieti din companie se vor pstra informaiile
referitoare la aceasta pe o durat de 3 ani
Deintorii de proprieti
Pot fi persoane fizice sau juridice
Identificai prin coduri unice pentru toate filialele
Detalii despre:
persoanele fizice: nume, adresa, numr de telefon
persoane juridice: denumirea companiei, tipul acesteia, numrul de telefon, numele
persoanei de contact
M. Danubianu - Baze de date 24
Cerine privind datele(continuare)
Clienii
Identificai prin coduri unice pentru toate filialele
Detalii:
Nume client, adresa, numr telefon,
tip de locuin preferat i chiria maxim pe care este dispus s o plteasc
Politica ageniei este de a susine un interviu cu toi potenialii clieni:
Data interviului, persoana care a realizat interviul
Orice comentarii despre potenialul chiria
Vizitarea proprietii
Data fiecrei vizite
Orice comentariu al potenialului chiria privind caracterul convenabil sau nu al
proprietii de nchiriat
Reclama proprietii
Detalii privind anunuri:
Proprietatea creia i se face reclam
Data anunului i costul acestuia
Detalii privind ziarele n care se face reclama:
Denumirea, adresa, numrul de telefon i numrul de fax
Numele persoanei de contact
M. Danubianu - Baze de date 25
Cerine privind datele(cont)
Contractele de nchiriere
Identificate printr-un numr
Detalii privind:
Chiriaul, proprietatea nchiriat
Chiria lunar, metoda de plat
Data de incepere i de ncheiere a nchirierii, durata acesteia (min. 3 luni, respectiv
max. 1 an)
Detalii despre membrul de personal care a incheiat tranzacia
Orice client, poate nchiria n orice moment una sau mai multe proprieti
dup expirarea unui contract se vor pstra informaiile corespunztoare minim
3 ani
Inspectarea proprietii
Se face cel puin o dat la 6 luni
Detalii privind:
Proprietatea
Data inspeciei
Comentarii referitoare la starea proprietii
Date despre persoana care a efectuat inspecia
M. Danubianu - Baze de date 26
3.Cerine privind tranzaciile
Responsabilitatea membrilor personalului din diferite poziii
Crearea i ntreinerea datelor referitoare la membrii de personal (manager)
Realizarea de rapoarte care conin detalii referitoare la membrii personalului,
la fiecare filial (manager)
Realizarea de liste cu personalul controlat de un anumit supervizor (manager i
supervizor)
Realizarea unei liste de supervizori la fiecare filial (manager i supervizor)
Intreinerea datelor despre proprietile de nchiriat i proprietarii acestora, din
fiecare filiala (supervizor)
Lista cu proprietile de nchiriat administrate de ctre un anumit mambru al
personalului (supervizor)
Intreinerea datelor privind potenialii chiriai la fiecare filial (supervizor)
Lista tuturor reclamelor pentru o anumita proprietate (supervizor)
Lista tuturor reclamelor dintr-un anumit ziar (supervizor)
ntreinerea datelor referitoare la detaliile contractelor de nchiriere dintre un
chiria i o proprietate (manager i supervizor)
Evidena tuturor inspeciilor unei anumite proprieti (supervizor)
M. Danubianu - Baze de date 27
Cerine privind tranzaciile
Sarcini ale ntregului personal
Raport cu detaliile privind proprietile de nchiriat de la
fiecare filial
Lista potenialilor chiriai nregistrai la fiecare filial
Cutarea proprietii care s satisfac cerinele unui
potenial chiria
Intreinerea datelor referitoare la vizitele potenialilor
chiriai la proprietile de nchiriat
Raport cu comentariile potenialilor chiriai despre o
proprietate vizitat
Intreinerea datelor privind reclamele plasate n ziare
Intreinerea datelor referitoare la inspeciile proprietilor
de nchiriat
M. Danubianu - Baze de date 28
Construirea modelului ER pentru
agenia imobiliar Casa ta
Identificarea tipurilor de entiti- reprezentate prin substantive
Filiala
Personal
Manager
Supervizor
Personal_alocat se refera la membrii de personal alocai unui supervizor
Proprietate_de_inchiriat
Prop_pers_fizic
Prop_pers_juridica
Client
Vizitare
Contract_nchiriere
Reclama
Ziar
M. Danubianu - Baze de date 29
Identificarea tipurilor de relaii (legturi) de regul se exprim prin verbe sau locuiuni
verbale
Proprietate_de_inchiriat La Vizita
Ziar Plasata In Reclama
reclama Afieaz ziar
Proprietate_de_inchiriat Pentru Contract_inchiriere
Filiala
Vizitare
Contract_inchiriere
Apeleaz la
Cere
Tine
Client
Proprietate_de_inchiriat Detine Prop_pers_juridica
Proprietate_de_inchiriat Detine Prop_pers_fizic
Reclama Plasat In Proprietate_de_inchiriat
Personal_alocat Supervizeaz supervizor
Filiala Administreaz manager
Proprietate_de_inchiriat
Personal_alocat
Supravegheaz
RepartizatLa
Personal
Personal
Proprietate_de _nchiriat
Lucreaz in
Are
Filiala
Tip de entitate Tip de legatur Tip de entitate
M. Danubianu - Baze de date 30
Construirea modelului ER pentru agenia imobiliar Casa ta
Determinarea cardinalitii i constrngerilor de participare pentru tipurile de relaii
Exemple: Proprietar Deine Proprietate de nchiriat
cardinalitate 1:M
deoarece fiecare Proprietar detine cel puin o Proprietate_de_nchiriat, participarea
entitii proprietar n relaia Deine este total
Invers, fiecare proprietate trebuie s aib un proprietar, deci participarea entitii
Proprietate_de_nchiriat n relaia DeinutaDe este total
Proprietar
Proprietate_de_inchiriat
Deine
1 M
Manager Administreaz Filiala
- cardinalitate 1:1
-deoarece fiecare Manager administreaz cel puin o Filial, participarea entitii Manager
n relaia Administreaz este total
-fiecare Filial este administrat de cel puin un Manager, ca urmare participarea entitii
Filial n relaia Administreaz este total
Manager
Filiala
Admin
1 1
M. Danubianu - Baze de date 31
Construirea modelului ER pentru agenia imobiliar Casa ta
Ziar
Contract_inchiriere
Vizita
Client
Prop_pers_jurid
Prop_pers_fiz
Proprietate_de_inchiriat
Supervizor
Manager
Personal
Filiala
Tip de entitate
Afieaz
Pentru
La
Apeleaz la
Cere
Tine
Detine
Detine
Plasat In
Supervizeaz
Administreaz
Supravegheaz
RepartizatLa
Lucreaz in
Are
Tip de legatur
reclama
Proprietate_de_inchiriat
Proprietate_de_inchiriat
Filiala
Vizitare
Contract_inchiriere
Proprietate_de_inchiriat
Proprietate_de_inchiriat
Reclama
Personal_alocat
Filiala
Proprietate_de_inchiriat
Personal_alocat
Personal
Proprietate_de _nchiriat
Tip de entitate
1:M
M:1
M:1
M:1
1:M
1:M
1:M
1:M
1:M
1:M
1:1
1:M
1:1
1:M
1:M
Cardinalitatea
M. Danubianu - Baze de date 32
Construirea modelului ER pentru agenia imobiliar Casa ta
Identificarea i asociarea atributelor cu tipurile de entiti sau relaii
Cod_pers
Nume_pren (aceleai
ca la tipul Personal)...
Data_inceput_mgr
Alocatie_masina
Plata_prima
Manager
Cod_pers
Nume_pren
Adresa
Telefon
Sex
DDN
Cnp
Functie
Salariu
Data_angajare
Personal
Cod_fil
Adresa
Telefon
Fax
Filiala
Atributul Tipul de entitate
Cod_p
Numa_prenume
Adresa
Telefon
Proprietar_p_f
Cod_propr
Adresa
Tip
Nr_camere
Chirie
Proprietate
Cod_pers
Nume_pren
Adresa
Telefon
Sex
DDN
Cnp
Functie
Salariu
Data_angajare
Supervizor
Atributul Tipul de entitate
M. Danubianu - Baze de date 33
Construirea modelului ER pentru agenia imobiliar Casa ta
Identificarea i asociarea atributelor cu tipurile de entiti sau relaii -
continuare
Data vizit
Comentarii
Vizit
Nr_contract
Data_inceput
Data_sfarsit
Contract_inchiriere
Data_reclama
Nume_ziar
Pre
Reclama
Cod_client
Nume_prenume
Adresa
Telefon
Tip_preferat
Chirie_maxima
Client
Cod_p
Nume
Adresa
Telefon
Persoana_contact
Proprietar_p_j
Atributul Tipul de entitate
Cod_ziar
Nume_ziar
Adresa
Telefon
Fax
Nume_contact
Ziar
Atributul Tipul de entitate
M. Danubianu - Baze de date 34
Construirea modelului ER pentru agenia imobiliar Casa ta
Determinarea cheilor candidat i a celor primare
Se examineaz atributele corespunztoare fiecrui tip de entitate i se gsesc acele combinaii care determin n mod
unic entitile (nregistrrile)
Nume, prenume, DDN sau Cnp
Nume, prenume, DDN sau Cnp
Nume, prenume, DDN sau Cnp
Chei alternative
Entitate slaba Reclama
Entitate slaba Vizit
Nr_contract Contract_nchiriere
Cod_ziar Ziar
Cod_cli Client
Cod_pers Proprietar_pers_juridi
ca
Cod_pers Proprietar_pers_fizic
Cod_prop Proprietate de nchiriat
Entitate slaba Personal alocat
Cod_pers Supervizor
Cod_pers Manager
Cod_pers Personal
Cod_filial Filiala
Observaii Cheie primar Tipul de entitate
M. Danubianu - Baze de date 35
Reprezentarea tipurilor de entiti
Filiala
Cod_fil
Adresa
Fax
Telefon
Personal
Cod_pers
Telefon
DDN
Cnp
Adresa
Sex
Funcie Nume_pr
Data_ang
Salariu
Plata_prima
Aloc_maina
Data_inc_mgr
Supervizor
Cod_pers
Telefon
DDN
Cnp
Adresa
Sex
Funcie Nume_pr
Data_ang
Salariu
Manager
Cod_pers
Telefon
DDN
Cnp
Adresa
Sex
Funcie
Nume_pr
Data_ang
Salariu
M. Danubianu - Baze de date 36
Reprezentarea tipurilor de entiti
Proprietate_de_nchiriat
Cod_prop
Adresa
Tip Chirie
Proprietar_p_f
Cod_p
Telefon
Adresa
Nume_pr
Client
Cod_cli
Telefon
Adresa
Chirie_max
Nume_pr
Tip_pref
Nr_camere
Proprietar_p_j
Cod_p
Telefon
Adresa
Nume
Pers_contact
Reclama
Data_recl
Pret
Numa_ziar
Vizita
Data_viz
Comantarii
Contract_inch
Nr_contr
Data_sf
Data_inc
Ziar
Cod_ziar
Telefon
Adresa
Nume_contact
Nume_ziar
Fax
M. Danubianu - Baze de date 37
Construirea modelului ER pentru agenia imobiliar Casa ta
Ierarhii isa
Reprezint o decizie
subiectiv
Entitaile Manager i
Supervizor sunt evident
legate de entitatea Personal
Ambele sunt asociate unor
relaii distincte : Manager
Administreaz Filiala
respectiv Supervizor
Supervizeaz Personal
Supervizor nu are nici un
atribut adiional specific
isa isa
Personal
Manager Supervizor
Cod_pers
Telefon
DDN
Cnp
Adresa
Sex
Funcie Nume_pr
Data_ang
Salariu
Plata_prima
Aloc_maina
Data_inc_mgr
M. Danubianu - Baze de date 38
Construirea modelului ER pentru agenia imobiliar Casa ta
Ierarhii isa
Specificaiile datelor descriu
dou tipuri de proprietari:
persoane fizice i persoane
juridice
Ambele categorii partajeaz o
serie de atribute, dar au i
atribute diferite
Ambele au acelai tip de relaie
- Deine
Se va crea o superclasa
Proprietar care are ca subclase :
Proprietar_p_f respectiv
Proprietar_p_j
isa
isa
Proprietar
Proprietar_p_f
Proprietar_p_j
Cod_pers
Telefon
Adresa
Nume
Nume_prenume
Persoana_contact
M. Danubianu - Baze de date 39
Tine
Este alocat
Afiaz
Plasat n
Administr.
Cere
Supervizeaz
Ziar
Reclama
Pers_alocat
Client
Filiala
Gestioneaz
Deine
isa isa
Personal
Manager Supervizor
isa
isa
Proprietar
Prop_p_j Prop_p_f
Proprietate
Are
La
Pentru
Contr_inch
Vizita
Cod_pers
Cod_prop
Cod_cli
Nr_contr
Cod_fil
Cod_pers
1
1
1
1
1
1
M
M
M M
M
M
M
M
M
M
M
1
1
1
1 1
1

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