Ghid pentru relațiile între tabele

Unul din scopurile unei proiectări bune ale unei baze de date este de a elimina redundanța datelor (datele dublură). Pentru a atinge acest obiectiv, datele se împart în mai multe tabele în funcție de subiect, astfel încât fiecare aspect să fie reprezentat o singură dată. Apoi, i se furnizează programului Microsoft Office Access 2007 mijloacele prin care să aducă la un loc informațiile care au fost împărțite — acest lucru se face prin plasarea câmpurilor comune în tabele care sunt asociate. Pentru a realiza acest pas corect, trebuie să înțelegeți ce sunt relațiile dintre tabele, apoi trebuie să specificați relații în baza de date Office Access 2007.

În acest articol

Introducere

Tipuri de relații între tabele

De ce se creează relații între tabele?

Despre integritatea referențială

Vizualizarea relațiilor între tabele

Crearea unei relații tabel

Ștergerea unei relații între tabele

Modificarea unei relații tabel

Impunerea integrității referențiale

Introducere

După ce ați creat un tabel în baza de date pentru fiecare subiect, trebuie să furnizați programului Office Access 2007 mijloacele de a aduce informațiile la un loc atunci când aveți nevoie de ele. Faceți aceasta plasând câmpurile comune în tabele care sunt asociate, apoi definind relații între tabele. Apoi se pot crea interogări, formulare și rapoarte care afișează informații din mai multe tabele odată. De exemplu, formularul afișat aici include informații extrase din mai multe tabele:

Formular de comenzi care afișează informații din cinci tabele odată

1. Informațiile din acest formular provin din tabelul Clienți...

2. ...tabelul Comenzi...

3. ...tabelul Produse...

4. ...și tabelul Detalii comenzi.

Numele clientului din caseta Facturat către: este regăsit din tabelul Clienți, valorile ID Comandă și Dată comandă provin din tabelul Comenzi, Nume produs este furnizat din tabelul Produse, iar valorile Preț Unitar și Cantitate provin din tabelul Detalii comenzi. Aceste tabele sunt legate unele de altele în mai multe moduri, pentru a se aduce informațiile necesare în formular.

În exemplul precedent, câmpurile din tabele trebuie să fie coordonate astfel încât să afișeze informații despre aceeași comandă. Această coordonare este realizată prin utilizarea relațiilor între tabele. O relație tabel funcționează prin potrivirea datelor din câmpurile cheie — un câmp care are deseori același nume în ambele tabele. În majoritatea cazurilor, aceste câmpuri de potrivire sunt cheia primară dintr-un tabel, care furnizează un identificator unic pentru fiecare înregistrare și o cheie externă în celălalt tabel. De exemplu, angajații pot fi asociați cu comenzile pentru care sunt responsabili prin crearea unei relații tabel între câmpurile IDAngajat din tabelul Angajați și tabelul Comenzi.

IDAngajat utilizat ca și cheie primară în tabelul Angajați și cheie externă în tabelul Comenzi.

1. IDAngajat apare în ambele tabele — sub formă de cheie primară...

2. ... și cheie secundară.

Începutul paginii

Tipuri de relații între tabele

Există trei tipuri de relații între tabele.

  • Relația unu-la-mai-mulți

    Să ne gândim la o bază de date care urmărește comenzi și are un tabel Clienți și un tabel Comenzi. Un client poate plasa oricâte comenzi. Este logic că, pentru fiecare client din tabelul Clienți, pot exista una sau mai multe comenzi în tabelul Comenzi. Relația dintre tabelul Clienți și tabelul Comenzi este, în consecință, o relație unu-la-mai-mulți.

    Pentru a crea o relație unu-la-mai-mulți în proiectarea bazei de date, luați cheia primară din partea "unu" a relației și adăugați-o sub formă de câmp suplimentar sau câmpuri suplimentare la tabelul din partea "mai-mulți" a relației. În acest caz, adăugați un câmp nou — câmpul ID din tabelul Clienți — la tabelul Comenzi și îl denumiți ID Client. Access utilizează apoi numărul ID Client în tabelul Comenzi pentru a găsi clientul corect pentru fiecare comandă.

  • O relație mai-mulți-la-mai-mulți

    Să presupunem existența unei relații între tabelul Produse și tabelul Comenzi. O singură comandă poate include mai mult de un produs. Pe de cealaltă parte, un singur produs poate apărea în mai multe comenzi. De aceea, pentru fiecare înregistrare din tabelul Comenzi pot exista mai multe înregistrări în tabelul Produse. În plus, pentru fiecare înregistrare din tabelul Produse, pot exista mai multe înregistrări în tabelul Comenzi. Acest tip de relație este denumit o relație mai-mulți-la-mai-mulți deoarece, pentru orice produs pot exista mai multe comenzi și pentru fiecare comandă pot exista mai multe produse. Rețineți că, pentru a detecta relații mai-mulți-la-mai-mulți între tabelele dvs., este important să luați în considerare ambele părți ale relației.

    Pentru a crea o relație mai-mulți-la-mai-mulți, trebuie să creați mai întâi un al treilea tabel, denumit deseori tabel de relație, care împarte relația mai-mulți-la-mai-mulți în două relații unu-la-mai-mulți. Inserați câmpul cheie primară din fiecare dintre cele două tabele în al treilea tabel. Ca rezultat, al treilea tabel înregistrează fiecare apariție, denumită și instanță, dintr-o relație. De exemplu, tabelul Comenzi și tabelul Produse au o relație mai-mulți-la-mai-mulți care este definită prin crearea a două relații unu-la-mai-mulți în tabelul Detalii comenzi. O comandă poate avea mai multe produse și fiecare produse poate apărea în mai multe comenzi.

  • O relație unu-la-unu

    Într-o relație 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 relație nu este comun, deoarece, de cele mai multe ori, informațiile asociate în acest mod se stochează în același tabel. O relație unu-la-unu poate fi utilizată pentru a diviza un tabel cu multe câmpuri, pentru a izola o parte dintr-un tabel din motive de securitate sau pentru a stoca informații care se aplică numai pentru un subset al tabelului principal.

