Вы находитесь на странице: 1из 6

Laborator VI

Crearea tabelelor relaionale




Obiective
1. mprirea datelor n tabele
2. Definitivarea modelului relaional
3. Crearea tabelelor n Access


Aplicaia 2
Se cere informatizarea activitii unei firme. Se va crea o baz de date cu numele Firme. Furnizorii
sunt identificai prin cod furnizor, denumire furnizor (numele i prenumele furnizorului), localitatea,
adresa, email, banca furnizor i cont furnizor. Despre produse se cunosc cod produs, denumire
produs, unitate de msur, stoc, pre unitar. Produsele sunt depozitate n magazii, pentru care se
cunosc cod magazie, denumire magazie, gestionar (numele persoanei care are n gestiune depozitul
respectiv). Operaiunile se desfoar pe baza unor facturi, care trebuie s conin numrul facturii i
data facturii. Fiecare factur conine detaliate liniile facturii i anume denumirea produsului, preul
unitar, cantitatea facturat, calculndu-se valoarea produsului (cu i fr TVA) i valoarea total a
facturii cu i fr TVA.


Rezolvare

1. Definitivarea modelului relaional:

Furnizori(cod_f, den_f, localit, adresa, email, banca, cont)

Facturi(nr_f, data_f, cod_f)

Produse(cod_p, den_p, um)

ProduseFacturate(nr_f, nr_crt, cod_p, cantit, pret_u, cotaTVA )

Magazii(cod_m, den_m, gestionar)

ProduseMagazii(cod_p, cod_m, stoc)


2. Implementarea n Access


Microsoft Access2007 Page 1

Laborator VI


3. Mod de lucru
Primul pas este crearea bazei de date. Aceasta va purta numele Firme.

Pentru a crea baza de date, se deschide mediul de lucru Access, apoi se alege opiunea Blank
Database. Pentru a alege locaia n care va fi salvat fiierul se alege icoana galben de folder,
selectndu-se Desktop-ul ca destinaie, apoi se tasteaz denumirea: Firme.

Dup crearea bazei de date se trece la analiza fiecrui tabel n parte i alegerea tipului de cmp cel mai
potrivit datelor care vor fi salvate n acesta.

Este foarte important ordinea n care tabelele voi fi create. Pentru aceasta se aleg tabelele de referin
(tabelele printe, cum ar fi Furnizori, Magazii, Produse) urmnd ca dup crearea acestora s se creeze
tabelele referite (Facturi, ProduseFacturate, ProduseMagazii).

n momentul n care se creaz baza de date, Access deschide automat un tabel cu numele Table1.

Se va modifica tabelul Table1 n tabelul Furnizori. Pentru aceasta vomsalva tabelul cu numele
Furnizori, apelnd butonul Save de lng butonul Office. Pentru a aduga cmpuri i pentru a
modifica proprietile acestora, se va trece n modul de vizualizare Design View, fie folosind butonul
View de pe panglic, fie butonul cu acelai nume de pe bara de stare.

Se vor introduce urmtoarele cmpuri:
primul cmp l vommodifica din ID n cod_f (codul furnizorului), vomalege tipul de date
Number, Field Size: Integer, i Caption: cod furnizor, Validation Rule: >0, Validation Text:
Introducei un numr pozitiv, Required: Yes;
pentru cmpul den_f (denumirea furnizorului) tipul de dat Text, Field Size: 30, Format: >,
Caption: denumire furnizor, Required: Yes, Allow Zero Length: No, Indexed: Yes (Duplicates
OK);
localit (localitate) de tip Text, Field Size: 30, Caption: localitate, Default Value: Timisoara;
adresa de tip Memo;
email de tip Hyperlink;
banca de tip Text, Field Size: 30, Format: >, Required: Yes, Allow Zero Length: No;
cont (contul din banc, IBAN) de tip Text, Fields Size: 24, Input Mask:
"RO"99LLLL9999999999999999.


Fig. 1 Butonul View

Dup ce toate cmpurile au fost create, se salveaz tabela alegnd butonul Save, apoi se apas sgeata
de pe butonul View, de unde se alege Datasheet View figura 66, pentru a introduce datele a trei
furnizori n tabel figura 2.
Microsoft Access2007 Page 2

Laborator VI



Fig. 2 Tabela Furnizori n Datasheet View
Dup ce tabela a fost creat i s-au introdus nregistrri n ea, aceasta va fi nchis.

Pentru a crea o nou tabel, de pe bara de meniuri se alege opiunea Create, butonul Table Design.
Pentru tabela Magazii se insereaz urmtoarele cmpuri:
cod_m (cod magazie) Primary key, de tip Number, Field Size: Byte, Caption: Cod magazie,
Required: Yes;
den_m de tip Text, Field Size: 15, Caption: Denumire magazie, Indexed: Yes (Duplicates
OK);
gest de tip Text, Field Size: 30, Caption: Gestionar.

Se vor introduce 3 magazii, cu codurile magazinelor 111, 112 i 113;

Fig. 3 Tabela Magazii n Datasheet View

Pentru tabela Produse:
cod_p (codul produsului) Primary key, de tip Number, Field Size: Long Integer, Caption:
Codul produsului, Required: Yes;
den_p (denumirea produsului) tipul cmpului Text, Field Size:15, Caption: Denumirea
produsului;
um (unitate de msur) de tipul Lookup Wizard, apoi opiunea I will type in the values
that I want, n caseta Number of Columns nu se modific valoarea 1, iar n lista col1 vor fi
tastate pe rnd, una sub alta, valorile dorite: kg, l, m, buc, selectnd butonul Next, apoi Finish.

