În baza de date creată, există o astfel de legătură între tabelele SECȚIUNI și BOOKS, deoarece multe cărți pot aparține aceleiași secțiuni.
În relația "multi-la-multe" a unei înregistrări din tabelul A, mai multe intrări din tabelul B pot corespunde unei singure intrări din tabelul B - mai multe înregistrări din tabelul A. O astfel de schemă este realizată numai cu ajutorul celei de-a treia tabele obligatorii , cheia căruia constă din cel puțin două câmpuri, care sunt câmpurile cheilor primare din tabelele A și B. Tabelele A și B sunt legate de acest tabel printr-o relație unu-la-multe.
De asemenea, relațiile dintre mulți dintre mesele CLI-ENTA și BOOK există deoarece un singur client poate cumpăra mai multe cărți și fiecare carte poate fi achiziționată de clienți diferiți. Această relație este stabilită folosind tabelul PURCHASE, cu care fiecare din cele două tabele este, de asemenea, legat printr-o relație unul-la-multe.
Pentru o relație unu-la-unu, fiecare intrare din tabelul A nu poate avea mai mult de o intrare asociată în Tabelul B și invers. Acest tip de comunicare nu este utilizat foarte des, deoarece astfel de date pot fi plasate într-un singur tabel. O relație one-to-one este utilizată pentru a separa tabele foarte largi, pentru a separa o parte din tabel din motive de securitate și pentru a stoca informații legate de un subset de înregistrări în tabelul principal.
Stabilirea relațiilor
În Microsoft Access, câmpurile de legare nu trebuie să aibă aceleași nume, dar trebuie să aibă aceleași tipuri de date și aceeași semnificație. În plus, câmpurile asociate ale unui tip numeric trebuie să aibă aceeași valoare a proprietății Dimensiune câmp.
Există cerințe speciale pentru legarea câmpului de contor: un singur tip de date corespunzător tipului Counter, aceasta este o lungime numerică întregă. Prin urmare, dacă cheia externă a tabelului de link-uri create pentru implementarea relației multi-multi conține câmpurile contorului tabelelor conectate, ele trebuie să fie descrise în tabelul de link-uri ca Numeric cu dimensiunea unui Integer Long.
Înainte de a putea stabili legături, trebuie să închideți toate mesele deschise. Nu puteți crea sau modifica legături între tabele publice.
Relațiile dintre tabele sunt definite în fereastra Schema de date. Această fereastră poate fi deschisă din fereastra bazei de date făcând clic pe butonul Date Schema din bara de instrumente sau selectând comanda Data Schema din meniul contextual. Meniul de context este afișat prin clic dreapta pe mouse. Dacă nu există legături definite în baza de date, fereastra Adăugare tabelă va fi afișată automat, în care trebuie să selectați tabele sau interogări pentru a le afișa în schema de date.
Dacă această fereastră nu este afișată automat, faceți clic dreapta pe mouse și selectați Adăugați tabel sau faceți clic pe Adăugare tabelă din bara de instrumente.
În fereastra Add Table, selectați tabelul sau interogarea dorită și faceți clic pe Add (Adăugare). Lista câmpurilor din acest tabel apare în partea de sus a ferestrei Schema de date. Astfel de manipulări sunt efectuate pentru fiecare dintre tabele, după care fereastra Add Table trebuie închisă.
Pentru a conecta două tabele, selectați câmpul de taste într-o singură masă și, fără a elibera butonul stâng al mouse-ului, glisați-l în câmpul corespunzător din cel de-al doilea tabel. În caseta de dialog care se deschide, puteți verifica numele câmpurilor din cele două coloane. Dacă este necesar, puteți modifica numele câmpurilor. Pentru a crea un link, faceți clic pe butonul Nou. Pentru fiecare pereche de tabele pe care doriți să le conectați, trebuie să efectuați aceleași acțiuni. În fereastra Schema de date toate legăturile create vor fi afișate, dar tipul acestor link-uri va rămâne nedefinit.
În caseta de dialog Legături, puteți seta mai multe casete de selectare.
Caseta de validare Integritate date nu vă permite să adăugați o înregistrare cu un cod incorect în tabelul de subordonare aflat în partea laterală a relației "multe". De asemenea, accesul nu vă va permite să ștergeți din tabelul "părinte" din partea relației "unu" o intrare pentru care există înregistrări înrudite în tabelul de subordonare.
După ce ați selectat caseta de validare Asigurare integritate, accesul face disponibile încă două casete de selectare: actualizări în cascadă ale prietenilor asociați și ștergerea în cascadă a înregistrărilor conexe. Când este setat primul steguleț, Access va actualiza valorile cheii străine în tabelul copil atunci când se modifică valoarea cheii primare din tabelul părinte. A doua casetă de selectare înseamnă că atunci când ștergeți un rând din tabelul părinte, toate rândurile copil vor fi șterse.
După selectarea casetelor de selectare, se va determina tipul de conexiune și imaginile corespunzătoare vor apărea pe diagramă.
Când fereastra schemelor de date este închisă, pe ecran apare un mesaj dacă doriți să salvați aspectul schemei. Indiferent dacă este salvat sau nu, link-urile create în baza de date vor fi salvate.
Cu ajutorul butonului Ștergeți aspectul, puteți șterge fereastra Schema de date. În acest caz, conexiunile stabilite nu vor fi distruse.
De asemenea, puteți stabili legături între câmpurile non-cheie din tabele. În acest caz, se creează o relație incertă. Accesul creează o linie de asociere între tabele în mod prestabilit, dar condițiile de integritate a datelor nu există și nu există nicio garanție că înregistrările sunt unice în oricare dintre tabele.
Pentru a asocia o tabelă cu ea însăși sau pentru a lega un câmp tabel într-un alt câmp din același tabel, trebuie să adăugați tabelul de două ori. Această situație apare atunci când definiți un câmp cu înlocuirea valorilor din același tabel.