Sunteți pe pagina 1din 9

Capitolul 1.

Modelul rela ional

Capitolul

MODELUL RELA IONAL


Modelul rela ional ca i orice alt model de date utilizat n proiectarea logic a
bazelor de date elibereaz utilizatorul de cunoa terea detaliilor despre structura fizic i
metodele de acces la date. n afar de aceasta, el are dou avantaje suplimentare: e
simplu i elegant. Simplitatea sa const n structurile de date omogene n form de
rela ii tabelare. Iar elegan a modelului se explic prin temelia sa tiin ific . El este
riguros din punct de vedere matematic gra ie faptului c se sprijin pe bine puse la punct
teoriile matematica rela iilor i logica de ordinul unu.
Modelul rela ional a fost primul exemplu de model de date formal i a fost propus
de E. Codd n 1970. Prin model datele utilizatorului sunt reprezentate i manipulate n
mod abstract. Modelul de asemenea presupune tehnici ce ajut administratorul de a
detecta i corecta posibilele probleme de proiectare ce pot ap rea o dat cu preg tirea
datelor pentru implementare ntr-un SGBD concret.
Orice model de date, conform unei sugestii a lui Codd, trebuie s se bazeze pe trei
componente: structurile de date, constrngerile de integritate i operatorii de manipulare
a datelor.

Structurile de date. Structurile sunt definite de un limbaj de definire a


datelor (data definition language). Datele n modelul rela ional sunt
structurate n rela ii bidimensionale. Elementele principale ale structurii
rela ionale sunt rela iile, tuplurile, atributele, domeniile.

Constrngerile de integritate. Prin integritatea datelor se subn elege c


datele r mn stabile, n siguran
i corecte. Integritatea n modelul
rela ional este men inut de constrngeri interne care nu sunt cunoscute
utilizatorului.

Manipularea datelor. Rela iile pot fi manipulate utiliznd un limbaj de


manipulare a datelor (data manipulation language). n modelul rela ional,
limbajul folose te operatorii rela ionali baza i pe conceptul algebrei
rela ionale. n afar de aceasta, exist limbaje echivalente algebrei
rela ionale, cum ar fi calculul rela ional orientat pe tuplu i calculul
rela ional orientat pe domeniu.

1.1. Structura rela ional a datelor


Unul din avantajele modelului rela ional rezid n omogenitatea lui. Toate datele
sunt structurate n tabele, fiecare linie ale c ror are acela i format. Linia ntr-un tabel
reprezint un obiect (sau o rela ie dintre obiecte) din lumea nconjur toare.

1.1.1. Atribute i domenii


n sistemele obi nuite de gestionare a fi ierelor cmpul este cea mai mic unitate
accesibil de date. Se presupune c fiecare cmp poate con ine un anumit tip de date

Capitolul 1. Modelul rela ional

