TABELE
Lansarea aplicatiei Access se poate realiza
din meniul START (Start/Programs/Microsoft Access) sau prin dublu click pe
pictograma Access. In ambele cazuri pe ecran se afiseaza fereastra de baza
Access (figura 1).
Fig. 1. Fereastra Access.
Utilizatorul poate opta pentru una din
urmatoarele variante:
·
crearea unei baze de date (optiunea Blank Database)
(Baza de date necompletata);
·
crearea unei baze de date folosind un sablon (optiunea General
Templates);
·
deschiderea unei baze de date existente (optiunea Open
a file).
&
Sa se creeze folosind optiunea Blank Database (Baza de date necompletata) fisierul Gestiune_firma.mdb
Observatie: Dupa alegerea optiunii,
pe ecran se afiseaza caseta de dialog File New Database (figura 2). In
aceasta fereastra se precizeaza in rubrica File name numele bazei
de date, se alege locul in care se va salva baza de date din rubrica Save in
si se creeaza baza de date selectand butonul Create.
Componentele unei baze de
date Access se numesc obiecte. Intr-o baza de date poate fi incluse
urmatoarele colectii de obiecte:
·
tabele (Tables) sunt obiecte fundamentale ale bazei de
date. Ele au o structura si se folosesc pentru a memora inregistrari;
·
interogari (Queries) permit extragerea din baza de date a
acelor date de care utilizatorul are nevoie;
·
formulare (Forms) se utilizeaza pentru a vizualiza
datele;
·
rapoarte (Reports) se utilizeaza pentru a edita situatii;
·
pagina Web de accesare a datelor (Page) reprezinta un
obiect care include un fisier HTML si alte fisiere suport in vederea furnizarii
accesului la date prin intermediul browser-elor de Internet;
·
macrouri (Macros) reprezinta obiecte care contin o
definitie structurata a uneia sau mai multor actiuni;
·
modulele (Modules) reprezinta obiecte care contin
proceduri definite de utilizator si scrise in limbajul de programare Visual
Basic.
Fig. Caseta de dialog File New Database.
1. Crearea unei tabele
Pentru a crea o noua
tabela se alege colectia de obiecte Tables(Tabele) din fereastra Database
(figura 3.) si se actioneaza butonul de comanda New (Nou) deschizandu-se
caseta de dialog NewTable (Tabel nou) (figura 4.).
Crearea unei tabele se poate realiza in mai
multe moduri:
·
utilizand fereastra de proiectare (DESIGN VIEW /
VIZUALIZARE PROIECT);
·
folosind asistentul (TABLE WIZARD / EXPERT TABEL);
·
introducand direct datele (DATASHEET VIEW / VIZUALIZARE
FOAIE DE DATE);
·
importand dintr-o baza de date (IMPORT TABLE / IMPORT
TABEL);
·
legand de alte tabele apartinand altor baze de date (LINK
TABLE / LEGARE TABEL).
Fig. 3. Fereastra Database. Fig.
4. Caseta de dialog New Table.
Pentru a utiliza
fereastra de proiectare se alege optiunea Design View (Vizualizare proiect)
din caseta de dialog New Table (Tabel nou), pe ecran aparand fereastra Table
(Tabele) (figura 5.).
Fig. 5. Fereastra Table.
Fereastra contine:
·
in partea superioara numele campului, tipul de date si
optional, o descriere a campului respectiv;
·
in partea inferioara (Field Properties)
(Proprietati campuri) se introduc celelalte proprietati ale campului.
Numele campului (Field
Name) (Dimensiune camp) poate fi format din maximum 64 caractere, poate sa
contina spatiu si nu trebuie sa contina caracterele “.”, “[”,“]”,“!”.
Tipul atributului (Data
Type) (Tip de data) poate fi:
·
TEXT, poate avea o lungime maxima de 255 caractere.
Lungimea implicita pentru un atribut text este de 50 caractere.
·
MEMO, recomandat pentru stocarea blocurilor de text de
pana la 64000 de caractere. Spre deosebire de alte SGBD-uri relationale
(FoxPro, XBase) aceste campuri sunt stocate in tabela si nu in fisiere
auxiliare acesteia.
·
NUMBER (NUMAR), pentru care sunt definite mai multe
subtipuri precizate in proprietatea Field Size (tabelul 1).
Tabelul 1. Proprietatile subtipurilor datelor numerice.
|
Subtip
|
Numar de zecimale
|
Interval de valori
|
Octeti ocupati
|
|
Byte(Octet)
|
0
|
[0,255]
|
1
|
|
Integer(Intreg)
|
0
|
[-215; 215]
|
2
|
|
Long Integer(Intreg lung)
|
0
|
[-231;231]
|
4
|
|
Single(Simpla precizie)
|
7
|
[-3.4.1038; 3.4.1038]
|
4
|
|
Double(Dubla precizie)
|
15
|
[-1.797*10308; 1.797*10308]
|
8
|
|
Replication ID(ID reproducere)
|
|
Identificator global unic
|
16
|
|
Decimal(Zecimal)
|
|
[-1028;1028]
|
16
|
·
DATE/TIME (DATA/ORA), data calendaristica si ora.
·
YES/NO( DA/NU), date de tip logic.
·
CURRENCY (MONEDA), format fix cu patru zecimale prevenind
erorile de rotunjire, al carui nume provine de la semnul monetar ($) pe care il
afiseaza automat inaintea realizarii atributului.
·
AUTONUMBER (AUTONUMEROTARE), caracterizat prin faptul ca
genereaza automat o valoare numerica (long integer) prin incrementare cu 1
(Increment) sau generare automata (Random).
·
OLE OBJECT (OBIECT OLE), include fisiere bitmap care stocheaza
imagini/desene, fisiere care stocheaza secvente audio si alte tipuri de date
care pot fi create de o aplicatie OLE Server.
·
HYPERLINK, un text sau o combinatie de texte cu numere
stocate ca un text si folosita ca adresa a unei pagini Web.
·
LOOKUP WIZARD( EXPERT CAUTARE), creeaza campuri ce permit
utilizatorului sa aleaga valori din cadrul altor tabele sau dintr-o lista de
valori.
&
Sa se creeze tabela Furnizori care are
urmatoarea structura:
Cod furnizor (cheia primara) Number
Denumire Text
Data infiintarii Date
Sediu Memo
Banca Text
Aceste campuri se caracterizeaza prin anumite
proprietati pe care le vom defini utilizand optiunile din Field Properties.
Field Size (dimensiune camp) permite modificarea
dimensiunii implicite corespunzatoare tipului definit. In cazul datelor
numerice fiecare subtip prezinta o dimensiune predefinita (tabelul 1).
Format (format) permite stabilirea
formatului de afisare a datelor. Aceasta proprietate vizeaza atribute de tip
text, numeric, data si logic. Formatul dorit se selecteaza din lista oferita in
urma activarii butonului de control. Pentru datele de tip numeric, de exemplu,
se poate opta intre urmatoarele formate de afisare: General Number, Currency,
Euro, Fixed, Standard, Percent, Scientific.
Decimal places (zecimale) stabileste numarul de
zecimale ce pot fi atribuite campului.
Input Mask (masca de
intrare) permite definirea mastilor pentru introducerea datelor. Se poate utiliza
caracterul „>” pentru a transforma caracterele tastate in majuscule sau
„<” pentru conversia caracterelor tastate in minuscule.
Caption (legenda) stabileste un al doilea
nume pentru atribut care va fi afisat in formularele si rapoartele care se vor
crea.
Default Value (valoare
implicita) este valoarea implicita care se atribuie automat campului atunci cand
utilizatorul nu introduce nici o valoare.
Validation Rule (regula
de validare) defineste restrictii referitoare la domeniul de valori. Acestea folosesc:
·
operatori: =, -, *, /, mod, >, <, <>, <=,
>=, AND, OR, BETWEEN, IN, LIKE;
·
identificatori;
·
functii;
Validation Text (text de
validare) reprezinta textul care va aparea pe bara de mesaje in cazul in care
valoarea introdusa nu respecta criteriul impus de regula de validare.
Indexed (indexat) permite definirea unui
fisier index pe atributul respectiv.
Proprietatile aferente
campurilor tabelei Furnizori sunt prezentate in tabelul
Inainte de salvarea
tabelei se defineste cheia primara care poate fi formata din unul sau mai multe
atribute.
Pentru aceasta se parcurg
etapele:
·
se deschide tabela in modul de lucru Design (Proiect), in
cazul in care nu se afla deja in acest mod, executand click pe butonul Design
View (Vizualizare proiect)
;
·
se selecteaza atributul / atributele care vor forma cheia
primara;
·
se activeaza butonul Primary Key
din bara de instrumente sau se alege comanda
omonima din meniul Edit.
Tabelul Proprietatile campurilor tabelei Furnizori.
|
Camp
|
Proprietati
|
Valori
|
|
Cod furnizor
|
Field Size (dimensiune
camp)
Format (format)
Default Value (valoare
implicita)
Validation Rule (regula
de validare)
Validation Text
(text de validare)
Indexed (indexat)
|
Byte
General Number
100
=>100 and <=200
Trebuie sa tastezi
intre 100 si 200
Yes (No Duplicates)
|
|
Denumire
|
Field Size (dimensiune
camp)
Caption (legenda)
|
20
Denumirea furnizorului
|
|
Data infiintarii
|
Format (format)
Default Value (valoare
implicita)
Validation Rule (regula
de validare)
Validation Text (text
de validare)
|
General Date
1 martie 2004
<=Date()
Ai depasit data curenta
|
In cazul in care se
creeaza o tabela in modul Datasheet View (Vizualizare foaie de date) se
alege optiunea cu acelasi nume din caseta de dialog New Table (Tabel
nou). Avantajul consta in definirea rapida a tabelei, iar dezavantajul consta
in faptul ca ulterior trebuie perfectionata definirea implicita.
&
Sa se creeze tabela Facturi care are
urmatoarea structura:
Nrfactura (cheia primara) Number
Datafact Date
Val factura Number
Cod furnizor Number
&
Sa se creeze tabela Pozitie
factura care are urmatoarea structura:
Nrfactura Number
Codprodus Number
Cantitate Number
Tabelul 3. Proprietatile campurilor tabelei Pozitie factura.
|
Camp
|
Proprietati
|
Valori
|
|
Nrfactura
|
Field Size (Dimensiune
camp)
Format
Caption (Legenda)
Default Value (Valoare
implicita)
Validation Rule (Regula
de validare)
Validation Text (Text
de validare)
|
Integer (Intreg)
General Number (Numar
general)
Numar factura
2000
>=2000 and <=2500
Tasteaza intre 2000 si
2500
|
|
Cod produs
|
Field Size (Dimensiune
camp)
Format
Default Value (Valoare
implicita)
Validation Rule (Regula
de validare)
Validation Text (Text
de validare)
|
Byte (Octet)
General Number (Numar
general)
1
between 1 and 20
Trebuie sa fie cuprins
intre 1 si 20
|
|
Cantitate
|
Field Size (Dimensiune
camp)
|
Long Integer (Intreg
lung)
|
&
Sa se creeze tabela Produse
care are urmatoarea structura:
Codprodus (cheia
primara) Number Denumire Text
Pretunitar Number
UM Text
Tabelul 4. Proprietatile campurilor tabelei Produse.
|
Camp
|
Proprietati
|
Valori
|
|
Codprodus
|
Field Size (Dimensiune
camp)
Format
Default Value (Valoare
implicita)
Validation Rule (Regula
de validare)
Validation Text (Text
de validare)
Indexed (Indexat)
|
Byte (Octet)
General Number
1
between 1 and 20
Tasteaza antre 1 si 20
Yes (No Duplicates)/ Da
(Fara dubluri)
|
|
Denumire
|
Field Size (Dimensiune
camp)
|
30
|
|
Pretunitar
|
Field Size (Dimensiune
camp)
Default Value(Valoare
implicita)
Validation Rule (Regula
de validare)
Validation Text (Text
de validare)
|
Long Integer (Intreg
lung)
0
>=0
Nu sunt permise valori
negative
|
|
UM
|
Field Size (Dimensiune
camp)
Caption (Legenda)
Validation Rule (Regula
de validare)
Validation Text (Text
de validare)
|
10
Unitatea de masura
IN (“buc”;”kg”;”tone”)
Unitatea de masura este
bucati sau tone sau kilograme
|
&
Sa se completeze cu inregistrari cele patru tabele prin
deschiderea tabelelor in modul de lucru Datasheet View (Vizualizare foaie
tabel). Acest lucru se realizeaza fie actionand butonul
din fereastra Database, dupa ce in
prealabil s-a selectat baza de date, fie executand dublu clic asupra tabelei in
aceeasi fereastra.
Proprietatile aferente
campurilor tabelei Facturi sunt
prezentate in tabelul 5.
Tabelul 5. Proprietatile campurilor
tabelei Facturi.
|
Camp
|
Proprietati
|
Valori
|
|
Nrfactura
|
Field Size (dimensiune
camp)
Format (format)
Caption (legenda)
Default Value (valoare
implicita)
Validation Rule (regula
de validare)
Validation Text (text
de validare)
Indexed (indexat)
|
Integer
General Number
Numar factura
2000
>=2000 and <=2500
Trebuie sa tastezi
intre 2000 si 2500.
Yes (No Duplicates)
|
|
Datafact
|
Format (format)
Caption (legenda)
Default Value (valoare
implicita)
Validation Rule (regula
de validare)
Validation Text
|
General Date
Data facturii
=Date()
<=Date()
Ai depasit data curenta
|
|
Val factura
|
Field Size (dimensiune camp)
Format (format)
Default Value (valoare
implicita)
Validation Rule (regula
de validare)
Validation Text (text
de validare)
|
Long Integer
Currency
0
>=0
Ai introdus o
valoare negativa
|
|
Cod furnizor
|
Field Size (dimensiune
camp)
Format (format)
Default Value (valoare
implicita)
Validation Rule (regula
de validare)
Validation Text (text
de validare)
|
Byte
General Number
100
>=100 and <=200
Trebuie sa tastezi
intre 100 si 200.
|
Relatii intre tabele
In proiectarea si
exploatarea bazelor de date de orice tip, se folosesc asocieri (relationships) intre multimile de
entitati (datele) componente, pentru a modela realitatea pe care baza de date o
reprezinta. Fiind date doua multimi de entitati, M1 si M2, se pot defini trei
tipuri de asocieri:
·
Unul-la-unul (One-to-one): este asocierea in care unei entitati din multimea M1
ii corespunde o singura entitate din multimea M2, si reciproc; se noteaza cu 1:1.
·
Unul-la-multe (One-to-many): este asocierea in care unei entitati din multimea M1
ii corespund una sau mai multe entitati in multimea M2, dar unei entitati din
M2 ii corespunde o singura entitate in multimea M1; se noteaza cu 1:N.
·
Multe-la-multe (Many-to-many): este asocierea in care unei entitati din multimea M1
ii corespund una sau mai multe entitati in multimea M2, si, de asemenea, unei
entitati din M2 ii corespund una sau mai multe entitati in multimea M1; se
noteaza cu M:N.
In modelul relational,
asocierile dintre multimile de entitati de date sunt asocieri intre tabelele
componente si se realizeaza prin intermediul cheilor tabelelor. Intr-o tabela
se pot defini urmatoarele tipuri de chei: cheia primara (PRIMARY KEY), chei
candidate (CANDIDATE KEY) si chei straine (FOREIGN KEY).
O cheie candidata intr-o relatie (tabela) este o submultime de
campuri (coloane) ale tabelei care are valori unice in tabela respectiva, adica
nu exista doua linii ale tabelei care sa aiba valori identice in toate
campurile care apartin unei chei candidate. Este posibil insa ca o cheie
candidata sa admita valori de NULL. O cheie
primara este o submultime de campuri ale tabelei care are valori unice in
tabela respectiva, adica nu exista doua linii ale tabelei care sa aiba valori
identice in toate campurile care apartin unei cheii primare si nu sunt admise
valori de NULL. Cheia primara este, in mod implicit, cheie candidata. O tabela
poate avea oricate chei candidate, dar o singura cheie primara. O cheie straina este o submultime de
atribute (campuri) ale tabelei astfel incat valoarea acesteia (a tuturor
campurilor care o compun) este egala cu valoarea unei chei candidate din
tabelul referentiat, sau are valoarea NULL. O tabela poate sa aiba zero sau
oricat de multe chei straine. Campurile corespondente din cheia straina si cheia
candidata referentiata trebuie sa fie compatibile ca tip, dar nu este neaparat
nevoie sa aiba aceeasi denumire.
Prin intermediul cheilor
se pot defini toate tipurile de asocieri intre tabele. Asocierea 1:1 intre doua tabele se realizeaza
daca cheia primara dintr-o tabela este, de asemenea, cheie primara si in
cealalta tabela. Asocierea 1:N se
realizeaza prin intermediul unei chei straine: o cheie straina (definita intr-o
tabela) care referentiaza o cheie primara dintr-o alta tabela, realizeaza
asocierea 1:N intre tabela care
contine cheia primara si tabela care contine cheia straina. Asociere M:N nu se poate defini direct intre
doua (sau mai multe) tabele, ci numai prin intermediul unei alte tabele (numita
tabela de asociere), definit astfel incat fiecare din tabelele date realizeaza
o asociere de tipul 1:N cu tabela de
asociere. Pentru aceasta, tabela de asociere contine cate o cheie straina care
referentiaza cheia primara corespunzatoare din fiecare din tabelele date.
Cheile impun constrangeri
asupra valorii datelor care se pot memora in tabele si respectarea acestor constrangeri
asigura integritatea datelor. Constrangerile se definesc la proiectarea
conceptuala a bazei de date si se introduc in aplicatie intr-un mod care
depinde de sistemul de gestiune si de instrumentele de proiectare folosite.
In Access, cheia primara a unei tabele se defineste la proiectarea
tabelei. Cheile candidate nu se definesc explicit, ci pot fi testate doar la
introducerea datelor. Cheile straine permit stabilirea de asocieri intre tabele
si se definesc in doua etape. In prima etapa, la crearea tabelelor, campurile
(sau campul) care vor constitui cheia straina trebuie sa fie definite de
acelasi tip de date (cu acelasi domeniu) ca si campurile corespunzatoare din
cheia primara din tabela pe care o referentiaza. Dupa definirea tabelelor
(tabelele referentiate si tabelele care referentiaza), se foloseste comanda de
meniu Tools / Relationships (sau
comanda Relationships din bara de
instrumente, care are o pictograma reprezentand un arbore) pentru a defini
asocierea si deci cheia straina intre tabele.
Relatiile de tip 1:1 si
1:m au la baza respectarea restrictiilor de integritate referentiala.
Intr-o tabela (Facturi) valorile pentru atributul cheie externa (Cod
furnizor) trebuie sa se regaseasca in tabela in care atributul este cheie
primara (Furnizori). In prezenta acestei restrictii mai intai trebuie
adaugate tuplurile in tabela sursa inainte de a putea adauga o valoare pentru
atributul celeilalte tabele pusa in relatie cu tabela sursa. In acelasi timp,
nu se poate sterge un tuplu din tabela sursa, daca cealalta tabela contine
tupluri cu care atributul legat refera valoare de sters.
Pentru a defini relatii intre tabele in
Access se parcurg urmatoarele etape:
·
se deschide fereastra Relationships fie utilizand
butonul Relationships
din
bara de instrumente, fie executand optiunea Relationships din meniul Tools;
·
se deschide caseta de dialog Show Table (figura 6.)
alegand fie butonul Show Table
din bara de instrumente, fie optiunea Show
Table din meniul Relationships;
·
se selecteaza tabelele dorite din lista Show Table
si se actioneaza butonul Add pentru a aduce tabelele in fereastra Relationships
(Furnizori si Facturi) (figura 7);
Fig. 6. Caseta de
dialog Show Table. Fig.
7. Fereastra
Relationships.
·
se realizeaza operatia „drag and drop” de la cheia
primara a tabelei principale la cheia externa a tabelei secundare
deschizandu-se caseta de dialog Edit Relationships (figura 8.);
·
se activeaza proprietatile:
·
Enforce Referential Integrity (Impune Restrictia de
Integritate);
· Cascade Update Related
Fields, modificarea unei valori a cheii primare din tabela principala atrage
modificarea cheii externe din tabela secundara;
· Cascade Delete Related
Records, stergerea unei inregistrari din tabela principala atrage stergerea
inregistrarilor din tabela secundara.
·
se activeaza butonul Create.

