Sunteți pe pagina 1din 14

Unitatea de învățare nr.

6
Crearea relaţiilor

Cuprins:

6.1 INTRODUCERE............................................................................................. 88
6.2 CREAREA UNEI RELAŢII ÎNTRE DOUĂ TABELE .............................. 89
6.3 TIPUL RELAŢIEI .......................................................................................... 91
6.4 INTEGRITATEA REFERENŢIALĂ ........................................................... 91
6.5 TIPUL DE LEGĂTURĂ A UNEI RELAŢII - JOIN TYPE ....................... 93
6.6 CREAREA RELAŢIILOR MULTIPLE. ..................................................... 96
6.7 ÎNTREBĂRI .................................................................................................... 96
6.8 TEST GRILĂ UNITATEA DE ÎNVĂȚARE NR. 6..................................... 98
Obiective
Cunoaşterea modalităţilor de creare şi proiectarea a unei relaţii.
Configurarea proprietăţilor relaţiilor.
Cunoaşterea şi utilizarea tipurilor de relaţii şi a tipurilor de legătură a
relaţiilor

Timp alocat: 2 ore

6.1 Introducere

Relaţiile sunt al doilea obiect, care împreună cu tabelele defineşte


structura(schema) unei baze de date. Ele au rolul de a permite accesarea mai multor
tabele în acelaşi timp.
Aşa cum s-a mai arătat relaţiile se realizează între două câmpuri care
aparţin la două tabele sau cereri.(care sunt privite tot ca nişte tabele, dar virtuale).
Pentru ca o relaţie să fie logică, este necesar, ca în cele două tabele, câmpurile între
care se stabileşte relaţia să se refere la aceleaşi date.
În Access se pot crea şi folosi, funcţie de domeniul lor de valabilitate, două
tipuri de relaţii, permanente şi temporare.

1 Relaţiile permanente. Relaţiile permanente, sunt valabile pentru toate


obiectele din baza de date. Ele se vor ataşa definitiv la tabele sau cererile
între care se creează. Oriunde se vor folosi aceste obiecte, ele vor fi legate
întotdeauna prin relaţiile create.

Unei relaţii permanente i se poate seta proprietatea de integritate


referenţială, care joacă un rol major asupra structurii bazei de date.
Metoda prin care se creează relaţiile permanente, este implementată de
modulul Relationships. Acesta se poate lansa prin mai multe feluri:
88
- din meniul Tools

- acţionând pictograma specifică relaţiilor, direct de pe ToolsBar.


- din meniul contextual, lansat din fereastra Database.
De acest tip de relaţii, permanente, ne vom ocupa în continuare.
O tabelă sau o cerere care participă la o relaţie nu va mai putea fi
ştearsă decât dacă în prealabil sunt eliminate toate relaţiile la care aceasta participă.
2 Relaţiile temporare. Relaţiile temporare sunt create de obicei în cereri,
fiind valabile numai în obiectul în care au fost definite. Ele se folosesc
numai în operaţiile de extragere a informaţiilor din baza de date. Prin
aceste relaţii nu se poate introduce proprietatea de integritate
referenţială. Din această cauză ele nu au nici un rol în ceea ce priveşte
structura bazei de date.
O relaţie temporară poate înlocui într-o cerere o relaţie permanentă, prin
setarea în mod diferit a proprietăţii specifice folosită la extragerea datelor(Join
Type).

6.2 Crearea unei relaţii între două tabele


Dacă avem mai multe tabele între care vrem să creăm anumite legături
vom apela funcţia Relationships. Pe ecran va apare fereastra Show Table din care
vom alege tabelele între care vom crea legătura. Vom selecta tabela dorită şi vom
apăsa butonul Add. Vom face acest lucru pe rând cu toate tabelele dorite sau
selectăm mai multe tabele în acelaşi timp şi apăsăm butonul Add.

Figura 6.2.1 Fereastra Show Table


