Office
Conectare

Ghid pentru relațiile între tabele

Notă: Dorim să vă oferim cel mai recent conținut de ajutor, cât mai rapid posibil, în limba dvs. Această pagină a fost tradusă automatizat și poate conține erori gramaticale sau inexactități. Scopul nostru este ca acest conținut să vă fie util. Vă rugăm să ne spuneți dacă informațiile v-au fost utile, în partea de jos a acestei pagini. Aici se află articolul în limba engleză, ca să îl puteți consulta cu ușurință.

Unul dintre obiectivele proiectului bazei de date bună este să eliminați redundanţa datelor (datele dublate). Pentru a atinge acest obiectiv, împărțiți datele în mai multe tabele bazate pe subiect astfel încât fiecare fapt este reprezentat o singură dată. Este apoi furnizați acces înseamnă după care să aducă informațiile scindate înapoi împreună, puteți face acest lucru, plasând câmpuri comune din tabele asociate. Pentru a efectua acest pas corect, cu toate acestea, trebuie să înțelegeți mai întâi relații între tabele, și apoi specificați aceste relații din baza de date.

Pentru mai multe informații, consultați articolul de bază de proiectare baza de date.

Acest articol nu tratează relații într-o bază de date web. Bazele de date Web nu acceptă fereastra Relații. Utilizați câmpurile de căutare pentru a crea relații într-o bază de date web. Pentru mai multe informații, consultați articolul construirea unei baze de date pentru partajare pe Web.

Î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 între tabele

Ștergerea unei relații între tabele

Modificarea unei relații între tabele

Impunerea integrității referențiale

Introducere

După ce ați creat un tabel pentru fiecare subiect din baza de date, trebuie să furnizați acces cu mediile după care să aducă acele informații înapoi împreună din nou atunci când este necesar. Puteți face acest lucru, plasând câmpuri comune din tabelele corelate și prin definirea relații între tabele. Apoi puteți crea interogări, formulare și rapoarte care afișează informații din mai multe tabele în același timp. De exemplu, formular afișat aici include informații de desenat 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 Data comenzii provin din tabelul Comenzi, Nume produs provine 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 între tabele 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 străină în celălalt tabel. De exemplu, angajații pot fi asociați cu comenzile pentru care sunt responsabili prin crearea unei relații între tabele între câmpurile ID angajat din tabelul Angajați și tabelul Comenzi.

ID angajat utilizat sub formă de cheie primară în tabelul Angajați și cheie străină în tabelul Comenzi.

1. ID angajat apare în ambele tabele sub formă de cheie primară... 

2. ... și cheie străină.

Începutul paginii

Tipuri de relații între tabele

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

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

    Luați în considerare o urmărire baza de date care include un tabel clienți și un tabel de comenzi de comandă. Un client puteți amplasa un alt număr de comenzi. Prin urmare, că pentru orice client reprezentat în tabelul clienți, poate fi mai multe comenzi reprezentat în tabelul Comenzi. Relație între tabelul clienți și tabelul Comenzi este, prin urmare, o relație unu-la-mai-mulți.

    Pentru a reprezenta o relație unu-la-mai-mulți în proiectul bazei de date, luați cheii primare din partea "unu" a relației și adăugați-l ca un câmp suplimentar sau câmpuri la tabelul din partea "mulți" a relației. În acest caz, de exemplu, adăugați un câmp nou-câmpul ID din tabelul clienți, la comenzi tabel și denumiți-l ID client. Acces apoi să utilizați număr ID client în tabelul Comenzi pentru a găsi clientul corectă pentru fiecare comandă.

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

    Luați în considerare relația dintre un tabel de produse și un tabel de comenzi. O singură ordine pot include mai multe produse. Pe de altă parte, un singur produs să apară pe mai multe comenzi. Prin urmare, pentru fiecare înregistrare din tabelul Comenzi, poate fi 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 se numește o relație mai mulți-la-mai-mulți, deoarece, pentru orice produs, pot exista mai multe comenzi și, pentru orice ordine, poate fi mai multe produse. Rețineți că pentru a detecta existente mai mulți-la-mai-mulți relații între tabele, este important să vă 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 joncțiune, 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, sau instanță, din 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 produs poate apărea în mai multe comenzi.

  • O relație unu-la-unu

    Într-o relație unu-la-, fiecare înregistrare din primul tabel poate avea o singură înregistrare corespondentă din al doilea tabel și fiecare înregistrare din al doilea tabel poate avea o singură înregistrare corespondentă din primul tabel. Acest tip de relații nu este comune, deoarece, cel mai des, informațiile legate în acest fel este stocat în același tabel. Puteți utiliza o relație unu-la-pentru a împărți un tabel cu mai multe câmpuri pentru a izola parte dintr-un tabel motive de securitate, sau pentru a stoca informații care se aplică doar pentru un subset din tabelul principal. Atunci când identificați cum ar fi o relație, ambele tabele trebuie să partajați un câmp comune.

