Video: Introducere în relațiile între tabele

Se aplică la
Access pentru Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Încercați!

Puterea unei baze de date relaționale constă în combinarea datelor din tabele. Pentru a face acest lucru, trebuie mai întâi să stabiliți relații între tabele. Apoi, treceți Access la lucru pentru a combina datele din interogări, formulare și rapoarte.

Pentru a vedea toate relațiile existente definite pentru o bază de date, deschideți un șablon Access, accesați fila Instrumente bază de date și selectați Relații.

Notă

Dacă deschideți o bază de date necompletată sau nu ați definit nicio relație între tabele, Access vă solicită să adăugați un tabel sau o interogare. Înainte să adăugați o relație, aveți nevoie de cel puțin două tabele. În mod ideal, construiți mai întâi toate tabelele. Pentru a afla mai multe, consultați Crearea relațiilor cu Expertul căutare și Crearea relațiilor cu panoul Relații.

Înțelegerea vizualizării Relații

Liniile din vizualizarea Relații indică conexiunile dintre tabele. În imaginea următoare, tabelul din stânga este tabelul părinte. Tabelul din partea dreaptă este tabelul fiu. Linia dintre ele conectează câmpurile (în acest caz, ID comandă și ID produs) utilizate pentru potrivirea datelor.

Relațiile sunt afișate prin linii trasate între câmpurile părinte și fiu. Liniile și simbolurile vă arată cum sunt asociate tabelele dvs.:

  • O linie de conectare groasă înseamnă că impuneți integritatea datelor referențiale. Asta e bine. Vă menține datele sincronizate.
  • În ilustrația noastră, numărul 1 indică faptul că poate exista o singură înregistrare care se potrivește în acel tabel. În tabelul Comenzi afișat aici, o singură înregistrare corespunde fiecărei comenzi.
  • Simbolul ∞ indică faptul că multe înregistrări pot include același ID. În tabelul Detalii comandă afișat aici, o comandă (indicată de ID-ul său de comandă) poate apărea de mai multe ori, deoarece aceeași comandă poate include mai multe produse.

Tipuri de relații între tabele

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

  • Unu-la-unu. Când fiecare element din fiecare tabel apare o singură dată. De exemplu, fiecare angajat poate avea doar o mașină de firmă de utilizat. Pentru mai multe informații, consultați Crearea relațiilor unu-la-unu.
  • unu-la-mai-mulți. Atunci când un element dintr-un tabel poate avea o relație cu mai multe elemente din alt tabel. De exemplu, fiecare comandă de achiziție poate include mai multe produse.
  • Mai-mulți-la-mai-mulți. Atunci când unul sau mai multe elemente dintr-un tabel pot avea o relație cu unul sau mai multe elemente din alt tabel. De exemplu, fiecare comandă poate avea mai multe produse și fiecare produs poate apărea în mai multe comenzi. Pentru a afla mai multe, consultați Crearea relațiilor de tip mai mulți-la-mai mulți.

Relații unu-la-mai-mulți

Una dintre cele mai comune relații între tabelele din bazele de date bine proiectate este relația unu-la-mai-mulți.

Relațiile dintre tabele se bazează în mod normal pe cheia primară dintr-un tabel. Rețineți că cheia primară este un identificator unic (adesea numeric) pentru fiecare înregistrare. Pentru a arăta că informațiile din două tabele diferite sunt asociate, de obicei creați o relație utilizând cheia primară dintr-unul dintre tabele.

În relația afișată aici, de exemplu, fiecare persoană din tabelul Persoane de contact are un ID, care este cheia primară (indicată de simbolul cheie de lângă aceasta). Acest ID apare și în câmpul Proprietar din tabelul Active. Pentru a trimite un e-mail persoanei asociate unui activ, obțineți valoarea din câmpul Adresă de e-mail. Pentru a face acest lucru, căutați valoarea în câmpul Proprietar al tabelului Active, apoi căutați ID-ul respectiv în tabelul Persoane de contact. Numărul 1 la un capăt al liniei de conectare și simbolul ∞ la celălalt capăt indică faptul că aceasta este o relație unu-la-mai-mulți, astfel că o persoană de contact poate fi asociată cu mai multe active.

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

Editarea unei relații

Dacă modificați o bază de date existentă sau ați creat baza de date dintr-un șablon, puteți să editați relațiile existente pentru a vă îndeplini cerințele.

Notă