89
Pe ecran, în fereastra Relationships, vor apărea tabelele pe care vrem să le
legăm. În continuare, prin tragerea(drag and drop) câmpurilor între
tabelele(cererile) aflate în fereastra Relationships, se construiesc relaţiile dorite.

Cele două
tabele între
care se
construieşte
relaţia

Câmpul comun

Selectăm
căsuţa
Enforce
Referential
Integrity
pentru a
putea defini
restricţii
asupra
legăturii nou
create
Se observă tipul legăturii:unul la mulţi

Figura 6.2.2 Construirea relaţiilor – fereastra Relationships

Nu vom putea crea legături între două tabele după orice câmpuri ci doar
după acele câmpuri care într-o tabelă sunt cheie primară şi în cealaltă
tabelă cheie externă. Cele două câmpuri după care se face legătura
trebuie să fie de acelaşi tip.

O relaţia se poate şterge sau edita prin lansarea meniului contextual al


acesteia(se poziţionează mouse-ul pe relaţie şi clic dreapta).

Se editează relaţia prin intermediul ferestrei Edit Relationship. Prin această


operaţie se stabilesc proprietăţile relaţiei.

90
Tot cu modulul Relationships se vor putea defini şi relaţii multiple între
două tabele(cereri), adică relaţii care se stabilesc între mai multe câmpuri(nu numai
două).
Practic definirea relaţiilor se face prin acţiuni de selecţie din liste, tragere
sau setare, făcute numai cu mouse-ul.

6.3 Tipul relaţiei


Tipul relaţiei reprezintă de fapt modalitatea în care se vor asocia
înregistrările din cele două tabele(cereri), din punctul de vedere al numărului
posibil de înregistrări pe care fiecare tabelă(cerere) îl furnizează în realizarea
relaţiei respective.
El este determinat automat funcţie de proprietăţile câmpurilor care
participă la relaţie, fiind afişat în partea de jos a ferestrei ca în figura 6.2.2.
Astfel, dacă un câmp e cheie primară sau are proprietatea Indexed setată la
Yes(No Duplication), relaţia va fi în acel capăt One.
Dacă un câmp de legătură are proprietatea Indexed setată la No sau
Yes(Duplication OK), atunci relaţia în acel loc va fi Many.
Dacă în ambele capete relaţia este No Indexed sau Indexed-Duplication
OK, atunci relaţia va fi nedeterminată(many to many).

Figura 6.3.1 Tipuri de relaţii

6.4 Integritatea referenţială


Integritatea referenţială, are efect deosebit în ceea ce priveşte păstrarea
corelaţiilor logice care se stabilesc între câmpurile unei relaţii. Ea este o
proprietate, valabilă numai pentru relaţiile permanente.
Dacă se doreşte ca relaţia editată să aibă proprietatea de integritatea
referenţială se va bifa caseta de validare – Enforce Referential Integrity.
Reamintim că dacă o relaţie între două tabele are proprietatea de integritate
referenţială, atunci nu pot exista în tabela copil pentru câmpul de relaţie, valori care
să nu se găsească în câmpul corespunzător din tabela părinte.
Dacă relaţia este de tip one to many, întotdeauna tabela părinte va fi în
partea one a relaţiei. Dacă relaţia este de tip one to one, oricare dintre tabele poate
fi părinte, aceasta fiind cea de la care se porneşte 'tragerea', şi care în fereastra de

