Sunteți pe pagina 1din 12

Lucrarea de laborator nr.

4 (10 ore)
Tema: Baze de date relaionale. Principiile de stocare a informaiei n
tabele
Obiective generale :
a) Familiarizarea studenilor cu proiectarea unui model de baze de date;
b) Crearea fiierului bazei de date; proiectarea i completarea tabelelor cu
date.
Obiective operaionale:
a) S cunoasc elementele de baz ale ferestrei aplicaiei Access i ale ferestrei
bazei de date;
b) S cunoasc structura ferestrei de proiectare a tabelelor bazei de date i s
o poat completa cu date;
c) S cunoasc tipurile i proprietile datelor n Access, i s efectueze
gestiunea lor;
d) S cunoasc care este rolul cheii primare i s aplice n practic metodele
de modificare a cmpului cheie primar; S neleag nsemntatea crerii
legturii ntre tabelele bazei de date i s o poat realiza.
Sarcini:
a) Definirea scopului
Exemplu: S se creeze o baz de date care s automatizeze activitatea unei
firme comerciale, obiectul de aciune al coreea const n comercializarea
autoturismelor.
Din enunul problemei propuse rezult c baza de date va fi alctuit din
cel puin trei tabele (n problema propus se vorbete despre automobile,
comercializri, cumprtori).
Fiecare model auto propus spre vnzare este identificat prin: codul
modelului, denumirea lui, puterea motorului, culoarea automobilului, numrul
de ui, cutia de transmisie (automat sau manual), cptueala, preul fixat de
uzin, cheltuielile de transport, pregtirea pentru vnzare, tipul modelului
(special sau nu special).
Clienii, adic cumprtorii, sunt persoane fizice identificate prin: codul
clientului, forma de adresare, nume, prenume, localitate, adres, telefon.

Tranz ac i i l e c e au fost efe ct uat e sunt speci fi cat e pri n: codul t ranzaci ei , codul
model ul ui , codul cl i ent ul ui , pre ul de vnzare, dat a ef ect uri i tranzac i ei , dat a l i vrrii
aut omobil ul ui , numrul de aut omobi l e comandat de fi e care cl i ent .

b) P roi ect a rea t abel el or baz ei de dat e (defi ni r ea cm puri l or, propri et i l or, chei a pri m ar )

1. Proiectai structura tabelului Modele Auto i proprietile


1

2.
3.
4.
5.
6.
7.
8.
9.

cmpurilor (tabelele 5.4, 5.5);


Definii cheia primar pentru cmpul Codul modelului ;
Salvai tabelul;
Proiectai structura tabelului Clieni i proprietile
cmpurilor (tabelele 5.6, 5.7);
Definii cheia primar pentru cmpul Codul clientului ;
Salvai tabelul;
Proiectai structura tabelului Tranzacii i proprietile
cmpurilor (tabelele 5.8, 5.9);
Definii cheia primar pentru cmpul Codul tranzaciei ;
Salvai tabelul.

c) Definirea valorilor cmpurilor


1. Afiai tabelul Modele Auto n regim de introducere a
datelor;
2. Completai tabelul cu date (figura 5.6);
3. nchidei tabelul;
4. Afiai tabelul Tranzacii n regim de introducere a datelor;
5. Completai tabelul cu date (figura 5.7);
6. nchidei tabelul;
7. Afiai tabelul Clieni n regim de introducere a datelor;
8. Completai tabelul cu date (figura 5.8);
9. nchidei tabelul.
d)

Definirea relaiilor dintre tabele


1. Pentru tabelele Modele Auto i Tranzacii, definii corelaia de tipul 1:n
(one to many), cmpul de legtur fiind Codul modelului;
2. Asigurai-v integritatea referenial, modificarea n cascad, excluderea
n cascad a nregistrrilor;
3. Pentru tabelele Clieni i Tranzacii, definii corelaia de tipul 1:n (one to
many), cmpul de legtur fiind Codul clientului;
4. Asigurai-v integritatea referenial, modificarea n cascad, excluderea
n cascad a nregistrrilor;
5. Salvai relaiile create;
6. nchidei baza de date i programul Access.
e) Renovarea structurii bazei de date
Excludei cmpul Pre de vnzare din tabelul Tranzacii.
Crearea tabelului unei BD const din dou etape:
Proiectarea structurii (Table Design);
Introducerea datelor ( Datasheet View ).
Pentru a stabili cheia primar i a finaliza proiectarea structurii tabelului:
1. Selectai tabelul al crui cheie primar dorii s o setai sau s o modificai;
2. n modul Table Design selectai cmpul ales pentru cheia primar, n
exemplul dat Codul modelului,(Codul tranzaciei, Codul clientului) ;
2

