You are on page 1of 24

BAZE DE DATE1

Metode utilizate pentru organizarea datelor


În vederea obţinerii informaţiilor necesare luării de decizii corecte omul din societatea
modernă se confruntă cu necesitatea prelucrării unui volum imens de date care trebuiesc
culese, memorate, organizate, regăsite şi prelucrate în timp util şi cu mijloace adecvate.
Utilizarea sistemelor de calcul în vederea realizării dezideratelor mai sus menţionate
presupune un anumit mod de organizare a datelor. În acest sens în cele ce urmează sunt
prezentate principalele modalităţi de organizare a datelor şi anume:
- fişierul:
- baza de date.
Fişierul – este o organizare a datelor preluată din sistemul manual şi adaptată la
cerinţele impuse de utilizarea sistemelor de calcul.
Se definesc următoarele concepte:
1. Data elementară, câmp elementar - este o dată care nu mai poate fi descompusă;
Exemplu: nume (nume persoană din descrierea unui grup de persoane)
2. Data grupată, câmp grupat – este o grupare logică de date;
Exemplu: - adresa:
- localitate
- strada
- număr
3. Înregistrare logică sau articol – o colecţie de date ce descriu un acelaşi obiect;
4. Fişier – un ansamblu de înregistrări logice
Un fişier poate fi privit din două puncte de vedere:
- nivelul logic = un ansamblu de înregistrări logice;
- nivelul fizic = modul în care sunt înregistrate datele pe suportul de memorare.
Unitatea de transfer între memoria secundară şi memoria principală este pagina
(înregistrare fizică). O pagină poate conţine una sau mai multe înregistrări logice. Nu este
exclusă nici situaţia în care o înregistrare logică mare se poate întinde pe mai multe pagini.
Limitări ale sistemelor bazate pe fişiere:
- datele sunt izolate în fişiere separate - programele de aplicaţie trebuie să realizeze
sincronizarea prelucrării a două sau mai multor fişiere;
- dependenţa de date - fiecare program de aplicaţie trebuie să descrie datele pe care le
utilizează;
- formate de fişiere incompatibile - structura fişierelor fiind încorporată în programul
de aplicaţie, este dependentă de limbajul în care este scrisă aplicaţia;
- redundanţa datelor - aceleaşi date pot apare în fişiere diferite;
- accesul concurent la date - nu este asigurat.
Eliminarea acestor deficienţe a condus la un nou mod de organizare a datelor şi anume
organizarea datelor în baze de date.
Baza de date – o colecţie partajată de date, care conţine datele propriu-zise, relaţiile
logice dintre acestea, precum şi descrierea datelor (structura datelor).
O bază de date este proiectată pentru a satisface necesităţile informaţionale ale unei
organizaţii.
Sistemul de Gestiune a Bazelor de Date (SGBD sau DBMS Data Base Management

1
Material pus la dispozitie de lect. dr. Nicolae Morariu
System) – este un sistem de programe care permite definirea, crearea şi
întreţinerea bazei de date, precum şi accesul controlat la baza de date.
Un SGBD oferă următoarele facilităţi:
- facilităţi de descriere a datelor - prin intermediul unui limbaj de descriere a datelor DDL -
Data Description Language, care permite utilizatorului să descrie structurile de date;
- facilităţi de manipulare a datelor - prin intermediul unui limbaj de manipulare a datelor DML
Data Manipulation Language - care permite utilizatorului să insereze, actualizeze, şteargă şi să
extragă date din baza de date;
- controlul accesului la baza de date prin:
- sistem de securitate - previne accesarea bazei de date de către utilizatori
neautorizaţi
- sistem de integritate - menţine concordanţa datelor stocate
- sistem de control al concurenţei - permite accesul partajat la baza de date
- sistem de control al refacerii - recuperare în urma unor defecţiuni hard sau soft
- mecanism de vizualizare - un utilizator poate vedea acea parte a bazei de date
care îl interesează.
Administratorul bazei de date (DBA – Data Base Administrator) - este o persoană sau
un grup de persoane care răspunde de ansamblul activităţilor privind baza de date.

Arhitectura unei baze de date


Organizarea datelor în baze de date impune adoptarea unei arhitecturi în care pot fi
identificate următoarele 3 nivele de abstractizare [DORO98] (3 nivele distincte la care pot fi
descrise datele):
- Nivelul extern (subschema, vedere)
- Nivelul conceptual (schema conceptuală)
- Nivelul intern (baza de date fizică)
Utilizator 1 Utilizator 2 Utilizator n
Nivel
Vedere 1 Vedere 2 Vedere n
extern

Nivel
conceptual Sistemul de
Gestiune a
Bazei de
Date
Nivel
intern
Baza de date
fizică

Nivelul extern – vederea utilizatorului asupra bazei de date (subschema, schema


externă). Fiecare utilizator are o vedere asupra bazei de date care include numai entităţile,