Dacă tabelele cu care doriți să lucrați sunt în uz, trebuie întâi să le închideți, împreună cu toate obiectele deschise care le utilizează.

  1. SelectațiRelațiicu Instrumente> bază de date.

  2. Selectați linia care conectează două tabele asociate.

    Sfat

    Dacă nu vedeți relația dorită, în fila Proiectare , în grupul Relații , selectați Toate relațiile.

  3. On the Design tab, select Edit Relationships.

    Editarea unei relații existente între tabele

    Tabel/Interogare este tabelul părinte din stânga (în acest exemplu, Clienți).
    Tabel/Interogare asociat este tabelul fiu (în acest exemplu, Comenzi).
    Chiar dacă tabelele nu apar în această ordine în vizualizarea Relații, amplasarea lor în caseta de dialog indică direcția liniei care le conectează la ele și relație. Acest lucru este important dacă, de exemplu, este o relație unu-la-mai-mulți, deoarece indică faptul că tabelul din stânga este numărul unu (tabelul părinte), iar tabelul din dreapta este numărul (tabelul fiu).

  4. Pentru a modifica câmpurile care conectează tabelele, selectați un alt câmp sub fiecare tabel afișat. În acest exemplu, câmpul ID din tabelul Clienți se conectează la câmpul ID client din tabelul Comenzi.

  5. Modificați modul în care Access sincronizează datele între tabele.

    Impunerea integrității referențiale Pentru a împiedica apariția datelor nevalide și a păstra sincronizate referințele între relațiile dintre tabele, selectați această opțiune.
    De exemplu, să presupunem că aveți o relație unu-la-unu între tabelele Angajați și Beneficii pentru angajați. Dacă un angajat pleacă din firmă și îl eliminați din tabelul Angajați, înregistrarea asociată a angajatului din tabelul Beneficii pentru angajați se elimină, de asemenea.
    Uneori, impunerea integrității referențiale nu are sens. De exemplu, să presupunem că aveți o relație unu-la-mai-mulți între Expeditori și Comenzi. Ștergeți un expeditor și acesta se mapează la comenzile din tabelul Comenzi. Aceste comenzi devin solitare, ceea ce înseamnă că conțin încă un ID de expeditor, dar ID-ul nu mai este valid, deoarece înregistrarea la care face referire nu mai există.
    Actualizare în cascadă câmpuri corelate Pentru a vă asigura că datele din câmpurile asociate sunt actualizate în toate tabelele asociate, selectați această opțiune.
    De exemplu, să presupunem că doriți pur și simplu să modificați ID-ul unui expeditor. Setarea acestei opțiuni asigură actualizarea ID-ului de expeditor, nu doar în tabelul Expeditor, ci și în orice alte tabele conectate la acesta, care includ și acel ID de expeditor, cum ar fi tabelul Comenzi.
    Ștergerea în cascadă a înregistrărilor corelate Decizia de a selecta această opțiune depinde de necesitatea de a păstra înregistrările din unele tabele, chiar dacă acestea pot fi șterse din alte tabele.
    De exemplu, să presupunem că ștergeți un expeditor. Dacă această opțiune este selectată, Access șterge toate înregistrările din toate tabelele care fac referire la acel ID de expeditor, inclusiv toate comenzile (din tabelul Comenzi) expediate de expeditorul respectiv. Selectați această opțiune doar dacă sunteți sigur că doriți să ștergeți istoricul comenzilor.
  6. Pentru a modifica relația dintre tabele dintr-o asociere internă la o asociere externă, selectați butonul Tip asociere . Pentru mai multe informații, consultați Crearea interogărilor cu asocieri externe.

Ștergerea unei relații între tabele

Notă

Dacă tabelele cu care doriți să lucrați sunt în uz, trebuie întâi să le închideți, împreună cu toate obiectele deschise care le utilizează.

Pentru a elimina o relație tabel:

  1. SelectațiRelațiicu Instrumente> bază de date.

  2. Selectați linia care conectează cele două tabele asociate.

    Sfat

    Dacă nu vedeți relația dorită, în fila Proiectare , în grupul Relații , selectați Toate relațiile.

  3. Selectați tasta Delete. Dacă vi se solicită să verificați că doriți să ștergeți relația, selectați Da.

Notă

Atunci când eliminați o relație, eliminați și suportul de integritate referențială pentru acea relație, dacă există. Prin urmare, Access nu va mai împiedica modificările care generează înregistrări solitare în partea mai mulți a relației unu-la-mai-mulți.

Doriți mai multe informații?

Crearea, editarea sau ștergerea unei relații