Î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 prin glisarea unui câmp din panoul Listă de câmpuri . Access utilizează relațiile între tabele să știți cum să vă asociați la tabele, atunci când trebuie să le utilizați într-un obiect de bază de date. Există mai multe motive de ce ar trebui să creați relații între tabele înainte de a crea alte obiecte de bază de date, cum ar fi formulare, interogări și rapoarte.

  • Relațiile între tabele oferă informații proiectelor de interogare

    Pentru a lucra cu înregistrările din mai multe tabele, adesea trebuie să creați o interogare care asociază tabele. Interogarea funcționează de potrivire valorile din primul tabel cu un câmp cheie străină din al doilea tabel câmp cheie primară. De exemplu, pentru a returna rânduri care listează toate comenzile pentru fiecare client, vă construiți o interogare care asociază tabelul clienți cu tabelul Orders bazează pe câmpul ID client. În fereastra Relații, puteți specifica manual câmpuri să se asocieze. Cu toate acestea, dacă aveți deja o relație definită între tabele, Access furnizează asociere în mod implicit, bazat pe existente relații între tabele. În plus, dacă utilizați unul dintre experții interogarea, Access utilizează informațiile se colectează din relațiile de tabel deja ați definit pentru a vă prezenta cu alegeri informate și să complet setările proprietății cu valori implicite corespunzătoare.

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

    Când proiectați un formular sau raport, Access utilizează informațiile se colectează din relațiile de tabel deja ați definit pentru a vă prezenta cu alegeri informate și să complet setările proprietății cu valori implicite corespunzătoare.

  • 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, puteți împărți informațiilor în tabele, fiecare dintre care are o cheie primară. Apoi adăugați chei externe la tabelele asociate care fac referire la acele chei primare. Aceste străine cheie primară cheie asocierilor forma baza pentru relații între tabele și interogări cu mai multe tabele. Este important, prin urmare, că aceste străine cheie primară cheie referințe rămâne sincronizate. Integritatea referențială vă ajută să asigurați care face referire Rămâneți sincronizat și este dependentă de relații între tabele.

Începutul paginii

Despre integritatea referențială

Când proiectați o bază de date, puteți împărți informațiilor în mai multe tabele bazate pe subiect pentru a minimiza redundanţa datelor. Apoi vă oferă acces cu mediile după care să aducă datele înapoi împreună, plasând câmpuri comune în tabele asociate. De exemplu, pentru a reprezenta o relație unu-la-mai-mulți care ia cheia primară din tabelul "unu" și adăugați-l ca un câmp suplimentar la tabelul "mulți". Pentru a aduce datele înapoi împreună, Access ia valoarea din tabelul "mulți" și caută valoarea corespunzătoare din tabelul "unu". În acest fel valorile din tabelul "mulți" fac referire la valorile corespunzătoare 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ă.

Impuneți integritatea referențială activând pentru unei relații între tabele (consultați Impuneți integritatea referențială pentru instrucțiuni pas cu pas). După ce impuse, Access respinge toate operațiunile care ar încalcă integritatea referențială pentru acea relații între tabele. Acest lucru înseamnă că Access va respinge ambele actualizări care se modifică țintă de o referință și ștergeri care eliminați țintă dintr-o referință. Cu toate acestea, este posibil să aveți nevoie perfect valide pentru a schimba cheia primară pentru un expeditor care are comenzi în tabelul Comenzi. Pentru aceste cazuri, ceea ce trebuie este pentru Access pentru a actualiza automat toate rândurile efectuate ca parte dintr-o singură operațiune. În acest fel, Access asigură că actualizarea se termină în întregime, pentru că baza de date nu este lăsat într-o stare inconsistentă cu unele rânduri actualizate și unele nu. Din acest motiv Access acceptă opțiunea de actualizare în cascadă câmpuri corelate. Atunci când impune integritatea referențială și alegeți opțiunea de actualizare în cascadă câmpuri corelate, și 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 valide pentru a șterge un rând și toate înregistrările asociate — de exemplu, o înregistrare expeditor și comenzile toate asociate pentru acel expeditor. Din acest motiv, Access acceptă opțiunea de ștergere în cascadă șterge înregistrările asociate. Atunci când vă impune integritatea referențială și alegeți opțiunea de ștergere în cascadă șterge înregistrările asociate și apoi ștergeți o înregistrare din partea de cheie primară a relației, Access șterge automat toate înregistrările care fac referire la cheia primară.