1
atributele şi relaţiile din lumea reală de care este interesat utilizatorul respectiv. Utilizatori
diferiţi pot avea vederi diferite asupra aceloraşi date (ex. Data calendaristică poate fi văzută de
un utilizator sub forma an, lună, zi iar de un alt utilizator sub forma zi,lună, an). În vederi pot
fi incluse şi date derivate sau calculate din datele stocate în baza de date (ex. vârsta plecând de
la data naşterii şi data curentă).
Nivelul conceptual – vederea generală a bazei de date – conţine structura logică a
întregii baze de date aşa cum este văzută de administratorul bazei de date (ex. concepte de
tipul : Persoane, Produse, Beneficiari, Furnizori etc.)
Nivelul intern – reprezentarea fizică a datelor în baza de date – o colecţie de fişiere
conţinând datele, la care se adaugă diverse structuri auxiliare (indecşi, pointeri, tabele de
dispersie etc.) pentru asigurarea accesului operativ la date. Transformarea de la nivelul
conceptual la nivelul intern şi invers se realizează prin comunicarea dintre SGBD şi sistemul
de operare.
Orice comunicare între nivele se realizează sub controlul SGBD.
Adoptarea arhitecturii pe cele 3 nivele asigură independenţa logică şi fizică a datelor.
Independenţa logică de date – imunitatea schemelor externe (vederilor utilizatorilor)
faţă de modificări efectuate în schema conceptuală. Adăugarea sau eliminarea de noi entităţi,
atribute sau relaţii trebuie să fie posibilă fără a afecta schemele externe existente.
Independenţa fizică de date – imunitatea schemei conceptuale faţă de modificările
efectuate în schema internă. Modificări efectuate în schema internă cum ar fi: utilizarea unor
organizări de fişiere diferite, a unor dispozitive diferite de stocare, modificarea de indecşi sau
de algoritmi hash trebuie să fie posibilă fără a fi necesară schimbarea schemei conceptuale sau
a schemelor externe.

Modelul de date relaţional


Modelul de date relaţional are la bază teoria matematică a relaţiilor şi a fost propus în
1970 de cercetătorul american E.F. Codd. Acest model stă la baza majorităţii SGBD-urilor
comerciale deoarece acestea dispun de limbaje puternice de manipulare a datelor şi simplu de
utilizat numite limbaje relaţionale care au la bază două formalisme abstracte din teoria
matematică a relaţiilor şi anume:
- algebra relaţională
- calculul relaţional
Pentru aceste limbaje s-au realizat interfeţe prietenoase, ceea ce le face accesibile unor
categorii largi de utilizatori.

Relaţii – definiţie
Fie o colecţie de mulţimi D1, D2, … Dn nu neapărat distincte.
R este o relaţie pe aceste mulţimi dacă este o mulţime de n-tuple ordonate (d1, d2, ….,
dn) astfel încât d1 ∈ D1, d2 ∈ D2, …., dn ∈ Dn.
D1, D2, …., Dn se numesc domeniile relaţiei R, iar n este gradul relaţiei R.
O relaţie R pe mulţimile D1, D2, …., Dn este o submulţime a produsului cartezian
D1xD2x….xDn.
O relaţie fiind o mulţime de n-tuple rezultă că asupra acestora se pot aplica
proprietăţile din teoria mulţimilor dintre care două sunt amintite în continuare:
1. O mulţime fiind o colecţie de elemente fără repetiţie rezultă că într-o relaţie nu pot exista
două n-tuple identice.