Începutul paginii

De ce se creează relații între tabele?

Puteți să creați relații între tabele în mod explicit utilizând fereastra Relații sau glisând un câmp din panoul Listă de câmpuri. Office Access 2007 utilizează relațiile tabel pentru a arăta cum se asociază câmpurile când trebuie utilizate într-un obiect de bază de date. Există mai multe motive pentru a crea mai întâi relații între tabele, apoi alte obiecte, cum ar fi formulare, interogări, macrocomenzi și rapoarte.

  • Relațiile tabel oferă informații proiectărilor de interogare

    Pentru a lucra cu înregistrări din mai mult de un tabel, este necesar deseori să creați o interogare care asociază tabelele. Interogarea funcționează prin potrivirea valorilor din câmpul primar al primului tabel cu un câmp cheie externă din alt doilea tabel. De exemplu, pentru a returna câmpuri care listează toate comenzile pentru fiecare client, generați o interogare care asociază tabelul Clienți cu tabelul Comenzi pe baza câmpului IDClient. În fereastra relații, aveți posibilitatea să specificați manual câmpurile de asociere. Cu toate acestea, dacă aveți deja o relație definită între tabele, Office Access 2007 oferă asocierea implicită, pe baza relației existente. În plus, dacă utilizați unul din experții de interogări, Access utilizează informațiile colectate din relațiile tabel pe care le-ați definit deja pentru a vă prezenta alegeri și a repopula setările proprietăților cu valorile implicite potrivite.

  • Relațiile între tabele oferă informații proiectărilor de formular și raport

    Când proiectați un formular sau raport, Office Access 2007 utilizează informațiile colectate din relațiile tabel pe care le-ați definit deja pentru a vă prezenta alegeri și a repopula setările proprietăților cu valorile implicite potrivite.

  • Relațiile între tabele sunt fundația pe care se poate impune integritatea referențială pentru a împiedica apariția înregistrărilor solitare în baza dvs. de date. O înregistrare solitară este o înregistrare cu referință către altă înregistrare care nu există — de exemplu, o înregistrare de comandă care se referă la o înregistrare de client care nu există.

    Când proiectați o bază de date, divizați informațiile în tabele, fiecare având o cheie primară. Apoi, adăugați chei externe la tabelele asociate care au referințe la acele chei primare. Aceste perechi de chei de forma cheie externă - cheie primară formează baza pentru relațiile între tabele și interogările multi-tabel. De aceea, este important ca aceste referințe cheie externă - cheie primară să fie sincronizate. Integritatea referențială asigură că referințele sunt sincronizate și dependente de relațiile tabel.

Începutul paginii

Despre integritatea referențială

Când proiectați o bază de date, împărțiți informațiile în mai multe tabele în funcție de subiect, pentru a minimiza redundanța datelor. Apoi, furnizați Office Access 2007 mijloacele de a aduce datele la un loc plasând câmpuri comune în tabele asociate. De exemplu, pentru a crea o relație unu-la-mai-mulți, luați cheia primară din tabelul "unu" și o adăugați sub formă de câmp suplimentar la tabelul "mai-mulți". Pentru a corela datele, Access ia valoarea din tabelul "mai-mulți" și caută valoarea corespondentă în tabelul "unu". În acest mod, valorile din tabelului "mai-mulți" fac referire la valorile corespondente din tabelul "unu".

Să presupunem că aveți o relație unu-la-mai-mulți între Expeditori și Comenzi și doriți să ștergeți un expeditor. Dacă expeditorul pe care doriți să-l ștergeți are comenzi în tabelul Comenzi, acele comenzi vor deveni "solitare" atunci când ștergeți înregistrarea expeditorului. Înregistrările vor conține în continuare un ID de expeditor, dar ID-ul nu va mai fi valid, deoarece înregistrarea la care face referire nu mai există.

Scopul integrității referențiale este de a împiedica apariția înregistrărilor solitare și de a ține sincronizate referințele, astfel încât această situație ipotetică să nu apară niciodată.

