Legatura de tip Equi Join
Access utilizează intreaga puterea a limbajului SQL pentru a procesa datele din tabele. (SQL este un acronim pentru Structured Query Language). Cu ajutorul SQL, puteți defini un set de informații de care aveți nevoie pentru a rezolva o anumită problemă, inclusiv datele din mai multe tabele. Nu trebuie insa sa invatati SQL pentru a extrage datele dintr-un tabel sau din mai multe. In grila QBE (Query by Example) aducem tabelele din care dorim sa ne extragem datele si alegem coloanele pe care dorim sa le obtinem in rezultat. Este foarte important sa folosim toata calea ( sa aducem toate tabelele legate) de la o informatie la alta. Faptul ca am folosit o legatura intre tabele nu inseamna ca am rezolvat toate problemele. Sa zicem spre exemplu ca dorim sa afisam toti clientii care au facut comenzi si ce produse au comandat. Cum procedam?
Aducem in grila cele doua tabele, alegem campurile si rulam interogarea.
Ce am obtinut? Lista clientilor al caror ID se regaseste in coloana ID_client in tabelul de comenzi. De ce doar atat? Din cauza tipului de asociere stabilit intre cele doua tabele. Aceasta legatura care permite afisarea doar a elementelor comune se numeste Equi Join si este similara intersectiei a doua multimi.
Legatura de tip Left Join
Legatura de tip Left Join permite afisarea tuturor informatiilor din tabela “parinte” (in cazul nostru Clienti) chiar daca au sau nu id_ul in tabela “copil” (detalii comenzi)
Cum se realizeaza un asemenea tip de legatura? Vezi aici.
Legatura de tip Right Join
Acest tip de legatura permite afisarea afisarea tuturor informatiilor din tabela “copil” (produse) chiar daca au sau nu id_ul din tabela “parinte” (in cazul nostru Clienti) adica am id-ul unui produs neasignat unui client.
Cum se realizeaza un asemenea tip de legatura? Veziaici.
Auto Join
Un subtip deosebit al acestor tipuri, il reprezinta legatura Auto Join care permite “legarea” unui tabel de el insusi.
Daca in tabelul Angajati introducem un camp Marca_sef, in care introducem marca angajatului care îi este superior ierarhic, putem extrage, spre exemplu, toti angajatii si sefii lor.
Cum? Aducem in grila QBE de doua ori tabelul Angajati_date_profesionale, ca in imagine, si cream (cu drag and drop, tragem campul Marca_ang din primul tabel, peste campul Marca_sef din al doilea tabel)
Daca tipul de legatura ales este Equi Join, obtinem angajatii care au sefi si numele sefului
Daca tipul de legatura este Left Join, obtinem toti angajatii (din “tabelul” din stanga) chiar daca au sau nu sef, iar cei care au sef au in dreptul lor numele sefului.
Daca tipul de legatura este Right Join, obtinem pe coloana a doua toti angajatii(toti angajatii din al doilea tabel) si din primul doar cei care au subalterni.
[TIP] Tipuri de relatii si efectele lor in ACCESS
[TIP] Tipuri de relatii si efectele lor in ACCESS
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
D. Tanase
MCT, MCTS
MOS Master Instructor
MCT, MCTS
MOS Master Instructor
Re: [TIP] Tipuri de relatii si efectele lor in ACCESS
multumesc pentru raspuns.Am sa studiez si voi reveni daca am reusit sau unde m-am impotmolit