2
2 Ordinea elementelor într-o mulţime fiind nerelevantă rezultă că prin schimbarea ordinii n-
tuplelor unei relaţii, relaţia rămâne neschimbată.
Un domeniu este ansamblul de valori admisibile pentru o componentă a unei relaţii.
Un domeniu cu nume este un atribut.
Chei
O cheie a unei relaţii R este un subset K de atribute ale relaţiei care satisface
proprietăţile:
1) – identifică unic n-tuplele relaţiei
2) – subsetul K este minimal (eliminarea oricărui atribut din K duce la pierderea proprietăţii
1) de identificare unică).
Dintre cheile unei relaţii se desemnează o anumită cheie ca fiind primară (celelalte
numindu-se candidate) care va fi folosită de SGBD pentru identificarea unică a n-tuplelor.
Cheia primară este comunicată SGBD-ului prin limbajul LDD şi pentru atributele ce compun
aceasta cheie se impun restricţiile:
- nu sunt admise valori nedefinite pentru atributele ce compun cheia primară;
- nici o valoare a unui atribut ce compune o cheie primară nu poate fi
modificată în cadrul operaţiilor de actualizare.
Reprezentarea structurii datelor în cadrul modelului relaţional se realizează prin
schema relaţională care constă din una sau mai multe scheme de relaţie.
Exemplu:
Facultăţi (Codf, Nume, Adresa)
Specializari (Codf, Cods, Numes)
Cadre (Codf, Marca, Nume, Functie)
Discipline (Codd, Denumire)
Studenti (Nume,Cods, Incadrare, An)
Cursuri (Marca,Codd)
Note (Marca,Codd, Nume-stud, Nota)
Se contată că pentru reprezentarea legăturilor între tipurile de entităţi pot fi utilizate
două tehnici:
1) propagarea cheilor (pentru relaţiile 1 : 1, 1 : n) – spre exemplu, atributul Codf propriu
tipului de entitate Facultati este preluat în schemele de relaţie Specializari, Cadre, Sali,
Administrativ pentru a reprezenta legăturile 1 : n corespunzătoare.
2) crearea unei scheme de relaţie separate (pentru reprezentarea legăturilor m : n) – spre
exemplu Note ce are ca atribute cheile celor trei tipuri de entităţi (Cadre, Discipline,
Studenti) a căror legătură o reprezintă şi eventual alte atribute (Ex: Nota).
Fiecare schemă de relaţie se poate reprezenta printr-un tabel în care coloanele sunt
domeniile (atributele) relaţiei iar liniile (rândurile tabelului) sunt înregistrările corespunzătoare
tipului de entitate descris de relaţia respectivă.
O posibilă descriere a bazei de date având schema relaţională de mai sus este:
CREATE TABLE Facultati
(Codf INTEGER (3) NOT NULL, Nume CHAR (15), Adresa CHAR (20))
CREATE TABLE Specializari (Codf INTEGER (3), Cods CHAR (6) NOT NULL,
Numes CHAR (30), ………………………………………….
Observaţii:

3
În modelul relaţional atât tipurile de entităţi cât şi legăturile dintre ele sunt
reprezentate prin relaţii. De asemenea orice interogare a bazei de date este definită tot printr-o
relaţie.
O bază de date relaţională este o colecţie de relaţii de diverse grade (gradul unei relaţii
este dat de numărul de atribute ce definesc relaţia respectivă).
SISTEMUL DE GESTIUNE A BAZELOR DE DATE ACCESS
Microsoft Access este un sistem pentru crearea şi utilizarea bazelor de date de
complexitate medie pentru calculatoare personale, putând lucra performant cu sute de mii de
înregistrări pe un calculator personal sau în cadrul unei reţele de până la 20 utilizatori care
lucrează simultan cu baza de date. Programul Access stochează toate componentele unei baze
de date într-un singur fişier pe disc cu extensia .mdb.
O bază de date Access poate conţine următoarele componente:
- Tabele – stochează datele bazei de date. Fiecare coloană a tabelei este numită câmp şi
fiecare rând al tabelei este numit înregistrare.
- Interogări – realizează extragerea unor date din una sau mai multe tabele conform unor
criterii precizate de utilizator în vederea vizualizării şi actualizării datelor din baza de date
sau pentru a crea alte tabele în vederea păstrării unui instantaneu al informaţiilor. O
interogare nu are date proprii şi operează cu date din tabelele bazei de date.
- Formulare – un formular este o fereastră pentru introducerea sau afişarea şi editarea
datelor. Un formular poate conţine subformulare pentru a afişa date asociate unor date din
formular şi butoane sau alte obiecte grafice pentru realizarea anumitor acţiuni.
- Rapoarte – sunt utilizate pentru operaţii de ieşire în vederea obţinerii unor situaţii rezultate
din prelucrarea unor date din baza de date. Pentru includerea selectivă a unor date într-un
raport sau pentru realizarea unui raport care foloseşte date din mai multe tabele va trebui
creată mai întâi o interogare şi apoi raportul să fie fundamentat pe rezultatele interogării.
- Comenzi macro – permit realizarea unei secvenţe de acţiuni care poate fi ataşată unui
buton.
- Module – stochează proceduri şi funcţii scrise în limbajul Visual Basic pentru tratarea
evenimentelor.

Crearea unei baze de date.


Microsoft Access furnizează două metode de creare a unei baze de date.
1. se poate crea o bază de date goală şi apoi se adaugă tabelele, interogările,
formularele, rapoartele şi alte obiecte necesare.
2. se poate crea o bază de date folosind Database Wizard.
Indiferent de metoda prin care se creează baza de date, ea poate fi oricând modificată.
Pentru a crea o bază de date goală (fără a folosi un Wizard), se execută clic pe opţiunea
Blank Database şi apoi se execută clic pe butonul OK.

Figura1 Caseta de dialog


Microsoft Access 4
Problemă propusă
Să se creeze baza de date FurnizoriClienţi prin fiecare din cele două metode prezentate
mai sus.

Crearea şi utilizarea tabelelor


Tabela este o colecţie organizată de date despre un anumit subiect, cum ar fi produse,
furnizori etc. Folosind o tabelă separată pentru fiecare subiect se elimină duplicarea datelor,
asigurându-se astfel utilizarea mai eficientă a spaţiului de stocare şi reducerea erorilor la
introducerea datelor. Tabelele sunt organizate în coloane (numite câmpuri) şi linii (numite
înregistrări sau articole).
Tipurile de date admise în Microsoft Access, modul lor de folosire şi dimensiunea de
memorare sunt prezentate în tabelul T1.

T1. Tipuri de date admise într-o bază de date Access


Tipul datei Utilizare Spaţiul de memorie necesar
Text Text sau combinaţie de text şi numere, cum Până la 255 caractere.
ar fi adresele. De asemenea, numere ce nu Microsoft Access memorează
necesită calcule, cum ar fi numerele de numai caracterele introduse în
telefon, numerele de partidă sau codurile câmp; nu se memorează
poştale. caractere „spaţiu” pentru
poziţiile nefolosite. Pentru a
controla numărul maxim de
caractere ce pot fi introduse se
setează proprietatea FieldSize.
Memo Texte şi numere foarte lungi, cum ar fi notiţe Până la 64,000 caractere.
sau descrieri.
Number Date numerice folosite pentru calcule 1, 2, 4 sau 8 bytes (16 bytes
matematice, cu excepţia calculelor ce impun numai pentru Replication ID).
valori monetare. Pentru a defini un anumit
tip Number setaţi proprietatea FieldSize.
Date/Time Date calendaristice şi timpi. 8 bytes.
Currency Valori monetare. Se va folosi tipul de date 8 bytes.
Currency pentru a preveni rotunjirea pe
timpul calculelor. Precizia tipului este de 15
cifre la partea întreagă şi 4 cifre la partea

5
zecimală.
AutoNumber Numere în secvenţă unică (din 1 în 1) sau 4 bytes (16 bytes numai pentru
aleatoare care sunt automat inserate atunci Replication ID).
când se adaugă un articol.
Yes/No Câmpuri care vor conţine numai una din 1 bit.
două valori, cum ar fi Yes/No, True/False,
On/Off.
OLE Object Obiecte (cum ar fi documente Microsoft Pâna la 1 GB (limitat de
Word, foi de calcul Microsoft Excel, spaţiul disc).
imagini, sunete sau alte date binare) create
în alte programe folosind protocolul OLE,
ce pot fi înlănţuite sau încapsulate într-o
tabelă Microsoft Access. Trebuie să se
folosească un cadru de obiect legat într-o
machetă sau raport pentru a afişa obiectul
OLE.
Lookup Crearea unui câmp care permite alegerea Acelaşi spaţiu ca şi câmpul
Wizard unei valori dintr-o altă tabelă sau dintr-o cheii primare folosit pentru a
listă de valori folosind o casetă combo. executa examinarea, în mod
Alegând această opţiune, se lansează un obişnuit 4 bytes.
Wizard care dirijează crearea listei.
În tabelul T2 sunt prezentate tipurile şi mărimea valorilor numerice ce pot fi memorate
în câmpurile de tip Number.

T2. Date de tip Number


Valoarea proprietăţii Domeniu Precizie Memorie necesară
FieldSize
Byte 0 la 255 1 byte
Integer -32,768 la 32,767 2 bytes
Long Integer -2,147,483,648 la 2,147,483,647 4 bytes
Single -3.402823E38 la 3.402823E38 7 4 bytes
Double -1.79769313486232E308 la 15 8 bytes
1.79769313486232E308

6
Crearea unei tabele
În Microsoft Access există două metode de a creare a unei tabele şi anume:
- se poate crea o tabelă goală (empty) pentru a introduce datele;
- se poate crea o tabelă folosind datele existente într-o altă sursă de date.
În Microsoft Access există patru procedee pentru crearea unei tabele goale, astfel:
Database Wizard pentru a crea într-o singură operaţie toate tabelele, formularele şi
rapoartele necesare întregii baze de date. Database Wizard creează o nouă bază de date.
Acest procedeu nu poate fi folosit pentru a adăuga noi tabele, formulare sau rapoarte într-o
bază de date existentă.
Table Wizard pentru a alege câmpurile tabelei dintr-o varietate de tabele predefinite, cum
ar fi contacte de afaceri, inventare de casă sau articole medicale.
DataSheet pentru introducerea datelor direct într-o foaie de date (datasheet). La salvarea
foii de date Microsoft Access va analiza datele şi automat va atribui tipul de date şi
formatul pentru fiecare câmp.
Design pentru a defini toate detaliile tabelei.
Indiferent de metoda care se foloseşte pentru crearea unei tabele, se poate utiliza
vederea Design pentru a modifica descrierea tabelei, prin adăugarea de noi câmpuri, stabilirea
valorilor implicite sau crearea măştilor de introducere. În figura 5 este reprezentată fereastra
Design view pentru crearea unei tabele.

Figura 5 Fereastra Design View a unei tabele

7
Crearea unei tabele folosind vederea Design.
Pentru a crea o tabelă folosind vederea Design se execută următoarele operaţii:
1. Se deschide în fereastra Database baza de date în care se creează o nouă tabelă, dacă ea nu
este deja deschisă. Se poate folosi tasta funcţională F11 pentru a comuta în fereastra
Database din orice altă fereastră.
2. Se activează eticheta Tables şi apoi, fie se selectează opţiunea Create table in Design view
(vezi figura 5), fie se execută clic pe butonul New (vezi figura 6) şi în caseta de dialog
New Table, ce apare pe ecran (vezi figura 6), se va selecta opţiunea Design View şi apoi se
execută clic pe butonul OK.
3. În fereastra Design View care apare pe ecran (vezi figura 5) se va defini fiecare
câmp al tabelei.
4. Înainte de a salva tabela, se va defini o cheie primară prin click dreapta pe numele
câmpului corespunzător şi selectare opţiune Primary key. Cheia primară poate fi stabilită
şi ulterior.
5. După definirea structurii tabelei, se execută clic pe butonul Save din bara
butoanelor Standard sau se selectează opţiunea Save din meniul File şi apoi se va tasta un
nume pentru tabelă.

Figura 6 Caseta de dialog New Table având selectată opţiunea Design View

Definirea câmpurilor
Pentru a defini câmpuri în Design View se vor executa, în general următoarele operaţii:
1. Pentru adăugarea unui câmp în interiorul unei structuri deja definite, se selectează
linia sub care se va adăuga noul câmp şi apoi se execută clic pe butonul Insert Rows din
bara instrumentelor Standard sau se selectează comanda Rows din meniul Insert. Pentru a
adăuga câmpul la sfârşitul structurii se execută clic în coloana Field Name a primei linii
goale.
2. În coloana Field Name se tastează numele câmpului, respectând regulile Microsoft
Access pentru denumirea obiectelor.
3. În coloana Data Type, se execută clic pe săgeată şi se selectează tipul de dată dorit.

8
4. În coloana Description se poate introduce o descriere a câmpului.
5. În foaia de configurare Field Properties se stabilesc caracteristicile câmpului
(dimensiune, mesaj de introducere, valoarea implicită, formate de afişare etc.).
Algoritmul prezentat este valabil pentru următoarele tipuri de câmpuri: Text, Memo,
Number, Curency, Yes/No, Date/Time, AutoNumber.

Proprietăţile câmpurilor
Fiecare câmp are un set de proprietăţi care se pot folosi pentru a personaliza modul în
care datele unui câmp sunt stocate, manipulate sau afişate. Spre exemplu, se poate controla
numărul maxim de caractere ce se pot introduce într-un câmp Text stabilind proprietatea
FieldSize a acestuia. Proprietăţile care există pentru fiecare câmp depind de tipul de date care
a fost selectat pentru câmpul respectiv.
Pentru a modifica proprietăţile unui câmp se execută următoarele operaţii:
1. Se deschide tabela în vederea Design.
2. În partea superioară a ferestrei Design se selectează câmpul ale cărei proprietăţi urmează a
fi modificate.
3. Se selectează proprietatea a cărei valoare vrem s-o modificăm executând clic în linia din
dreapta numelui proprietăţii (în fila General de sub descrierea tabelei).
4. Se repetă operaţiile 2 şi 3 pentru toate proprietăţile ale căror valori vrem să le modificăm.
5. După efectuarea tuturor modificărilor se închide fereastra Design.
În cazul în care pentru un câmp s-a ales tipul Lookup Wizard, atunci se lansează un
Wizard prin intermediul căruia putem realiza o listă de examinare care afişează datele dintr-o
tabelă (sau interogare) existentă care conţine deja date, sau dintr-o listă de valori prestabilită
după cum este ilustrat în imagiea de ecran din figura 7. Acest tip de câmp permite selectarea
valorilor dintr-o tabelă sau listă afişată, în loc ca ele să fie tastate.

Figura 7. Casetă de dialog Lookup Wizard pentru crearea unei liste din valorile unei
tabele, (interogări), sau liste de valori

9
Problemă propusă. În baza de date FurnizoriClienti se crează următoarele tabele:
PRODUSE (catalog de produse)
Câmp Semnificaţie Tip dată Dimensiune Observaţii
Codp Cod produs Number, Integer 4 Cheie primară
Denp Denumire produs Text 20
Desp Descriere produs Hyperlink Referă document
corespunzător
STOCURI (stocurile de produse pe depozite)
Câmp Semnificaţie Tip dată Dimensiune Observaţii
Codp Cod produs Number, Integer 4 Lockup Wizard cu
Lockup Wizard tabela PRODUSE
CodDep Cod depozit Text 2
Ump Unitate de măsură Lockup Wizard 8 Creare şi utilizare
produs listă de valori
Cant Cantitate Number, Integer 4
Pret Preţ unitar Number, 8
LongInteger
FURNIZORI (catalog de furnizori)
Câmp Semnificaţie Tip dată Dimensiune Observaţii
Codf Cod furnizor Number, Integer 4 Cheie primară
Denf Denumire furnizor Text 30
Adresaf Adresa furnizor Text 25
OFERTE (oferte de produse de la furnizori)
Câmp Semnificaţie Tip dată Dimensiune Observaţii
Codf Cod furnizor Number, Integer 4 Lockup Wizard cu
Lockup Wizard tabela FURNIZORI
Codp Cod produs Number, Integer 4 Lockup Wizard cu
Lockup Wizard tabela PRODUSE
Ump Unitate de măsură Lockup Wizard 8 Creare şi utilizare
produs listă de valori
Pret Preţ unitar Number, 8
LongInteger
Datao Data ofertei Date 8
Oferta Oferta furnizor Hyperlink Referă document
corespunzător
CLIENTI (catalog de clienţi)
Câmp Semnificaţie Tip dată Dimensiune Observaţii
Codc Cod client Number, Integer 4 Cheie primară
Denc Denumire client Text 30
Adresac Adresa client Text 25

10
VANZARI (vânzările de produse pe clienţi)
Câmp Semnificaţie Tip dată Dimensiune Observaţii
Codc Cod furnizor Number, Integer 4 Lockup Wizard cu
Lockup Wizard tabela CLIENTI
Codp Cod produs Number, Integer 4 Lockup Wizard cu
Lockup Wizard tabela PRODUSE
Ump Unitate de măsură Lockup Wizard 8 Creare şi utilizare
produs listă de valori
Cant Cantitate Number, Integer 4
Pret Preţ unitar Number, 8
LongInteger
Datav Data vânzării Date 8
În imaginea de ecran din figura 17 sunt evidenţiate tabelele bazei de date
FurnizoriClienti şi este reprezentată descrierea tabelei Produse.
În mod asemănător şi conform precizărilor din tabelele de mai sus, se vor defini şi
celelalte tabele în baza de date şi se vor încărca date pentru diverse produse, preţuri, furnizori,
clienţi.
Pentru modificarea structurii unei tabele se va deschide tabela în modul Design.
Pentru preleare sau actualizare date într-o tabelă se va deschide tabela în modul Open.

Figura 17. Baza de date FurnizoriClienti. Descrierea tabelei Produse.

11
Crearea şi utilizarea interogărilor
Interogările se folosesc pentru a vizualiza, modifica şi analiza datele în diverse moduri.
De asemenea, ele pot fi utilizate ca sursă de articole pentru formulare şi rapoarte. Pentru a crea
un raport în care sunt utilizate anumite date dintr-o tabelă sau date din mai multe tabele se va
crea mai întâi interogarea corespunzătoare şi apoi se va defini raportul utilizând acea
interogare.
În cele ce urmează este ilustrat modul de definire a unei interogări de selecţie pentru
situaţia stocurilor de produse utilizând tabelele Produse, Stocuri.
- Se selectează Qeries şi apoi New, iar din caseta New Query se selectează modul Design View
(vezi figura 18) şi se apasă butonul OK. Va apare ecranul din figura 19.
- Din caseta Show Table se selectează tabela Produse şi se apasă butonul Add, apoi se
selectează tabela Stocuri şi se apasă butonul Add şi apoi se apasă butonul Close. Va apare
ecranul din figura 20 pentru definirea câmpurilor interogării ilustrate în imaginea de ecran din
figura 21. Pentru salvare interogare se închide fereastra Query şi se tastează numele interogării
Situatia Stocurilor. Pentru vizualizarea datelor corespunzătoare interogării, se selectează
interogarea şi se deschide în modul Open (rezultatul este ilustrat în figura 22.

Figura 18. Creare interogare în modul Design

Figura 19. Selectare tabele pentru creare interogare

12
Figura 20. Caseta Query pentru definirea câmpurilor

Figura 21. Definirea interogării Situatia Stocurilor.

Figura 22. Vizualizarea datelor corespunzătoare interogării Situatia Stocurilor

13
Probleme propuse
Să se creeze interogările corespunzătoare situaţiei ofertelor de produse şi situaţiei
vânzărilor de produse conform specificaţiilor de mai jos.

Situaţia ofertelor
Câmp Codf Denf Adresaf Codp Denp Ump Pret Datao
Tabela Furnizori Furnizori Furnizori Produse Produse Oferte Oferte Oferte

Situaţia vânzărilor
Câmp Codc Denc Adresac Codp Denp Ump Cant Pret Valoare Datav
Tabela Clienti Clienti Clienti Produse Produse Vanzari Vanzari Vanzari Cant*Pret Vanzari

Pentru vânzări se va crea şi o interogare cu parametru pentru situaţia vânzărilor în luna


..., unde luna se va comunica drept parametru de interogare.

Crearea şi utilizarea formularelor.


În Microsoft Access formularele se pot folosi pentru a crea:
- un ecran pentru introducerea datelor în una sau mai multe tabele;
- un ecran tip “panou de comutatoare” pentru a deschide alte formulare sau rapoarte;
- o casetă de dialog care să solicite de la utilizator informaţii suplimentare necesare
executării unei acţiuni.
Majoritatea informaţiilor dintr-un formular provin dintr-o sursă de informaţii, dar
există şi informaţii care se introduc la proiectarea machetei. Legătura dintre formular şi sursa
de date se realizează prin intermediul unor obiecte grafice, numite controale. Cele mai
utilizate controale sunt casetele de text, cu ajutorul cărora se pot afişa fie informaţiile dintr-o
sursă de date, fie rezultatele evaluării unei expresii.
Un formular poate fi creat în două moduri şi anume:
- în modul Design view;
- utilizând un wizard.
Un wizard poate fi utilizat în modurile (figura 23, caseta New Form care apare la
apăsarea butonului New din fereastra Database):
Form Wizard; AutoForm: Columnar; AutoForm: Tabular;
Chart Wizard; Pivot Table Wizard.
Odată creat, un formular poate fi modificat şi în acest sens se deschide formularul în
modul Design pentru a-l modifica aşa cum se doreşte.

Subformulare
Subformularul este un formular în interiorul altui formular. Formularul primar este
denumit formular principal (main form), iar formularul din interiorul formularului este numit
subformular. Combinaţia formular/subformular este referită adeseori ca formular ierarhic,
formular principal/detaliu sau formular părinte/copil.
Subformularele sunt eficiente în special pentru prezentarea datelor din tabele sau
interogări cu relaţii 1→m (one-to-many). Spre exemplu, se poate crea un formular cu un
subformular pentru a prezenta datele din tabelele Produse şi Stocuri. Datele din tabela
Produse reprezintă partea “1” din relaţie, iar datele din tabela Stocuri reprezintă partea “m”
din relaţie – fiecare produs putând avea mai multe înregistrări în tabela Stocuri.

14
Formularul principal şi subformularul din acest tip de formulare sunt înlănţuite, astfel
încât subformularul afişează numai înregistrările care sunt corelate cu înregistrarea curentă din
formularul principal. Spre exemplu, atunci când formularul principal afişează produsul
Tastatură, subformularul afişează numai stocurile pentru acest produs.
Se pot realiza cel mult două nivele de subformulare. Aceasta înseamnă că poate exista
un subformular într-un formular principal şi un alt subformular în interiorul subformularului,
de nivel 1. Spre exemplu, poate exista un formular principal care afişează clienţii, un
subformular care prezintă produsele şi un alt subformular care afişează vânzările pentru acele
produse şi clienţi.
Una din metodele utilizate pentru crearea unui subformular în cadrul unui formular
constă în efectuarea următoarelor operaţii:
- se crează un formular principal şi un subformular şi se salvează fiecare separat;
- se deschide formularul principal în modul Design;
- se trage cu mouse-ul subformularul din fereastra Database peste formularul principal.

Problemă rezolvată
În figurile 24,…,29 sunt ilustraţi paşii parcurşi pentru crearea formularului principal
Produse utilizând modul Form Wizard. Analog se procedează pentru crearea subformularului
Stocuri. În figura 30 este ilustrat rezultatul tragerii subformularului Stocuri peste formularul
Produse. Deschiderea formularului Produse în modul Open permite vizualizarea şi
actualizarea atât a datelor din tabela Produse cât şi a datelor corespunzătoare din tabela
Stocuri aşa cum este ilustrat în imaginea de ecran din figura 31.

Probleme propuse.
Utilizând metoda prezentată mai sus, să se creeze următoarele formulare:
- formularul Furnizori cu subformularul Oferte;
- formularul Clienţi cu subformularul Vânzări;
- formularul Produse cu subformularele Stocuri, Oferte, Vânzări.

Figura 23. Fereastra Database. Modalităţi de creare a unui formular (Caseta New Form).

15
Figura 24. Creare formular Produse (pasul 1)

Figura 25. Creare formular Produse (pasul 2)

Figura 26. Creare formular Produse (pasul 3)


16
Figura 27. Creare formular Produse (pasul 4)

Figura 28. Creare formular Produse (pasul 5)

Figura 29. Vizualizare formular Produse.


17
Figura 30. Depunere subformular Stocuri în formular Produse.

Figura 31. Utilizare formular Produse pentru vizualizare şi actualizare date în tabelele
Produse şi Stocuri.
Crearea şi vizualizarea rapoartelor
Rapoartele au în vedere prelucrarea unor date din baza de date pentru obţinerea unor
situaţii ce urmează a fi tipărite sau afişate pe ecran la cererea utilizatorului. Spre deosebire de
formulare care pe lângă vizualizarea datelor permite şi actualizarea acestora, rapoartele
realizează interogarea şi prelucrarea datelor din baza de date nefiind posibilă modificarea
datelor. Există două modalităţi de creare a rapoartelor şi anume (figura 32):
- creare raport în modul Design view;
- creare raport utilizând un wizard.
Un wizard poate fi utilizat în modurile (figura 32, caseta New Report care apare la apăsarea
butonului New din fereastra Database): Report Wizard, AutoReport: Columnar, AutoReport:
Tabular, Chart Wizard, Label Wizard.

18
Figura 32. Fereastra Database. Modalităţi de creare a unui raport (Caseta New Report).
În cele ce urmează se vor prezenta paşii de parcurs pentru realizarea unui raport în modul
Report Wizard.
1. În caseta de dialog Choose the table or query… se selectează tabela sau interogarea pe
care se va fundamenta raportul şi se apasă butonul OK (figura 33, Situaţia Stocurilor).
2. Selectare câmpuri pentru raport din lista Available Fields în lista Selected Fields folosind
butoanele > sau >> , după care se apasă butonul Next (figura 34).
3. Selectare mod pentru vizualizare date, după care se apasă butonul Next (figura 35).
4. Selectare nivele de grupare date în raport, după care se apasă butonul Grouping Options
pentru a preciza modul de grupare, apoi se apasă butonul Next (figura 36).
5. Precizare criterii de ordonare date în raport, după care se apasă butonul Sumary Options
pentru precizarea operaţiilor de efectuat asupra grupurilor de înregistrări (figura 37).
6. Precizare operaţii de efectuat asupra grupurilor de înregistrări, după care se apasă butonul
OK (figura 38) şi apoi butonul Next.
7. În casetele Layout, Orientation, se selectează forma de realizare a raportului (figura 39) şi
apoi se apasă butonul Next.
8. Se selectează stilul de realizare a raportului, apoi se apasă butonul Next (figura 40).
9. Precizare titlu raport, după care se apasă butonul Finish (figura 41).
În figura 42 este vizualizat raportul obţinut. Pentru modificarea raportului, acesta
trebuie deschis în modul Design şi apoi se execută modificările dorite.
Probleme propuse
După exemplul prezentat, să se creeze următoarele rapoarte utilizând modul Report Wizard:
Situaţia ofertelor de produse pe produs
Cod produs Denumire produs
Cod furnizor Denumire furnizor Adresa furnizor Ump Pret Data ofertei
………………………………………………………………………….
……………………………..
Situaţia ofertelor de produse pe furnizor
Cod furnizor Denumire furnizor Adresa furnizor
Cod produs Denumire produs Ump Pret Data ofertei
………………………………………………………
………………………………………………….......

19
Situaţia vânzărilor de produse pe produs
Cod produs Denumire produs
Cod client Denumire client Adresa client Ump Cantitate Pret Valoare Data vânzării
……………………………………………………………………………………….
Total produs xxxxxxx xxxxxx
……………………………………
Total general xxxxxx
Situaţia vânzărilor de produse pe client
Cod client Denumire client Adresa client
Cod produs Denumire produs Ump Cantitate Pret Valoare Data vânzării
……………………………………………………………………………
Total client xxxxxx
………………………………………….
Total general xxxxxx

Teste de verificare
1. La nivel fizic o bază de date Access este:
a) un ansamblu de fişiere ce conţin obiectele bazei de date b) un fişier cu extensia .acc
c) un fişier cu extensia .mdb d) un fişier cu extensia .xls e) un fişier .dbf pt. fiecare tabelă

