relaţii între tabele
DESCRIPTION
INFORMATICATRANSCRIPT
.3 Relaţii între tabele (Relationships)Relaţiile se formează prin stabilirea unei legături între un câmp (o
combinaţie de câmpuri) dintr-un tabel şi câmpurile corespunzătoare din alt tabel.Legăturile între tabele sunt de trei tipuri:
1. relaţia unu la mai mulţi ( one-to-many ) – este cea mai frecvent utilizată şi se realizează între cheia primară a tabelei T1 şi un câmp similar, ca tip şi ca dimensiune din T2, numit şi cheie străină. Semnificaţia legăturii este că oricărei valori a câmpului cheie străina-C21 trebuie să-i corespundă o valoare a câmpului cheie cheie-C1. În timp ce în tabela T1 valoarea este unică, în tabela T2 ea se poate repeta de un număr infinit de ori.
Tabela T1 Tabela T2C1 – Primary Key C2 – Primary Key
................ C21 – Foreign Key
................ ..........
2. relaţia mai mulţi la mai mulţi (many-to-many ) – se aplică la cazurile în care valorii unui câmp din prima tabelă îi corespund mai multe valori în a doua tabelă şi invers, unei valori a unui câmp din a doua tabelă îi corespund mai multe valori din prima tabelă. Exemplul clasic al relaţiei este între tabela Studenţi şi Cursuri: un student este înscris la mai multe cursuri, un curs este ţinut pentru mai mulţi studenţi. Rezolvarea problemei se face prin spargerea relaţiei many-to-many în
două relaţii one-to-many, cu ajutorul unei tabele de joncţiune (legătură) – T3. Cheile primare din T1 şi T2 vor constitui (vor face parte) cheia primară compusă a tabelei T3.
Tabela T1 Tabela T2C1 – Primary Key C2 – Primary Key
................
Tabela T3C31 Primary KeyC32 Primary Key
3. Relaţia unu-la-unu ( one-to-one) - are loc între două tabele care au aceeaşi cheie primară. Se defineşte prin intermediul ei o tabelă compusă din cele două tabele iniţiale. Relaţia este utilă în cazul structurilor mari, care au nevoie de mai mult de 255 de câmpuri (limita Access-ului pentru un
1∞
∞∞
∞∞
11
singur tabel) sau pentru creşterea vitezei de căutare a datelor, dacă nu toate înregistrările din primul tabel au corespondent în al doilea tabel.