Documente Academic
Documente Profesional
Documente Cultură
Foarte frecvent, stocarea într-un singur tabel a tuturor datelor implicate în problema de
rezolvat este fie anevoioasă, fie impune, ulterior, prelucrări suplimentare şi greoaie. De aceea,
a apărut posibilitatea de a „împrăştia“ datele în mai multe tabele, în ideea de a se economisi
spaţiu şi de a se evita repetarea aceloraşi valori.
De exemplu, putem crea o relaţie între tabelul PERSONAL şi tabelul FUNCŢII, prin
intermediul câmpului Funcţie, relaţie prin care, ulterior, putem avea la dispoziţie valori din
ambele tabele.
Relaţia între două tabele e o relaţie de subordonare şi, de aceea, la crearea unei relaţii trebuie
să decidem care dintre tabele este tată (tabelul conducător) şi care tabel fiu (tabelul condus).
Odată relaţia creată, la mutarea pointerului de articol de pe un articol pe altul în tabelul tată,
se va muta, automat, şi pointerul de articol din tabelul fiu pe articolul corespunzător.
OBSERVAŢII
1. Un tabel considerat ca tabel-tată poate avea mai multe tabele-fiu care, la rândul
lor, pot avea tabele-fiu.
2. Un tabel aflat mai jos în structură (fiu, nepot etc.) nu poate fi tabel-tată pentru
tabelul-tată iniţial.
Din punct de vedere al Microsoft Access 2007, pot exista trei tipuri de relaţii:
unul-la-mai-multe (One-to-Many) – unei înregistrări din tabelul-tată îi pot
corespunde mai multe înregistrări în tabelul-fiu (nu este obligatoriu);
unul-la-unul (One-to-One) – unei înregistrări din tabelul-tată îi poate
corespunde o singură înregistrare din tabelul-fiu; este un tip de relaţie rar folosit;
mai-multe-la-mai-multe (Many-to-Many) – o înregistrare din tabelul-tată poate
avea mai multe înregistrări corespondente în tabelul-fiu şi viceversa.
Pentru crearea unei relaţii între două tabele trebuie ca în fiecare tabel care participă la relaţie
să existe un index pentru câmpul de legătură, câmp ce trebuie să fie de acelaşi tip de dată şi
de aceeaşi lungime în ambele tabele.
Tipul de relaţie care poate fi stabilit depinde de tipul indexului pe câmpul de legătură din
fiecare tabel în parte:
unul-la-mai-multe – indexul din tabelul tată trebuie să fie de tip cheie primară sau
normal fără dubluri iar cel din tabelul-fiu de tip normal, cu Da (cu dubluri);
unul-la-unul – ambii indecşi (din tabelul tată şi din tabelul fiu) trebuie să fie cheie
primară sau de tip normal, cu Da (fără dubluri);
mai-multe-la-mai-multe – indecşii pe câmpurile de legătură din tabelul tată şi
tabelul fiu trebuie să fie de tip normal, cu Da (cu dubluri).
Aplicație
Să se creeze doua tabele PERSONAL si FUNCTII iar campul de legatura este functia. Să se
adauge cate 5 inregistrari in fiecare tabela