2. Enumeraţi principalele componente ale unei baze de date Access

3. Pentru crearea unei tabele în ACCESS din fereastra ACCESS se selectează:


a) Table, Design b) Table, New c) Table, Open d) Forms, Design

4. Pentru crearea unui raport în ACCESS care foloseşte date din mai multe tabele se va
proceda astfel:
a) Se va crea câte un formular pentru fiecare tabelă
b) Se proiectează raportul în modul Design view cu specificarea tabelelor utilizate
c) Se crează o interogare corespunzătoare raportului şi apoi se proiectează raportul utilizând
acea interogare

Figura 33. Modul Report Wizard Selectare tabelă sau interogare pentru raport .
20
Figura 34. Modul Report Wizard Selectare câmpuri pentru raport .

Figura 35. Modul Report Wizard. Selectare mod (tabelă) după care vor fi vizualizate datele.

Figura 36. Modul Report Wizard. Selectare nivele de grupare date în raport.
21
Figura 37. Modul Report Wizard. Precizare criterii de ordonare date în raport.

Figura 38. Modul Report Wizard. Precizare operaţii de efectuat asupra grupurilor de înregistrări.

Figura 39. Modul Report Wizard. Precizare format de realizare raport.


22
Figura 40. Modul Report Wizard. Selectare stil de realizare raport.

Figura 41. Modul Report Wizard. Precizare titlu raport.

Figura 42. Modul Report Wizard. Vizualizare raport Situaţia stocurilor de produse.
23

You might also like