Documente Academic
Documente Profesional
Documente Cultură
Exemplul 1:
R2:
R1:
a) cheie simpl
b) cheie compus
STRAZI:
Fig. 5.2. Chei simple i chei compuse n cadrul relaiilor JUDEE, respectiv STRZI
Observaie: Cheia relaiei JUDEE este simbol_jude, deoarece fiecare jude are o
codificare unic a denumirii sale, deci fiecrui jude i corespunde un singur simbol.
Cheia relaiei STRZI este compus din atributele cod_loc i id_strada. Dac s-ar
alege drept cheie primar doar atributul id_strada, acesta nu ar identifica n mod
unic numele unei strzi dintr-o localitate, id-ul strzii respective putndu-se regsi i
n alte localiti ale aceluiai jude sau a altui jude. La fel, dac s-ar alege drept
cheie primar atributul cod_loc, acesta nu ar mai identifica n mod unic un tuplu,
deoarece ntr-o localitate exist mai multe strzi.
O relaie poate avea mai multe combinaii de atribute, cu proprietatea de
identificare unic a tuplurilor. Se spune n acest caz c relaia posed mai muli
candidai cheie (chei candidate).
Definiia 1. Se numete cheie primar, cheia aleas dintre cheile candidate
care s serveasc n mod efectiv la identificarea tuplurilor.
Cheia primar nu poate fi reactualizat. Cheia primar a unei relaii nu este
altceva dect atributul de identificare a unei entiti, prin urmare se reprezint fie prin
subliniere, fie urmate de semnul #.
Definiia 2. Se numete cheie extern atributul/grupul de atribute dintr-o relaie
R1 a crui/cror valori sunt definite pe acelai domeniu/aceleai domenii ca i cheia
primar a unei alte relaii R 2 i care are rolul de a modela asocierea ntre entitile
reprezentate prin relaiile R1 i R2. n acest caz, R 1 se numete relaie care refer, iar
R2 se numete relaie referit.
Exemplul 1:
DATE_PERSOANA:
JUDETE:
(0,n)
are reedina(1,1)
JUDETE
LOCALITATI:
STRZI:
Restricia referenial
Restricia referenial impune ca ntr-o relaie R1 care refer o relaie R 2,
valorile cheii externe s figureze printre valorile cheii primare din R 2 sau s fie valori
null (nedefinite). R1 i R2 nu trebuie s fie neaprat distincte.
Exemplele 1 i 2 prezint un mecanism de legare a relaiilor i respect
restricia referenial a cheii.
Restricia entitii
Restricia entitii impune ca ntr-o relaie atributele cheii primare s fie nenule.
(Atributele cheie s nu conin valori nule). Dac exist valori null, cheia i poate
pierde rolul de identificator de tuplu. Astfel, la ncrcarea unui tuplu, valoarea cheii
trebuie s fie cunoscut, pentru a se putea verifica faptul c aceast valoare nu
exist deja ncrcat.
Exemplele 1 i 2 respect restricia entitii.
Relaia REZ din figura 4.17 ncalc restricia entitii deoarece exist chei
primare ce conin valori nule, dup cum este cazul judeului Braov.
Dependenele multivaloare
Dependenele multivaloare reprezint dependena n care un atribut/ grup de
atribute poate reprezenta/ identifica mai multe valori pentru o singur valoare a unui
alt atribut/ grup de atribute.
Dac X,Y i Z sunt trei subansambluri de atribute ale atributelor relaiei R,
spunem c ntre X i Y exist o dependen multivaloare, notat X Y sau
X Y | Z , dac i numai dac:
(i) la fiecare valoare a lui X poate fi asociat una sau mai multe valori ale lui Y, i
(ii) aceast asociere nu depinde de apariiile lui Z.
Altfel spus, dac X Y i (x,y,z), (x,y,z) sunt dou tupluri din R, atunci i
(x,y,z), (x,y,z) sunt tupluri din R.
Exemplu: n relaia OFERTE (alctuit din atributele: id_tip_oferte, cnp i
simbol_judet) valorile atributului id_tip_oferte au urmtoarea semnificaie: 01
desemneaz imobil de tip apartament, iar 02, imobil de tip cas. Astfel, urmtoarea
relaie conine dependene multivaloare:
OFERTE:
deoarece
01
1701205230023 MM
(x, y,z)
01
2581023457723 SM
(x, y,z)
01
1701205230023 SM
(x, y,z)
01
2581023457723 MM
(x, y,z)