Fig. 8. Caseta de
dialog Edit Relationships.
Observatie: Cand se selecteaza
restrictia de integritate referentiala campurile de legatura trebuie sa fie de
acelasi tip si dimensiune.
Daca
utilizatorul doreste vizualizarea rapida a unor inregistrari din mai multe
tabele in acelasi timp, Access ofera posibilitatea ca in momentul afisarii
continutului unei tabele sa poata fi vizualizat continutul tabelei cu care este
corelata.
Deci, in
momentul vizualizarii tabelei Furnizori (cand tabela este deschisa in modul
Datasheet View) se poate consulta tabela Facturi activand controlul „+”, in
timp ce controlul „-” anuleaza aceasta facilitate (figura 9).
Fig. 9. Vizualizarea
simultana a continutului tabelelor corelate.
&
Sa se stabileasca doua relatii de tipul 1:m intre tabela Facturi si tabela Pozitie factura si intre tabela Produse
si tabela Pozitie factura, astfel
incat fereastra Relationships sa arate ca in figura 10.

Fig. 10. Fereastra
Relationships.
3. Actualizarea unei tabele
Pentru a actualiza
continutul unei tabele (adaugare de inregistrari, modificare continut
inregistrari si stergere inregistrari) trebuie ca tabela sa fie mai intai
deschisa.
Pentru a deschide o
tabela se parcurg doua etape:
·
se selecteaza tabela in fereastra Database;
·
se activeaza butonul deschizandu-se
tabela in modul Datasheet View.
Pentru a adauga o inregistrare la sfarsitul
tabelei se poate alege una din variantele:
· se pozitioneaza cursorul dupa ultima
inregistrare pe randul urmator si se incepe editarea (fig. 11);
· se activeaza butonul New Record
din
bara de instrumente (fig. 12);
· se alege din meniul Insert optiunea New
Record (fig. 13).
&
Sa se adauge la sfarsitul tabelei Furnizori patru
inregistrari folosind butonul New Record.
&
Sa se adauge la sfarsitul tabelei Produse patru
inregistrari folosind optiunea New Record a meniului Insert.
&
Sa se adauge la sfarsitul tabelei Facturi patru
inregistrari folosind butonul New Record.
Fig. 11. Pozitionarea cursorului dupa
ultima inregistrare.
Fig. 1 Adaugare folosind butonul
New Record
.
Fig. 13. Adaugare
folosind din meniul Insert optiunea New Record.
Daca se doreste modificarea valorii unui camp in cadrul
unui singur tuplu atunci se selecteaza valoarea ce va fi modificata, se sterge
cu tasta Delete si se introduce valoarea corecta.
In cazul in care se doreste actualizarea unui
atribut in cadrul mai multor tupluri se poate utiliza optiunea Replace
din meniul Edit.
&
Sa se inlocuiasca in tabela Furnizori valoarea „BRD” a
campului Banca cu valoarea „Raiffeisenbank”.
Observatie: Trebuie sa se realizeze urmatoarele etape:
· se pozitioneaza cursorul in tabela
Furnizor;
· se alege optiunea Replace din
meniul Edit, afisandu-se caseta de dialog Find and Replace
(figura 14.);
· inlocuirea se poate efectua fie prin
regasirea fiecarei valori de inlocuit si confirmarea modificarii (Find Next
si Replace), fie prin actualizarea automata a tuturor valorilor
corespunzatoare criteriului de cautare cu valoarea corecta.
Fig. 14. Caseta de dialog Find and Replace.
Stergerea uneia sau mai multor
inregistrari din tabela se realizeaza alegand una din urmatoarele posibilitati:
· se selecteaza inregistrarea / inregistrarile
si se actioneaza tasta Delete;
· se selecteaza inregistrarea / inregistrarile
si se actioneaza butonul Delete Record
din bara de instrumente (fig. 15);
· se selecteaza inregistrarea / inregistrarile
si se alege optiunea Delete Record din meniul Edit (fig. 16).
&
Sa se stearga din tabela Produse acele produse cu un pret
unitar mai mic decat o anumita valoare.