3.

n fila Pornire (Home), n grupul Vizualizri (Views), facei clic pe Vizualizare


(View), apoi pe Vizualizare proiect (Design view);
4. n grila de proiectare a tabelului, selectai cmpul sau cmpurile pe care dorii s le
utilizai pe post de cheie primar;
Pentru a selecta un cmp, facei clic pe selectorul de rnd pentru cmpul pe care l dorii.
Pentru a selecta mai multe cmpuri, meninei apsat tasta CTRL, apoi facei clic pe
selectorul de rnd pentru fiecare rnd.
5. n fila Proiect (Design), n grupul Instrumente (Tools), facei clic pe Cheie primar
(Primary Key), figura 5.1.

Figura 5.1. Grupul (Tools), butonul Primary Key


Un indicator de cheie se va afia n stnga cmpului sau cmpurilor pe care le specificai
ca fiind cheie primar.
De exemplu, se cere de creat tabelul Modele Auto.
La etap de proiectare a structurii acestui tabel se vor lua n
consideraie datele din tabelul 5.5.
Se introduce numele cmpului , se selecteaz tipul datelor , se introduc
comentariile.
Tabelul 5.5
Definirea cmpurilor i a tipurilor de date (tabelul Modele Auto)
Nu mel e c mp u lu i
(Fi el d Name)
Codul m odel ul ui

Tip u l d e dat e
(Data Typ e)
Au t oNum ber

Des cri e rea


(Di scri p ti on )
Codul confo rm
re gi st rul ui

Model ul

Text

Denum i re a m odel ul ui

Put er ea mot orul ui

Text

Put er ea mot orul ui

Cul oar ea

Text

Cul oar ea Aut o

Num rul de ui

Num ber

3 sau 4 sau 5

Cut i a de t ransm i si e

Text

Aut om at sau m anu al

C pt ueal a

Text

C ati f ea, pi el e, st of
et c.

Al t e ca ract eri st i ci

Mem o

C ara ct eri st i ci l e
supl i m ent ar e

P re ul fix at de uzi na

Cu rren cy

P re ul st abi l i t de uzi n

Chel t ui el i l e de t ransport

Cu rren cy

Chel t ui el i l e de
t ransport

P regt i re a de vnz a re

Cu rren cy

Chel t ui el i l e pent ru
vnz are

Model speci al

Yes/ No

Model speci al

Pentru fiecare cmp se completeaz seciunea Field Properties.


3

Pentru aceasta este necesar s activai celula cu denumirea cmpului i s


introducei proprietile (modificndu-le n caz de necesitate), corespunztor
listei din tabelul 5.6.

Tabelul 5.6
Definirea proprietilor cmpurilor (tabelul Modele auto)
Field Name
Codul modelului

Puterea motorului

Field Properties
AutoNum ber (Celelalte proprieti
rmn neschimbate).
Field Size : 18
Indexed: Yes(Duplicates Ok)
Field Size: 9

Culoarea

Field Size: 17

Nu mrul de ui

Field Size: Byte


Form at: Standard
Decim al places: 0
Default Value : 4
Validation Rule: 2 or 3 or 4 or 5
Validation Text: Valoare gresit pentru
cam pul Num rul de ui

Cutia de trans misie

Field Size: 12
Default value: Manual
Validation Rule: Manual or Autom atic
Valiation Text: Valoare greit pentru
cmpul Cutia de transmisie
Field Size: 20

Modelul

Cptueala
Alte caracteristici

cmp de tip Mem o, nu necesit nici un


fel de restricii n privina lungimii ;

Preul fixat de uzin

Format : Currency
Decim al places: Auto

Cheltuielile de
transport

Format : Currency
Decim al places: Auto

Pregtirea de vnzare

Format : Currency

