Sunteți pe pagina 1din 33

Tipuri de relaii ntre tabele

Exist trei tipuri de relaii ntre tabele.

Relaia unu-la-mai-muli
S ne gndim la o baz de date care urmrete
comenzi i are un tabel Clieni i un tabel Comenzi. Un
client poate plasa oricte comenzi. Este logic c,
pentru fiecare client din tabelul Clieni, pot exista una
sau mai multe comenzi n tabelul Comenzi. Relaia
dintre tabelul Clieni i tabelul Comenzi este, n
consecin, o relaie unu-la-mai-muli.
Pentru a crea o relaie unu-la-mai-muli n proiectarea
bazei de date, luai cheia primar din partea "unu" a
relaiei i adugai-o sub form de cmp suplimentar
sau cmpuri suplimentare la tabelul din partea "maimuli" a relaiei. n acest caz, adugai un cmp
nou cmpul ID din tabelul Clieni la tabelul
Comenzi i l denumii ID Client. Access utilizeaz apoi
numrul ID Client n tabelul Comenzi pentru a gsi
clientul corect pentru fiecare comand.

O relaie mai-muli-la-mai-muli
S presupunem existena unei relaii ntre tabelul
Produse i tabelul Comenzi. O singur comand poate
include mai mult de un produs. Pe de cealalt parte,
un singur produs poate aprea n mai multe comenzi.
De aceea, pentru fiecare nregistrare din tabelul
Comenzi pot exista mai multe nregistrri n tabelul
Produse. n plus, pentru fiecare nregistrare din tabelul

Produse, pot exista mai multe nregistrri n tabelul


Comenzi. Acest tip de relaie este denumit o relaie
mai-muli-la-mai-muli deoarece, pentru orice produs
pot exista mai multe comenzi i pentru fiecare
comand pot exista mai multe produse. Reinei c,
pentru a detecta relaii mai-muli-la-mai-muli ntre
tabelele dvs., este important s luai n considerare
ambele pri ale relaiei.
Pentru a crea o relaie mai-muli-la-mai-muli, trebuie
s creai mai nti un al treilea tabel, denumit deseori
tabel de relaie, care mparte relaia mai-muli-la-maimuli n dou relaii unu-la-mai-muli. Inserai cmpul
cheie primar din fiecare dintre cele dou tabele n al
treilea tabel. Ca rezultat, al treilea tabel nregistreaz
fiecare apariie, denumit i instan, dintr-o relaie.
De exemplu, tabelul Comenzi i tabelul Produse au o
relaie mai-muli-la-mai-muli care este definit prin
crearea a dou relaii unu-la-mai-muli n tabelul
Detalii comenzi. O comand poate avea mai multe
produse i fiecare produse poate aprea n mai multe
comenzi.

O relaie unu-la-unu
ntr-o relaie unu-la-unu, fiecare nregistrare din primul
tabel poate avea o singur nregistrare potrivit n al
doilea tabel i fiecare nregistrare din al doilea tabel
poate avea o singur nregistrare potrivit n primul
tabel. Acest tip de relaie nu este comun, deoarece,
de cele mai multe ori, informaiile asociate n acest
mod se stocheaz n acelai tabel. O relaie unu-launu poate fi utilizat pentru a diviza un tabel cu multe

cmpuri, pentru a izola o parte dintr-un tabel din


motive de securitate sau pentru a stoca informaii
care se aplic numai pentru un subset al tabelului
principal.
NCEPUTUL PAGINII

De ce se creeaz relaii ntre tabele?


Avei posibilitatea s creai relaii ntre tabele n mod
explicit utiliznd fereastra Relaii sau glisnd un cmp
din panoul List de cmpuri. Office Access 2007
utilizeaz relaiile tabel pentru a arta cum se
asociaz cmpurile cnd trebuie utilizate ntr-un
obiect de baz de date. Exist mai multe motive
pentru a crea mai nti relaii ntre tabele, apoi alte
obiecte, cum ar fi formulare, interogri i rapoarte.

Relaiile tabel ofer informaii proiectrilor de


interogare
Pentru a lucra cu nregistrri din mai mult de un tabel,
este necesar deseori s creai o interogare care
asociaz tabelele. Interogarea funcioneaz prin
potrivirea valorilor din cmpul primar al primului tabel
cu un cmp cheie extern din alt doilea tabel. De
exemplu, pentru a returna cmpuri care listeaz toate
comenzile pentru fiecare client, generai o interogare
care asociaz tabelul Clieni cu tabelul Comenzi pe
baza cmpului IDClient. n fereastra relaii, avei
posibilitatea s specificai manual cmpurile de
asociere. Cu toate acestea, dac avei deja o relaie
definit ntre tabele, Office Access 2007 ofer

asocierea implicit, pe baza relaiei existente. n plus,


dac utilizai unul din experii de interogri, Access
utilizeaz informaiile colectate din relaiile tabel pe
care le-ai definit deja pentru a v prezenta alegeri i
a repopula setrile proprietilor cu valorile implicite
potrivite.

Relaiile ntre tabele ofer informaii proiectrilor


