RELATIILE DINTRE TABELELE BAZEI DE DATE





RELATIILE DINTRE TABELELE BAZEI DE DATE



In componenta unei baze de date pot exista mai multe tabele, structurate dupa subiecte clar definite. Insa, in momentul in care doriti sa prelucrati baza de date, mai precis sa realizati interogari, formulare si rapoarte, aveti nevoie de informatii care vor proveni simultan din mai multe tabele. Acest lucru se poate realiza numai prin stabilirea unor relatii intre tabelele bazei de date.



Stabilirea relatiilor dintre tabele. Pentru definirea relatilor intre tabele selectati butonul Relationships sau din meniul principal optiunile Tools/ Relationships. In urma acestei operatii sunt afisate 2 ferestre:

Relationships si

Show Tables (este afisata implicit daca nu au fost stabilite relatiile intre tabele)

Din ultima fereastra selectati pe rand numele fiecarei tabele si de fiecare data butonul Add. In fereastra                              Fig. 1

Relationships vor fi afisate numele tabelelor, dar si campurile acestora.

Pentru crearea unei relatii se trage cu mouse-ul numele campului cheie primara (din tabelei primar), peste numele campului asociat (cheia externa din tabelul subordonat). In urma acestor operatii este afisata o noua fereastra numita Edit Relationships (fig.2).

In coloana stanga a ferestrei este afisat numele tabelei primare si al cheii primare, iar in coloana dreapta numele tabelului asociat si al cheii externe.

Integritatea referentiala. Daca este necesar, se configureaza optiunile de asociere suplimentare prin selectarea:

optiunii Enforce Referential Integrity sau a

butonului Join Type.

Fig. 2

Prin selectarea optiunii Enforce Referential Integrity se asigura urmatoarele:

in campul cheie externa a tabelei asociate pot fi introduse numai valorile cheii primare din tabela primara;

nu pot fi sterse articole (inregistrari) din tabela primara carora le corespund articole din tabela asociata;

valoarea cheii primare nu poate fi modificata daca acesteia ii corespund inregistrari din tabelul asociat.


Se stabilesc in continuare relatiile dintre tabelele bazei de date (fig. 3.), tinandu-se cont intotdeauna de sensul in care se realizeaza aceste asocieri, de la cheia primara catre cheia externa. Pentru relatiile care au selectata optiunea Enforce Referential Integrity  apare simbolizarea 1-∞ (la 1 fiind cheia primara si la ∞ cheia externa).


Fig.3.


Asocierea intrinseca este intalnita atunci cand o relatie asociaza un camp al unei tabele cu alt camp al aceleiasi tabele (situatie pe care nu o intalnim in exemplele noastre).


Modificarea structurilor logice ale tabelelor se realizeaza prin selectarea optiunii Design din fereastra bazei de date. Este recomandat ca aceste modificari: adaugari sau stergeri de campuri, respectiv modificarea proprietatilor sa se efectueze inainte de stabilirea relatiilor dintre tabele.


Adaugarea articolelor intr-un tabel si editarea lor se poate realiza dupa deschiderea tabelei, fie prin selectarea optiunii Open, din fereastra bazei de date, fie prin selectarea directa a tabelei. 

Adaugarea inregistrarilor se realizeaza prin pozitionarea cursorului in prima linie libera si prin completarea valorilor corespunzatoare fiecarui camp in parte.

Editarea inregistrarilor poate fi realizata prin pozitionarea cursorului in linia si campul dorit, stergerea datelor gresite si introducerea celor corecte.

Stergerea unei inregistrari se realizeaza prin selectarea acesteia si a butonului Delete Record (sau tastei Del).



Tema


Creati baza de date cu numele Biblioteca, care sa includa urmatoarele trei tabele. Determinati tipurile de date corespunzatoare campurilor, cheile primare ale tabelelor si legaturile care se stabilesc intre cele trei tabele si adaugati inregistrari in tabele.


Tabela Carti


Tabela Autor


Tabela Editura

Cota_carte


Id_autor


Id_editura

Titlul


Nume_ autor


Editura

Id_autor


Prenume_ autor



Id_editura





An_aparitie





Imprumutata