Model special

Decimal places: Auto


Default value: 500
Form at: (Yes/No)

Deoarece baza de date Auto const din trei tabele, creai al doilea tabel
Tranzacii, conform algoritmului pentru tabelul Modele Auto, cu datele
prezentate n tabelele 5.7 i 5.8 i al treilea tabel Clieni conform datelor
ilustrate n tabele 5.9 i 5.10
4

Tabelul 5.7
Definirea cmpurilor i a tipurilor de date(tabelul Tranzacii)
Field Name
Data Type
Discription
Codul t ranz ac i ei

A ut o Num ber

Codul t ranz ac i ei ( ci fr e)

Codul m odel ul ui

Num ber

Codul m odel ul ui procur at

Codul cl i ent ul ui

Num ber

Codul cl i ent ul ui car e


procur m odel ul

P re ul de vnz ar e

C urren c y

P re ul de vnz ar e

Dat a t ranz ac i ei

Dat e / Tim e

Dat a cnd a fost ef ect uat


com anda

Dat a li vr ri i

Dat e / Tim e

Dat a ex ecut ri i com enz ii

Num rul de Aut o

Num ber

Num rul de aut om obi l e


com andat e

Al t e not e

Mem o

Com ent a ri i , observa i i , not e

Tabelul 5.8
Definirea proprietilor cmpurilor (tabelul Tranzacii)
Field Name
Field Properties
C odul t ranz ac i ei

In dex ed: Yes (No Du p li ca tes)


Ch ei e pri m ar

C odul model ul ui
C odul cl i ent ul ui
P re ul de vnz a re
Dat a t ranz ac i ei

In dex ed , p en tru toat e c mp u ri l e :


Yes (Du pl i cat es Ok )

Dat a l i vrri i
Num rul de Aut o
Al t e not e

Salvai tabelul creat, atribuindu-i numele Tranzacii. Deschidei tabelul n


modul de vizualizare Open i introducei datele (minimum 30 de nregistrri).
Tabelul 5.9
Definirea cmpurilor i a tipurilor de date(tabelul Clieni)
Field Name
Data Type
Discription
C odul cl i ent ul ui

Au t o Num ber

C odul cl i ent ul ui

Adr esar ea

Text

Dom nul , Doam na sau


Dom ni oar a

Num el e

Text

In di c a i Num el e

P renum el e

Text

In di c a i P renum el e

Lo cal i t at ea

Text

Or aul sau sat ul de


r eedi n .

Adr esa

Text

S t rada, bl ocul et c.
5

Tel e fonul
Not e

Text
Mem o

Num rul de t el efon


Not e speci al e despre cl i ent

Tabelul 5.10
Definirea proprietilor cmpurilor (tabelul Clieni)
Field Name
Field Properties
Codul cl i ent ul ui
Adres are a
Num el e

In dexed: Yes (No Dupl i cat es) Ch ei e


prim ar
In dexed , p en t ru toate cmp u ri l e :
Yes (D upl i cat es Ok )

P renum el e
Loc al i t at ea
Adres a

In dexed , p en t ru toate cmp u ri l e :


Yes (D upl i cat es Ok )

Tel efonul
Not e

Salvai tabelul creat, atribuindu-i numele Tranzacii. Deschidei tabelul n