Începutul paginii

Vizualizarea relațiilor între tabele

Pentru a vizualiza de relații între tabele, faceți clic pe relații din fila Instrumente bază de date . Fereastra relații se deschide și afișează toate relațiile existente. Dacă fără relații între tabele încă au fost definite și îl deschideți fereastra Relații pentru prima dată, Access vă solicită să adăugați un tabel sau o interogare pentru a ferestrei.

Deschiderea ferestrei Relații

  1. În fila Fișier, faceți clic pe Deschidere.

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

  3. În fila Instrumente bază de date, în grupul Relații, faceți clic pe Relații.

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

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

    Astfel se afișează toate relațiile definite în baza de date. Rețineți că tabelele ascunse (tabele pentru care caseta de selectare ascuns din tabel Proprietăți caseta de dialog este selectată) și relațiile dintre acestea nu se va afișa dacă nu este bifată caseta de selectare Afișare obiecte ascunse în navigare Opțiuni caseta de dialog.

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 ambele capete. În plus, numărul 1 apare 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ă:

În fila Proiect, î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 ascunse.

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

  • Afișare tabel    Deschide caseta de dialog Afișare tabel pentru a fi posibilă selectarea de 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 î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 obiecte ascunse în caseta de dialog Opțiuni de navigare.

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

Începutul paginii

Crearea unei relații între tabele

Aveți posibilitatea să creați o relație între tabele 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. Mai degrabă, aceste câmpurile trebuie să aibă același tip de date. Însă, dacă un câmp cheie primară este un câmp Numerotare automată, câmpul cheie străină poate fi un câmp Număr, dacă proprietatea Dimensiune câmp a ambelor câmpuri este aceeași. De exemplu, se poate potrivi un câmp Numerotare automată 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 între tabele utilizând fereastra Relații

  1. În fila Fișier, faceți clic pe Deschidere.

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

  3. În fila Instrumente bază de date, în grupul Relații, faceți clic pe Relații.

  4. Dacă nu ați definit încă nicio relație, caseta de dialog Afișare tabel apare automat. Dacă nu apare, în fila Proiect, î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.

  1. Selectați unul 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.

  2. Glisați un câmp (de obicei, cheia primară) dintr-un tabel în câmpul comun (cheia străină) 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.

Apare caseta de dialog Editare relații.

  1. 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 un câmp nou 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țiunile Despre integritatea referențialăImpunerea integrității referențiale

  1. 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 ambele capete. De asemenea, numai dacă ați bifat caseta de selectare Impunere integritate referențială, apare numărul 1 deasupra porțiunii îngroșate într-o parte a liniei de relație și simbolul infinit () apare deasupra porțiunii îngroșate a liniei în cealaltă parte.

    Note: 

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

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

Crearea unei relații între tabele utilizând panoul Listă de câmpuri

Puteți 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âmpuri disponibile în tabelele corelate și, de asemenea, câmpuri disponibile în alte tabele. Atunci când glisați un câmp dintr-un tabel "altele" (necorelate) și apoi Finalizați expertul Căutare, se creează automat o relație unu-la-mai-mulți nouă între tabelul din panoul Listă de câmpuri și tabelul la care ați glisat câmpul. Această relație, create de acces, nu impune integritatea referențială în mod implicit. Pentru a impune integritatea referențială, trebuie să editați relația. Consultați secțiunea modificarea unei relații între tabele pentru mai multe informații.

Deschiderea unui tabel în Vizualizarea foaie de date

  1. În fila Fișier, faceți clic 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 căruia doriți să-i adăugați câmpul și creați relația, apoi faceți clic pe Deschidere.