de formular i raport
Cnd proiectai un formular sau raport, Office Access
2007 utilizeaz informaiile colectate din relaiile tabel
pe care le-ai definit deja pentru a v prezenta alegeri
i a repopula setrile proprietilor cu valorile implicite
potrivite.

Relaiile ntre tabele sunt fundaia pe care se


poate impune integritatea referenial pentru a
mpiedica apariia nregistrrilor solitare n baza dvs. de
date. O nregistrare solitar este o nregistrare cu
referin ctre alt nregistrare care nu exist de
exemplu, o nregistrare de comand care se refer la o
nregistrare de client care nu exist.
Cnd proiectai o baz de date, divizai informaiile n
tabele, fiecare avnd o cheie primar. Apoi, adugai
chei externe la tabelele asociate care au referine la
acele chei primare. Aceste perechi de chei de forma
cheie extern - cheie primar formeaz baza pentru
relaiile ntre tabele i interogrile multi-tabel. De
aceea, este important ca aceste referine cheie
extern - cheie primar s fie sincronizate.

Integritatea referenial asigur c referinele sunt


sincronizate i dependente de relaiile tabel.
NCEPUTUL PAGINII

Despre integritatea referenial


Cnd proiectai o baz de date, mprii informaiile
n mai multe tabele n funcie de subiect, pentru a
minimiza redundana datelor. Apoi, furnizai Office
Access 2007 mijloacele de a aduce datele la un loc
plasnd cmpuri comune n tabele asociate. De
exemplu, pentru a crea o relaie unu-la-mai-muli,
luai cheia primar din tabelul "unu" i o adugai sub
form de cmp suplimentar la tabelul "mai-muli".
Pentru a corela datele, Access ia valoarea din tabelul
"mai-muli" i caut valoarea corespondent n tabelul
"unu". n acest mod, valorile din tabelului "mai-muli"
fac referire la valorile corespondente din tabelul
"unu".
S presupunem c avei o relaie unu-la-mai-muli
ntre Expeditori i Comenzi i dorii s tergei un
expeditor. Dac expeditorul pe care dorii s-l tergei
are comenzi n tabelul Comenzi, acele comenzi vor
deveni "solitare" atunci cnd tergei nregistrarea
expeditorului. nregistrrile vor conine n continuare
un ID de expeditor, dar ID-ul nu va mai fi valid,
deoarece nregistrarea la care face referire nu mai
exist.
Scopul integritii refereniale este de a mpiedica
apariia nregistrrilor solitare i de a ine sincronizate

referinele, astfel nct aceast situaie ipotetic s nu


apar niciodat.
Integritatea referenial se impune activnd-o pentru
o relaie ntre tabele (consultai Impunerea integritii
refereniale pentru instruciuni pas cu pas). Odat
impus, Access respinge orice operaiuni care ncalc
integritatea referenial pentru acea relaie tabel.
Acest lucru nseamn c Access va respinge att
actualizrile care modific inta referinei, ct i
tergerile care elimin inta unei referine. Cu toate
acestea, este posibil s avei nevoie n mod justificat
s modificai cheia primar pentru un expeditor care
are comenzi n tabelul Comenzi. Pentru astfel de
cazuri, lucrul de care avei cu adevrat nevoie este ca
Access s actualizeze automat ntr-o singur
operaiunea toate rndurile afectate. Astfel, Access
asigur c actualizarea este complet, astfel nct
baza de date nu este lsat ntr-o stare inconsistent,
cu unele rnduri actualizate i altele nu. Din acest
motiv, Access accept opiunea Actualizare n cascad
cmpuri corelate. Cnd impunei integritatea
referenial i selectai opiunea Actualizare n
cascad cmpuri corelate, apoi actualizai o cheie
primar, Access actualizeaz automat toate cmpurile
care fac referire la cheia primar.
De asemenea, este posibil s avei nevoie s tergei
un rnd sau i nregistrrile asociate de exemplu, o
nregistrare din Expeditor i toate comenzile asociate
pentru expeditorul respectiv. Din acest motiv, Access
are opiunea Actualizare n cascad cmpuri corelate.
Cnd impunei integritatea referenial i alegei

opiunea Actualizare n cascad cmpuri corelate, apoi


tergei o nregistrare din partea cu cheia primar a
unei relaii, Access terge automat toate nregistrrile
care fac referire la cheia primar.
NCEPUTUL PAGINII

Vizualizarea relaiilor ntre tabele


Pentru a vizualiza relaiile tabel, facei clic
pe Relaii n fila Instrumente baz de date. Se
deschide fereastra Relaii i afieaz relaiile
existente. Dac nu au fost definite nc relaii ntre
tabele i deschidei fereastra Relaii pentru prima
oar, Access v solicit s adugai un tabel sau o
interogare la fereastr.

Deschiderea ferestrei Relaii


1.

Facei clic pe butonul Microsoft Office , apoi


facei clic pe Deschidere.
2.
n caseta de dialog Deschidere, selectai i
deschidei baza de date.
3.
n fila Instrumente baz de date, n
grupul Afiare/Ascundere, facei clic pe Relaii.

4.

Dac baza de date conine relaii, se afieaz