Fig. 15. Stergerea unei inregistrari
selectand inregistrarea.
Fig.
16. Stergerea
unei inregistrari selectand
optiunea
Delete Record din meniul Edit.
4. Cautare date
Pentru a consulta tabela
in acces direct se utilizeaza butonul Find
din
bara de instrumente sau optiunea Find din meniul Edit. In ambele
cazuri se deschide caseta de dialog Find and Replace (figura 17).
In zona Find What se va specifica
sirul de caractere care va reprezenta criteriul de cautare. Cautarea se poate
realiza in intreaga tabela (All), incepand cu inregistrarea curenta pana
la sfarsitul tabelei (Down) sau incepand cu inregistrarea curenta spre
primul tuplu (Up), optiuni specificate in zona Search. Utilizatorul
are la dispozitie butonul Find Next care va declansa procesul de cautare
a urmatorului tuplu ce corespunde criteriului specificat.
Fig. 17. Caseta de
dialog Find and Replace.
&
Sa se caute in tabela Furnizori, furnizorii care isi au
sediul in Ploiesti.
Observatie: deplasarea secventiala
se realizeaza folosind butoanele Next
sau
Previous
din
partea de stanga jos a ferestrei de introducere a datelor. Se pot alege si
optiunile Next sau Previous din meniul Edit, dupa ce s-a
selectat optiunea GoTo.
5. Ordonarea inregistrarilor
Ordonarea presupune definirea unui
criteriu de sortare specificat pentru valorile unuia sau mai multor atribute.
Pentru a ordona crescator inregistrarile din tabela
Furnizori dupa numele furnizorilor se procedeaza astfel:
·
se selecteaza campul (coloana) Denumire;
·
se activeaza butonul Sort Ascending
din bara de instrumente sau se alege optiunea Sort
si Sort Ascending din meniul Records sau din meniul contextual
activat prin click dreapta.
&
Sa se
ordoneze descrescator tabela Furnizori dupa campul Data infiintarii (fig. 18).
Fig. 18. Sortare
descrescatoare folosind butonul Sort Descending
din bara de
instrumente.
&
Sa se ordoneze
crescator tabela Furnizori dupa campul Banca (fig.19).

