Documente Academic
Documente Profesional
Documente Cultură
Capitolul
(integer, real, character, string etc.), pentru care se specific num rul necesar de octe i
de memorie. Cmpul, binen eles, are i un nume. F cnd analogie, n modelul
rela ional fiecare coloan a unei linii dintr-un tabel corespunde no iunii de cmp din
fi iere.
Defini ia 1.1. Fie U o mul ime nevid de elemente A1,A2,...,An, numite nume de
atribute sau simplu atribute. Mul imea U = {A1,A2,...,An} se nume te universul unei
baze de date rela ionale sau mul ime universal .
Defini ia 1.2. Domeniul unui atribut Ai din U, 1 i n, notat cu dom(Ai), este o
mul ime finit de valori de acela i tip care le poate primi atributul Ai.
Domeniul este simplu, dac elementele sale sunt atomice (adic nu pot fi
descompuse din punctul de vedere al SGBD-ului). Atributul ce are un domeniu de valori
simplu se nume te atribut atomic. Domeniul unei submul imi R a universului U , se
noteaz dom(R), este uniunea tuturor domeniilor atributelor din R, adic dom(R) =
.
Ai Rdom(Ai), unde dom( ) = , dac R =
Remarc . Cu toate c elementele unui domeniu trebuie s fie de acela i tip,
aceast restric ie nu se extinde asupra elementelor din dom(R).
n modelul rela ional fiecare tabel se spune c reprezint o rela ie. Atributele sunt
ni te identificatori pentru a diferen ia i marca coloanele tabelului. Deci, cmpul sau
numele de coloan e i atribut. Toate atributele ce apar ntr-un tabel trebuie s fie
distincte i s fie incluse n universul U. Atributele au un caracter global n baza de date:
dac un nume denot dou coloane n tabele distincte n aceea i baz de date, atunci el
reprezint acela i atribut.
Rela ia tabelar cu i linii i j coloane are i j elemente. Fiecare element este o
valoare dintr-un domeniu simplu. Cu toate c atributele n universul U trebuie s fie
distincte, domeniile acestor atribute nu trebuie neap rat s fie disjuncte. De exemplu,
managerul n acela i timp poate fi func ionar. Deci domeniile atributelor MANAGER i
FUNC=IONAR nu sunt disjuncte, adic MANAGER i FUNC=IONAR sunt definite pe
acela i domeniu (cu toate c atributele respective pot avea i valori distincte).
Conven ie. Mai departe vom utiliza urm toarele nota ii. Universul
U={A1,A2,...,An} i orice submul ime a lui, R={Ai1,...,Aik}, vor fi reprezentate ca stringuri, adic
U = A1...An,
R = Ai1...Aik.
Vom folosi o nota ie mai simpl Ai U, n loc de {Ai} U pentru Ai este o
submul ime a mul imii U. Reuniunea Y Z a dou mul imi Y i Z va fi reprezentat de
simbolul YZ, unde opera ia binar uniunea, " ", este omis . Mul imile Y i Z pot fi i
mul imi vide, fiindc
Z=Z, Y =Y i
= .
Cu litere majuscule de la nceputul alfabetului latin vom nota atributele singulare,
iar cu cele de la sfr itul alfabetului latin - mul imi de atribute.
1.1.2. Tupluri
n sistemele cu fi iere o mul ime de cmpuri ce e conceput ca o unitate de salvare
i c utare se nume te nregistrare. nregistrarea are un format specific i depinde de
tipurile de date ale cmpurilor. O linie dintr-o rela ie tabelar corespunde nregistr rii
din fi iere i n teoria rela ional se nume te tuplu.
Defini ia 1.3. Fie R o submul ime a universului U, R U, unde R
i fie dom(R)
domeniul mul imii R. Tuplu se nume te o func ie, t:R dom(R), din R n dom (R), adic
t = {(Ai1,a1),..., (Aik, ak)},
unde orice Aij, 1 j k, este un atribut n R i un argument al lui t, iar orice aj, 1 j k,
este o valoare n dom(Aij).
Consider m o restric ie asupra tuplului t.
Defini ia 1.4. Fie X = B1...Bm o submul ime proprie a mul imii R, X R, unde
X . X-valoare a tuplului t, notat cu t[X], este t[X] = {(Bj, bj)|bj=t(Bj)=t(Aip), 1 j
m, p {1,...,k}}. Dac X=Aij, j {1,...,k}, atunci Aij-valoarea tuplului t se mai nume te
Aijcomponent a tuplului t.
Ultima defini ie ne spune, c t(Aij)=t[Aij]=aj pentru aj dom(Aj). Deci nu vom
diferen ia simbolurile t(Aij) i t[Aij] pentru un atribut singular Aij din U.
Pentru comoditate tuplul t i X-valoarea tuplului t vor fi notate
t = <a1...ak|Ai1...Aik> i
t[X] = <b1...bm|B1...Bm>,
respectiv. ns , dac coloanele tabelului ce corespund mul imilor R i X sunt marcate cu
atribute din R i X, iar ordinea atributelor ce marcheaz corespund ordinii atributelor n
R i X, atunci nota iile tuplului t i X-valorii tuplului t pot fi simplificate respectiv
t = < a1...ak > i
t[X] = < b1...bm >.
Deci putem reprezenta printr-un string nu numai o mul ime de atribute, dar i o mul ime
de valori. Dar permutarea atributelor ntr-un tabel va trebui reflectat n tupluri,
permutndu-le componentele. Cu toate c string-urile ce reprezint tuplurile ini ial i
final vor fi diferite, vom considera c aceste tupluri sunt identice.
n tuplul t = <a1...ak|Ai1...Aik> distingem dou componente string-ul de atribute
Ai1...Aik care este invariant n timp i string-ul de valori a1...ak, care este foarte dinamic.
Partea invariant a tuplului vom numi-o schema tuplului (uneori se noteaz sch(t)).
ndat ce am definit schema tuplului, expresia tuplul asupra R devine clar i este
echivalent expresiei tuplul t cu schema R.
Pentru comoditate nota ional , un tuplu cu numele t i schema R se va nota uneori
t(R) = t(Ai1) t(Ai2) ... t(Aik).
Deci putem concepe tuplul t(R) ca un tuplu variabil asupra R i fiecare component
t(Aij), 1 j k, ca un domeniu variabil . Dac tuplul t(R) are o form constant , adic
string-ul lui de valori este <c1...ck> i aceste valori sunt n dom(R), el se nume te tuplu
constant asupra R.
NUME
NOTO_MED
FACULTATE
DECAN
Vasilache
7.8
Cibernetic
Popovici
discipline
FACULTATE
DISCIPLINO
corp_didac
DISCIPLINA
PROFESOR
DISCIPLINA
TIP
"arj
ORE
1.2.2. Chei
Aici vom examina constrngerile legate de no iunea de cheie a rela iilor. ntruct
rela ia reprezint o mul ime de tupluri, iar o mul ime nu poate con ine elementele
duplicate, rela ia nu poate prezenta tupluri identice. Deci tuplurile sunt unice i trebuie
s existe posibilitatea identific rii lor n cadrul unei rela ii. Identificarea unui tuplu f r
a consulta toate componentele tuplului a dus la apari ia no iunii de cheie.
Defini ia 1.9. Fie U mul imea universal de atribute, R U i R . Mul imea K
de atribute, unde K R, se nume te cheie pentru schema R (sau pentru rela ia r cu
schema R), dac ea posed urm toarele propriet i:
(1) pentru orice dou tupluri t1 i t2 din r avem t1[K] t2[K];
(2) nici o submul ime K1 proprie a lui K nu posed proprietatea (1)
Proprietatea (1), numit restric ia de unicitate a cheii, permite K-valorilor s
identifice n mod unic toate tuplurile dintr-o rela ie. ns respectarea propriet ii de
unicitate poate fi complicat , dac ns i K con ine o cheie K1 i K K1. n acest caz, cu
toate c atributele din K sunt suficiente de a atinge scopul, unele din ele nu sunt
necesare, deci pot fi eliminate din cheie f r a se afecta unicitatea. Dac , ns , K este o
submul ime proprie a unei chei, atunci utilizarea a astfel de K-valori pentru c utarea
datelor va descoperi tupluri ce coincid pe toate valorile atributelor din K.
Proprietatea (2) ne asigur c o cheie K constituie numai acele atribute ce sunt
necesare i suficiente pentru a determina univoc pe celelalte. Cu alte cuvinte K-valorile
ntotdeauna asigur un grad exact de informa ie nici mai mult, nici mai pu in, pentru a
g si un tuplu unic ntr-o rela ie.
Defini ia 1.10. Mul imea de atribute ce posed
supercheie.
Constrngerea referen ial impune ca ntr-o rela ie ri, care refer o rela ie rj,
valorile cheii compuse s figureze printre valorile cheii primare din rela ia rj pentru
atributele compatibile.
Exemplul 1.2. Consider m rela iile studen i, discipline, corp_didac., "arj .
n rela ia studen i singura cheie candidat este NUME, deci NUME e i cheia
primar , iar dom(NUME) este domeniu primar pentru baza de date Universitatea.
Consider m
rela iile
discipline(FACULTATE
DISCIPLINO)
i
corp_didac(DISCIPLINO PROFESOR). Fiindc la orice facultate se pred cel pu in o
disciplin i orice profesor pred cel pu in o disciplin , i similar, orice disciplin se
pred m car la o facultate i se pred cel pu in de un profesor, cheile primare ale acestor
rela ii sunt compuse i constau din toate atributele corespunz toare fiec rei rela ii.
n rela ia "arj (DISCIPLINO TIP ORE), orice disciplin poate fi de trei tipuri
(prelegeri, practic , laborator) i poate avea diferite ore de predare; unele discipline pot
avea acela i tip i acela i num r de ore. E pu in probabil ca cheia rela iei "arj s fie
simpl . Putem presupune c cheia ei este compus .
n acest exemplu, domeniul dom(NUME) este primar. Cheile compuse ale
rela iilor discipline, corp_didac, "arj nu sunt definite pe acest domeniu primar.
Conform regulii (1) atributele celor patru chei nu pot avea valori null. Dat fiind
faptul c nici o cheie din cele trei compuse nu sunt definite pe domeniul primar
dom(NUME), exemplul dat nu ne demonstreaz regula (2).
Exemplul 1.3. Consider m rela iile studen i i facult i din fig.1.2.
Presupunem c la o facultate i fac studiile mai mul i studen i i un student poate
studia la mai multe facult i concomitent. Cheia primar a rela iei studen i este
compus i const din atributele NUME FACULTATE. Rela ia facult i posed dou
chei candidate: FACULTATE i DECAN. Fie FACULTATE cheia primar . Atunci
atributul FACULTATE al rela iei studen i este cheie extern . Conform regulii (2) toate
valorile atributului FACULTATE al rela iei care refer trebuie s se con in n rela ia
referit .
studen i
NUME
FACULTATE
AN
f1
f1
f2
a1
a2
a3
n1
n2
n3
facult i
FACULTATE
f1
f2
DECAN
d1
d2
Fig.1.2.
Spuneam mai sus c extensiile rela iilor se schimb pe parcursul timpului. S-ar
p rea c pentru fiecare instan a rela iei pot fi determinate cheile i supercheile. Dar
schemele rela iilor, adic intensiile, trebuie s fie invariante i e de dorit ca cheile pe
parcursul timpului s nu se schimbe. Cheile trebuie s r mn chei pentru orice
eventuale extensii. Prin urmare determinarea cheii unei rela ii necesit cunoa terea
semanticii rela iei respective, nu numai celei din momentul n care se stabile te cheia.
Conven ie. Dac rela ia posed o singur cheie sau dorim s eviden iem numai
cheia primar mai departe vom sublinia atributele ce formeaz aceast cheie. De
exemplu, rela ia r cu schema ABCD i cheia AC se scrie r(A B C D). n cazul c rela ia
posed mai multe chei, atunci le vom scrie explicit: rela ia r(ABCD) are dou chei
candidate K1=AC, K2=B.