Integritatea referențială se impune activând-o pentru o relație între tabele (consultați Impunerea integrității referențiale pentru instrucțiuni pas cu pas). Odată impusă, Access respinge orice operațiuni care încalcă integritatea referențială pentru acea relație tabel. Acest lucru înseamnă că Access va respinge atât actualizările care modifică ținta referinței, cât și ștergerile care elimină ținta unei referințe. Cu toate acestea, este posibil să aveți nevoie în mod justificat să modificați cheia primară pentru un expeditor care are comenzi în tabelul Comenzi. Pentru astfel de cazuri, lucrul de care aveți cu adevărat nevoie este ca Access să actualizeze automat într-o singură operațiunea toate rândurile afectate. Astfel, Access asigură că actualizarea este completă, astfel încât baza de date nu este lăsată într-o stare inconsistentă, cu unele rânduri actualizate și altele nu. Din acest motiv, Access acceptă opțiunea Actualizare în cascadă câmpuri corelate. Când impuneți integritatea referențială și selectați opțiunea Actualizare în cascadă câmpuri corelate, apoi actualizați o cheie primară, Access actualizează automat toate câmpurile care fac referire la cheia primară.

De asemenea, este posibil să aveți nevoie să ștergeți un rând sau și înregistrările asociate — de exemplu, o înregistrare din Expeditor și toate comenzile asociate pentru expeditorul respectiv. Din acest motiv, Access are opțiunea Actualizare în cascadă câmpuri corelate. Când impuneți integritatea referențială și alegeți opțiunea Actualizare în cascadă câmpuri corelate, apoi ștergeți o înregistrare din partea cu cheia primară a unei relații, Access șterge automat toate înregistrările care fac referire la cheia primară.

Începutul paginii

Vizualizarea relațiilor între tabele

Pentru a vizualiza relațiile tabel, faceți clic pe Relații în fila Instrumente bază de date. Se deschide fereastra Relații și afișează relațiile existente. Dacă nu au fost definite încă relații între tabele și deschideți fereastra Relații pentru prima oară, Access vă solicită să adăugați un tabel sau o interogare la fereastră.

Deschiderea ferestrei Relații

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. În fila Instrumente bază de date, în grupulAfișare/Ascundere, faceți clic pe Relații.

  4. Dacă baza de date conține relații, se afișează fereastra Relații. Dacă baza de date nu conține relații și deschideți fereastra Relații pentru prima oară, se afișează caseta de dialog Afișare tabel. Faceți clic pe Închidere pentru a o închide.

  5. În fila Proiectare, în grupul Relații, faceți clic pe Toate relațiile.

    Astfel, se afișează toate relațiile definite din baza dvs. de date. Rețineți că tabelele ascunse (tabelele pentru care este bifată caseta de selectare Ascuns din caseta de dialog Proprietăți) și relațiile lor nu se vor afișa decât dacă este bifată caseta de selectare Afișare obiecte ascunse în caseta de dialog Opțiuni de navigare.

    Pentru mai multe informații despre opțiunea Afișare obiecte ascunse, consultați articolul Ghid pentru Panoul de navigare.

Fereastra Relații

1. Cheia primară

2. Această linie reprezintă relația

3. Cheia externă

O relație între tabele este reprezentată printr-o linie de relație trasată între tabelele din fereastra Relații. O relație care nu are impusă integritatea referențială apare ca o linie subțire între câmpurile comune care acceptă relația. Când selectați relația făcând clic pe linia sa, linia se îngroașă pentru a indica faptul că este selectată. Dacă impuneți integritatea referențială pentru această relație, linia apare îngroșată la fiecare capăt. În plus, numărul 11 pare deasupra porțiunii îngroșate a liniei în partea unu a relației, iar simbolul infinit () apare deasupra liniei în cealaltă parte.

Când fereastra Relații este activă, se pot selecta următoarele comenzi pe Panglică, componentă din interfața utilizator Microsoft Office Fluent:

În fila Proiectare, în grupul Instrumente:

  • Editare relații    Deschide caseta de dialog Editare relații . Când selectați o linie de relație, aveți posibilitatea să faceți clic pe Editare relații pentru a modifica relația tabelului. De asemenea, aveți posibilitatea să faceți dublu clic pe linia relației.

  • Ștergere aspect    Elimină toate tabelele și relațiile din afișare în fereastra Relații. Rețineți că această comandă ascunde numai tabelele și relațiile — nu le șterge.

  • Raport relație    Creează un raport care afișează tabelele și relațiile din baza de date. Raportul afișează în fereastra Relații numai tabelele și relațiile care nu sunt .

În fila Proiectare, în grupul Relații:

  • Afișare tabel    Se deschide caseta de dialog Afișare tabel și se pot selecta tabele și interogări pentru a fi vizualizate în fereastra Relații.

  • Ascundere tabel    Ascunde tabelul selectat în fereastra Relații.

  • Relații directe    Afișează toate relațiile și tabelele asociate pentru tabelul selectat în fereastra Relații, dacă nu sunt afișate deja.

  • Toate relațiile    Afișează toate relațiile și tabelele asociate din baza dvs. de date în fereastra Relații. Rețineți că tabelele ascunse (tabelele pentru care este bifată caseta de selectare Ascuns din caseta de dialog Proprietăți) și relațiile lor nu se vor afișa decât dacă este bifată caseta de selectare Afișare tabele ascunse în caseta de dialog Opțiuni de navigare.

    Pentru mai multe informații despre opțiunea Afișare tabele ascunse, consultați articolul Ghid pentru Panoul de navigare.

  • Închidere    Închide fereastra Relații. Dacă faceți modificări în aspectul ferestrei Relații, vi se solicită dacă doriți să salvați modificările.

