Sunteți pe pagina 1din 9

Capitolul 1.

Modelul rela ional

Capitolul 1
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, constrângerile 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.
• Constrângerile de integritate. Prin integritatea datelor se subîn elege c
datele r mân stabile, în siguran i corecte. Integritatea în modelul
rela ional este men inut de constrângeri interne care nu sunt cunoscute
utilizatorului.
• Manipularea datelor. Rela iile pot fi manipulate utilizând 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 câmpul este cea mai mic unitate
accesibil de date. Se presupune c fiecare câmp poate con ine un anumit tip de date

1
Capitolul 1. Modelul rela ional

(integer, real, character, string etc.), pentru care se specific num rul necesar de octe i
de memorie. Câmpul, bineîn eles, are i un nume. F când analogie, în modelul
rela ional fiecare coloan a unei linii dintr-un tabel corespunde no iunii de câmp 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, câmpul 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 string-
uri, 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 sfâr itul alfabetului latin - mul imi de atribute.

2
Capitolul 1. Modelul rela ional

1.1.2. Tupluri
În sistemele cu fi iere o mul ime de câmpuri 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 câmpurilor. 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
Aij–component 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,
permutându-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.

3
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 a-
numitelor 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

"arj DISCIPLINA TIP ORE

4
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, reprezentând 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 numaidecât 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 .

5
Capitolul 1. Modelul rela ional

1.2. Constrângeri de integritate


1.2.1. Tipuri de constrângeri
Constrângerile 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 .
Constrângerile 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, constrângerile sunt studiate mai ales sub aspectul puterii lor de modelare i al
posibilit ii de verificare a respect rii lor.
Constrângerile de integritate pot fi divizate în linii mari în dou grupuri:
constrângeri de comportament i dependen e între date.
Constrângerile 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 decât zero, dar nu poate
dep i zece. Sau nici o persoan de vârsta 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 constrângeri 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 constrângere 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 constrângerile legate de no iunea de cheie a rela iilor. Întrucât
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

6
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 proprietatea (1) se nume te


supercheie.

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 când 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 constrângerile formulate prin urm toarele reguli
numite regulile de actualizare (inserare, modificare i eliminare) a rela iilor.
(1) Constrângerea entit ii: cheia primar a unei rela ii de baz nu poate
con ine valori “null”;
(2) Constrângerea 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 încât orice A-valoare din ri s apar în calitate de B-
valoare în rj.
Constrângerea 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 constrângerii de unicitate a cheii). Cu valori “null” cheia î i pierde rolul de
identificator de tuplu.

7
Capitolul 1. Modelul rela ional

Constrângerea 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


n1 f1 a1
n2 f1 a2
n3 f2 a3

facult i FACULTATE DECAN


f1 d1
f2 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 mân 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.

8
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 când 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 mâne 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