Încercați!
Puterea unei baze de date relaționale constă în combinarea datelor între tabele. Pentru a face acest lucru, trebuie mai întâi să stabiliți relații între tabele. Apoi puneți Access la lucru pentru a combina date în 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 de a adăuga 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 a potrivi datele.
Liniile și simbolurile vă arată cum sunt corelate tabelele:
- O linie de conectare groasă înseamnă că impuneți integritatea datelor referențiale. E bun. 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 se potrivește cu fiecare comandă.
- Simbolul ∞ indică faptul că multe înregistrări pot include același ID. În tabelul Detalii comandă afișat aici, o comandă (indicată prin ID-ul comenzii) 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 o singură mașină de firmă de utilizat. Pentru mai multe informații, consultați Crearea relațiilor unu-la-unu.
- Unu-la-mai-mulți. 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 mai-mulți-la-mai-mulți.
Relații unu-la-mai-mulți
Una dintre cele mai comune relații dintre 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-unul dintre tabele. 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, creați de obicei 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ă acesta). ACEL ID apare și în câmpul Proprietar din tabelul Active. Pentru a trimite un e-mail persoanei asociate cu un 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 Activ, apoi căutați ID-ul respectiv în tabelul Persoane de contact. Numărul 1 de la un capăt al liniei de conectare și simbolul ∞ de 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.
Editarea unei relații
Dacă modificați o bază de date existentă sau dacă ați creat baza de date dintr-un șablon, puteți edita relațiile existente pentru a vă îndeplini cerințele.
Notă
Dacă tabelele cu care doriți să lucrați sunt în uz, trebuie mai întâi să le închideți, împreună cu toate obiectele deschise care le utilizează.
SelectațiRelațiiinstrumente> bază de date.
Selectați linia care conectează două tabele asociate.
Sfat
Dacă nu vedeți relația dorită, pe fila Proiectare , în grupul Relații , selectați Toate relațiile.
Pe fila Proiectare , selectați Editare relații.
Tabel/Interogare este tabelul părinte din stânga (în acest exemplu, Clienți).
Tabel/Interogare corelate este tabelul fiu (în acest exemplu, Comenzi).
Chiar dacă tabelele nu apar în această ordine în vizualizarea Relații, plasarea lor în caseta de dialog indică direcția liniei care le conectează și relația. 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 cel (tabelul părinte) și tabelul din dreapta este numărul mare (tabelul fiu).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.
Modificați modul în care Access sincronizează datele între tabele.
Impunere integritate referențială Pentru a preveni datele nevalide și a menține sincronizate referințele între relațiile între tabele, selectați acest lucru.
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 de angajat asociată din tabelul Beneficii pentru angajați este eliminată, 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 expeditorul respectiv se mapează la comenzile din tabelul Comenzi. Aceste comenzi devin orfane, ceea ce înseamnă că încă conțin 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 aceasta.
De exemplu, să presupunem că doriți pur și simplu să modificați ID-ul unui expeditor. Setarea acestei opțiuni asigură faptul că ID-ul expeditorului este actualizat, nu doar în tabelul Expeditor, ci și în orice alte tabele conectate la acesta, care includ, de asemenea, ID-ul expeditorului, cum ar fi tabelul Comenzi.Ștergere în cascadă înregistrări corelate Decizia de a selecta acest lucru 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 acel expeditor. Selectați această opțiune doar dacă sunteți sigur că doriți să fie șters istoricul comenzilor.Pentru a modifica relația dintre tabele dintr-o unire internă într-o asociere externă, selectați butonul Tip asociere . Pentru mai multe informații, consultați Crearea interogărilor cu uniri externe.
Ștergerea unei relații între tabele
Notă
Dacă tabelele cu care doriți să lucrați sunt în uz, trebuie mai întâi să le închideți, împreună cu toate obiectele deschise care le utilizează.
Pentru a elimina o relație între tabele:
SelectațiRelațiiinstrumente> bază de date.
Selectați linia care conectează cele două tabele asociate.
Sfat
Dacă nu vedeți relația dorită, pe fila Proiectare , în grupul Relații , selectați Toate relațiile.
Selectați tasta Delete. Dacă vi se solicită să verificați dacă 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 au ca rezultat înregistrări solitare în partea mai-mulți a unei relații unu-la-mai-mulți.