91
editare se va găsi afişată în partea stângă. Dacă relaţia este de tip many to many
(nedeterminată), atunci proprietatea de integritate referenţială nu va putea fi setată.
Dacă o relaţie are setată integritate referenţială atunci se pot selecta(bifa)
două opţiuni care vor permite ca acţiunea de actualizare a unui câmp sau
ştergere a unor înregistrări din tabela părinte să se propage şi în tabelele
legate de aceasta. Acestea sunt:
► Cascade Update Related Fields (actualizarea în cascadă a
câmpurilor din relaţie). În acest caz, dacă se va modifica valoarea dintr-
un câmp al unei tabele părinte, atunci această modificare se va efectua
automat şi asupra câmpului corespunzător din tabela copil, dacă acesta e
legat de tabela părinte printr-o relaţie cu setarea de mai sus făcută. În
felul acesta, integritatea referenţială este păstrată pentru respectiva
relaţie.
► Cascade Delete Related Records (ştergerea în cascadă a
înregistrărilor din relaţie). În acest caz, ştergerea unei înregistrări din
tabela părinte, va duce la ştergerea automată din tabela copil, a tuturor
înregistrărilor care vor avea în câmpul de relaţie, aceiaşi valoare cu cea
din înregistrarea care a fost ştearsă.
Deci, dacă la o relaţie, care are proprietatea de integritatea referenţială,
sunt setate ambele opţiuni atunci actualizări în tabela părinte care ar trebui să fie
refuzate(blocate) pentru că produc în tabele copil „stricarea” integrităţii
referenţiale, vor fi acceptate şi efectuate, dar în acelaşi timp, automat se vor face şi
prelucrările necesare în tabela copil, pentru care proprietatea de care discutăm să se
menţină corectă, adică să nu existe „copil” care să nu aibă „părinţi” în tabelele din
ierarhia superioară.

Exemplu: Între tabelele PRODUSE şi STOCURI este creată o relaţie one to many,
între câmpurile Cod_P din cele două tabele. În funcţie de activarea sau nu a
integrităţii referenţiale şi de setarea sau nu a celor două opţiuni, avem următoarele
operaţii permise:

PRODUSE STOCURI
1 one to many ∞
DenumireP Um Preţ Cod_P Cod_P Cod_G Stoc

P1 Kg 10 1 1 101 10
P2 L 15 2 1 102 25
P3 Kg 25 3 1 103 15
P4 L 45 4 3 102 30
4 101 50
4 103 20

92
1. Integritatea referenţială nu este setată.
Sunt permise orice modificări de câmpuri sau ştergeri de înregistrări în
ambele tabele. Se observă că dacă, de exemplu se şterge înregistrarea 1 din
PRODUSE, înregistrările 1, 2 şi 3 din STOCURI, rămân fără informaţiile de nivel
superior(fără părinţi).

2. Integritatea referenţială este setată, dar nu şi ştergerea şi actualizarea în


cascadă

• Se şterge înregistrarea 1 din PRODUSE - operaţia nu este acceptată


• Se şterge înregistrarea 2 din PRODUSE - operaţia este acceptată
• Se modifică Cod_P din înregistrarea 1 din PRODUSE cu valoarea 10 -
operaţia nu este acceptată
• Se modifică Cod_P din înregistrarea 2 din PRODUSE cu valoarea 10 -
operaţia este acceptată
• Se şterge înregistrarea 1 din STOCURI - operaţia este acceptată
• Se modifică Cod_P din înregistrarea 1 din STOCURI cu valoarea 10 -
operaţia nu este acceptată

3. Integritatea referenţială este setată, precum şi ştergerea şi actualizarea în


cascadă.
• Se şterge înregistrarea 1 din PRODUSE - operaţia este acceptată, dar se
şterg automat şi înregistrările 1, 2 şi 3 din STOCURI
• Se şterge înregistrarea 2 din PRODUSE - operaţia este acceptată
• Se modifică Cod_P din înregistrarea 1 din PRODUSE cu valoarea 10 -
operaţia este acceptată , dar se modifică automat şi în înregistrările 1, 2 şi 3 din
STOCURI, Cod_P cu 10.
• Se modifică Cod_P din înregistrarea 2 din PRODUSE cu valoarea 10 -
operaţia este acceptată
• Se şterge înregistrarea 1 din STOCURI - operaţia este acceptată
• Se modifică Cod_P din înregistrarea 4 din STOCURI cu valoarea 10 -
operaţia nu este acceptată.

6.5 Tipul de legătură a unei relaţii - Join Type

Tipul de legătură a unei relaţii (Join Type), reprezintă o proprietate a