Fig. 19. Sortare crescatoare
folosind butonul Sort Ascending.
Observatie: Pentru a se reveni la
forma initiala a tabelei se executa optiunea Remove Filter / Sort din meniul
Records.
Pentru a ordona tuplurile dupa mai multe atribute, acestea trebuie sa fie
succesive in structura tabelei. Se selecteaza apoi atributele ce reprezinta
cheia de sortare si se specifica sensul sortarii.
&
Sa se ordoneze crescator dupa Data infiintarii si dupa Denumire.
&
Sa se ordoneze tabela Facturi dupa campurile Datafact
si Val
factura.
Observatie: Daca cele doua campuri nu
s-au definit unul dupa altul, se modifica pozitia folosind mouse-ul.
6. Filtrarea inregistrarilor
Filtrarea presupune afisarea
inregistrarilor (tuplurilor) apartinand tabelei active care corespund unor
criterii de selectie definite de utilizator.
Exista mai multe optiuni
ale operatiei de filtrare. Cele mai utilizate sunt:
1. filtrarea prin selectie
(Filter by Selection) – este cea mai rapida metoda de aplicare a unui filtru.
Criteriul de filtrare se stabileste selectand toate datele dintr-unul din
campurile unei tabele sau numai o parte a lor. Aceasta metoda filtreaza
inregistrarile numai pe baza unui criteriu aplicat unui singur camp al tabelei.
&
Sa se filtreze prin selectie furnizorii care au sediul in
Bucuresti.
·
se pozitioneaza cursorul in coloana Sediu pe valoarea
Bucuresti;
·
se actioneaza butonul Filter by Selection
din bara de instrumente sau se alege optiunea Filter
by Selection dupa ce s-a ales optiunea Filter din meniul Records;
·
pentru a renunta la filtru se actioneaza butonul Remove
Filter
din bara de instrumente sau optiunea omonima
din meniul Records;
Fig. 20. Pozitionare in coloana sediu.
Fig. 21. Rezultatul filtrarii.
&
Sa se filtreze prin selectie furnizorii care au cont la
banca BCR.
2. filtrarea conform
formularului (Filter by Form) – in cazul acestei metode criteriul de filtrare se
introduce intr-o foaie de date goala. Aceasta metoda filtreaza rapid
inregistrarile pe baza unor criterii aplicate in mai multe campuri.
&
Sa se filtreze conform formularului furnizorii ce au data
infiintarii 01.03.2004 si sediul Bucuresti.
·
se alege optiunea Filter si Filter by Form din
meniul Records sau se actioneaza butonul Filter by Form
din
bara de instrumente;
·
se precizeaza in fereastra Filter by Form care se
deschide (figura 22) criteriul de filtrare prin introducerea datei 01.03.2004 in
coloana data infiintarii si a orasului Bucuresti in coloana Sediu;