(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.

Capitolul 1. Modelul rela ional

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.

Capitolul 1. Modelul rela ional

1.1.3. Rela ii i scheme


Defini ia 1.5. Fie R o submul ime a universului U. Rela ia r asupra R este o
mul ime finit de tupluri cu schema R. Aritatea rela iei r este egal cu cardinalitatea
mul imii R. Cardinalitatea rela iei r este num rul de tupluri n ea.
Defini ia 1.6. Fie R U i rela ia r asupra R. Mul imea de atribute R se nume te
schema rela iei r (notat cu sch(r) = R).
Defini ia 1.7. Baza de date rela ional (sau simplu baz de date) este o mul ime
finit de rela ii, db = {r1,...,rm}, unde ri este o rela ie cu schema Ri, 1 i m.
Defini ia 1.8. Fie baza de date db = {r1,...,rm}. Schema bazei de date este
mul imea schemelor rela iilor ce formeaz baza de date, Db = {R1,...,Rm}, unde Ri =
sch(ri).
Deci schema unei rela ii este o expresie a propriet ilor comune i invariante ale
tuplurilor ce compun rela ia. Schema unei rela ii mai este cunoscut sub denumirea de
intensia unei rela ii. Rela ia se mai nume te extensie. Extensia reprezint mul imea
tuplurilor care compun la un moment dat rela ia, mul ime care este variabil n timp.
Din defini iile de mai sus putem conchide urm toarele:
(1) ntr-o rela ie nu exist coloane cu nume duplicate, fiindc atributele Aij, 1 j
k, sunt elemente ale mul imii Ri.
(2) Rela ia ri nu are tupluri identice, fiindc ri este o mul ime de tupluri.
(3) Ordinea tuplurilor n ri este nesemnificativ , fiindc ri este o mul ime.
(4) Ordinea coloanelor e nesemnificativ .
(5) Valorile atributelor n ri sunt atomice fiindc domeniile sunt simple.
Rela iile ce se stocheaz fizic i formeaz baza de date se numesc rela ii de baz .
Exist , ns , i situa ii n care extensia nu se memoreaz n baza de date. Este cazul a anumitelor rela ii virtuale, cunoscute i sub numele de rela ii derivate sau viziuni. Rela ia
virtual nu este definit explicit ca rela ia de baz , prin mul imea tuplurilor componente,
ci implicit pe baza altor rela ii. Rela iile de baz sunt proiectate de administratorul bazei
de date, n timp ce viziunile sunt definite de utilizatorii bazei de date.
Rela iile asupra unei mul imi de atribute pot avea un nume, sau pot s nu aib ,
dac ele sunt identificate n mod unic de schemele sale. Numele rela iei, de obicei, se
scrie cu minuscule, de exemplu, rela ia r.
studen i

NUME

NOTO_MED

FACULTATE

DECAN

Vasilache

7.8

Cibernetic

Popovici

discipline

FACULTATE

DISCIPLINO

corp_didac

DISCIPLINA

PROFESOR

DISCIPLINA

TIP

"arj

ORE

Capitolul 1. Modelul rela ional

Fig.1.1. Baza de date Universitatea


Exemplul 1.1. Fie baza de date Universitatea const din patru rela ii studen i,
discipline, corp_didactic i "arj (vezi fig.1.1).
Primul tabel, reprezentnd rela ia studen i, stocheaz numele, nota medie,
facultatea i decanul asociate fiec rui student. Rela ia are patru atribute: NUME,
NOTO_MED, FACULTATE, DECAN. Rela ia discipline afi eaz disciplinele ce se
predau la diverse facult i. Ea are dou atribute FACULTATE i DISCIPLINO. Rela ia
corp_didac specific disciplinele predate de diferi i profesori. Ea are dou atribute:
DISCIPLINO i PROFESOR. Rela ia "arj descrie disciplinele cu formele sale de
predare i num rul de ore. Ea antreneaz trei atribute: DISCIPLINO, TIP i ORE.
Datele n fiecare rela ie sunt atomice i sunt luate din domeniile (simple)
atributelor corespunz toare. FACULTATE n rela iile studen i i discipline reprezint
acela i atribut. De asemenea atributul DISCIPINO figureaz n trei rela ii: discipline,
corp_didac i "arj . Cele opt atribute prezente n rela iile descrise constituie universul:
U=NUME NOTO_MED FACULTATE DECAN DISCIPLINO PROFESOR TIP ORE.
A adar, atributele oric rei rela ii formeaz o submul ime a mul imii universale U.
Domeniul atributului NUME const din eventualele nume de familii, dar trebuie
s con in numaidect i valori active, adic numele studen ilor ce actualmente i fac
studiile la facultate. Domeniul atributului NOTO_MED con ine numere pozitive. Dat
fiind faptul c mul imea de numere pozitive e infinit , fiecare NOTO_MED-valoare nu
poate dep i valoarea maxim 10. Deci dom(NOTO_MEDIE) poate fi men inut finit.
Celelalte domenii se definesc similar. Nu e exclus faptul c un decan s fie student la o
alt facultate. n cazul acesta domeniile active ale atributelor NUME i DECAN nu vor
fi disjuncte.
Tuplurile rela iei studen i sunt definite pe mul imea de atribute R= NUME
NOTA_MED FACULTATE DECAN. Ele sunt concepute ca tupluri constante-valori
ale tuplului variabil t(R) =t(NUME) t(NOTA_MED) t(FACULTATE) t(DECAN). De
exemplu, tuplul constant <Vasilache 7.8. Cibernetic Popovici> arat c Vasilache este
student la facultatea Cibernetic a c rei decan este Popovici i are nota medie 7.8.
Consider m X=NUME DECAN. Tuplul variabil va fi t[X]=t(NUME) t(DECAN).
Tuplul constant definit pe schema X este derivat din tuplul <Vasilache 7.8. Cibernetic
Popovici> al rela iei studen i i este <Vasilache Popovoci>.
n baza de date Universitatea, studen i este nume de rela ie. Schema rela iei
studen i e NUME NOTO_MED FACULTATE DECAN.
Baza de date Universitatea const din patru rela ii db={studen i, discipline,
corp_didactic, "arj }. Schema bazei de date este mul imea schemelor celor patru rela ii
Db={NUME NOTO_MED FACULTATE DECAN, FACULTATE DISCIPLINO,
DISCIPLINO PROFESOR, DISCIPLINO TIP ORE}.
Rela iile studen i, discipline, corp_didactic, "arj au aritatea 4, 2, 2 i 3 respectiv.
Ele formeaz rela iile de baz . Rela ia definit pe atributele X= NUME DECAN e o
rela ie virtual .

Capitolul 1. Modelul rela ional

1.2. Constrngeri de integritate


1.2.1. Tipuri de constrngeri
Constrngerile de integritate, numite i restric ii de integritate definesc cerin ele
pe care trebuie s le satisfac datele din baza de date pentru a putea fi considerate
corecte, coerente n raport cu lumea real pe care o reflect .
Constrngerile sunt principalul mod de integrare a semanticii datelor n cadrul
modelului rela ional. Mecanismele de definire i verificare ale acestor restric ii
reprezint instrumentele principale de control al semanticii datelor. n modelul
rela ional, constrngerile sunt studiate mai ales sub aspectul puterii lor de modelare i al
posibilit ii de verificare a respect rii lor.
Constrngerile de integritate pot fi divizate n linii mari n dou grupuri:
constrngeri de comportament i dependen e ntre date.
Constrngerile de comportament specific caracteristicile independente ale unui
atribut (sau domeniu). Ele exprim semantica elementelor domeniilor. De exemplu,
toate valorile atributului NOTO_MED trebuie s fie mai mare dect zero, dar nu poate
dep i zece. Sau nici o persoan de vrsta 25 ani nu poate avea o vechime n munc de
37 ani. Deci, conform acestei restric ii, valorile atributului trebuie s se ncadreze ntre
anumite limite.
Al doilea tip de constrngeri specific leg tura dintre atribute (sau domenii). Aici
putem identifica a a-numita dependen de submul ime. Consider m, de exemplu,
rela ia personal definit pe mul imea de atribute {ANGAJAT SALARIU
DEPARTAMENT MANAGER}. n rela ia personal, un manager este n acela i timp un
angajat, dar nu orice angajat este manager. Deci avem c dom(MANAGER)
dom(ANGAJAT).
Dac presupunem c angajatul are un singur salariu, se subordoneaz unui singur
manager direct, lucreaz deci ntr-un singur departament, atunci ANGAJAT-valorile
determin n mod unic toate tuplurile n rela ia personal. Aceast constrngere este
numit dependen func ional . Dependen ele func ionale vor fi studiate detaliat n
capitolul 3. Alte tipuri de dependen e cum ar fi cele multivaloare i de jonc iune vor fi
studiate n capitolul 4.

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

Capitolul 1. Modelul rela ional

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.

proprietatea (1) se nume te

Deci cheia este o supercheie minimal . Orice cheie e i supercheie. Afirma ia


invers nu e corect .
Este evident c o mul ime vid nu poate servi drept cheie a unei rela ii ce con ine
mai mult de un tuplu. Orice rela ie are cel pu in o cheie. La limit cheia este constituit
fie dintr-un singur atribut, fie din totalitatea atributelor din schema rela iei respective.
ntr-o rela ie pot exista mai multe chei. Se spune n acest caz c rela ia posed
mai multe chei candidate. n aceast situa ie administratorul bazei de date va stabili una
din cheile candidate s serveasc n mod efectiv la identificarea unic a tuplurilor. Ea va
primi numele de cheie primar . Primare se vor numi i domeniile atributelor ce
formeaz o cheie primar .
Defini ia 1.11. Cheia primar a unei rela ii se nume te cheie simpl , dac este
constituit dintr-un singur atribut, iar atunci cnd este format din mai multe atribute
este denumit cheie compus .
Remarc . Nu toate atributele unei chei compuse pot fi definite pe domenii
primare.
Defini ia 1.12. O cheie extern reprezint un atribut (grup de atribute) dintr-o
schem Ri definit (definite) pe acela i (acelea i) domeniu (domenii) ca i cheia primar
a altei scheme Rj. Rela ia ri se nume te rela ie care refer , iar rj poart numele de rela ie
referit .
Unele atribute pot avea a a numitele valori nedefinite sau necunoscute notate cu
null. ns sunt bine cunoscute constrngerile formulate prin urm toarele reguli
numite regulile de actualizare (inserare, modificare i eliminare) a rela iilor.
(1) Constrngerea entit ii: cheia primar a unei rela ii de baz nu poate
con ine valori null;
(2) Constrngerea referirii: dac atributul A al unei chei compuse a rela iei ri
este definit pe un domeniu primar, atunci trebuie s existe o rela ie de baz rj
cu o cheie primar B nct orice A-valoare din ri s apar n calitate de Bvaloare n rj.
Constrngerea entit ii impune ca la nserarea unui tuplu, valoarea cheii s fie
cunoscut , pentru a se putea verifica faptul c aceast valoare nu este deja nc rcat
(respectarea constrngerii de unicitate a cheii). Cu valori null cheia i pierde rolul de
identificator de tuplu.

Capitolul 1. Modelul rela ional

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.

Capitolul 1. Modelul rela ional

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.

1.3. Opera ii de actualizare


Regulile de actualizare a bazei de date fac parte din cele trei componente ale
modelului rela ional de date. Vom examina cele trei opera ii de actualizare a datelor:
inserarea datelor, "tergerea datelor i modificarea datelor.
Fie c n rela ia r(A1 A2 ...An) vrem s introducem date. Opera ia de inser ie, a
unui tuplu n rela ia r poate avea forma:
Add (r;<a1a2...an|A1 A2...An>).
n cazul c ordinea atributelor n rela ie e cunoscut , e acceptabil o form mai scurt a
opera iei:
Add (r;<a1a2...an>).
Scopul acestei opera ii const n ad ugarea unui tuplu ntr-o rela ie concret .
Rezultatul opera iei poate s e ueze din urm toarele cauze:
(1) tuplul de inser ie e definit pe o mul ime de atribute ce nu corespunde
schemei rela iei;
(2) valorile componentelor tuplului nu sunt luate din domeniile
corespunz toare;
(3) n rela ie deja se g se te un tuplu cu asemenea componente cheie.
n toate aceste cazuri opera ia Add p streaz rela ia r intact .
Opera ia de tergere a datelor se utilizeaz pentru eliminarea con inutului
rela iilor. Pentru rela ia r de mai sus, opera ia de tergere se reprezint :
Del (r; <a1a2...an|A1 A2...An>).
n cazul cnd numele de atribute sunt sortate, poate fi utilizat urm toarea nota ie
scurt :
Del (r; <a1a2...an>).
n realitate, o parte de date din opera ia de mai sus poate fi redundant pentru
determinarea tuplului destinat tergerii. E suficient defini ia valorilor atributelor cheie.
Dac K=B1B2...Bm este cheia rela iei r, atunci e util urm toarea form a opera iei Del:
Del (r; <b1b2...bm|B1 B2...Bm>).
Rezultatul opera iei de tergere a tuplurilor nu se las mult a teptat. Tuplul e
eliminat, dac el este rela ie. n cazul c tuplul lipse te - rela ia r mne intact . Nu se
pune nici o restric ie asupra elimin rii ultimului tuplu n rela ie: rela ia vid se admite.
Uneori, n loc de eliminarea unui tuplu din rela ie i includerea unui alt tuplu e
mai efectiv schimbarea unei p r i a tuplului. Schimbarea se face cu opera ia de
modificare. Dac C1C2...Ck A1A2...An, atunci opera ia de modificare poate avea forma:
Ch (r; <a1a2...an|A1 A2...An>; <c1c2...ck| C1C2...Ck>).
Dac mul imea K=B1B2...Bm este cheia rela iei r, atunci expresia de mai sus poate
fi redus la:
Ch (r; <b1b2...bn|B1 B2...Bm>; <c1c2...ck| C1C2...Ck>).
Opera ia de modificare este foarte util . Acela i rezultat poate fi ob inut prin
intermediul opera iilor de inserare i tergere. Prin urmare, toate e ecurile opera iilor
inserare i tergere sunt specifice i opera iei modificare.

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