relaţiei care are efect în ceea ce priveşte extragerea de date corelate din
tabelele care participă la aceasta.

Problema pe care o rezolvă această proprietate este următoarea: dacă în


unul din tabele, există înregistrări pentru care în câmpul de relaţie conţine valori

93
care nu se regăsesc în câmpul corespondent din cealaltă tabelă, care vor fi
înregistrările care se vor selecţiona din ambele tabele?
Ea este o proprietate, valabilă atât pentru relaţiile permanente cât şi pentru
cele temporare(din cereri). Este o proprietate care are un rol hotărâtor în execuţia
cererilor care folosesc la intrare mai multe tabele corelate.
Setarea tipului de legătură se face prin acţionarea din modulul de editare a
relaţiei permanente a butonului de comandă Join Type, care va duce la apariţia
ferestrei Join Properties, prezentată mai jos.

Figura 4.4.1 Fereastra Join Type

În cazul relaţiilor temporare, fereastra Join Properties, apare direct în


momentul în care se editează relaţia.

Funcţie de înregistrările care sunt selectate din cele două tabele(cereri)


care intră în relaţie există două tipuri de legături:
► Inner Join. În acest tip de legătură vor fi selecţionate numai
acele înregistrări care au câmpul de legătură egal în ambele tabele
(cereri).
► Outer Join. În acest tip de legătură vor fi selecţionate toate
înregistrările unei tabele iar din cealaltă, numai acele înregistrări care au
câmpul de legătură egal în ambele tabele (cereri). În funcţie de
tabela(cererea) care intră cu toate înregistrările vom avea:

- Left Outer Join (stânga) – se consideră toate înregistrările


din tabelul din stânga, iar din tabelul din dreapta numai acele înregistrări
care au câmpul de legătură egal în ambele tabele
- Right Outer Join (dreapta) - se consideră toate
înregistrările din tabelul din dreapta, iar din tabelul din stânga numai
acele înregistrări care au câmpul de legătură egal în ambele tabele

94
Exemplu: Considerăm două tabele PRODUSE şi STOCURI, legate printr-o relaţie
de tipul one to many realizată între câmpurile Cod_P şi care nu are setată
proprietatea de integritate referenţială.
PRODUSE STOCURI
1 one to many ∞
DenumireP Um Preţ Cod_P Cod_P Cod_G Stoc
P1 Kg 10 1 1 101 10
P2 L 15 2 1 102 25
P3 Kg 25 3 1 103 15
P4 L 45 4 3 102 30
4 101 50
4 103 20
5 103 50

1. Tipul de legătură a relaţiei este Inner Join. Se vor extrage următoarele


înregistrări:
- Din tabela PRODUSE - înregistrările: 1; 3; 4
- Din tabela STOCURI - înregistrările: 1; 2; 3; 4; 5; 6
1 101 10
P1 Kg 10 1
1 102 25
P3 Kg 25 3
1 103 15
P4 L 45 4
3 102 30
4 101 50
4 103 20

2. Tipul de legătură a relaţiei este Left Outer Join.


- Din tabela PRODUSE - toate înregistrările: 1; 2; 3; 4
- Din tabela STOCURI - înregistrările: 1; 2; 3; 4; 5; 6

1 101 10
P1 Kg 10 1
1 102 25
P2 L 15 2
1 103 15
P3 Kg 25 3
3 102 30
P4 L 45 4
4 101 50
4 103 20
95
3. Tipul de legătură a relaţiei este Right Outer Join. Se vor extrage următoarele
înregistrări:
- Din tabela PRODUSE - înregistrările: 1; 3; 4
- Din tabela STOCURI - toate înregistrările: 1; 2; 3; 4; 5; 6; 7