fereastra Relaii. Dac baza de date nu conine relaii i
deschidei fereastra Relaii pentru prima oar, se

afieaz caseta de dialog Afiare tabel. Facei clic


pe nchidere pentru a o nchide.
5.
n fila Proiect, n grupul Relaii, facei clic
pe Toate relaiile.
Astfel, se afieaz toate relaiile definite din baza dvs.
de date. Reinei c tabelele ascunse (tabelele pentru
care este bifat caseta de selectare Ascuns din
caseta de dialog Proprieti) i relaiile lor nu se vor
afia dect dac este bifat caseta de
selectare Afiare obiecte ascunse n caseta de
dialog Opiuni de navigare.
Pentru mai multe informaii despre opiunea Afiare
obiecte ascunse, consultai articolul Ghid pentru
Panoul de navigare.

Cheia primar
Aceast linie reprezint relaia
Cheia extern
O relaie ntre tabele este reprezentat printr-o linie
de relaie trasat ntre tabelele din fereastra Relaii. O
relaie care nu are impus integritatea referenial
apare ca o linie subire ntre cmpurile comune care

accept relaia. Cnd selectai relaia fcnd clic pe


linia sa, linia se ngroa pentru a indica faptul c este
selectat. Dac impunei integritatea referenial
pentru aceast relaie, linia apare ngroat la fiecare
capt. n plus, numrul 11 pare deasupra poriunii
ngroate a liniei n partea unu a relaiei, iar simbolul
infinit () apare deasupra liniei n cealalt parte.
Cnd fereastra Relaii este activ, se pot selecta
urmtoarele comenzi pe Panglic, component din
Interfaa utilizator Microsoft Office Fluent:
n fila Proiectare, n grupul Instrumente:

Editare relaii Deschide caseta de


dialog Editare relaii . Cnd selectai o linie de relaie,
avei posibilitatea s facei clic pe Editare
relaii pentru a modifica relaia tabelului. De asemenea,
avei posibilitatea s facei dublu clic pe linia relaiei.

tergere aspect Elimin toate tabelele i


relaiile din afiare n fereastra Relaii. Reinei c
aceast comand ascunde numai tabelele i relaiile
nu le terge.

Raport relaie Creeaz un raport care afieaz


tabelele i relaiile din baza de date. Raportul afieaz n
fereastra Relaii numai tabelele i relaiile care nu sunt .
n fila Proiectare, n grupul Relaii:

Afiare tabel Se deschide caseta de


dialog Afiare tabel i se pot selecta tabele i
interogri pentru a fi vizualizate n fereastra Relaii.

Ascundere tabel
fereastra Relaii.

Relaii directe Afieaz toate relaiile i


tabelele asociate pentru tabelul selectat n fereastra
Relaii, dac nu sunt afiate deja.

Toate relaiile Afieaz toate relaiile i


tabelele asociate n fereastra Relaii. Reinei c tabelele
ascunse (tabelele pentru care este bifat caseta de
selectare Ascuns din caseta de dialog Proprieti) i
relaiile lor nu se vor afia dect dac este bifat caseta
de selectare Afiare obiecte ascunse n caseta de dialog
Opiuni de navigare.

Ascunde tabelul selectat n

Pentru mai multe informaii despre opiunea Afiare


tabele ascunse, consultai articolul Ghid pentru Panoul
de navigare.

nchidere nchide fereastra Relaii. Dac facei


modificri n aspectul ferestrei Relaii, vi se solicit dac
dorii s salvai modificrile.
NCEPUTUL PAGINII

Crearea unei relaii tabel


Avei posibilitatea s creai o relaie tabel utiliznd
fereastra Relaii sau prin glisarea unui cmp ntr-o
foaie de date din panoul List de cmpuri. Cnd
creai o relaie ntre tabele, cmpurile comune nu
trebuie s aib neaprat acelai nume, dei acest
lucru se ntmpl deseori. Cmpurile trebuie mai

degrab s aib acelai tip de date. n cazul n care


cmpul cheie primar este un cmp de tip
AutoNumerotare, cmpul cheie extern poate fi i un
cmp Numr, n cazul n care
proprietatea Dimensiune cmp a ambelor cmpuri
este aceeai. De exemplu, se poate potrivi un cmp
AutoNumerotare cu un cmp Numr dac
proprietatea Dimensiune cmp a ambelor cmpuri
este ntreg lung. Cnd ambele cmpuri sunt cmpuri
Numr, trebuie s aib aceeai setare a
proprietii Dimensiune cmp.

Crearea unei relaii tabel utiliznd


fereastra Relaii
1.

Facei clic pe butonul Microsoft Office , apoi


facei clic pe Deschidere.
2.
n caseta de dialog Deschidere, selectai i
deschidei baza de date.
3.
n fila Instrumente baz de date, n
grupul Afiare/Ascundere, facei clic pe Relaii.

4.

Dac nu ai definit nc nicio relaie, caseta de


dialog Afiare tabel se afieaz automat. Dac nu
apare, n filaProiectare, n grupul Relaii, facei clic
pe Afiare tabel.
Caseta de dialog Afiare tabel afieaz toate
tabelele i interogrile din baza de date. Pentru a