n tabela Produse se vor introduce 3 produse, cu codurile 11111, 111112 i 111113 figura 4.

Fig. 4 Tabela Produse

Tabela ProduseMagazii:
cod_p (cod produs) un cmp de tip Lookup Wizard pentru care se selecteaz opiunea I
want the lookup column to lookup the values in a table or query, apoi se alege tabela
Produse, apoi se selecteaz butonul Next; se alege cmpul cod_p, apoi se apas butonul
Next figura 5. Ordonarea va fi fcut dup acelai cmp cod_p, apoi se alege butonul Next.

Microsoft Access2007 Page 3

Laborator VI


Fig. 5 Crearea legturii cu tabela Produse

n ecranul urmtor pot fi observate valorile introduse anterior n tabela Produse, apoi se apas
butonul Next figura 6.


Fig. 6 Valorile introduse n cmpul cod_p din tabela Produse

La ultimul pas este posibil modificarea numelui cmpului (acesta va fi lsat neschimbat) apoi
se apas butonul Finish;
ntre cele dou tabele (Produse(tabela printe) i ProduseMagazii (tabela copil) va fi creat automat o
relaie. De aceea Access cere salvarea tabelei cu un nume (ProduseMagazii). Datorit faptului c nu a
fost creat nici o cheie primar, sistemul sugereaz crearea uneia. Se va alege No (cheia primar
compus va fi creat dup crearea cmpului cod_m).
cod_m (cod magazie) un cmp pentru care se alege Lookup Wizard se selecteaz opiunea
I want the lookup column to lookup the values in a table or query, apoi se alege tabela
Magazii; selectm cmpul cod_m (cod magazie). Ca ordine de sortare se alege cod_m, se
vizualizeaz codurile magaziilor introduse n tabela Magazii, apoi se las neschimbat numele
cmpului i se apas Finish. Se cere din nou salvarea tabele;
stoc (stocul disponibil n magazie) de tip Number, Field Size: Long Integer, Caption: Stoc
produs, Required: Yes.
Pentru a crea o cheie primar compus, se selecteaz utilizndu-se ptratul gri din faa numelui
cmpului ambele cmpuri cod_p i cod_m i se apas butonul Primary Key de pe panglic. Se
salvez tabela i se trece n modul de vizualizare Datasheet View pentru a introduce date n tabel.
Pentru ca ambele relaii s fie de tipul one-to-many, se vor introduce minim 4 nregistrri, un produs
fiind depozitat n dou magazii (de exemplu 111113).


Fig. 7 Tabela ProduseMagazii


Microsoft Access2007 Page 4

Laborator VI

Pentru tabela Facturi:
nr_f (numrul facturii) Primary key, de tip Number, Field Size: Long integer, Caption:
Numarul facturii, Required: Yes;
data_f de tip Date/Time, Caption: Data Facturii, Required: Yes, Format: Short date, Default
Value =Date();
cod_f (cod furnizor) tipul de date Lookup Wizard, se creaz o legtur cu tabela Furnizori,
cmpul cod_f, Caption: Cod furnizor.

Tabela Facturi este copilul tabelei Furnizori. Avnd 3 furnizori n tabela printe, vom introduce minim
4 facturi, codul furnizorului 1 repetndu-se de 2 ori:


Fig. 8 Tabela Facturi

Tabela ProduseFacturate:
nr_f (numrul facturii) un cmp pentru care se alege Lookup Wizard, se creaz a legtur cu
tabela Facturi, cmpul nr_f; Caption: Numarul facturii. Se salveaz tabela cu numele
ProduseFacturate, iar la ntrebarea dac se dorete alegerea unei chei primare se alege No;
nr_crt (numr curent) un cmp de tip Number, Field Size: Integer, Caption: Numar curent;
cod_p (codul produsului) un cmp pentru care se selecteaz Lookup Wizard, se creaz o
legtur cu tabela Produse, pe baza cmpului cmpul cod_p;
cantit un cmp de tip Number, Field Size: Integer, Caption: Cantitate;
pret_u un cmp de tip Currency, Caption: Pret unitar;
cotaTVA un cmp de tip Number, Field Size: Single, Default Value: 0,24, Caption: Cota
TVA.

Se selecteaz cmpurile nr_f i nr_crt i se creeaz o cheie primar compus apsnd butonul Primary
Key de pe panglic.

Acest tabel fiind copilul tabelelor Produse i Facturi, vom introduce 8 nregistrri:


Fig. 9 Tabela ProduseFacturate

Pentru a verifica relaiile i a seta regulile de integritate referenial, se selecteaz butonul
Relationships de pe panglic figura 10.

Microsoft Access2007 Page 5

Laborator VI


Fig. 10 Butonul Relationship

Pentru fiecare legtur n parte, se apeleaz meniul contextual, se alege opiunea Edit Relationships...
Pentru a seta regulile de integritate referenial se selecteaz opiunea Enforce Referential Integrity,
bifnd opiunea Cascade Update Related Field. Dac se dorete modificarea tipului de relaie dintre
cele dou tabele, se selecteaz butonul Join Type..., alegnd una dintre cele trei tipuri de relaii (Left
Join, Inner Join sau Right Join).


Fig. 11 Fereastra Edit Relationships

Selectnd pentru fiecare relaie n parte opiunile respective i reordonnd tabele, se obine urmtoarea
situaie:


Fig. 12 Fereastra Relationships
Microsoft Access2007 Page 6

Вам также может понравиться