Începutul paginii

Crearea unei relații tabel

Aveți posibilitatea să creați o relație tabel utilizând fereastra Relații sau prin glisarea unui câmp într-o foaie de date din panoul Listă de câmpuri. Când creați o relație între tabele, câmpurile comune nu trebuie să aibă neapărat același nume, deși acest lucru se întâmplă deseori. Câmpurile trebuie mai degrabă să aibă același tip de date. În cazul în care câmpul cheie primară este un câmp de tip AutoNumerotare, câmpul cheie externă poate fi și un câmp Număr, în cazul în care proprietatea Dimensiune câmp a ambelor câmpuri este aceeași. De exemplu, se poate potrivi un câmp AutoNumerotare cu un câmp Număr dacă proprietatea Dimensiune câmp a ambelor câmpuri este Întreg lung. Când ambele câmpuri sunt câmpuri Număr, trebuie să aibă aceeași setare a proprietății Dimensiune câmp.

Crearea unei relații tabel utilizând fereastra Relații

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. În fila Instrumente bază de date, în grupulAfișare/Ascundere, faceți clic pe Relații.

  4. Dacă nu ați definit încă nicio relație, caseta de dialog Afișare tabel se afișează automat. Dacă nu apare, în fila Proiectare, în grupul Relații, faceți clic pe Afișare tabel.

    Caseta de dialog Afișare tabel afișează toate tabelele și interogările din baza de date. Pentru a vedea numai tabele, faceți clic pe Tabele. Pentru a vedea numai interogări, faceți clic pe Interogări. Pentru a le vedea pe amândouă, faceți clic pe Ambele.

  5. Selectați una sau mai multe tabele și interogări, apoi faceți clic pe Adăugare. După ce ați terminat de adăugat tabele și interogări în fereastra Relații, faceți clic pe Închidere.

  6. Glisați un câmp (de obicei cheia primară) dintr-un tabel în câmpul comun (cheia externă) din celălalt tabel. Pentru a glisa mai multe câmpuri, apăsați tasta CTRL, faceți clic pe fiecare câmp, apoi glisați-l.

    Se afișează caseta de dialog Editare relații.

  7. Verificați că numele afișate ale câmpurilor sunt cele ale câmpurilor comune pentru relație. Dacă un nume de câmp este incorect, faceți clic pe numele câmpului și selectați câmpul potrivit din listă.

    Pentru a impune integritatea referențială pentru această relație, bifați caseta de selectare Impunere integritate referențială. Pentru mai multe informații despre integritatea referențială, consultați secțiunea Despre integritatea referențială și secțiunea Impunerea integrității referențiale.

  8. Faceți clic pe Creare.

    Se trasează o linie de relație între cele două tabele. Dacă ați bifat caseta de selectare Impunere integritate referențială, linia apare îngroșată la capete. De asemenea, dacă ați bifat caseta de selectare Impunere integritate referențială, se afișează numărul 1 deasupra porțiunii îngroșate într-o parte a liniei de relație și simbolul infinit () deasupra porțiunii îngroșate în cealaltă parte a liniei, după cum se arată în următoarea ilustrație.

Glisarea unui câmp dintr-un tabel în câmpul potrivit din alt tabel

Note : 

  • Pentru a crea o relație unu-la-unu    Ambele câmpuri comune (de obicei cheia primară și cheia externă) trebuie să aibă un index unic. Acest lucru înseamnă că proprietatea Indexat pentru aceste câmpuri trebuie să fie setată la Da (fără dubluri). Dacă ambele câmpuri au un index unic, Access creează o relație unu-la-unu.

  • Pentru a crea o relație unu-la-mai-mulți    Câmpul de pe partea "unu" a relației (de obicei cheia primară) trebuie să aibă index unic. Acest lucru înseamnă că proprietatea Indexat pentru acest câmp trebuie setată la Da (fără dubluri). Câmpul din partea "mai mulți" nu trebuie să aibă index unic. Poate avea index, dar trebuie să permită dubluri. Acest lucru înseamnă că proprietatea Indexat pentru acest câmp trebuie să fie setată la Nu sau la Da (se permit dubluri). Când un câmp are index unic și celălalt nu are, Access creează o relație unu-la-mai-mulți.

Crearea unei relații tabel prin utilizarea panoului Listă de câmpuri

În Office Access 2007, aveți posibilitatea să adăugați un câmp la un tabel existent care este deschis în vizualizarea Foaie de date glisându-l din panoul Listă de câmpuri. Panoul Listă de câmpuri afișează câmpurile disponibile în tabelele înrudite și cele disponibile în celelalte tabele din baza de date. Când glisați un câmp dintr-un "alt" tabel (neînrudit) și parcurgeți expertul Căutare, se creează automat o relație nouă unu-la-mai-mulți între tabelul din Lista de câmpuri și tabelul în care ați glisat câmpul. Această relație, creată de Access, nu impune în mod implicit integritatea referențială. Pentru a impune integritatea referențială, trebuie să editați relația. Consultați secțiunea Modificarea unei relații tabel pentru mai multe informații.