vedea numai tabele, facei clic pe Tabele. Pentru a


vedea numai interogri, facei clic pe Interogri.
Pentru a le vedea pe amndou, facei clic
pe Ambele.
5.

Selectai una sau mai multe tabele i interogri,


apoi facei clic pe Adugare. Dup ce ai terminat de
adugat tabele i interogri n fereastra Relaii, facei
clic pe nchidere.
6.
Glisai un cmp (de obicei cheia primar) dintr-un
tabel n cmpul comun (cheia extern) din cellalt tabel.
Pentru a glisa mai multe cmpuri, apsai tasta CTRL,
facei clic pe fiecare cmp, apoi glisai-l.
Se afieaz caseta de dialog Editare relaii.
7.

Verificai c numele afiate ale cmpurilor sunt


cele ale cmpurilor comune pentru relaie. Dac un
nume de cmp este incorect, facei clic pe numele
cmpului i selectai cmpul potrivit din list.
Pentru a impune integritatea referenial pentru
aceast relaie, bifai caseta de selectare Impunere
integritate referenial. Pentru mai multe informaii
despre integritatea referenial, consultai
seciunea Despre integritatea referenial i
seciunea Impunerea integritii refereniale.

8.

Facei clic pe Creare.


Se traseaz o linie de relaie ntre cele dou tabele.
Dac ai bifat caseta de selectare Impunere
integritate referenial, linia apare ngroat la
capete. De asemenea, dac ai bifat caseta de

selectare Impunere integritate referenial, se


afieaz numrul 1 deasupra poriunii ngroate ntr-o
parte a liniei de relaie i simbolul infinit () deasupra
poriunii ngroate n cealalt parte a liniei, dup cum
se arat n urmtoarea ilustraie.

NOTE

Pentru a crea o relaie unu-la-unu Ambele


cmpuri comune (de obicei cheia primar i cheia
extern) trebuie s aib un index unic. Acest lucru
nseamn c proprietatea Indexat pentru aceste
cmpuri trebuie s fie setat laDa (fr dubluri). Dac
ambele cmpuri au un index unic, Access creeaz o
relaie unu-la-unu.

Pentru a crea o relaie unu-la-maimuli Cmpul de pe partea "unu" a relaiei (de obicei
cheia primar) trebuie s aib index unic. Acest lucru
nseamn c proprietatea Indexat pentru acest cmp
trebuie setat la Da (fr dubluri). Cmpul din partea
"mai muli" nu trebuie s aib index unic. Poate avea

index, dar trebuie s permit dubluri. Acest lucru


nseamn c proprietatea Indexat pentru acest cmp
trebuie s fie setat la Nu sau la Da (se permit
dubluri). Cnd un cmp are index unic i cellalt nu
are, Access creeaz o relaie unu-la-mai-muli.

Crearea unei relaii tabel prin utilizarea


panoului List de cmpuri
n Office Access 2007, avei posibilitatea s adugai
un cmp la un tabel existent care este deschis n
vizualizarea Foaie de date glisndu-l din panoul List
de cmpuri. Panoul List de cmpuri afieaz
cmpurile disponibile n tabelele nrudite i cele
disponibile n celelalte tabele din baza de date. Cnd
glisai un cmp dintr-un "alt" tabel (nenrudit) i
parcurgei expertul Cutare, se creeaz automat o
relaie nou unu-la-mai-muli ntre tabelul dinLista de
cmpuri i tabelul n care ai glisat cmpul. Aceast
relaie, creat de Access, nu impune n mod implicit
integritatea referenial. Pentru a impune integritatea
referenial, trebuie s editai relaia. Consultai
seciuneaModificarea unei relaii tabel pentru mai
multe informaii.

Deschiderea unui tabel n vizualizarea


Foaie de date
1.

Facei clic pe butonul Microsoft Office , apoi


facei clic pe Deschidere.
2.
n caseta de dialog Deschidere, selectai i
deschidei baza de date.

3.

n Panoul de navigare, facei clic cu butonul din


dreapta pe tabelul la care dorii s adugai cmpul i
s creai relaia, apoi facei clic pe Vizualizare foaie
de date n meniul de comenzi rapide.

Deschidei Panoul List de cmpuri

n fila Foaie de date, n grupul Cmpuri i


coloane, facei clic pe Adugare cmpuri existente.

Se afieaz panoul List de cmpuri.


Panoul List de cmpuri afieaz toate celelalte
tabele din baza de date, grupate pe categorii. Cnd
lucrai ntr-un tabel n vizualizarea Foaie de date,
Access afieaz cmpurile ntr-una dintre cele dou
categorii din panoul List de cmpuri: Cmpuri
disponibile n tabelele corelate i Cmpuri
disponibile n alte tabele. Prima categorie listeaz
toate tabelele care conin o relaie cu tabelul n care
lucrai n prezent. A doua categorie listeaz toate
tabelele cu care tabelul dvs. nu are o relaie.
n panoul List de cmpuri, cnd facei clic pe
semnul plus (+) de lng numele unui tabel, vedei o
list a tuturor cmpurilor disponibile n tabelul
respectiv. Pentru a aduga un cmp la tabelul dvs.,
glisai cmpul dorit din panoulList de cmpuri n
tabel n vizualizarea Foaie de date.

