Sunteți pe pagina 1din 8

CREAREA RELAIILOR NTRE TABELE

DEFINIREA RELAIILOR
Relaia ntre dou tabele este necesar, n general, pentru construirea interogrilor care acioneaz asupra acestor table (dei relaia s-ar putea construi i cnd se construiete interogarea).
TIPURI DE RELAII:

Relaia One-To-Many Este cea mai frecvent n proiectarea bazelor de date ACCESS i are urmtoarele caracteristici: Dac T1 (Tabela CLIENTI) i T2 (Tabela Operatii) sunt dou tabele n care exist o relaie One-To-Many atunci: Tabela T1 este tabela primar iar T2 este tabela legat. Cheia de legtur din tabela primar trebuie s fie declarat cheie primar. Tabela legtur poate avea cheie primar dar diferit de cea de legtur.

Fiecrei nregistrri din tabela One i corespunde 0, 1 sau mai multe nregistrri din tabela Many; Fiecrei nregistrri din tabela Many i corespunde cel mult o nregistrare din tabela One. Relaia One-To-One Este utilizat mai rar n proiectarea bazelor de date ACCESS i are urmtoarele caracteristici: Cheile de legtur din ambele tabele sunt chei primare; fiecrei nregistrri din una din tabele i corespunde cel mult o nregistrare din cealalt. Una din tabele este primar iar cealalt legat. Relaia Many-To-Many - Este nerecomandat n baze de date ACCESS dar existent n realitate. Doua tabele se afl n relaia Many-to-Many dac fiecrei nregistrri din prima tabel i corespunde 0,1 sau mai multe nregistrri din a doua i invers. n ACCESS astfel de relaii pot fi introduse prin crearea unei a treia tabele, numit de legtura (de jonciune) cu existena a dou relaii de tip One-to-Many. Pentru a putea explica modul n care funcioneaz relaiile am creat o baz de date BANCA. Aceast baz de date conine urmtoarele tabele: Tabela CLIENTI:

Aceast tabel are urmtorul coninut:

Tabela SOLD:

Aceast tabel are urmtorul coninut:

Tabela DENMONEDA:

Aceasta tabela are urmtorul coninut:

Tabela DENOPERATII:

Aceast tabel are urmtorul coninut:

Tabela OPERATII:

Aceast tabel are urmtorul coninut:

Etapele crerii relaiilor sunt: Deschizi baza de date (n cazul nostru BANCA). Din meniul TOOLS alegi opiunea RELATIONSHIPS.

Pe ecran apare fereastra RELATIONSHIPS care are urmtoarea form:

Not:

Dac caseta de dialog SHOW TABLE nu apare, apas butonul SHOW TABLE

de pe bare de instrumente. Selecteaz tabelele ntre care vrei s creezi relaii i apas butonul ADD. Aceste tabele vor fi introduse n fereastra RELATIONSHIPS. Exemplu: Creeaz n continuare o relaie One-To-Many ntre tabelele CLIENTI i OPERATII. Pentru a realiza acest lucru selecteaz n caseta de dialog SHOW TABLE cele dou tabele i insereaz-le n fereastra RELATIONSHIPS. n tabela CLIENTI selecteaz cmpul CodClient.

Poziioneaz cursorul pe cmpul CodClient (tabela CLIENTI), agat-l cu mouse-ul i trage-l peste cmpul CodClient (tabela Operatii). Pe ecran apare caseta de dialog EDIT RELATIONSHIP n care poi s specifici caracteristicile relaiei.

Aceast fereastr are urmtorii parametrii: ENFORCE REFERENTIAL INTEGRITY unei nregistrri din tabela primar (CLIENTI) i corespunde cel puin o nregistrare din tabela legat (OPERATII). CASCADE UPDATE RELATED FIELDS n acest caz, modificarea unei valori pe cmpul CodClient (din tabela CLIENTI) nseamn modificarea automat a tuturor valorilor respective i n tabela OPERATII. CASCADE DELETE RELATED RECORDS n acest caz, tergerea unei nregistrri din tabela primar presupune tergerea tuturor nregistrrilor din tabela legat. n final, vei apsa butonul CREATE i pe ecran fereastra RELATIONSHIPS va arta astfel:

Obs: n imaginea de mai sus observi c lng tabelul CLIENTI (cmpul CODCLIENT) apare cifra 1 iar lng tabelul OPERATII (cmpul CODCLIENT) apare simbolul . Aceste simboluri apar n relaiile n care caracteristica integritate referenial (ENFORCE REFERENTIAL INTEGRITY) este activat. Simbolul nseamn muli indicnd faptul c mai multe nregistrri din acest tabel pot s corespund unei singure nregistrri (simbolul 1) din tabelul legat.