Deschiderea unui tabel în vizualizarea Foaie de date

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. În Panoul de navigare, faceți clic cu butonul din dreapta pe tabelul la care doriți să adăugați câmpul și să creați relația, apoi faceți clic pe Vizualizare foaie de date în meniul de comenzi rapide.

Deschideți Panoul Listă de câmpuri

  • Pe fila Foaie de date, în grupul Câmpuri și coloane, faceți clic pe Adăugare câmpuri existente.

    Imaginea panglicii Access

    Se afișează panoul Listă de câmpuri.

Panoul Listă de câmpuri afișează toate celelalte tabele din baza de date, grupate pe categorii. Când lucrați într-un tabel în vizualizarea Foaie de date, Access afișează câmpurile într-una dintre cele două categorii din panoul Listă de câmpuri: Câmpuri disponibile în tabelele corelate și Câmpuri disponibile în alte tabele. Prima categorie listează toate tabelele care conțin o relație cu tabelul în care lucrați în prezent. A doua categorie listează toate tabelele cu care tabelul dvs. nu are o relație.

În panoul Listă de câmpuri, când faceți clic pe semnul plus (+) de lângă numele unui tabel, vedeți o listă a tuturor câmpurilor disponibile în tabelul respectiv. Pentru a adăuga un câmp la tabelul dvs., glisați câmpul dorit din panoul Listă de câmpuri în tabel în vizualizarea Foaie de date.

Adăugarea unui câmp și crearea unei relații din panoul Listă de câmpuri

  1. Pe fila Foaie de date, în grupul Câmpuri și coloane, faceți clic pe Adăugare câmpuri existente.

    Imaginea panglicii Access

    Se afișează panoul Listă de câmpuri.

  2. Sub Câmpuri disponibile în alte tabele, faceți clic pe semnul plus (+) lângă numele unui tabel pentru a afișa lista de câmpuri din acel tabel.

  3. Glisați câmpul dorit din panoul Listă de câmpuri în tabelul deschis în vizualizarea Foaie de date.

  4. Când se afișează linia de inserare, fixați câmpul în poziție.

    Pornește Expertul Căutare.

  5. Urmați instrucțiunile pentru a parcurge Expertul Căutare.

    Câmpul se afișează în tabel în vizualizarea Foaie de date.

Când glisați un câmp dintr-un "alt" tabel (neînrudit) și parcurgeți expertul Căutare, se creează automat o relație nouă unu-la-mai-mulți între tabelul din Lista de câmpuri și tabelul în care ați glisat câmpul. Această relație, creată de Access, nu impune în mod implicit integritatea referențială. Pentru a impune integritatea referențială, trebuie să editați relația. Consultați secțiunea Modificarea unei relații tabel pentru mai multe informații.

Începutul paginii

Ștergerea unei relații între tabele

Pentru a elimina o relație tabel, trebuie mai întâi să ștergeți linia de relație din fereastra Relații. Poziționați cu grijă cursorul astfel încât să indice către linia de relație, apoi faceți clic pe ea. Linia de relație apare îngroșată atunci când este selectată. Având linia de relație selectată, apăsați DELETE. Rețineți că, atunci când eliminați o relație, se elimină și suportul de integritate referențială pentru acea relație, în cazul în care este activat. Prin urmare, Access nu va mai împiedica automat crearea de înregistrări solitare în partea "mai mulți" a relației.

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. În fila Instrumente bază de date, în grupulAfișare/Ascundere, faceți clic pe Relații.

Se afișează fereastra Relații.

Dacă nu ați definit încă nicio relație și este prima oară când deschideți fereastra Relații, se afișează caseta de dialog Afișare tabel. Dacă se afișează, faceți clic pe Închidere.

  1. În fila Proiectare, în grupul Relații, faceți clic pe Toate relațiile.

Se afișează toate tabelele cu relații, afișând liniile de relație.

  1. Faceți clic pe linia de relație pentru relația pe care doriți să o ștergeți. Linia de relație apare îngroșată atunci când este selectată.

  2. Apăsați tasta DELETE.

    - sau -

    Faceți clic pe butonul din dreapta, apoi faceți clic pe Ștergere.

  3. Este posibil ca Access să afișeze mesajul Alegeți să ștergeți permanent relațiile selectate din baza de date?. Dacă apare acest mesaj, faceți clic pe Da.

Notă : Dacă unul dintre tabelele utilizate în relație este în uz, poate de către altă persoană sau proces, ori într-un obiect deschis din baza de date (cum ar fi un formular), atunci relația nu se va șterge. Înainte de eliminarea unei relații, trebuie închise orice obiecte deschise care folosesc tabelele.

Începutul paginii

Modificarea unei relații tabel