Adugarea unui cmp i crearea unei


relaii din panoul List de cmpuri
1.

n fila Foaie de date, n grupul Cmpuri i


coloane, facei clic pe Adugare cmpuri existente.

Se afieaz panoul List de cmpuri.


2.

Sub Cmpuri disponibile n alte tabele, facei


clic pe semnul plus (+) lng numele unui tabel pentru
a afia lista de cmpuri din acel tabel.
3.
Glisai cmpul dorit din panoul List de
cmpuri n tabelul deschis n vizualizarea Foaie de
date.
4.
Cnd se afieaz linia de inserare, fixai cmpul n
poziie.
Pornete Expertul Cutare.
5.

Urmai instruciunile pentru a parcurge Expertul


Cutare.
Cmpul se afieaz n tabel n vizualizarea Foaie de
date.
Cnd glisai un cmp dintr-un "alt" tabel (nenrudit) i
parcurgei expertul Cutare, se creeaz automat o
relaie nou unu-la-mai-muli ntre tabelul din Lista
de cmpuri i tabelul n care ai glisat cmpul.
Aceast relaie, creat de Access, nu impune n mod

implicit integritatea referenial. Pentru a impune


integritatea referenial, trebuie s editai relaia.
Consultai seciunea Modificarea unei relaii
tabel pentru mai multe informaii.
NCEPUTUL PAGINII

tergerea unei relaii tabel


Pentru a elimina o relaie tabel, trebuie mai nti s
tergei linia de relaie din fereastra Relaii. Poziionai
cu grij cursorul astfel nct s indice ctre linia de
relaie, apoi facei clic pe ea. Linia de relaie apare
ngroat atunci cnd este selectat. Avnd linia de
relaie selectat, apsai DELETE. Reinei c, atunci
cnd eliminai o relaie, se elimin i suportul de
integritate referenial pentru acea relaie, n cazul n
care este activat. Prin urmare, Access nu va mai
mpiedica automat crearea de nregistrri solitare n
partea "mai muli" a relaiei.
1.

Facei clic pe butonul Microsoft Office , apoi


facei clic pe Deschidere.
2.
n caseta de dialog Deschidere, selectai i
deschidei baza de date.
3.
n fila Instrumente baz de date, n
grupul Afiare/Ascundere, facei clic pe Relaii.

Se afieaz fereastra Relaii.

Dac nu ai definit nc nicio relaie i este prima oar


cnd deschidei fereastra Relaii, se afieaz caseta
de dialogAfiare tabel. Dac se afieaz, facei clic
pe nchidere.
4.

n fila Proiect, n grupul Relaii, facei clic


pe Toate relaiile.
Se afieaz toate tabelele cu relaii, afind liniile de
relaie.

5.

Facei clic pe linia de relaie pentru relaia pe care


dorii s o tergei. Linia de relaie apare ngroat
atunci cnd este selectat.
6.
Apsai tasta DELETE.
- sau Facei clic pe butonul din dreapta, apoi facei clic
pe tergere.
7.

Este posibil ca Access s afieze mesajul Alegei


s tergei permanent relaiile selectate din baza
de date?. Dac apare acest mesaj, facei clic pe Da.
Dac unul dintre tabelele utilizate n relaie
este n uz, poate de ctre alt persoan sau proces,
ori ntr-un obiect deschis din baza de date (cum ar fi
un formular), atunci relaia nu se va terge. nainte de
eliminarea unei relaii, trebuie nchise orice obiecte
deschise care folosesc tabelele.
NOT

NCEPUTUL PAGINII

Modificarea unei relaii tabel


O relaie ntre tabele se modific selectnd-o n
fereastra Relaii, apoi editnd-o. Poziionai cu grij
cursorul astfel nct s indice ctre linia relaiei, apoi
facei clic pe ea pentru a o selecta. Linia de relaie
apare ngroat atunci cnd este selectat. Cu linia
relaiei selectat, facei dublu clic pe ea sau facei clic
pe Editare relaie n grupul Instrumenten
fila Proiectare. Se afieaz caseta de dialog Editare
relaii.

Efectuarea modificrilor n caseta de


dialog Editare relaii
1.

Facei clic pe butonul Microsoft Office , apoi


facei clic pe Deschidere.
2.
n caseta de dialog Deschidere, selectai i
deschidei baza de date.
3.
n fila Instrumente baz de date, n
grupul Afiare/Ascundere, facei clic pe Relaii.

Se afieaz fereastra Relaii.


Dac nu ai definit nc nicio relaie i este prima oar
cnd deschidei fereastra Relaii, se afieaz caseta
de dialogAfiare tabel. Dac se afieaz, facei clic
pe nchidere.

4.

n fila Proiect, n grupul Relaii, facei clic