Fig. 2 Fereastra
Filter by Form.
·
se activeaza butonul Apply Filter
din
bara de instrumente sau se alege optiunea Apply Filter/Sort din meniul Records;
·
pentru a renunta la filtru se actioneaza butonul Remove
Filter
din
bara de instrumente sau se alege optiunea omonima din meniul Records.
&
Sa se filtreze conform formularului facturile emise de un
anumit furnizor si cu o valoare mai mare de 20000000 lei.
&
Sa se filtreze conform formularului facturile emise de un
anumit furnizor dupa o anumita data.
&
Sa se filtreze conform formularului produsele cu un pret
unitar mai mare decat o anumita valoare.
7. Modificarea structurii unei tabele
Modificarea structurii
unei tabele se realizeaza prin selectarea acesteia in fereastra Database
si activarea butonului Design
.
Modificarea structurii
tabelei inseamna:
·
adaugarea de noi atribute la cele definite initial;
·
inserarea unor noi atribute;
·
stergerea unor atribute definite anterior;
·
modificarea definirii unor atribute (nume, tip,
proprietati).
Adaugarea de noi atribute presupune inscrierea
acestora in grila de definire, in continuarea celor existente.
&
Sa se adauge in tabela Furnizori campul Numar de telefon
(Data Type – Number, Field Size – Long Integer, Validation Rule - >0) (fig. 23).
&
Sa se adauge in tabela Produse campul Calitate (Data Type
– Number, Field Size – Byte, Default Value – 1, Validation Rule – Between 1 And
3).