O relație între tabele se modifică selectând-o în fereastra Relații, apoi editând-o. Poziționați cu grijă cursorul astfel încât să indice către linia relației, apoi faceți clic pe ea pentru a o selecta. Linia de relație apare îngroșată atunci când este selectată. Cu linia relației selectată, faceți dublu clic pe ea sau faceți clic pe Editare relație în grupul Instrumente în fila Proiectare. Se afișează caseta de dialog Editare relații.

Efectuarea modificărilor în caseta de dialog Editare relații

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. În fila Instrumente bază de date, în grupulAfișare/Ascundere, faceți clic pe Relații.

Se afișează fereastra Relații.

Dacă nu ați definit încă nicio relație și este prima oară când deschideți fereastra Relații, se afișează caseta de dialog Afișare tabel. Dacă se afișează, faceți clic pe Închidere.

  1. În fila Proiectare, în grupul Relații, faceți clic pe Toate relațiile.

Se afișează toate tabelele cu relații, afișând liniile de relație. Rețineți că tabelele ascunse (tabelele pentru care este bifată caseta de selectare Ascuns din caseta de dialog Proprietăți) și relațiile lor nu se vor afișa decât dacă este bifată caseta de selectare Afișare obiecte ascunse în caseta de dialog Opțiuni de navigare.

Pentru mai multe informații despre opțiunea Afișare obiecte ascunse, consultați articolul Ghid pentru Panoul de navigare.

  1. Faceți clic pe linia de relație pentru relația pe care doriți să o modificați. Linia de relație apare îngroșată atunci când este selectată.

  2. Faceți dublu clic pe linia de relație.

    - sau -

    În fila Proiectare, în grupul Instrumente, faceți clic pe Editare relații.

    Se afișează caseta de dialog Editare relații.

    Caseta de dialog Editare relații

  3. Efectuați modificările, apoi faceți clic pe OK.

    Caseta de dialog Editare relații permite modificarea unei relații tabel. Mai exact, aveți posibilitatea să modificați tabelele sau interogările din ambele părți ale relației sau câmpurile din ambele părți. De asemenea, aveți posibilitatea să setați tipul de asociere sau să impuneți integritatea referențială și să alegeți o opțiune de cascadă. Pentru mai multe informații despre tipul de asociere și cum se setează, consultați secțiunea Setarea tipului de asociere. Pentru mai multe informații despre cum se impune integritatea referențială și cum se selectează o opțiune de cascadă, consultați secțiunea Impunerea integrității referențiale.

Setarea tipului de asociere

Când definiți o relație tabel, datele legăturii determină proiectarea interogărilor. De exemplu, dacă definiți o relație între două tabele, apoi creați o interogare ce utilizează cele două tabele, atunci Access selectează automat câmpurile care potrivesc implicit pe baza câmpurilor specificate în relație. Aveți posibilitatea să înlocuiți aceste valori implicite în interogarea dvs., dar valorile furnizate de relație se vor dovedi deseori corecte. Deoarece potrivirea și alăturarea datelor din mai mult de un tabel este un lucru pe care îl veți efectua frecvent în majoritatea bazelor simple de date, stabilirea setărilor implicite prin crearea relațiilor poate economisi timp și poate fi benefică.

O interogare pentru mai multe tabele combină informațiile din tabele prin potrivirea valorilor din câmpurile comune. Operațiunea care efectuează potrivirea și combinarea este denumită o asociere. De exemplu, să presupunem că doriți să afișați comenzile clienților. Creați o interogare care asociază tabelul Clienți și tabelul Comenzi după câmpul ID Client. Rezultatul interogării conține informațiile clientului și cele de comandă numai pentru acele rânduri unde s-a găsit o potrivire.

Una din valorile care pot fi specificate pentru fiecare tip de relație este tipul de asociere. Tipul de asociere informează Access despre înregistrările care vor fi incluse în rezultatul interogării. De exemplu, să presupunem din nou că se creează o interogare care asociază tabelul Clienți și tabelul Comenzi după câmpul comun care reprezintă ID-ul clientului. Utilizând tipul de asociere implicită (denumită asociere internă), interogarea returnează numai rândurile Client și Comandă acolo unde câmpurile comune (denumite și câmpuri asociate) sunt egale.

Cu toate acestea, să presupunem că doriți să includeți toți clienții - chiar și cei care nu au plasat comenzi. Pentru a realiza aceasta, trebuie să modificați tipul de asociere dintr-o asociere internă într-o asociere cunoscută sub numele de asociere externă la stânga. O asociere externă la stânga returnează toate rândurile din tabelul din stânga relației și numai acelea care se potrivesc în tabelul din dreapta. O asociere externă la dreapta returnează toate rândurile din partea dreaptă a relației și numai pe cele care se potrivesc din partea stângă.

Notă : În acest caz, "stânga" și "dreapta" se referă la poziția tabelelor în caseta de dialog Editare relații, nu a ferestrei Relații.

Gândiți-vă la rezultatul pe care îl doriți cel mai des de la o interogare care asociază tabele în această relație, apoi setați tipul de asociere în consecință.

Setarea tipului de asociere

  1. În caseta de dialog Editare relații , faceți clic pe Tip asociere.

    Se afișează caseta de dialog Proprietăți asociere.

  2. Faceți clic pe selecția dorită, apoi pe OK.