pe Toate relaiile.
Se afieaz toate tabelele cu relaii, afind liniile de
relaie. Reinei c tabelele ascunse (tabelele pentru
care este bifat caseta de selectare Ascuns din
caseta de dialog Proprieti) i relaiile lor nu se vor
afia dect dac este bifat caseta de selectare
Afiare obiecte ascunse n caseta de dialog Opiuni
de navigare.
Pentru mai multe informaii despre opiunea Afiare
obiecte ascunse, consultai articolul Ghid pentru
Panoul de navigare.

5.

Facei clic pe linia de relaie pentru relaia pe care


dorii s o modificai. Linia de relaie apare ngroat
atunci cnd este selectat.
6.
Facei dublu clic pe linia de relaie.
- sau n fila Proiect, n grupul Instrumente, facei clic
pe Editare relaii.
Se afieaz caseta de dialog Editare relaii.

7.

Efectuai modificrile, apoi facei clic pe OK.


Caseta de dialog Editare relaii permite modificarea
unei relaii tabel. Mai exact, avei posibilitatea s
modificai tabelele sau interogrile din ambele pri
ale relaiei sau cmpurile din ambele pri. De
asemenea, avei posibilitatea s setai tipul de
asociere sau s impunei integritatea referenial i s
alegei o opiune de cascad. Pentru mai multe
informaii despre tipul de asociere i cum se seteaz,
consultai seciunea Setarea tipului de asociere.
Pentru mai multe informaii despre cum se impune
integritatea referenial i cum se selecteaz o
opiune de cascad, consultai seciunea Impunerea
integritii refereniale.

Setarea tipului de asociere


Cnd definii o relaie tabel, datele legturii determin
proiectarea interogrilor. De exemplu, dac definii o
relaie ntre dou tabele, apoi creai o interogare ce
utilizeaz cele dou tabele, atunci Access selecteaz

automat cmpurile care potrivesc implicit pe baza


cmpurilor specificate n relaie. Avei posibilitatea s
nlocuii aceste valori implicite n interogarea dvs., dar
valorile furnizate de relaie se vor dovedi deseori
corecte. Deoarece potrivirea i alturarea datelor din
mai mult de un tabel este un lucru pe care l vei
efectua frecvent n majoritatea bazelor simple de
date, stabilirea setrilor implicite prin crearea relaiilor
poate economisi timp i poate fi benefic.
O interogare pentru mai multe tabele combin
informaiile din tabele prin potrivirea valorilor din
cmpurile comune. Operaiunea care efectueaz
potrivirea i combinarea este denumit o asociere. De
exemplu, s presupunem c dorii s afiai comenzile
clienilor. Creai o interogare care asociaz tabelul
Clieni i tabelul Comenzi dup cmpul ID Client.
Rezultatul interogrii conine informaiile clientului i
cele de comand numai pentru acele rnduri unde s-a
gsit o potrivire.
Una din valorile care pot fi specificate pentru fiecare
tip de relaie este tipul de asociere. Tipul de asociere
informeaz Access despre nregistrrile care vor fi
incluse n rezultatul interogrii. De exemplu, s
presupunem din nou c se creeaz o interogare care
asociaz tabelul Clieni i tabelul Comenzi dup
cmpul comun care reprezint ID-ul clientului.
Utiliznd tipul de asociere implicit (denumit
asociere intern), interogarea returneaz numai
rndurile Client i Comand acolo unde cmpurile
comune (denumite i cmpuri asociate) sunt egale.

Cu toate acestea, s presupunem c dorii s includei


toi clienii chiar i cei care nu au plasat comenzi.
Pentru a realiza aceasta, trebuie s modificai tipul de
asociere dintr-o asociere intern ntr-o asociere
cunoscut sub numele de asociere extern la stnga.
O asociere extern la stnga returneaz toate
rndurile din tabelul din stnga relaiei i numai
acelea care se potrivesc n tabelul din dreapta. O
asociere extern la dreapta returneaz toate rndurile
din partea dreapt a relaiei i numai pe cele care se
potrivesc din partea stng.
n acest caz, "stnga" i "dreapta" se refer la
poziia tabelelor n caseta de dialog Editare relaii,
nu a ferestrei Relaii.
NOT

Gndii-v la rezultatul pe care l dorii cel mai des de


la o interogare care asociaz tabele n aceast relaie,
apoi setai tipul de asociere n consecin.

Setarea tipului de asociere


1.

n caseta de dialog Editare relaii , facei clic


pe Tip asociere.
Se afieaz caseta de dialog Proprieti asociere.

2.

Facei clic pe selecia dorit, apoi pe OK.


Urmtorul tabel (utiliznd tabelele Clieni i Comenzi)
afieaz cele trei opiuni care sunt afiate n
caseta Proprieti asociere, tipul de asociere folosit
i dac se returneaz toate rndurile sau numai cele
care se potrivesc pentru fiecare tabel.

ALEGERE

ASOCIERE
RELAIONAL

TABEL
STNGA

TABEL
DREAPTA

1. Se includ numai
Asociere intern
rndurile unde cmpurile
asociate din ambele
tabele sunt egale.

Rnduri
potrivite

Rnduri
potrivite

2. Se includ TOATE
nregistrrile din
"Clieni" i numai acele
nregistrri din
"Comenzi" unde
cmpurile asociate sunt
egale.
3. Se includ TOATE
nregistrrile din
"Comenzi" i numai
acele nregistrri din
"Clieni" unde cmpurile
asociate sunt egale.