1 101 10
P1 Kg 10 1
1 102 25
P3 Kg 25 3
1 103 15
P4 L 45 4
3 102 30
4 101 50
4 103 20
5 103 50
6.6 Crearea relaţiilor multiple.
Între două tabele se pot crea relaţii multiple, adică între mai multe câmpuri.
Metoda folosită constă în realizarea la început a unei relaţii, după care, în modulul
de editare al acesteia, se vor selecta în cele două casete din partea superioară,
câmpurile din tabelele între care se vor stabili şi celelalte relaţii.
Pentru toate relaţiile create între cele două tabele, se permite o singură
proprietate pentru tipul de legătură.

Figura 6.6.1 Crearea relaţiilor multiple

6.7 Întrebări
1. Cum se stabileşte tipul unei relaţii?
Răspuns:

96
Tipul unei relaţiil este determinat automat funcţie de proprietăţile câmpurilor
care participă la relaţie. Astfel, dacă un câmp e cheie primară sau are
proprietatea Indexed setată la Yes(No Duplication), relaţia va fi în acel capăt
One. Dacă un câmp de legătură are proprietatea Indexed setată la No sau
Yes(Duplication OK), atunci relaţia în acel loc va fi Many. Dacă în ambele
capete relaţia este No Indexed sau Indexed-Duplication OK, atunci relaţia va fi
nedeterminată(many to many).

2. Care sunt tipurile de legătură a unei relaţii?


Răspuns:

Există două tipuri de legătură a unei relaţii:


- Inner Join. În acest tip de legătură vor fi selecţionate numai acele
înregistrări care au câmpul de legătură egal în ambele tabele (cereri).
- Outer Join. În acest tip de legătură vor fi selecţionate toate
înregistrările unei tabele iar din cealaltă, numai acele înregistrări care au
câmpul de legătură egal în ambele tabele (cereri).

3. În funcţie de domeniul de valabilitate care sunt tipurile de relaţii care se pot


crea?
Răspuns:
Există două tipuri de relaţii:
- relaţii permanente - sunt valabile pentru toate obiectele din baza de
date;
- relaţii temporare - sunt create de obicei în cereri, fiind valabile numai
în obiectul în care au fost definite.
4. Ce înseamnă Cascade Update Related Fields?
Răspuns

5. Ce înseamnă Cascade Delete Related Records?


Răspuns:

97
6.8 Test grilă unitatea de învățare nr. 6

1. Într-o bază de date relaţională, între două tabele relaţiile se formează:


a) între două câmpuri care conţin acelaşi tip de date;
b) între un câmp de tip Integer şi unul de tip Text;
c) între două câmpuri, indiferent de tipul de date;
d) numai între cheile primare;
e) automat, după realizarea tabelelor;

2. În Access se pot crea următoarele tipuri de relaţii:


a) permanente, semipermanente;
b) temporare, semitemporare;
c) permanente, atemporale;
d) permanente, temporare;
e) nici o variantă nu este corectă;

3. Într-o bază de date relaţională, care dintre următoarele afirmaţii


referitoare la relaţiile "one to one" este corectă:
a) o asemenea relaţie se realizează în general între cheia principală a tabelei părinte
şi cheile externe ale tabelelor corelate;
b) o asemenea relaţie se realizează dacă în ambele tabele câmpul de legătură are
caracter de unicitate doar pentru o parte din înregistrările tabelei respective;
c) o asemenea relaţie se realizează atunci când între entităţile celor două tabele
există o corespondenţă biunivocă;
d) o asemenea relaţie se creează prin intermediul unei tabele intermediare care are
relaţii "one to many" cu alte două tabele;
e) nu există relaţii de tipul "one to one";

4. Într-o bază de date relaţională, relaţiile “one to many" se creează atunci


când orice entitate din tabela părinte este legată de:
a) nici o entitate din cealaltă tabelă;
b) o entitate din cealaltă tabelă;
c) două sau mai multe entităţi din cealaltă tabelă;
d) a+b+c;
e) a+c;

5. Într-o bază de date relaţională, care dintre următoarele afirmaţii