Deschiderea panoului Listă de câmpuri

  • Apăsați ALT+F8.

    Apare panoul Listă de câmpuri.

Listă de câmpuri panoul afișează toate celelalte tabelele din baza de date, grupate în categorii. Atunci când lucrați cu un tabel în vizualizarea foaie de date, Access afișează câmpurile în oricare dintre două categorii în panoul Listă de câmpuri : câmpuri disponibile în tabelele corelate și câmpuri disponibile în alte tabele. Prima categorie listează toate tabelele care au o relație cu care lucrați în prezent cu tabelul. A doua categorie listează toate tabelele cu care tabel 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. În panoul Listă de câmpuri, sub Câmpuri disponibile în alte tabele, faceți clic pe semnul plus (+) de lângă numele unui tabel pentru a afișa lista de câmpuri din acel tabel.

  2. Glisați câmpul dorit din panoul Listă de câmpuri în tabelul deschis în Vizualizarea foaie de date.

  3. Când apare linia de inserare, fixați câmpul în poziție.

    Porniți Expertul Căutare.

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

    Câmpul apare în tabel în Vizualizarea foaie de date.

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

Începutul paginii

Ștergerea unei relații între tabele

Pentru a elimina o relație de tabel, trebuie să ștergeți linia de relație în fereastra Relații. Poziționați cu grijă cursorul astfel încât să indice în linia de relație și apoi faceți clic pe linie. Pe linia de relație apare îngroșată atunci când este selectată. Selectat linia relației, apăsați pe DELETE. Rețineți că, atunci când eliminați o relație, puteți, de asemenea, eliminați asistență integritatea referențială pentru această relație, dacă este activat. Prin urmare, Access va preveni nu mai automat la crearea de înregistrări orfan din partea "mulți" dintr-o relație.

  1. În fila Instrumente bază de date, în grupul Relații, faceți clic pe Relații.

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

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

Toate tabelele cu relații sunt afișate, arătând liniile relației.

  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.

  1. Este posibil ca Access să afișeze mesajul Ștergeți permanent relațiile selectate din baza de date?. Dacă apare acest mesaj de confirmare, 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 toate obiectele deschise care utilizează tabelele.

Începutul paginii

Modificarea unei relații între tabele

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 spre 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ții în grupul Instrumente în fila Proiect. Apare caseta de dialog Editare relații.

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

  1. În fila Instrumente bază de date, în grupul Relații, faceți clic pe Relații.

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

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

  • Toate tabelele cu relații sunt afișate, arătând liniile relației.

  • 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ă.

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

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

    Caseta de dialog Editare relații permite modificarea unei relații între tabele. 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 în 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 în cascadă, consultați secțiunea Impunerea integrității referențiale.

Setarea tipului de asociere

Când definiți o relație de tabel, aspecte despre relația oferă informații proiectelor de interogare. De exemplu, dacă definiți o relație între două tabele și apoi creați o interogare care utilizează între cele două tabele, Access selectează automat implicit potrivire câmpuri bazat pe câmpurile specificat în relație. Puteți să Suprascrieți aceste valori inițiale implicite în interogare, dar valori furnizate de relația va demonstra des să fie cele corecte. Deoarece potrivire și împreună a importa date din mai multe tabele este ceva ce se va face frecvent în toate, dar bazele de date cea mai simplă, setarea valorilor implicite pentru creând relații poate fi timp salvarea și benefic.

O interogare pentru mai multe tabele combină informațiile din mai multe tabele prin potrivirea valorilor din câmpurile comune. Operațiunea care efectuează potrivirea și combinarea este denumită 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 despre client și cele de comandă numai pentru acele rânduri unde s-a găsit o potrivire.

Unul dintre valorile pe care aveți posibilitatea să specificați pentru fiecare relație este tipul de asociere. Tipul de asociere spune Access ce înregistrări se includ într-un rezultat de interogare. De exemplu, luați în considerare din nou o interogare care asociază tabelul clienți și tabelul Orders în câmpurile comune care reprezintă client ID. Utilizați tipul implicit de asociere (numit o asociere internă), interogarea returnează numai rândurile client și rândurile ordinea în care 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 pe 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 în fereastra 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.

    Apare caseta de dialog Proprietăți asociere.

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

