[TIP] Tipuri de relatii si efectele lor in ACCESS

trucuri, sfaturi si alte idei pentru imbunatatirea lucrului cu Access
Închis
DR.ACCESS
Moderator
Moderator
Mesaje: 300
Membru din: Lun Sep 05, 2011 5:06 pm

[TIP] Tipuri de relatii si efectele lor in ACCESS

Mesaj de DR.ACCESS » Mie Feb 05, 2014 1:43 pm

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.
equijoin.jpg
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
Autoequijoin.jpg
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.
Autoleftjoin.jpg
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.
Autorightjoin.jpg
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
D. Tanase
MCT, MCTS
MOS Master Instructor

malasorte
Mesaje: 337
Membru din: Lun Ian 23, 2012 5:56 pm
Localitate: Galati

Re: [TIP] Tipuri de relatii si efectele lor in ACCESS

Mesaj de malasorte » Joi Feb 18, 2016 6:46 pm

multumesc pentru raspuns.Am sa studiez si voi reveni daca am reusit sau unde m-am impotmolit

Închis

Înapoi la “Tips and tricks in Access (indiferent de versiune)”