referitoare la relaţiile "one to many" este corectă:
a) o asemenea relaţie se realizează în general între cheia principală a tabelei părinte
şi cheile externe ale tabelelor corelate;
b) o asemenea relaţie se realizează în general între câmpuri care nu sunt chei;
c) o asemenea relaţie este folosită pentru a diviza tabelele cu multe câmpuri în
tabele mai "înguste";
d) o asemenea relaţie se creează prin intermediul unei tabele intermediare care are
relaţii "one to one" cu alte două tabele;
98
e) o asemenea relaţie se creează prin intermediul unei tabele intermediare care are
relaţii "many to many" cu alte două tabele;

6. Într-o bază de date relaţională, relaţiile "many to many" se creează:


a) între două tabele, în ambele câmpul de legătură având caracter de unicitate
pentru toate înregistrările tabelei respective;
b) conform celei de a patra formă de normalizare;
c) atunci când între entităţile celor două tabele există o corespondenţă biunivocă;
d) prin intermediul unei tabele intermediare care are relaţii "one to one" cu cele
două tabele;
e) prin intermediul unei tabele intermediare care are relaţii "many to one" cu cele
două tabele;

7. În Access, în care din următoarele relaţii nu se poate seta proprietatea de


integritate referenţială:
a) unu la unu (one to one);
b) unu la mai mulţi (one to many);
c) mai mulţi la unu (many to one);
d) mai mulţi la mai mulţi (many to many);
e) la toate relaţiile se poate seta;

8. În Access, care dintre următoarele afirmaţii nu este adevărată :


a) noţiunile: tip de relaţie şi tip de legătură (join), sunt identice;
b) tipul de legătură (join), poate fi modificat la crearea unei cereri;
c) tipul de relaţie, nu poate fi modificat la crearea unei cereri;
d) relaţiile permanente sunt ataşate obiectelor pe care le leagă, fiind valabile
oriunde în baza de date;
e) există şi relaţii care nu sunt salvate în baza de date;

9. În Access, care dintre următoarele afirmaţii este adevărată:


a) tipul de relaţie, poate fi modificat la crearea unei cereri;
b) dacă o tabelă este în relaţie cu alta, ea poate fi ştearsă oricând;
c) tipul relaţiei este stabilit prin comanda Edit Relationships;
d) dacă câmpul este setat "Indexed=Yes Duplication OK", relaţia în acel loc va fi
"many";
e) integritatea existenţială înseamnă că nu pot exista înregistrări 'copil' care să nu
aibă 'părinţi' în tabelul din ierarhia superioară;

10. Tipul de legătură "Inner Join" semnifică:


a) o relaţie intrinsecă;
b) o legătură redundantă;
c) selecţia tuturor înregistrărilor dintr-o tabelă, iar din cealaltă doar a celor care au
câmpul de legătură egal în ambele tabele;
d) o selecţie actualizată;
e) selecţia numai a înregistrărilor care au câmpul de legătură egal în ambele tabele;
99
11. În Access, care dintre următoarele afirmaţii este adevărată:
a) tipul de legătură "Outer Join" determină selecţionarea acelor înregistrări din cele
două tabele care au câmpul de legătură egal;
b) o relaţie între două câmpuri care sunt chei primare poate fi: "one to one" sau
"one to many";
c) toate relaţiile permanente au obligatoriu setată proprietatea de integritate
referenţială;
d) dacă o relaţie are setată proprietatea de integritate referenţială, atunci automat se
produce şi ştergerea sau actualizarea în cascadă;
e) dacă o relaţie are setată proprietatea de integritate referenţială, precum şi
ştergerea şi actualizarea în cascadă, atunci în "tabela părinte" este permisă
efectuarea oricărei actualizări;

12. În Access, care dintre următoarele afirmaţii este adevărată:


a) în relaţiile "one to one", ştergerea sau actualizarea în cascadă sunt fără sens,
deoarece nu se poate stabili care este tabelul "părinte" şi care este tabelul "copil";
b) dacă o relaţie are setată proprietatea de integritate referenţială, dar nu şi cele de
ştergere şi actualizare în cascadă, atunci în "tabela părinte" este permisă efectuarea
oricărei actualizări;
c) o relaţie se poate crea şi între două câmpuri ale aceleiaşi tabele;
d) relaţiile "one to one", au întotdeauna tipul de legătură "Inner Join";
e) relaţiile "one to many", au întotdeauna tipul de legătură "Outer Join";