Asociere extern la
stnga

Toate
rndurile

Rnduri
potrivite

Asociere extern la
dreapta

Rnduri
potrivite

Toate
rndurile

Cnd alegei opiunea 2 sau 3, se afieaz o sgeat


n linia relaiei. Aceast sgeat indic n partea
relaiei care afieaz numai rndurile care se
potrivesc.

Efectuarea modificrilor n caseta de


dialog Proprieti asociere
1.

Facei clic pe butonul Microsoft Office , apoi


facei clic pe Deschidere.
2.
n caseta de dialog Deschidere, selectai i
deschidei baza de date.

3.

n fila Instrumente baz de date, n


grupul Afiare/Ascundere, facei clic pe Relaii.

Se afieaz fereastra Relaii.


Dac nu ai definit nc nicio relaie i este prima oar
cnd deschidei fereastra Relaii, se afieaz caseta
de dialogAfiare tabel. Dac se afieaz, facei clic
pe nchidere.
4.

n fila Proiect, n grupul Relaii, facei clic


pe Toate relaiile.
Se afieaz toate tabelele cu relaii, afind liniile de
relaie. Reinei c tabelele ascunse (tabelele pentru
care este bifat caseta de selectare Ascuns din
caseta de dialog Proprieti) i relaiile lor nu se vor
afia dect dac este bifat caseta de selectare
Afiare obiecte ascunse n caseta de dialog Opiuni de
navigare.
Pentru mai multe informaii despre opiunea Afiare
obiecte ascunse, consultai articolul Ghid pentru
Panoul de navigare.

5.

Facei clic pe linia de relaie pentru relaia pe care


dorii s o modificai. Linia de relaie apare ngroat
atunci cnd este selectat.
6.
Facei dublu clic pe linia de relaie.

- sau n fila Proiect, n grupul Instrumente, facei clic


pe Editare relaii.
Se afieaz caseta de dialog Editare relaii.
7.
8.

Facei clic pe Tip asociere.


n caseta de dialog Proprieti asociere, facei
clic pe opiunea dorit, i apoi clic pe OK.

9.

Efectuai modificrile suplimentare pentru relaie,


apoi facei clic pe OK.
NCEPUTUL PAGINII

Impunerea integritii refereniale


Scopul integritii refereniale este de a mpiedica
apariia nregistrrilor solitare i de a pstra
sincronizate referinele, astfel nct s nu avei
nregistrri care se refer la alte nregistrri care nu
mai exist. Integritatea referenial se impune prin
activarea sa pentru o relaie tabel. Odat impus,
Access respinge orice operaiune care ncalc
integritatea referenial pentru acea relaie tabel.
Access va respinge att actualizrile care modific

inta unei referine ct i tergerile care elimin inta


unei referine. Pentru ca Access s propage
actualizrile i tergerile refereniale astfel nct toate
rndurile nrudite s se modifice n concordan,
consultai seciunea Setare opiuni cascad.

Activarea sau dezactivarea integritii


refereniale
1.

Facei clic pe butonul Microsoft Office , apoi


facei clic pe Deschidere.
2.
n caseta de dialog Deschidere, selectai i
deschidei baza de date.
3.
n fila Instrumente baz de date, n
grupul Afiare/Ascundere, facei clic pe Relaii.

Se afieaz fereastra Relaii.


Dac nu ai definit nc nicio relaie i este prima oar
cnd deschidei fereastra Relaii, se afieaz caseta
de dialogAfiare tabel. Dac se afieaz, facei clic
pe nchidere.
4.

n fila Proiect, n grupul Relaii, facei clic


pe Toate relaiile.
Se afieaz toate tabelele cu relaii, afind liniile de
relaie. Reinei c tabelele ascunse (tabelele pentru
care este bifat caseta de selectare Ascuns din

caseta de dialog Proprieti) i relaiile lor nu se vor


afia dect dac este bifat caseta de selectare
Afiare obiecte ascunse n caseta de dialog Opiuni
de navigare.
Pentru mai multe informaii despre opiunea Afiare
obiecte ascunse, consultai articolul Ghid pentru
Panoul de navigare.
5.

Facei clic pe linia de relaie pentru relaia pe care


dorii s o modificai. Linia de relaie apare ngroat
atunci cnd este selectat.
6.
Facei dublu clic pe linia de relaie.
- sau n fila Proiect, n grupul Instrumente, facei clic
pe Editare relaii.
Se afieaz caseta de dialog Editare relaii.
7.

Bifai caseta de selectare Impunere integritate


referenial.
8.
Efectuai modificrile suplimentare pentru relaie,
apoi facei clic pe OK.
Dup ce ai impus integritatea referenial, se aplic
urmtoarele reguli:

Nu se poate introduce o valoare n cmpul cheii


externe a unui tabel asociat dac acea valoare nu exist
n cmpul cheii primare din tabelul primar o astfel de
operaiune ar crea o nregistrare solitar.

Nu se poate terge o nregistrare dintr-un tabel


