RELAŢIILE DINTRE TABELELE BAZEI DE DATE

6
RELAŢIILE DINTRE RELAŢIILE DINTRE TABELELE BAZEI DE DATE TABELELE BAZEI DE DATE

description

RELAŢIILE DINTRE TABELELE BAZEI DE DATE. Necesitatea creării relaţiilor între tabelele unei baze de date. - PowerPoint PPT Presentation

Transcript of RELAŢIILE DINTRE TABELELE BAZEI DE DATE

Page 1: RELAŢIILE DINTRE TABELELE BAZEI DE DATE

RELAŢIILE DINTRE RELAŢIILE DINTRE TABELELE BAZEI DE DATETABELELE BAZEI DE DATE

Page 2: RELAŢIILE DINTRE TABELELE BAZEI DE DATE

Necesitatea creării relaţiilor între tabelele unei baze de date

Scopul unei bune proiectări ale unei baze de date - eliminarea redundanței datelor (datele dublură). De aceea, datele se împart în mai multe tabele în funcție de subiect, astfel încât fiecare aspect să fie reprezentat o singură dată.

De ce se creează relații între tabele? - aducerea la un loc a informațiilor care au fost împărțite —prin plasarea câmpurilor comune în tabele care sunt asociate.

Page 3: RELAŢIILE DINTRE TABELELE BAZEI DE DATE

Tipuri de relații între tabele Relația unu – la – mai - mulți - în cazul în care fiecărui element al primei entităţi

îi pot corespunde mai multe elemente din a doua entitate, dar fiecărui element din a doua entitate îi corespunde cel mult un element din prima entitate. Ex.: un client poate face mai multe comenzi.

Crearea relației unu – la – mai - mulți - cheia primară din partea "unu" a relației se adaugă sub formă de câmp suplimentar la tabelul din partea "mai-mulți" a relației.

Relaţia mai – mulţi – la – mai - mulţi - în cazul în care fiecărui element al primei entităţi îi pot corespunde mai multe elemente din a doua entitate şi reciproc. Ex.: tabelul Produse și tabelul Comenzi. O singură comandă poate include mai mult de un produs, iar un singur produs poate apărea în mai multe comenzi.

Crearea relației mai - mulţi – la – mai - mulți - trebuie să se creeze un al treilea tabel, denumit deseori tabel de relație, care împarte relația mai-mulți-la-mai-mulți în două relații unu-la-mai-mulți. Se inserează câmpul cheie primară din fiecare dintre cele două tabele în al treilea tabel. Ca rezultat, al treilea tabel înregistrează fiecare apariție, denumită și instanță, dintr-o relație.

Relaţia unu-la-unu - în cazul în care fiecărui element din prima entitate îi corespunde cel mult un element din a doua entitate şi reciproc; cest tip de relație nu este comun, deoarece, de cele mai multe ori, informațiile asociate în acest mod se stochează în același tabel. O relație unu-la-unu poate fi utilizată pentru a diviza un tabel cu multe câmpuri, pentru a izola o parte dintr-un tabel din motive de securitate sau pentru a stoca informații care se aplică numai pentru un subset al tabelului principal.

Page 4: RELAŢIILE DINTRE TABELELE BAZEI DE DATE

Crearea unei relații între tabele (Relationships)

Alegerea opţiunii Relaţii (Relationships) din meniul Instrumente (Tools).

Pe ecran va apărea fereastra Afişare tabel (Show table). Se selectează fiecare tabel care se doreşte inclus în relaţie şi se activează butonul Adăugare (Add) - apoi se închide fereastra.

Alegerea opţiunii Editare relaţii (Edit relationships) din meniul Relaţii (Relationships).

În fereastra Editare relaţii (Edit relationships) se apasă butonul Creare...

Page 5: RELAŢIILE DINTRE TABELELE BAZEI DE DATE

Crearea unei relații între tabele (Relationships)

În fereastra Creare (Create) se adaugă tabelul principal şi tabelul secundar, precum şi cheia primară a tabelului principal şi cheia externă a tabelului secundar.

În fereastra Editare relaţii se selectează opţiunea Impunere integritate referenţială pentru a se asigura integritatea referenţială.

Selectarea opţiunii Actualizarea în cascadă câmpuri corelate permite actualizarea automată a tuturor cheilor

externe corespondente din tabelul “n” (tabelul copil) atunci când se va actualiza cheia primară din tabelul “1” (tabelul părinte).

Selectarea opţiunii Ştergerea în cascadă câmpuri corelate permite ştergerea tuturor înregistrărilor corelate din tabelul/tabelele copil atunci când se şterge înregistrarea cu cheia primară corespunzătoare din tabelul părinte.

Page 6: RELAŢIILE DINTRE TABELELE BAZEI DE DATE

În cazul în care relaţia a fost definită în mod corect în fereastra Relaţii va apărea o linie care leagă cele două tabele după cum se poate vedea în figura de mai jos.

Relaţia poate fi modificată ulterior prin dublu-click asupra legăturii dintre cele două tabele. De asemenea se poate şterge o relaţie între tabele: se selectează linia de asociere şi se apasă tasta DEL. Pentru ştergere se poate folosi şi opţiunea Delete din meniul contextual (clic dreapta pe linia de asociere). Editarea ulterioară mai poate fi făcută şi alegând opţiunea Edit Relationship din meniul contextual.

Crearea unei relații între tabele (Relationships)