Următorul tabel (utilizând tabelele Clienți și Comenzi) afișează cele trei opțiuni care sunt afișate în caseta Proprietăți asociere, tipul de asociere folosit și dacă se returnează toate rândurile sau numai cele care se potrivesc pentru fiecare tabel.

Alegere

Asociere relațională

Tabel stânga

Tabel dreapta

1. Se includ numai rândurile unde câmpurile asociate din ambele tabele sunt egale.

Asociere internă

Rânduri potrivite

Rânduri potrivite

2. Se includ TOATE înregistrările din "Clienți" și numai acele înregistrări din "Comenzi" unde câmpurile asociate sunt egale.

Asociere externă la stânga

Toate rândurile

Rânduri potrivite

3. Se includ TOATE înregistrările din "Comenzi" și numai acele înregistrări din "Clienți" unde câmpurile asociate sunt egale.

Asociere externă la dreapta

Rânduri potrivite

Toate rândurile

Când alegeți opțiunea 2 sau 3, se afișează o săgeată în linia relației. Această săgeată indică în partea relației care afișează numai rândurile care se potrivesc.

Efectuarea modificărilor în caseta de dialog Proprietăți asociere

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. În fila Instrumente bază de date, în grupulAfișare/Ascundere, faceți clic pe Relații.

Se afișează fereastra Relații.

Dacă nu ați definit încă nicio relație și este prima oară când deschideți fereastra Relații, se afișează caseta de dialog Afișare tabel. Dacă se afișează, faceți clic pe Închidere.

  1. În fila Proiectare, în grupul Relații, faceți clic pe Toate relațiile.

Se afișează toate tabelele cu relații, afișând liniile de relație. Rețineți că tabelele ascunse (tabelele pentru care este bifată caseta de selectare Ascuns din caseta de dialog Proprietăți) și relațiile lor nu se vor afișa decât dacă este bifată caseta de selectare Afișare obiecte ascunse în caseta de dialog Opțiuni de navigare.

Pentru mai multe informații despre opțiunea Afișare obiecte ascunse, consultați articolul Ghid pentru Panoul de navigare.

  1. Faceți clic pe linia de relație pentru relația pe care doriți să o modificați. Linia de relație apare îngroșată atunci când este selectată.

  2. Faceți dublu clic pe linia de relație.

    - sau -

    În fila Proiectare, în grupul Instrumente, faceți clic pe Editare relații.

    Se afișează caseta de dialog Editare relații.

  3. Faceți clic pe Tip asociere.

  4. În caseta de dialog Proprietăți asociere, faceți clic pe opțiunea dorită, și apoi clic pe OK.

    Casetă de dialog Proprietăți asociere

  5. Efectuați modificările suplimentare pentru relație, apoi faceți clic pe OK.

Începutul paginii

Impunerea integrității referențiale

Scopul integrității referențiale este de a împiedica apariția înregistrărilor solitare și de a păstra sincronizate referințele, astfel încât să nu aveți înregistrări care se referă la alte înregistrări care nu mai există. Integritatea referențială se impune prin activarea sa pentru o relație între tabele. După impunere, Access respinge orice operațiune care ar încălca integritatea referențială pentru acea relație între tabele. Access respinge actualizările care modifică ținta unei referințe și ștergerea care elimină ținta unei referințe. Pentru ca Access să propage actualizările și ștergerile referențiale astfel încât toate rândurile înrudite să se modifice în concordanță, consultați secțiunea Setarea opțiunilor de tip cascadă.

Activarea sau dezactivarea integrității referențiale

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. În fila Instrumente bază de date, în grupulAfișare/Ascundere, faceți clic pe Relații.

Se afișează fereastra Relații.

Dacă nu ați definit încă nicio relație și este prima oară când deschideți fereastra Relații, se afișează caseta de dialog Afișare tabel. Dacă se afișează, faceți clic pe Închidere.

  1. În fila Proiectare, în grupul Relații, faceți clic pe Toate relațiile.

Se afișează toate tabelele cu relații, afișând liniile de relație. Rețineți că tabelele ascunse (tabelele pentru care este bifată caseta de selectare Ascuns din caseta de dialog Proprietăți) și relațiile lor nu se vor afișa decât dacă este bifată caseta de selectare Afișare obiecte ascunse în caseta de dialog Opțiuni de navigare.

Pentru mai multe informații despre opțiunea Afișare obiecte ascunse, consultați articolul Ghid pentru Panoul de navigare.

  1. Faceți clic pe linia de relație pentru relația pe care doriți să o modificați. Linia de relație apare îngroșată atunci când este selectată.

  2. Faceți dublu clic pe linia de relație.

    - sau -

    În fila Proiectare, în grupul Instrumente, faceți clic pe Editare relații.

    Se afișează caseta de dialog Editare relații.

  3. Bifați caseta de selectare Impunere integritate referențială.

  4. Efectuați modificările suplimentare pentru relație, apoi faceți clic pe OK.