primar dac exist nregistrri care se potrivesc n
tabelul asociat. De exemplu, nu se poate terge
nregistrarea unui angajat din tabelul Angajai dac
exist comenzi atribuite acestuia n tabelul Comenzi. Cu
toate acestea, se poate selecta tergerea unei
nregistrri primare i a tuturor nregistrrilor asociate
ntr-o singur operaiune, prin bifarea casetei de
selectare tergere n cascad cmpuri corelate.

Nu se poate modifica o valoare de cheie primar


n tabelul primar dac acest lucru creeaz nregistrri
solitare. De exemplu, nu se poate modifica numrul unei
comenzi n tabelul Comenzi dac exist elemente de
linie atribuite acelei comenzi n tabelul Detalii comenzi.
Cu toate acestea, se poate actualiza nregistrarea
primar itoate nregistrrile asociate ntr-o operaiune,
prin bifarea casetei de selectare Actualizare n
cascad cmpuri corelate.
NOTE

Dac ntmpinai dificulti n activarea integritii


refereniale, reinei c sunt necesare urmtoarele
condiii pentru a impune integritatea referenial:

Cmpul comun din tabelul primar trebuie s fie


cheie primar sau s aib un index unic.

Cmpurile comune trebuie s aib acelai tip de


date. Singura excepie este n cazul unui cmp
AutoNumerotare, care poate fi asociat unui cmp Numr

care are proprietatea Dimensiune cmp setat


la ntreg lung.

Ambele tabele exist n aceeai baz de date


Access. Integritatea referenial nu poate fi impus
pentru tabelele legate. Cu toate acestea, dac tabelele
surs se afl n format Access, avei posibilitatea s
deschidei baza de date n care sunt stocate i s
activai integritatea referenial n acea baz de date.

Setarea opiunilor de tip cascad


Este posibil s ntlnii o situaie n care exist nevoia
justificat de a modifica valoarea n partea "unu" a
relaiei. n acest caz, avei nevoie ca Access s
actualizeze automat, ntr-o singur operaiune.
Actualizarea este efectuat complet, astfel c baza de
date nu poate rmne inconsistent cu unele
rnduri actualizate i altele nu. Access previne
apariia acestei probleme prin opiunea Actualizare n
cascad cmpuri corelate. Cnd impunei integritatea
referenial i selectai opiunea Actualizare n
cascad cmpuri corelate, apoi actualizai apoi o
cheie primar, Access actualizeaz automat toate cu
referin la cheia primar
Este posibil s fie necesar tergerea unui rnd i a
tuturor nregistrrilor corelate de exemplu, o
nregistrare a unui expeditor i toate nregistrrile
corelate acelui expeditor. Din acest motiv, Access
deine opiunea tergere n cascad cmpuri corelate.
Cnd impunei integritatea referenial i bifai caseta
de selectare tergere n cascad cmpuri corelate,

Access terge automat toate nregistrrile cu referin


la cheia primar atunci cnd tergei nregistrarea
care conine cheia primar.

Activarea sau dezactivarea actualizrii


i/sau tergerii n cascad
1.

Facei clic pe butonul Microsoft Office , apoi


facei clic pe Deschidere.
2.
n caseta de dialog Deschidere, selectai i
deschidei baza de date.
3.
n fila Instrumente baz de date, n
grupul Afiare/Ascundere, facei clic pe Relaii.

Se afieaz fereastra Relaii.


Dac nu ai definit nc nicio relaie i este prima oar
cnd deschidei fereastra Relaii, se afieaz caseta
de dialogAfiare tabel. Dac se afieaz, facei clic
pe nchidere.
4.

n fila Proiect, n grupul Relaii, facei clic


pe Toate relaiile.
Se afieaz toate tabelele cu relaii, afind liniile de
relaie. Reinei c tabelele ascunse (tabelele pentru
care este bifat caseta de selectare Ascuns din
caseta de dialog Proprieti) i relaiile lor nu se vor
afia dect dac este bifat caseta de selectare

Afiare obiecte ascunse n caseta de dialog Opiuni


de navigare.
Pentru mai multe informaii despre opiunea Afiare
obiecte ascunse, consultai articolul Ghid pentru
Panoul de navigare.
5.

Facei clic pe linia de relaie pentru relaia pe care


dorii s o modificai. Linia de relaie apare ngroat
atunci cnd este selectat.
6.
Facei dublu clic pe linia de relaie.
- sau n fila Proiect, n grupul Instrumente, facei clic
pe Editare relaii.
Se afieaz caseta de dialog Editare relaii.
7.

Bifai caseta de selectare Impunere integritate


referenial.
8.
Bifai caseta de selectare Actualizare n
cascad cmpuri corelate, caseta de
selectare tergere n cascad cmpuri corelate, sau
ambele.
9.
Efectuai modificrile suplimentare pentru relaie,
apoi facei clic pe OK.
Dac cheia primar este un cmp
AutoNumerotare, bifarea casetei de
selectare Actualizare n cascad a cmpurilor
corelate nu va avea efect, deoarece valoarea dintr-un
cmp AutoNumerotare nu se poate modifica.
NOT

NCEPUTUL PAGINII

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