Fig. 23. Modificare
structura.
Inserarea de atribute noi presupune parcurgerea
urmatorilor pasi:
·
selectarea atributului in fata caruia se va introduce un
nou atribut;
·
introducerea unui rand gol folosind fie butonul Insert
Rows
din bara de instrumente, fie optiunea Rows din
meniul Insert;
·
precizarea numelui, tipului, descrierii si proprietatilor
atributului.
&
Sa se insereze inaintea atributului Data infiintarii
campul Cifra afaceri (Data Type – Number, Field Size – Long Integer, Validation
Rule – >500).
Fig.24. Inserare
camp.
&
Sa se insereze inaintea atributului Numar de telefon campul Cont
bancar (Data Type – Number, Field Size – Long Integer).
Stergerea unui atribut definit anterior
presupune:
· selectarea atributului in
grila Design;
· eliminarea atributului
din structura fie utilizand butonul Delete Rows
din
bara de instrumente, fie utilizand optiunea Delete Rows din meniul Edit.
&
Sa
se stearga din tabela Furnizori campul Sediu.
Observatie: Modificarea tipului sau dimensiunii unui
atribut trebuie realizata cu atentie pentru a se evita trunchierea sau
pierderea datelor.
8. Import de date din alte aplicatii
Crearea unei noi tabele
se poate realiza si prin import din alte aplicatii. Fisierul sursa poate fi:
·
o baza de date Access;
·
o baza de date dBase/FoxPro/Paradox;
·
foaie de calcul(Excel, Lotus);
·
un fisier text (utilizatorul trebuie sa delimiteze datele
ce vor forma campurile din noua tabela).
&
Sa se importe date din aplicatia Excel Salariati.xls.
Etapele sunt urmatoarele:
·
se creeaza aplicatia in Excel (figura 25);
Fig. 25. Foaia de calcul Lista a registrului Salariati.
·
se alege optiunea Import Table din caseta de
dialog New Table obtinuta activand butonul New din fereastra Database,
pe ecran afisandu-se caseta de dialog Import (figura 26);
Fig 26. Caseta de dialog Import.
Fig. 26. Caseta de dialog Import.
·
din caseta de dialog Import, utilizatorul va alege
ca tip de fisier Microsoft Excel, va selecta Salariati si va actiona click
asupra butonului Import. Pe ecran se va afisa caseta de dialog Import
Spreadsheet Wizard (figura 27). Utilizatorul va selecta foaia de calcul
Lista dupa care va trece la pasul urmator;