După ce ați impus integritatea referențială, se aplică următoarele reguli:

  • Nu se poate introduce o valoare în câmpul cheii externe a unui tabel asociat dacă acea valoare nu există în câmpul cheii primare din tabelul primar — o astfel de operațiune ar crea o înregistrare solitară.

  • Nu se poate șterge o înregistrare dintr-un tabel primar dacă există înregistrări care se potrivesc în tabelul asociat. De exemplu, nu se poate șterge înregistrarea unui angajat din tabelul Angajați dacă există comenzi atribuite acestuia în tabelul Comenzi. Cu toate acestea, se poate selecta ștergerea unei înregistrări primare și a tuturor înregistrărilor asociate într-o singură operațiune, prin bifarea casetei de selectare Ștergere în cascadă câmpuri corelate.

  • Nu se poate modifica o valoare de cheie primară în tabelul primar dacă acest lucru creează înregistrări solitare. De exemplu, nu se poate modifica numărul 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ă și toate înregistrările asociate într-o operațiune, prin bifarea casetei de selectare Actualizare în cascadă câmpuri corelate.

    Note : Dacă întâmpinați dificultăți în activarea integrității referențiale, rețineți că sunt necesare următoarele condiții pentru a impune integritatea referențială:

    • Câmpul comun din tabelul primar trebuie să fie cheie primară sau să aibă un index unic.

    • Câmpurile comune trebuie să aibă același tip de date. Singura excepție este în cazul unui câmp AutoNumerotare, care poate fi asociat unui câmp Număr care are proprietatea Dimensiune câmp setată la Întreg lung.

    • Ambele tabele există în aceeași bază de date Access. Integritatea referențială nu poate fi impusă pentru tabelele legate. Cu toate acestea, dacă tabelele sursă se află în format Access, aveți posibilitatea să deschideți baza de date în care sunt stocate și să activați integritatea referențială în acea bază de date.

Setarea opțiunilor de tip cascadă

Este posibil să întâlniți o situație în care există nevoia justificată de a modifica valoarea în partea "unu" a relației. În acest caz, aveți nevoie ca Access să actualizeze automat, într-o singură operațiune. Actualizarea este efectuată complet, astfel că baza de date nu poate rămâne inconsistentă - cu unele rânduri actualizate și altele nu. Access previne apariția acestei probleme prin opțiunea Actualizare în cascadă câmpuri corelate. Când impuneți integritatea referențială și selectați opțiunea Actualizare în cascadă câmpuri corelate, apoi actualizați apoi o cheie primară, Access actualizează automat toate cu referință la cheia primară

Este posibil să fie necesară ștergerea unui rând și a tuturor înregistrărilor corelate — de exemplu, o înregistrare a unui expeditor și toate înregistrările corelate acelui expeditor. Din acest motiv, Access deține opțiunea Ștergere în cascadă câmpuri corelate. Când impuneți integritatea referențială și bifați caseta de selectare Ștergere în cascadă câmpuri corelate, Access șterge automat toate înregistrările cu referință la cheia primară atunci când ștergeți înregistrarea care conține cheia primară.

Activarea sau dezactivarea actualizării și/sau ștergerii în cascadă

  1. Faceți clic pe butonul Microsoft Office Imagine buton Office , apoi pe Deschidere.

  2. În caseta de dialog Deschidere, selectați și deschideți baza de date.

  3. În fila Instrumente bază de date, în grupulAfișare/Ascundere, faceți clic pe Relații.

Se afișează fereastra Relații.

Dacă nu ați definit încă nicio relație și este prima oară când deschideți fereastra Relații, se afișează caseta de dialog Afișare tabel. Dacă se afișează, faceți clic pe Închidere.

  1. În fila Proiectare, în grupul Relații, faceți clic pe Toate relațiile.

Se afișează toate tabelele cu relații, afișând liniile de relație. Rețineți că tabelele ascunse (tabelele pentru care este bifată caseta de selectare Ascuns din caseta de dialog Proprietăți) și relațiile lor nu se vor afișa decât dacă este bifată caseta de selectare Afișare obiecte ascunse în caseta de dialog Opțiuni de navigare.

Pentru mai multe informații despre opțiunea Afișare obiecte ascunse, consultați Ghid pentru Panoul de navigare.

  1. Faceți clic pe linia de relație pentru relația pe care doriți să o modificați. Linia de relație apare îngroșată atunci când este selectată.

  2. Faceți dublu clic pe linia de relație.

    - sau -

    În fila Proiectare, în grupul Instrumente, faceți clic pe Editare relații.

    Se afișează caseta de dialog Editare relații.

  3. Bifați caseta de selectare Impunere integritate referențială.

  4. Bifați caseta de selectare Actualizare în cascadă câmpuri corelate, caseta de selectare Ștergere în cascadă câmpuri corelate, sau ambele.

  5. Efectuați modificările suplimentare pentru relație, apoi faceți clic pe OK.

Notă : Dacă cheia primară este un câmp AutoNumerotare, bifarea casetei de selectare Actualizare în cascadă a câmpurilor corelate nu va avea efect, deoarece valoarea dintr-un câmp AutoNumerotare nu se poate modifica.

Începutul paginii

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă utilizatorilor Office Insider

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×