13. În Access, care dintre următoarele afirmaţii nu este adevărată :


a) relaţiile se pot crea şi în cereri;
b) se pot seta în acelaşi timp: ştergerea şi actualizarea în cascadă;
c) actualizarea în cascadă se poate seta numai dacă e setată şi integritatea
referenţială;
d) la relaţiile "one to one" se poate seta integritatea referenţială;
e) toate enunţurile de mai sus sunt adevărate;

14. În Access, „Cascade Delete Related Records” reprezintă:


a) o proprietate a câmpului unei tabele;
b) o proprietate a înregistrărilor unei tabele;
c) o proprietate a unei cereri;
d) ştergerea în cascadă a câmpurilor din relaţie;
e) ştergerea în cascadă a înregistrărilor din relaţie;

15. În Access, „Cascade Update Related Fields” reprezintă:


a) o proprietate a câmpului unei tabele;
b) o proprietate a înregistrărilor unei tabele;
c) o proprietate a unei cereri;
d) actualizarea în cascadă a câmpurilor din relaţie;
e) actualizarea în cascadă a înregistrărilor din relaţie;

100
16. Se dau următoarele două tabele cu: relaţie "one to many" pe câmpul CNP;
integritatea referenţială este setată; dar nu şi ştergerea şi actualizarea în
cascadă. Dacă se modifică câmpul CNP din înregistrarea 1 din tabelul
"Studenţi", ce se întâmplă?

Tabela 'STUDENTI' 1 one to many 1 Tabela 'INSCRISI'


CNP-cod CNP-cod Cod Tip
Nume Prenume student
student spec. înv.

1-Enescu Anca-Cristina 2-84,01,09… 1) 2-84,01,09.. 002 Taxă


2) 2-84,01,09.. 003 Fără
2-Calotă Marius-Alin 1-85,04,11… 3) 2-83,08,10.. 003 Taxă
3-Groşanu Ana-Maria 2-83,08,10… 4) 1-75,12,17.. 001 Fără
5) 1-75,12,17.. 002 Taxă
4-Caciuc Romică 1-75,12,17…
6) 1-75,12,17.. 003 Taxă

a) se modifică înregistrarea 1 din tabelul "Studenţi";


b) se modifică câmpul CNP din înregistrările 1 şi 2 din tabelul "Înscrişi";
c) modificarea nu va fi acceptată;
d) se modifică câmpul CNP din înregistrarea 2 din tabelul "Înscrişi";
e) a+b;

18. Se dau următoarele două tabele cu: relaţie "one to many" pe câmpul CNP;
integritatea referenţială este setată; precum şi ştergerea şi actualizarea în
cascadă. Dacă se şterge înregistrarea 4 din tabelul "Studenţi", ce se întâmplă?

Tabela 'STUDENTI' 1 one to many 1 Tabela 'INSCRISI'


CNP-cod CNP-cod Cod Tip
Nume Prenume student
student spec. înv.

1-Enescu Anca-Cristina 2-84,01,09… 1) 2-84,01,09.. 002 Taxă


2) 2-84,01,09.. 003 Fără
2-Calotă Marius-Alin 1-85,04,11… 3) 2-83,08,10.. 003 Taxă
3-Groşanu Ana-Maria 2-83,08,10… 4) 1-75,12,17.. 001 Fără
5) 1-75,12,17.. 002 Taxă
4-Caciuc Romică 1-75,12,17…
6) 1-75,12,17.. 003 Taxă
a) ştergerea nu va fi acceptată;
b) se şterge înregistrarea 4 din tabelul "Studenţi";
c) se şterg înregistrările 4, 5, 6 din "Înscrişi";
d) se şterge înregistrarea 4 din ambele tabele;
e) b+c;

101

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