Fig. 27.
Caseta de dialog Import Spreadsheet Wizard.
·
utilizatorul va preciza faptul ca prima linie din foaia
de calcul contine numele atributelor selectand optiunea First Row Contains
Column Headings si va actiona Next (figura 28);
Fig. 28. Fig. 29.
· al III-lea pas consta in alegerea
intre a crea o noua tabela si inregistrarea datelor dintr-o tabela existenta.
Utilizatorul va selecta optiunea In a New Table si va actiona Next (figura
29);
· in cel de-al IV-lea pas, utilizatorul
are posibilitatea sa modifice proprietatile atributelor si se trece la etapa
urmatoare;
· 
in cel de-al V-le pas utilizatorul
trebuie sa precizeze cheia primara a tabelei (figura 30);
Fig. 30. Fig. 31.
· in cel de-al VI-lea pas, utilizatorul va preciza in sectiunea Import
to table numele noii tabele si va actiona butonul Finish (figura 31).
9 Studiu de caz
&
Sa se creeze o baza de date pentru informatizarea
activitatii de tranzactionare a titlurilor de valoare a Bursei de Valori
Bucuresti. Baza de date trebuie sa stocheze informatii despre clientii bursei, titlurile
emise si tranzactiile efectuate.
Rezolvare
Folosim modelul
Entitate-Atribut-Relatie (EAR). Inainte de rezolvarea efectiva a problemei cu
ajutorul Microsoft Access trebuie proiectata baza de date la nivel conceptual.
Proiectarea bazei de date
presupune parcurgerea urmatorilor pasi:
·
se identifica entitatile bazei de date, in cazul nostru:
clienti, titluri, tranzactii;
·
se identifica asocierilor intre entitati;
Prin asociere se intelege
o legatura intre cele doua entitati bazata pe un atribut comun al lor. In cazul
nostru entitatile au urmatoarele asocieri care genereaza relatii de tip unul la multi.
Structura celor trei
tabele in Access este urmatoarea:
CLIENTI (CODC , NUME , ADRESA ,BANCA)
TRANZACTII
(CODC, NRTITLU, NR, VALPIATA, DATATRANZ, TIPTRANZ)
TITLURI (NRTITLU,
NUMETIT, VALNOM)
·
se creeaza efectiv baza de date, prin crearea fisierului *.mdb
care pastreaza descrierea obiectelor bazei de date: tabele, interogari, rapoarte,
formulare etc. Pentru aceasta se executa urmatoarele operatii:
1. se selecteaza consecutiv
din meniul principal: FILE, NEW, BLANK DATABASE (BAZA DE DATE NECOMPLETATA);
se tasteaza in caseta FILE NAME numele fisierului
*.mdb, care va fi chiar numele bazei de date si apoi click pe butonul CREATE;
3. se creeaza tabelele
prin intermediul ferestrei DATABASE care ne permite selectia obiectelor
asociate bazei de date in vederea crearii, modificarii sau activarii. TABELELE
se creeaza cel mai simplu in modul de lucru DESIGN VIEW (VIZUALIZARE PROIECT);
Fig. 3 Tabela Clienti. Fig. 33. Tabela Titluri.