Ex: S se creeze urmtoarele relaii n baza de date BANCA:

SORTAREA, FILTRAREA I INDEXAREA DATELOR


SORTAREA DATELOR
Etape: Deschide tabela pe care vrei s o sortezi; Plaseaz punctul de inserare n cmpul pe care vrei s-l sortezi. sau Sort Descending .

Execut clic pe butoanele Sort Ascending nregistrrile sunt sortate dup cmpul selectat. nainte de sortare:

Dup sortarea dup cmpul NUME:

Not: Pentru a aranja nregistrrile n ordinea n care se aflau n momentul iniial, selecteaz din meniul RECORDS opiunea REMOVE FILTER/SORT.

FILTRAREA DATELOR
Un filtru este o restricie care se pune nregistrrilor unei tabele, unei forme sau unui raport pentru a afia doar anumite nregistrri specificate. n aceast lecie vom analiza doar filtrele la nivel de tabel.

Filtrarea este util n acele cazuri n care vrei s nlturi multe nregistrri, astfel nct s poi vedea doar pe cele care te intereseaz. Filtrarea micoreaz temporar numrul de nregistrri afiate, conform criteriilor de selecie.
FILTRAREA DATELOR PRIN SELECIE

Filtrarea prin selecie este cea mai simpl metod de filtrare, dar nainte de a o utiliza, trebuie s localizezi o apariie a valorii pe care doreti s o conin nregistrrile filtrate. Pentru a filtra prin selecie vei parcurge urmtorii pai: ntr-un cmp vei gsi o apariie a valorii pe care vrei s o conin toate nregistrrile filtrate. Selecteaz valoarea.

Execut clic pe butonul FILTER BY SELECTION de pe bara de instrumente sau selecteaz din meniul RECORDS opiunea FILTER i apoi FILTER BY SELECTION. Ex: Filtreaz tabela OPERATII astfel nct s fie afiai doar clienii cu codul 101. nainte de filtrare:

Dup filtrare:

Not:

Renunarea la condiia de filtrare se face prin apsarea pe butonul .

REMOVE FILTER
FILTRAREA DATELOR PRIN FORMULAR

Este o metod de filtrare mult mai puternic dect filtrarea prin selecie. Cu Filter by Form poi aplica mai multe criterii de filtrare simultan. De asemenea, poi configura filtre sau, care gsesc nregistrri ce ndeplinesc oricare din criteriile stabilite. Poi chiar s introduci expresii logice (mai mare dect o anumit valoare).

Etape: Deschide tabela pe care vrei sa o filtrezi n modul de vizualizare DATASHEET.

Execut clic pe butonul FILTER BY FORM sau din meniul RECORDS, alege opiunea FILTER i apoi FILTER BY FORM. Apare un formular gol semnnd cu o foaie de date goal, cu o singur linie de nregistrare.

Execut clic pe cmpul pentru care vrei s stabileti un criteriu. Apare o sgeat orientat n jos pentru o list derulant. Execut clic pe sgeat i selecteaz din list o valoare sau poi tasta valoarea direct n cmp.

Dac vrei s stabileti o condiie sau, execut clic pe eticheta OR de la baza ferestrei i vei introduce criteriul alternativ.

Not: 102.

n final se apas pe butonul APPLY FILTER

pentru a aplica filtrul.

n exemplul de mai sus am aplicat un filtru pentru clienii care au codul 101 sau

n final, rezultatul filtrrii este urmtorul:

Not: Eliminarea filtrului o vei face prin apsarea pe butonul REMOVE FILTER situat pe bara de instrumente.

INDEXAREA DATELOR
Indexurile accelereaz cutrile, catalognd coninutul unui anumit cmp. Cmpul cheie principal este indexat n mod automat. Dac ns caui, sortezi sau filtrezi n mod frecvent utiliznd un alt cmp, poi s creezi un index i pentru acel cmp.

Not: OLE. Etapele indexrii:

Nu poi indexa un cmp ale crui date sunt de tip Memo, Hyperlink sau obiect

Deschide tabelul n modul de vizualizare DESIGN. Selecteaz cmpul pe care vrei s-l indexezi. n pagina etichetei GENERAL, execut clic pe cmpul INDEXED.

Din lista derulant a cmpului INDEXED, selecteaz fie YES (Duplicates OK) fie YES (No Duplicates), n funcie de coninutul cmpului care poate fi sau nu unic pentru fiecare nregistrare.

Salveaz modificrile i nchide tabelul.

Not: Nu poi face nimic deosebit cu un index. Indexul nu este un obiect, aa cum sunt tabelele, bazele de date sau interogrile. Rolul indexului este de a accelera cutrile dar nu are funciile sale independente.

S-ar putea să vă placă și