Tabelul următor (utilizând tabelul clienți și comenzi) afișează trei opțiuni care sunt afișate în caseta de dialog Proprietăți unire , tipul de asociere pe care le utilizează, și dacă toate rândurile sau rândurile care se potrivesc sunt incluse pentru fiecare tabel.

Opțiune

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ă spre partea relației care afișează numai rândurile care se potrivesc.

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

  1. În fila Instrumente bază de date, în grupul Relații, faceți clic pe Relații.

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

  • Î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

  • 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ă.

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

Apare caseta de dialog Editare relații.

  1. Faceți clic pe tipul de asociere

  2. În caseta de dialog Proprietăți asociere, faceți clic pe o opțiune, apoi pe OK.

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

Începutul paginii

Impunerea integrității referențiale

Scopul utilizării integrității referențiale este pentru a împiedica orfan înregistrări și să păstrați referințe sincronizate astfel încât să nu aveți orice înregistrări care fac referire la alte înregistrări care nu mai există. Impunerea integrității referențiale activând pentru unei relații între tabele. După ce impuse, Access respinge toate operațiunile care ar încalcă integritatea referențială pentru acea relații între tabele. Acces respinge actualizări care se modifică țintă de o referință și ștergeri care eliminați țintă dintr-o referință. Pentru a avea acces propaga referențială actualizări și ștergeri, astfel încât toate rândurile corelate se modifică în mod corespunzător, consultați secțiunea Setați opțiunile de ștergere în cascadă.

Activarea sau dezactivarea integrității referențiale

  1. În fereastra Relații, 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.

Apare caseta de dialog Editare relații.

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

  2. 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 cheie străină a unui tabel asociat dacă acea valoare nu există în câmpul cheie primară din tabelul primar; o astfel de operațiune ar crea înregistrări solitare.

  • 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 alege ș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 puteți modifica o valoare de cheie primară din tabelul primar dacă faceți Deci ar crearea de înregistrări orfan. De exemplu, nu puteți modifica un număr de comandă din tabelul Orders dacă există elemente linie atribuite acea ordine în tabelul Detalii comenzi. Cu toate acestea, puteți alegeți să actualizați un principale înregistrare și toate înregistrările asociate într-o operație, bifând caseta 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 Numerotare automată, care poate fi asociat unui câmp Număr care are proprietatea Dimensiune câmp setată la Întreg lung.

    • Ambele tabele trebuie să existe în aceeași bază de date Access. Integritatea referențială nu poate fi executată pe tabele legate. Cu toate acestea, dacă tabelul sursă în Access format, puteți să deschideți baza de date în care acestea sunt stocate și activarea integrității referențiale în acea bază de date.

Setarea opțiunilor de tip cascadă

Puteți întâlni o situația în care aveți nevoie valide pentru a modifica valoarea din partea "unu" dintr-o relație. În acest caz, trebuie Access pentru a actualiza automat toate rândurile efectuate ca parte dintr-o singură operațiune. În acest fel, actualizarea se termină în întregime, astfel încât baza de date nu este lăsat într-o stare inconsistentă-cu unele rânduri actualizate și unele nu. Access vă ajută să evitați această problemă de suport pe opțiunea de actualizare în cascadă câmpuri corelate. Atunci când impune integritatea referențială și alegeți opțiunea de actualizare în cascadă câmpuri corelate, și apoi actualizați o cheie primară, Access actualizează automat toate câmpurile care fac referire la cheia primară.

De asemenea, poate fi necesar pentru a șterge un rând și toate înregistrările asociate — de exemplu, o înregistrare expeditor și comenzile toate asociate pentru acel expeditor. Din acest motiv, Access acceptă opțiunea de ștergere în cascadă șterge înregistrările asociate. Atunci când impune integritatea referențială și alegeți opțiunea de ștergere în cascadă șterge înregistrările asociate, Access șterge automat toate înregistrările care fac referire 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. În fereastra Relații, 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.

Apare caseta de dialog Editare relații.

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

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

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

Notă: În cazul în care cheia primară este un câmp Numerotare automată, bifarea casetei de selectare Actualizare în cascadă câmpuri corelate nu va avea efect, deoarece valoarea dintr-un câmp Numerotare automată nu se poate modifica.

Începutul paginii

Extindeți-vă competențele Office
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.

×