Fig. 34. Tabela Tranzactii.
4. pasul urmator consta din construirea relatiilor intre
tabele, din meniul TOOLS selectandu-se optiunea RELATIONSHIPS;
Utilitarul arata ca in
figura de mai jos:
5. se adauga, cu un click pe butonul Add fiecare tabel din
fereastra Show Table in fereastra Relationships, la sfarsit se inchizandu-se fereastra
Show Table cu un clic pe butonul Close;
6. se construiesc relatiile intre
tabele cu ajutorul mouse-ului, click stanga pe campul cheie primara din tabelul
parinte si, cu butonul mouse-ului apasat, se deplaseaza cursorul peste campul
cheie externa din tabelul fiu; Se elibereaza butonul mouse-ului si pe ecran
apare o fereastra care cere confirmarea legaturii.
7. se apasa butonul Create si pe
ecran apare legatura desenata cu o linie;
8. se procedeaza la fel pentru
celelalte legaturi;
9. introducerea datelor in tabele este pasul urmator; Procesul
de incarcare se face cu ajutorul interfetei vizuale care se activeaza printr-un
dublu click pe numele tabelei in fereastra Database.
In final, se inchide
tabela de lucru si se repeta procedura cu tabelele urmatoare.
10. Probleme
propuse
&
Folosind baza de date de la studiul de caz, sa se extinda
numarul de atribute ale entitatii TITLURI.
&
Folosind baza de date de la studiul de caz, sa se
insereze inaintea atributului BANCA atributul DATA INFIINTARII.
&
Folosind baza de date de la studiul de caz, sa se
filtreze titlurile emise de un anumit client intr-o o anumita perioada de timp.
&
Folosind baza de
date de la studiul de caz, sa se ordoneze crescator tabela Tranzactii dupa campurile
NRTITLU si VALPIATA.
&
Sa se proiecteze o
baza de date care poate fi folosita pentru memorarea cartilor dintr-o biblioteca
(BIBLIOTECA).
&
Sa se creeze o baza de date pentru evidenta situatiei scolare
a studentilor din decanatul unei universitati. Baza de date trebuie sa stocheze
notele studentilor la fiecare disciplina in sesiunea de examene.
&
Sa se creeze o baza
de date care sa pastreze informatii despre pacientii unui medic.
&
Sa se creeze o baza
de date pentru o societate comerciala care are ca obiect de activitate inchirierea
de spatii comerciale. Baza de date trebuie sa stocheze informatii despre clienti,
chirii, facturi, incasari si contracte.
&
Sa se creeze o baza
de date pentru o societate comerciala ce are ca obiect de activitate inchirierea
de DVD-uri. Baza de date trebuie sa stocheze informatii despre clienti, dvd, bon restituit, bon imprumut.
&
Sa se creeze o baza de date pentru o casa de schimb
valutar. Baza de date trebuie sa stocheze informatii despre clienti, curs valutar, schimb.
&
Sa se creeze o baza de date pentru evidenta melodiilor
care intra pe post la un radio local (Artisti, Melodii, Auditii).
&
Sa se creeze o baza de date pentru evidenta
activitatii de acordare a creditelor (Clienti, Contracte, Dispozitii de plata).
&
Sa se creeze o baza de date pentru evidenta
stocurilor vandute in cadrul unei
societati comerciale (Produse, Clienti, Vanzari).
&
Sa
se creeze o baza de date pentru evidenta activitatii unei agentii imobiliare (Proprietari,
Imobile, Tranzactie).
Bibliografie
1. Florescu, V., Stanciu, V., Cozgarea, G.,
Cozgarea, A., Baze de date, Editura
Economica, Bucuresti, 1999.
2. Grupul BDASEIG (coord. Florescu V.), Baze de date. Fundamente teoretice si
practice, Editura Infomega, 200
3. Jennings, R,. Totul despre
Microsoft Access 2000, Editura Teora, Bucuresti, 2000.
4. Nastase Pavel, Mihai, F., Cosacescu, L,
Barbulescu, B., Stanciu, A., Sova, R.A., Covrig, L., Baze de date. Microsoft Access 2000, Editura Teora, Bucuresti,
2003.
5. Nastase, P., Mihai, F., Cosacescu, L.,
Covrig, L., Stanciu, A., Tehnologia
bazelor de date Access 2000, Editura Economica, Bucuresti, 2000.
6. Popa, Gh., Berbec, F., Ivancenco, V.,
Sova, A., Sova, A.M. D., Baze de date
Access, Editura Cison, Bucuresti, 2003.
7. Popa, Gh., Iliescu, Matei., Udrica, M.,
Vasilciuc, B., Baze de date Access,
Editura Cison, Bucuresti, 2004.
8. Surcel, T., Marsanu, R., Pocaliu, P.,
Reveiu, A., Alecu, F., Bologa, R., Tehnologii
Web si baze de date, http://www.ase.ro /biblioteca/carteasp?id=432&idb=.
9. Surcel, T., Marsanu, R, Bologa, R., Alecu,
F., Mark, S., Medii de programare pentru
gestiunea bazelor de date Access, Editura ASE, Bucuresti, 2004.
10. Fehily., C., SQL, Editura ALL, Bucuresti, 2004
11. Felea., V., Matei.,C., Balta., M., Interogarea Bazelor de Date, Editura
Matrix Rom, Bucuresti, 2005
12. Fotache., M., SQL, Editura Polirom, Bucuresti 2001
13. * * * - Documentatie Microsoft Access 2003.