modul de vizualizare Open i introducei datele (minimum 30 de nregistrri).
Crearea unei chei primare unice este denumit n baze de date asigurarea
integritii de entitate.
Pentru a trece la a doua etap de creare a tabelelor , etapa de inserare a datelor
n tabel, se va deschide tabelul creat( Modele Auto) n modul de vizualizare
Open i se vor introduce, de exemplu, 30 de nregistrri (figura 5.11. n mod
analog pentru tabelele Tranzacii (figura 5.12) i Clieni (figura 5.13).

Fi gu ra 5.11. Datel e di n tab elu l Model e Au t o

Fi gu ra 5.12. Datel e di n tab el ul Tran zac i i

Fi gu ra 5.13. Dat el e d in tab el u l Cl i en i

Adugarea unui cmp prin introducerea de date


Cnd creai un tabel nou sau deschidei un tabel existent n Vizualizarea foaie de date
(DataSheet View), avei posibilitatea s adugai un cmp la tabel prin introducerea datelor n
coloana Adugare cmp nou (Click to Add) din foaia de date.
Crearea unei relaii ntre tabele
1. n fila Fiier (File), facei clic pe Deschidere (Open);
2. n caseta de dialog Deschidere (Open), selectai i deschidei baza de date;
3. n fila Instrumente baz de date (DatabaseTools), n grupul Relaii (Relationships),
facei clic pe Relaii (Relationships)
1. Se va deschide un panou de editare vizual a acestora. Prima activare a
acestei opiuni are efect i afiarea unei ferestre cu obiectele bazei de date
ce se pot plasa n panou prin dublu-clic sau selectarea obiectului i
butonul Add (figura 5.14).

Figura 5.14. Amplasarea obiectelor n fereastra pentru relaii


Pentru a defini o legtur ntre dou tabele, trebuie s existe
compatibilitate ntre tipul de date al cheii primare i cel al cheii externe
corespunztoare. Dup plasarea tuturor tabelelor n panoul de editare, definirea
propriu-zis a unei relaii se realizeaz prin metoda drag-and-drop (selectare i
glisare) dinspre cheia primar a unui tabel spre cheia extern corespunztoare
sau invers. Dup realizarea acestei operaii, finalizarea definirii unei legturi se
realizeaz n fereastra din figura 5.15, unde este prezentat definirea unei relaii
ntre tabelul Modele Auto (cheie primar Codul Modelului ) i tabelul
Tranzacii (cheie extern Codul Modelului).

Figura 5.15 Definirea unei legturi ntre dou tabele


Dac o cheie este format din mai multe cmpuri, acestea se editeaz
corespunztor n fereastral Edit Relationship, figura 5.10.
Opiunile din fereastra Edit Relationships au urmtoarea semnificaie:
Enforce Referenial Integrity - definete o restricie de integritate
referenial. Nu se permite actualizarea valorii unei chei externe, dac
aceast valoare nu exist deja n tabelul unde aceasta este cheie primar.
Cascade Update Reiated Fields - actualizarea valorii unei chei primare
dintr-un tabel se propag i n nregistrrile din tabelele unde aceasta este
cheie extern.
Cascade Delete Reiated Fields - tergerea valorii unei chei primare, are
ca efect i tergerea nregistrrilor din tabelele unde aceasta este cheie
extern.

n caseta Relationship Type sunt prezentate tipurile de legturi care pot


exista ntre dou tabele: One to One - 1-1, One to Many - 1-n.
Dac n aceast caset este afiat mesajul Indeterminate , nseamn c tipul
de relaie nu poate fi definit, cea mai probabil eroare fiind incompatibilitatea
ntre tipul de date al cheii primare i cel al cheii externe sau inexistena unei
chei primare n relaia respectiv .
Butonul de comand Join Type permite i definirea unor tipuri de relaii
particulare ntre tabele, aa cum se observ din figura 5.16.

Figura 5.16. Caseta Join Propertes


Variantele 2 i 3 permit utilizarea implicit n interogri a join-urilor
externe de tip Left i Right, care presupun ntr-o interogare luarea n
considerare a tuturor nregistrrilor dintr-un tabel, indiferent dac au sau nu
nregistrri corespondente dup cmpul (cmpurile) de legtur n celalalt tabel.
n exemplul de legtur prezentat n figura 5.11, este posibil o interogare ntre
cele dou tabele, n care vor fi luate n considerare toate nregistrrile din
tabelul Modele Auto , indiferent dac au sau nu corespondent n tabelul
Tranzacii.
Deschiderea ferestrei Relaii (Relationships)
1. n fila Fiier (File), facei clic pe Deschidere (Open);
2. n caseta de dialog Deschidere (Open), selectai i deschidei baza de date;
3. n fila Instrumente baz de date (DatabaseTools), n grupul Relaii (Relationships),
facei clic pe Relaii (Relationships) figura 5.17;

Figura 5.17. Grupul Relationships


4. Dac baza de date conine relaii, apare fereastra Relaii (Relationships);
5. Dac baza de date nu conine relaii i deschidei fereastra Relaii pentru prima oar,
apare caseta de dialog Afiare tabel (Show Table). Facei clic pe nchidere (Close) ,
figura 5.18 pentru a nchide caseta de dialog.

Figura 5.18. Grupul Relationships


Sarcini de control
10

Proiectai baza de date (personal) pentru infor matizarea unuia din ur mtoarele
dome nii de activitate:
1. Transport
Angajaii fir mei sunt identificai prin: nume, adres i numr de telefon.
oferii sunt re munerai printr-un salariul de baz , la care se adaug sporuri de
vechime n munc i prime n funcie de kilometrii parcuri.
Fir ma dispune de un parc auto ce const din autovehicule caracterizate prin:
numr de nmatriculare, model i o serie de detalii tehnice: capacitatea de transport
(pentru transport marf), numrul de locuri (pentru transport pasageri ), consumul de
carburani, anul de producere i data efecturii ultimului control tehnic.
Pentru fiecare transport efectuat se completeaz o fi pe care sunt consemnate
data i ora plecrii .
Clienii pot fi att persoane fizice, ct i persoane juridice, caz n care se
specific denumirea fir mei i codul fiscal.
Tarifarea serviciilor se face n mod difereniat, n funcie de tipul vehiculului
solicitat i de distana pe care o efectueaz transportul, prin aplicarea tarifului pe
kilometrul parcurs de respectivul tip de vehicul la numrul total de kilometri ( fir ma
dispune de un nomenclator al distanelor pe destinaii).
Vehiculele necesit reparaii periodice ce i mplic consumuri de piese de schi mb.
2. Societatea de asigurri
Clienii societii pot fi persoane fizice i juridice caracterizate printr-un numr
unic, nume i prenume / denumire, adres i telefon. Acetia pot s ncheie diferite
tipuri de asigurri (de bunuri, pe via etc.). Asigurrile sunt ncheiate de ageni ce
sunt identificai printr-un cod unic, nume i prenume . Contractul de asigurare este
caracterizat printr-un numr, data ncheierii, obiectul asigurrii, perioada (n
luni ), valoarea asigurrii i prima ce va trebui pltit n fiecare lun de client.
Clienii efectueaz plata primelor prin ordin de plat ( persoane juridice ) sau
direct la casierie (persoane fizice), eliberndu-se chitane.
Documentul de plat conine: numrul documentului, data la care a fost ntocmit
i suma care a fost pltit. n momentul producerii riscului pentru care a fost
ncheiat asigurarea, societatea pltete clientului despgubiri. La plata
despgubirilor se ntoc mete un proces verbal care este caracterizat printr-un numr,
data ncheierii, descrierea cauzei ce a generat despgubirea i procentul prin care
este despgubit clientul.
3. Bancar
Se cunosc ur mtoarele date : unui cont bancar i pot corespunde mai multe
carduri , n timp ce un card este emis pentru operaiuni viznd un singur cont. Cu
un card se pot efectua mai multe tranzacii. Pentru deschiderea unui cont de card
se ncheie un contract ntre un client i o agenie bancar. O agenie bancar
poate administra mai multe conturi de card, dar un card nu poate fi administrat
dect de o singur agenie bancar. Tranzaciile pot fi depuneri sau extrageri de
sume n/dintr-un cont de card. Suma rmas n cont se actualizeaz dup fiecare
tranzacie.
4. Servicii hoteliere
Clientul care dorete s rezerveze o camer trebuie sa-i precizeze identitatea,
numrul de zile pentru care face rezervarea, numrul de persoane i, eventual,
anumite caracteristici ale camerei, cum ar fi: etajul, vederea, numrul de locuri ; un
client poate face mai multe rezervri n timpul anului; o camer este ocupat, din
momentul rezervrii unui client; fiecare camer este identificat printr-un numr i o
categorie; fiecrei categorii de camere i corespunde un anumit pre.
5. Adm iterea studenilor
6. Farm aceutic
11

7. Firm cosm etic


8. Fabrica de bom boane Bucuria
9. Fabrica de confecii Ionel
10. Com binatul de vinuri Cricova
11. Fabrica de nclm inte Zorile
12. Fabrica de buturi Vitanta
13. Fabrica de covoare Floare
14. Com binatul de pine Franzelua
15. Com binatul de lactate Incom lac
16. Fabrica de conserve Olneti

12

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