Sunteți pe pagina 1din 74

Inspectoratul Şcolar

Judeţean Bacău

PROGRAM DE FORMARE-DEZVOLTARE CONTINUĂ

“BACOV-IA”
Grup ţintă: Cadre didactice din învăţământul preuniversitar

UTILIZAREA SISTEMELOR DE GESTIUNE A BAZELOR DE


DATE PENTRU TEZAURIZAREA DATELOR
UNUI SISTEM INFORMAŢIONAL

dr.ing.Alexandru Cătălin FILIP

Braşov, 2011

Profesionalizarea carierei didactice – noi competenţe pentru


actori ai schimbărilor în educaţie din judeţele Bacău şi Covasna

Investeşte în
OAMENI
CUPRINS

INTRODUCERE ............................................................................................................................. 3

TEMA NR.1 NOŢIUNI DE BAZĂ PRIVIND GESTIUNEA INFORMAŢIILOR CU AJUTORUL


BAZELOR DE DATE ...................................................................................................................... 5
1.3.1. SCURT ISTORIC AL BAZELOR DE DATE ............................................................................................. 5
1.3.2. CE ESTE O BAZĂ DE DATE? CONCEPTE GENERALE. .......................................................................... 7
1.3.3. INTERFAȚA PRINCIPALĂ A SISTEMULUI MICROSOFT ACCESS® 2007................................................13

TEMA NR.2 GESTIUNEA INFORMAŢIILOR ÎN TABELELE UNEI BAZE DE DATE ................ 20


2.3.1. CREAREA TABELELOR ÎN BAZELE DE DATE ACCESS®. LUCRUL CU ÎNREGISTRĂRILE. ......................20
2.3.2. STABILIREA PROPRIETĂŢILOR CÂMPURILOR ÎN BAZELE DE DATE ACCESS®. ....................................27
2.3.3. ORDONAREA ȘI AFIȘAREA SELECTIVĂ A ÎNREGISTRĂRILOR. ...........................................................32

TEMA NR.3 PRELUCRAREA INFORMAŢIILOR PRIN INTEROGĂRI....................................... 37


3.3.1. STABILIREA RELAȚIILOR ÎNTRE TABELELE UNEI BAZE DE DATE ACCESS®. ......................................37
3.3.2. CREAREA UNEI INTEROGĂRI. FEREASTRA DE PROIECTARE. ............................................................41
3.3.3. INTEROGĂRI SIMPLE PENTRU SELECȚIE DE ÎNREGISTRĂRI. ..............................................................44
3.3.4. INTEROGĂRI DE SELECȚIE DE TIP STATISTIC. ..................................................................................51

TEMA NR.4 ASPECTE PRIVIND SECURITATEA INFORMAŢIILOR ÎN BAZELE DE DATE .... 53


4.3.1. CREAREA ŞI UTILIZAREA FORMULARELOR ÎN ACCESS® ..................................................................54
4.3.2. POSIBILITĂŢI DE ASIGURARE A SECURITĂŢII FIŞIERELOR ÎN ACCESS® .............................................62

REZUMATUL DISCIPLINEI ........................................................................................................ 66

ANEXA NR.1 Tipuri de date utilizabile în bazele de date Access® ................................................ 67


ANEXA NR.2 Înregistrările tabelelor din aplicaţie ........................................................................ 68
ANEXA NR.3 Funcţii predefinite incluse în biblioteca Access® .................................................... 71

BIBLIOGRAFIE ............................................................................................................................ 73

2
INTRODUCERE

1. Locul şi rolul disciplinei în formarea competenţelor programului


Disciplina “Utilizarea sistemelor de gestiune a bazelor de date pentru tezaurizarea datelor unui
sistem informaţional” se încadrează în grupul disciplinelor de tehnologia informaţiei şi utilizarea
calculatorului. Având în vedere unul dintre obiectivele specifice ale proiectului – dezvoltarea
capacităţii cadrelor didactice de a utiliza metode interactive de predare-învăţare-evaluare prin
intermediul TIC în implementarea curriculumului centrat pe competenţe – disciplina asigură
competențele de bază necesare gestiunii informatizate a diferitelor tipuri de informații, prin
intermediul unuia dintre sistemele informatice cele mai cunoscute, specializat pentru baze de date,
Microsoft Access® 2007.

2. Competenţe profesionale oferite


După parcurgerea și însușirea materialului cursantul va fi capabil:
 să descrie principiile de bază ale gestiunii informatizate a informațiilor,
 să lucreze cu conceptele de tabel, câmp, înregistrare, relație, să realizeze diferite acțiuni în
interfața principală a programului Microsoft Access®2007,
 să creeze tabele noi pe baza unor structuri proiectate anterior,
 să afişeze, adauge, șteargă înregistrări în tabele,
 să lucreze cu diferitele moduri de afișare a unui tabel, să ordoneze și să afișeze selectiv
înregistrări în tabele,
 să identifice și să creeze relații posibile și utile între tabelele unei baze de date,
 să prelucreze informaţiile din baza de date prin intermediul interogărilor,
 să protejeze datele dintr-o bază de date cu ajutorul unei parole.

3. Obiective generale
 înțelegerea conceptelor de bază privind sistemele de gestiune a datelor utilizate pentru
tezaurizarea informaţiilor
 cunoașterea interfeței generale a sistemului Microsoft Office Access® 2007
 însușirea modului de a lucra cu tabelele de date şi de a prelucra informațiile prin ordonarea
și filtrarea datelor
 însuşirea principiilor de bază privind extragerea şi prelucrarea informaţiilor cu ajutorul
interogărilor
 înţelegerea aspectelor privind securitatea informaţiilor tezaurizate sub forma unei baze de
date

3
4. Structura cursului
Cursul este structurat în 4 teme principale. Tema nr.1 se referă la noţiunile teoretice de bază
privind gestiunea informaţiilor în bazele de date. Tema nr.2 prezintă organizarea datelor sub forma
tabelelor în sistemul de gestiune a bazelor de date Microsoft Access®. Tema nr.3 tratează
posibilităţile de prelucrare a informaţiilor tezaurizate în tabele cu ajutorul opţiunilor de ordonare,
filtrare a datelor şi prin intermediul interogărilor. Tema nr.4 include aspecte care ţin de protecţia
informaţiilor prin intermediul formularelor, a parolelor de acces sau prin diferite alte metode puse
la dispoziţie de sistemul software.
În cadrul fiecărei teme sunt incluse aplicații practice sub formă de exemple pe care cursantul
trebuie să le execute în vederea dobândirii deprinderilor practice necesare.

5. Evaluarea
Se va face prin crearea unei aplicații proprii de bază de date, de către fiecare cursant, respectând
un set de cerințe minime: minim 2 tabele având un minim de 15 înregistrări în total. Tabelele
trebuie să conţină un număr minim de 3 câmpuri fiecare. Baza de date va conţine cel puţin 2
interogări care să afişeze selectiv informaţiile din tabele şi 1 formular de afişare a informaţiilor.

4
TEMA NR. 1
NOŢIUNI DE BAZĂ PRIVIND GESTIUNEA INFORMAŢIILOR
CU AJUTORUL BAZELOR DE DATE

1.1. Competenţe profesionale oferite:


 a înţelege principiile de bază ale gestiunii informatizate a informațiilor
 a lucra cu conceptele de tabel, câmp, înregistrare, relație
 a crea structuri de date relaționale utilizate pentru tezaurizarea datelor
 a realiza diferite acțiuni în interfața principală a programului Microsoft Access®2007.
1.2. Obiectivele temei
 înțelegerea principiilor de bază privind gestiunea informatizată a informațiilor
 înțelegerea structurii unei baze de date și a componentelor acesteia
 înțelegerea conceptului de bază de date relațională și a terminologiei utilizate
 deprinderea de a lucra cu interfața principală a programului Microsoft Access®
1.3. Conţinutul detaliat
1.3.1. Scurt istoric al bazelor de date
În societatea contemporană gestionarea informaţiei este o caracteristică definitorie a existenţei
acesteia. Constatăm că astăzi este nevoie ca un volum tot mai mare de informaţii să fie gestionat
(memorat, prelucrat, distribuit etc.) într-un timp cât mai scurt şi cu costuri acceptabile. Bazele de
date sunt acele instrumente prin care se poate realiza acest lucru.
În societatea contemporană se vorbeşte destul de des de sintagmele „societate bazată pe
cunoaştere” şi „societate informaţională”. Ambele concepte presupun utilizarea calculatorului
personal pentru cunoaştere, tezaurizare, transmitere şi prelucrare a volumului imens de informaţii,
specifice diferitelor domenii de activitate.
În ceea ce priveşte evoluţia istorică a gestiunii informaţiilor sub formă de baze de date prin
intermediul calculatorului personal şi a sistemelor software, se pot evidenţia câteva etape istorice
importante:
 anii 1960 – perioada bazelor de date secvenţiale, bazate pe modelele ierarhic sau reţea, în care
înregistrările erau dependente una de cealaltă. Dependenţa era stabilită prin legături numite
pointeri. Pentru găsirea unei informaţii, trebuia parcursă întreaga bază de date, de la o
înregistrare la alta, până la înregistrarea care conţinea informaţia căutată. Acest mod de abordare

5
necesita timpi de căutare relative mari, pentru baze de date de volume mari. Cele mai cunoscute
sisteme ale perioadei sunt CODASYL şi IMS (IBM);
 anii 1970 – apariţia modelului relaţional, bazat pe conceptele matematice din algebra
relaţională pentru a grupa datele în mulţimi şi a stabili relaţii între acestea. Modelul este atribuit
lui Edgar Frank Codd care prin lucrarea "A Relational Model of Data for Large Shared Data
Banks“, a marcat un moment important de cotitură în domeniul gestiunii informaţiilor sub formă
de baze de date. În cadrul acestui model, informaţiile sub memorate pe grupuri de obiecte, având
anumite atribuite şi se stabilesc relaţii de dependenţă între grupuri. O anumită informaţie se poate
găsi acum rapid pe baza unei chei unice de identificare a fiecărei înregistrări, nefiind necesară
parcurgerea pas cu pas a bazei de date;
 perioada 1970 -1980 – dezvoltarea modelului relaţional, prin apariţia diferitelor sisteme
software bazate pe acest model. Cele mai cunoscute au fost dezvoltate de către MIT
(Massachusetts Institute of Technology), prin sistemele INGRES şi QUEL şi de către IBM, prin
SYSTEM R, SEQUEL şi SQL (Structured Query Language). Ultimul menţionat a devenit în
1987 standard internaţional în domeniu, fiind de fapt un set de instrucţiuni care este inclus în
toate sistemele software utilizate în prezent pentru gestiunea informaţiilor în baze de date;
 după anii 1990 – perioada modelelor OODB (Object Oriented DataBase), bazate pe modelul
programării orientate pe obiecte, cercetări în direcţia creşterii vitezei de procesare a informaţiilor
în baze de date tot mai voluminoase, în direcţia bazelor de date bazate pe acces prin internet
(web-based) odată cu dezvoltarea rapidă a internetului şi a reţelelor de calculatoare. Standardul
SQL este permanent dezvoltat şi completat cu instrucţiuni noi, de exemplu prin includerea sa în
limbajele XML şi PHP, utilizate la gestiunea paginilor web.
Odată cu dezvoltarea sistemelor personale (PC), au apărut si primele aplicaţii de baze de date
care foloseau un singur fişier pentru a stoca toată informaţia din baza de date. Ele erau de tip XBase,
un limbaj care s-a răspândit foarte repede. Sistemele care l-au folosit au fost dBase, FoxBase,
FoxPro, care funcţionau sub sistemul MS-DOS. Cea mai cunoscută aplicaţie care folosea limbajul
XBase a fost FoxPro, sistem dezvoltat de firma Fox Software. Astăzi, urmaşul modern al acestui
system este Visual FoxPro şi a fost creat de către Microsoft. Şi în zilele noastre există utilizări care
stochează date în baze de date FoxPro, cel mai cunoscut exemplu este cel gestiunii activităţilor la
Euro Tunel, cuprinzând volume de date de câteva sute de GB.
La începutul anilor 90, Microsoft Corporation a lansat aplicaţia Access, care se bazează în mare
parte pe logica de stocare a sistemului FoxPro, sistem care fusese achiziţionat în 1989. Aplicaţia
Access a devenit, în scurt timp, cea mai folosită pentru gestiunea bazelor de date de pe sistemele
personale. Ajunsă acum la versiunea 13 (denumită 2010), este pregătită să fie transferată oricând

6
către o bază de date de tip Microsoft SQL Server, care beneficiază de facilităţi de access
multiutilizator, în reţelele de calculatoare şi reţele web.
În prezent, bazele de date şi sistemele software care trebuie să le gestioneze se orientează tot mai
mult spre posibilitatea de a avea acces la informaţiile stocate prin internet şi reţelele de calculatoare.

1.3.2. Ce este o bază de date? Concepte generale.


O bază de date1 este o colecţie structurată de informaţii [1], organizate după un set de
reguli, înregistrate pe un suport accesibil cu ajutorul calculatorului personal, care satisface
simultan cerinţele unei categorii de utilizatori, în mod selectiv şi în timp util. Din punct de
vedere al frecvenţei actualizării şi accesării, bazele de date pot fi clasificate în două categorii: baze
de date statice (de arhivare) în care informaţiile nu sunt prelucrate în vreun fel şi odată introduse
acestea nu se mai modifică, se adaugă doar date noi la cele existente; baze de date dinamice în care
informaţiile se modifică permanent în timp şi care necesită o permanentă prelucrare.

Exemple
 Colecţia cărţilor dintr-o bibliotecă, a CD-urilor cu muzică sau a DVD-urilor cu filme
 Evidența elevilor, a cadrelor didactice și a disciplinelor dintr-o unitate școlară
 Evidența candidaţilor la concursul de admitere la o facultate
 Gestiunea bunurilor unei organizații (obiecte de inventar, mijloace fixe etc.)
 Gestiunea produselor comercializate de către o societate comercială
 Gestiunea producţiei de bunuri într-o unitate de producţie
 Evidența personalului unei organizații sau a unei societăţi comerciale
 Colecţia electronică a ediţiilor unor ziare
 Gestiunea parcului auto al unei societăţi comerciale
 şi multe altele….

O bază de date modernă, care se află în pas cu cerinţele lumii informatice de astăzi nu conţine
numai informaţiile propriu-zise, ci şi regulile de gestionare ale acestora (cum ar fi proprietăți ale
datelor, reguli de validare a datelor etc.) precum şi obiectele necesare acestei gestionări (cum ar fi
interogări, formulare, rapoarte, macrocomenzi, acces web etc.).
Pentru ca o bază de date să poată fi construită, utilizată şi prelucrată, într-un cuvânt gestionată
de către utilizatorul uman prin intermediul calculatorului este necesar un limbaj de nivel înalt şi o

1
lb.engleză – database, lb.franceză – base des données

7
interfaţă prin intermediul căreia programatorul şi utilizatorul obişnuit să comunice cu baza de date.
Acest limbaj se mai numeşte generic Limbajul de descriere, manipulare şi prelucrare a datelor
(LDD, LMD, LPD) şi este un sistem de programe specializat, proiectat în acest scop, care poartă
numele de Sistem de Gestiune a Bazelor de Date (SGBD), în limba engleză DataBases
Management System (DBMS), în limba franceză Système de Gestion des Bases des Données.
Relaţiile structurale dintre baza de date fizică, sistemul de gestiune şi diferiţii utilizatori sunt
prezentate schematic în figura 1.

Fig. 1 Relaţiile dintre baza de date (BD), sistemul de gestiune (SGBD) şi utilizatori

Analizând diferitele modele de baze de date dezvoltate de-a lungul istoriei, se constată că, în
prezent, cel mai utilizat model este cel relațional.
Un model relaţional de bază de date are ca fundament [1] structuri de date numite tabele în
care sunt stocate informaţiile propriu-zise. Între tabele se stabilesc relaţii de asociere, a căror
existenţă este guvernată de un set de reguli precise. Informaţiile cuprinse în tabele pot fi controlate
de restricţii algebrice.

8
Tabelul (tabela)2 este o structură de tip matrice, în care informaţiile sunt aşezate pe rânduri şi
coloane. Coloanele definesc tipul informaţiei, iar rândurile, valorile acesteia. O coloană, conţinând
un anume tip de informaţie, se numeşte câmp3. Un rând, conţinând valorile corespunzătoare tuturor
coloanelor, se numeşte înregistrare4. Fiecare câmp al tabelului are o denumire prin intermediul
căreia va putea fi identificat atunci când se face referire la el. Lista câmpurilor tabelului formează
structura acestuia, care este stabilită de către proiectantul bazei de date după nişte reguli specifice.

 Exemplul 1: Evidența elevilor clasei


Cod_unic Nume Prenume Data_nasterii
1001 Anghelescu Ion Paul 10/04/2003
1002 Dima Robert 5/04/2003
1003 Dumbrava Mihaela Ioana 22/03/2003

Tabelul prezentat mai sus se bazează pe o structură compusă din 4 câmpuri (coloanele
tabelului), având denumirile conform antetului său și conține 3 înregistrări (liniile tabelului). În
fiecare câmp se memorează date de un anumit tip. De exemplu, câmpul Nume conține date de tip șir
de caractere, iar câmpul Data_nasterii date calendaristice.

Este important ca un câmp al tabelului să gestioneze o informaţie care reprezintă un singur


atribut (caracteristică) a clasei de obiecte respective. În exemplu 1 există câmpuri separate care
gestionează numele şi prenumele elevului, deoarece acestea sunt 2 atribute diferite ale acestuia.
Valorile atribuite câmpurilor unui tabel al bazei de date trebuie să aibă anumite proprietăţi care
sunt stabilite la definirea structurii tabelului. Aceste proprietăţi se referă la tipul de dată (numeric,
text etc.), la domeniul permis al valorilor, la anumite restricţii privind valorile introduse etc.
Posibilităţile de control al acestor proprietăţi depind în mare măsură de SGBD-ul ales pentru
gestionarea bazei de date.

În orice tabel al unei baze de date fiecare înregistrare trebuie să fie unică, adică valorile
câmpurilor acesteia să difere de ale celorlalte înregistrări pentru cel puţin unul dintre câmpuri. După
valoarea din acel câmp, înregistrarea respectivă poate fi identificată. Acel câmp poartă denumirea
generică de cheie de identificare sau cheie primară5. În exemplul 1, câmpul Cod_unic este cel mai
indicat să fie cheia primară, deoarece trebuie să fie un cod unic atribuit fiecărui elev. În acest caz,
acesta ar putea fi codul numeric personal, numărul matricol etc.

2
lb.engleză – table, lb.franceză – table
3
lb.engleză – field, lb.franceză – champ
4
lb.engleză – record, lb.franceză – enregistrement
5
lb.engleză – primary key

9
În cadrul modelului relaţional, între informaţiile stocate în diferitele tabele ale bazei de date se
stabilesc relaţii de asociere. Acestea constituie unul dintre elementele de esenţă conceptuală a
modelului relaţional al bazelor de date. Pe baza acestui model s-au dezvoltat şi astăzi sunt în
puternică dezvoltare Sistemele de Gestiune a Bazelor de Date Relaţionale (SGBD-R) – Relational
Database Management Systems (R-DBMS), din care face parte şi Microsoft Access®.
O relaţie se stabileşte între două tabele ale bazei de date, prin intermediul a două câmpuri, câte
unul din fiecare tabel, adică este de tip binar (câmp – câmp). Există [1], [3] trei tipuri de relaţii:
 Relaţie unu-la-unu (one-to-one) – 1:1 – în care unei înregistrări din primul tabel (partea
stângă) îi corespunde o singură înregistrare în celălalt tabel (partea dreaptă) şi reciproc;
 Relaţie unu-la-mai mulţi (one-to-many) – 1:N – în care unei înregistrări din primul tabel îi pot
corespunde mai multe înregistrări în celălalt tabel şi fiecărei înregistrări din al doilea tabel îi
corespunde numai una în primul tabel; primul tabel se numeşte tabel primar sau Parent
(părinte), iar cel de-al doilea, tabel corelat sau Child (copil);
 Relaţie mai mulţi-la-mai mulţi (many-to-many) – M:N – în care unei înregistrări din primul
tabel îi pot corespunde mai multe înregistrări în celălalt tabel şi reciproc.

Câmpurile prin care se stabilesc relaţii între două tabele ale bazei de date trebuie să conţină
acelaşi tip de dată. În figura 2 se prezintă schematizat cele 3 tipuri de relații, prin similitudine cu
mulțimile utilizate în matematică.

Mulțimea tuturor relaţiilor stabilite între tabelele unei baze de date formează schema
relaţională6 a bazei de date care este gestionată într-o zonă dedicată a unui SGBD.

Relaţia 1-1 Relaţia 1-N Relaţia M-N


Fig.2 Tipuri de relații între tabele

6
lb.engleză – relationships scheme

10
 Exemplul 2: Bază de date relațională pentru evidența elevilor pe clase
Pentru gestionarea informaţiilor referitoare la elevii dintr-o unitate şcolară se poate proiecta o
structură de date relațională care să conțină, pentru început, 2 tabele:
1. Clase (cod, nivel, litera, anul);
2. Elevi (cod_unic, cod, nume, prenume, data_nastere)
Informaţiile sunt separate în două clase de obiecte: clasele şi elevii.
Tabelul Clase conţine informaţiile
despre structura de clase a unităţii Clase Elevi
şcolare şi are 4 câmpuri. Câmpul cod
reprezintă un cod unic de identificare a cod 1:N cod_unic
fiecărei clase în baza de date şi este cheia nivel cod
primară a tabelului Clase. De obicei, litera nume
anul prenume
structura valorilor unui câmp de acest tip
data_nastere
se alege astfel încât fiecare caracter să
aibă o semnificaţie. De exemplu, valorile
propuse pentru acest câmp (vezi tabelul
Fig.3. Reprezentarea relaţiei între două tabele
de mai jos) pot avea o structură cu
următoarele semnificaţii:
 prima cifră să reprezinte nivelul clasei
 a doua cifră să reprezinte litera
 celelalte două să reprezinte ultimele două cifre din an.
Tabelul Elevi conţine informaţiile despre elevi şi are 5 câmpuri. Pentru a identifica în mod unic
un elev, se utilizează câmpul cod_unic care poate fi CNP-ul sau numărul matricol.
În mod natural, există mai mulţi elevi într-o clasă, adică unei înregistrări din tabelul Clase îi
corespund mai multe înregistrări în tabelul Elevi. În consecinţă, relaţia de legătură dintre cele
două tabele va fi de tipul 1:N, prin intermediul câmpului cod, care are aceeaşi semnificaţie în
ambele tabele. Relaţia se reprezintă în schema conceptuală a bazei de date printr-o săgeată (fig.3).
În mod normal, nu trebuie să existe elevi înregistraţi care să nu aparţină niciunei clase – adică să
nu existe înregistrări în tabelul Elevi care să nu aibă înregistrare corespondentă în tabelul Clase. O
astfel de cerinţă poate fi controlată automat într-un SGBD relaţional, prin configurarea în mod
corespunzător a relaţiei dintre cele două tabele.
Tabelul clase
cod nivel litera anul
1110 I A 2010
1210 I B 2010
2110 II A 2010
2210 II B 2010
... ... ... ...

Bineînţeles că structura propusă mai sus poate fi dezvoltată ulterior prin adăugarea altor
tabele care să memoreze informaţii despre alte clase de obiecte cum ar fi cadrele didactice, sălile

11
de clasă, inventarul, disciplinele etc. sau prin adăugarea de noi informaţii în cele două tabele, cum
ar fi completarea tabelului Elevi cu date despre adresă, telefoane, părinţi etc.
De exemplu, în structura prezentată anterior se adaugă un tabel care să gestioneze informaţiile
despre cadrele didactice. Acesta va putea fi legat printr-o relaţie de tabelul Clase prin atribuţia
cadrului didactic în raport cu clasa de elevi (învăţător sau diriginte).
Pentru gestiunea informaţiilor referitoare la situaţia şcolară a elevilor, baza de date se
completează cu încă două tabele, Discipline şi Catalog, pentru a memora datele care se referă la
aceste două clase de obiecte.
Schema structurală a noii baze de date, completată cu cele sus-menţionate este prezentată în
figura 4.

Clase Elevi

cod cod_unic
nivel cod
litera nume
anul prenume
Atributii_clasa cod_cd data_nastere Catalog

cod_clasa cod_elev
cod_cd cod_disc
atributie Cadre_did Discipline semestru
nota
cod_unic cod_disc data
nume denumire
prenume nivel
grad_did

Fig.4. Schema structurală a bazei de date Gestiune şcolară

În schema prezentată în figura 4, pentru regăsirea corectă a informaţiilor corelate se stabilesc


relaţii de legătură între tabele, după cum urmează:
 fiecare elev aparţine unei singure clase şi, în mod natural, o clasă are mai mulţi elevi, adică
relaţia dintre cele două tabele este de tip 1:N;
 fiecărei clase i se asociază un cadru didactic prin intermediul tabelului Atributii_clasa, prin
precizarea atribuţiei (învăţător, diriginte);
 în mod natural, un elev are mai multe note în catalog, iar la o disciplină sunt acordate mai
multe note elevilor, adică relaţiile care se stabilesc între tabelele Elevi şi Catalog, respectiv,
între tabelele Discipline şi Catalog, sunt de tipul 1:N.

12
În cadrul modelului relaţional, pe lângă tabele cu structuri definite şi relaţii de asociere între
acestea, trebuie să existe şi un set de reguli de gestionare a informaţiilor, de prelucrare a acestora.
Aceste reguli sunt cuprinse în limbajul de prelucrare a datelor (LPD) care se mai numeşte şi limbaj
de cereri (în majoritatea cazurilor baza de date este utilizată pentru a solicita – a „cere” ulterior
informaţii de un anumit tip).
Odată cu apariţia şi dezvoltarea SGBD-R, au apărut şi diverse tipuri de LPD, majoritatea bazate
pe operatori matematici ai algebrei relaţionale. Unele dintre acestea sunt specifice numai anumitor
SGBD-R, altele au devenit un standard şi formează nucleul mai multor SGBD moderne.
Limbajul SQL (Structured Query Language7) este cel mai cunoscut în domeniu și reprezintă
nucleul multora dintre SGBD actuale [1]. El a fost introdus prima dată în 1974, de către IBM
Research Laboratory, San Jose, California, iar în anul 1986 a fost recunoscut de către ANSI ca
standard internaţional. SQL reprezintă un set de instrucţiuni, majoritatea direct executabile, care
utilizează operatori din algebra relaţională (produs cartezian, reuniune, intersecţie, diferenţă), dar şi
operatori care definesc funcţii agregat, folosite în teoria mulţimilor (numărare – Count, medie
aritmetică – Avg, suma – Sum, valoare minimă – Min etc.).
Instrucţiunile din SQL pot fi incluse şi în alte limbaje de programare (Basic, C, Cobol, Fortran
etc.), astfel încât aplicaţiile scrise cu aceste limbaje pot interacţiona cu bazele de date prin
intermediul unui SGBD-R care include şi SQL. De asemenea, prin SQL se asigură compatibilitatea
între diversele aplicaţii cu baze de date, create cu diverse SGBD-R, care trebuie să aibă inclus acest
limbaj în componenţa lor.

1.3.3. Interfața principală a sistemului Microsoft Access® 2007.


Dintre sistemele de gestiune a bazelor de date relaţionale existente astăzi, Access ® este unul
dintre cele mai complete şi performante. El nu este un simplu SGBD, ci este un mediu complex de
dezvoltare de aplicaţii pentru baze de date, construit pe principiile arhitecturii deschise. Microsoft
Access® (pe scurt Access®) este integrat în pachetul Microsoft Office, având facilităţi
corespunzătoare de interacţiune cu celelalte module (Word, Excel, Outlook etc). Access ®
încorporează un maximum de posibilităţi de abordare a unei baze de date, având integrate cele mai
importante modele de proiectare a acesteia. Sistemul Access®, ajuns în prezent la versiunea a
treisprezecea, oferă un set complet de instrumente, unele suficient de sofisticate pentru
programatorii profesionişti, altele uşor de folosit de către utilizatorii noi. Cu Access ®, orice
utilizator îşi poate crea soluţiile cele mai convenabile prin care accesul, organizarea şi distribuţia
informaţiilor într-o organizaţie se poate face mai uşor şi mai sigur ca niciodată.
7
rom. limbaj structurat de cereri

13
Sistemul Access® cuprinde [2], [6], [7], [9], [14] următoarele componente principale (fig.5):
 un modul SGBD-R performant, care include două dintre cele mai cunoscute limbaje de
prelucrare a datelor, QBE (Query-by-Example) şi SQL (Structured Query Language); în
acest modul se crează tabelele de date şi se gestionează informaţiile;
 un modul VBA care include un limbaj procedural de programare independent, VBA
(Visual Basic for Applications), utilizabil pentru dezvoltarea de aplicaţii;
 un limbaj macro procedural simplificat, cu ajutorul căruia se pot proiecta aşanumitele
macrocomenzi, deosebit de utile în etapele de administrare a bazei de date;
 un set de instrumente pentru dezvoltare rapidă a interfeţei bază de date – utilizatori
obişnuiţi (formulare, rapoarte, panouri de comandă);
 un set de instrumente pentru asigurarea interfeţei Access – alte medii (conversii de date,
transfer de date în/din, securitate, acces prin Web, compatibilităţi etc.);
 un set puternic de instrumente de asistenţă interactivă („wizards”) pentru dezvoltarea
uşoară a aplicaţiilor.

În Access®, termenul de bază de date nu se referă numai la datele propriu-zise, ci cuprinde şi


alte obiecte cum ar fi formularele, interogările (cereri), rapoartele, panourile de comandă,
macrocomenzile şi modulele de aplicaţii VBA. O caracteristică specifică, deosebită de alte SGBD
cunoscute, este faptul că tabelele de date împreună cu toate obiectele de gestionare sunt memorate
într-un singur fişier. Acest lucru asigură un control mai eficient al aplicaţiilor care privesc o anumită
bază de date.

Instrumente de
gestionare
Queries, Forms, Reports
Relationships
QBE / SQL Language
Asistenţă
Wizards
Macrocomenzi Help
Macros language

Tabele de date
Tables
Utilităţi
Module de Conversii de date
Pagini de access Web
aplicaţii
Securitate date
VBA language Întreţinere fişiere

Fig.5 Elementele componente ale sistemului Microsoft Access®

14
Modulul de bază, în care se defineşte şi se gestionează colecţia de date, cuprinde următoarele
tipuri de obiecte principale:

 tabele de date (Tables), conţin informaţiile propriu-zise sub formă de înregistrări; pentru
regăsirea corectă a informaţiilor corelate între tabele se stabilesc relaţii de legătură
(Relationships);

 interogări (cereri) (Queries), rezolvă solicitări ale utilizatorilor privind afişarea selectivă a
informaţiilor şi prelucrarea acestora;

 formulare (forme) (Forms), afişează informaţiile într-un format anume, constituind o


interfaţă între colecţia de date şi utilizatorul obişnuit; un tip special de formulare sunt
panourile de comandă (Switchboard), prevăzute, de obicei, cu butoane prin intermediul
cărora utilizatorul obişnuit utilizează obiectele bazei de date;

 rapoarte (Reports), servesc la tipărirea la imprimantă a informaţiilor, într-un format anume,


constituind interfaţa între colecţia de date şi imprimantă;

 macrocomenzi (Macros), sunt formate dintr-o succesiune de acţiuni efectuate asupra


obiectelor bazei de date printr-o singură comandă, dată dintr-un singur loc, de obicei,
printr-un buton de acţiune de pe un formular.

Începând cu versiunea 2007, Microsoft a creat o nouă interfață utilizator pentru programele din
pachetul Office, care permite o utilizare mai facilă, intuitivă și simplă a tuturor opțiunilor.
În Access® 2007, la lansarea aplicației (Start  Programs  Microsoft Office  Microsoft
Office Access) se afișează o fereastră de început (Getting Started, fig.6) din care utilizatorul poate
alege opțiunea de începere a lucrului. Există două posibilități principale: deschiderea unei baze de
date existente sau crearea unei noi baze de date.
Pentru deschiderea unei baze de date existente, în partea dreaptă a ferestrei este afișată o listă
a ultimelor fișiere deschise anterior în care, eventual, poate fi găsit fişierul dorit. Se poate afișa
fereastra de acces la un fișier (Open) prin selectarea opțiunii More…
Pentru crearea unei noi baze de date există două posibilităţi:
 New Blank Database, care deschide un fişier „gol” în care se vor proiecta, pe rând,
componentele bazei de date;
 Templates, care permite alegerea unui șablon de structură a bazei de date dintre cele oferite
de către sistem; în acest caz se va crea un fişier conţinnd o serie de componente (tabele,
formulare etc) fără informaţii, acestea urmând să fie adăugate de către utilizator.

15
Bază de date
“goală”

Bază de date
din şablon

Deschidere
bază de date

Fig.6 Fereastra de început Microsoft Office Access

Fereastra principală a programului Access® este prezentată în fig.7. Aşa după cum se observă
din figură, fereastra conţine mai multe componente, după cum urmează:
 butonul Microsoft Office, utilizat pentru diferite acțiuni de gestiune a fișierelor; butonul
deschide un meniu de opțiuni (fig.8) – New/Open/Convert/Save/Save As/Print/Manage/
Email/Publish/Close – inclusiv o listă a celor mai recent deschise fişiere;
 bara de selecție rapidă a comenzilor (Quick Access Toolbar), amplasată în stânga-sus, care
poate fi particularizată după dorința utilizatorului (fig.9);
 panoul de afișare a obiectelor bazei de date (Navigation Pane), care permite accesul la oricare
dintre acestea și totodată poate furniza informații despre ele;
 panglica cu pictograme care, la versiunea 2007 a pachetului Microsoft Office, înlocuiește bara
de meniuri prezentă la versiunile anterioare; această panglică constituie cea mai importantă
inovație a pachetului; este compusă din mai multe pagini suprapuse: patru tipuri de bază
(Home/Create/External Data/Database Tools) și una/două pagini contextuale, particularizate
automat în funcție de obiectul activ la un moment dat;
 zona de lucru în care sunt afișate ferestrele obiectelor active (deschise) la un moment dat, în
funcție de cerințele utilizatorului bazei de date;
 bara de stare afişată pe ultima linie a ferestrei principale, care conţine în dreapta câteva
butoane de acces rapid la diferite forme de afişare a ferestrelor unui obiect;
 un buton de ajutor (Help), amplasat pe marginea din dreapta-sus a panglicii cu pictograme,
marcat cu semnul întrebării (?).

16
Gestiune Bară comenzi Panou Panglica cu Zona de Ajutor
fișiere rapide obiecte pictograme lucru (afișare) (Help)

Bara de stare

Fig.7 Fereastra principală a programului Microsoft Office Access®2007

Fig.8 Butonul de gestiune fișiere Fig.9 Bara rapidă de comenzi

Panglica cu pictograme reprezintă inovația principală a pachetului Microsoft Office 2007. În


acest loc se găsesc diferitele comenzi şi opţiuni de configurare. În figura 10 sunt prezentate
paginile principale ale acesteia, așa cum sunt apar în Access®. În fiecare pagină, opţiunile sunt
aşezate pe categorii.
Pagina Home conține opțiunile de editare și formatare a textului, precum şi cele referitoare la
ddiferite acţiuni cu înregistrările unui tabel.

17
Pagina Create conține opțiunile de creare și execuție a diferitelor obiecte în baza de date (tabele,
formulare, rapoarte, interogări, comenzi macro).
Pagina External Data include opțiunile de legătură a bazei de date Access® cu alte tipuri de baze
de date (import/export de date), inclusiv posibilități de legare cu programul de poștă electronică
Microsoft Outlook sau cu cel de calcul tabelar Microsoft Excel.
Pagina Database Tools conține opțiunile de gestiune globală a bazei de date cum ar fi
securitatea datelor, modulul Visual Basic VBA, analiză conceptuală etc.
Pe lângă cele 4 pagini standard, pot exista şi una/două pagini contextuale, care se adaptează
automat la tipul de obiect activ și la modul său de afișare, având opțiunile potrivite în acest sens.
De exemplu, în figura 9 este prezentată pagina Table Tools (Datasheet) care este asociată
deschiderii unui tabel în modul de afișare a înregistrărilor.
O altă caracteristică importantă este posibilitatea particularizării interfeței principale a
programului Access®, în funcție de cerințele sau dorințele utilizatorului. Opțiunile de
particularizare sunt disponibile într-o fereastră specifică, fiind grupate pe categorii, fereastră
accesibilă de la butonul Office → Access Options.

Home

Create

External Data

Database Tools

Table Tools (Datasheet)

Fig.10 Paginile panglicii cu pictograme și controale disponibile în Access® 2007

18
Pentru a asigura o anumită compatibilitate între diferitele versiuni ale programului, instalate pe
diferite calculatoare, Access® verifică această caracteristică automat la deschiderea unui fișier de
tip bază de date. În același timp, se oferă posibilitatea memorării unei baze de date în diverse
versiuni anterioare, verificându-se automat compatibilitatea cu versiunea 2007 și informând
utilizatorul asupra eventualelor caracteristici incompatibile. Această opțiune este disponibilă la
butonul Office → Save As (fig.11).
Deschiderea unui fişier de tip bază de date Access® se poate efectua în mai multe moduri,
disponibile la butonul Office → Open (fig.12):
 Open – deschiderea fişierului, având toate drepturile asupra obiectelor acestuia (citire/scriere),
în acelaşi timp fişierul poate fi deschis şi de alţi utilizatori pentru citire/scriere;
 Open Read-Only – deschiderea fişierului în modul citire, nu se pot face modificări ale obiectelor
create, în acelaşi timp alţi utilizatori pot deschide fişierul în modul citire/scriere;
 Open Exclusive – deschiderea fişierului cu drepturi exclusive asupra acestuia, adică alţi
utilizatori nu vor avea acces la fişier cât timp este deschis exclusiv;
 Open Exclusive Read-Only – deschiderea fişierului exclusiv în modul citire, toţi utilizatorii care
deschid fişierul ulterior, vor putea doar consulta baza de date, fără a putea efectua modificări
ale structurii obiectelor create.

Fig.11 Fereastra Save As Fig.12 Opţiunile de deschidere Open

Pentru a obține ajutor sau explicații diverse în legătură cu o anumită temă, este disponibilă
fereastra Help, care se deschide prin apăsarea butonului de ajutor, marcat ?, amplasat în extrema
dreaptă a panglicii cu pictograme. În fereastra de ajutor se poate căuta tema dorită într-o casetă
specifică alegând dintre opțiunile afișate ca rezultat al căutării (Search).

19
TEMA NR. 2
GESTIUNEA INFORMAŢIILOR ÎN TABELELE UNEI BAZE DE DATE

2.1. Competenţe profesionale oferite


 a crea, deschide şi memora fişiere de tip bază de date Access®
 a crea tabele noi într-o bază de date
 a stabili proprietăți principale ale câmpurilor unui tabel
 a afișa, adăuga, șterge înregistrări în tabele
 a lucra cu diferitele moduri de afișare a unui tabel
 a ordona și afișa selectiv înregistrările în tabele.
2.2. Obiectivele temei
 însușirea modului de creare a unui tabel și a structurii de câmpuri a acestuia
 deprinderea de a lucra cu tabele în diferite moduri de afișare a acestora
 deprinderea de a adăuga, afișa, șterge înregistrări în tabele și de a modifica aspectul de
afișare a înregistrărilor
 înțelegerea noțiunii de proprietate a cîmpului și stabilirea valorilor adecvate pentru
proprietățile de bază ale cîmpurilor
 deprinderea de a ordona și a afișa selectiv înregistrările unui tabel.
2.3. Conţinutul detaliat
2.3.1. Crearea tabelelor în bazele de date Access®. Lucrul cu înregistrările.
Tabelele unei baze de date reprezintă obiectele în care sunt memorate colecţiile de date propriu-
zise. Un tabel Access® are o structură asemănătoare cu o foaie de calcul Excel, conţinând coloane,
denumite câmpuri şi linii, denumite înregistrări (vezi tema nr.1).
Tabelele conținute într-o bază de date Access® sunt afișate pe panoul cu obiecte (vezi fig.6), în
grupul Tables. Un tabel poate fi afișat sub mai multe forme: afișarea înregistrărilor, modul
proiectare, modul tabel pivot sau grafic pivot (datasheet/design/pivot table/pivot chart).
Crearea unui tabel nou se face prin selectarea paginii Create a panglicii cu pictograme și
alegerea uneia dintre cele 4 opțiuni disponibile:
 Table – crearea tabelului în modul de afișare a înregistrărilor; câmpurile tabelului se crează pe
măsură ce se introduc valorile primei înregistrări (vezi exemplul nr.4);
 Table Templates – crearea tabelului pe baza unei structuri predefinite selectate dintr-o listă de
șabloane oferite de către sistem;
 SharePoint Lists – crearea unui tabel pe un site de tip SharePoint și a unui link către acest
tabel în baza de date curentă;

20
 Table Design – crearea tabelului în modul de proiectare, prin definirea listei câmpurilor și,
stabilirea, după necesităţi, a proprietăților acestora (vezi exemplu nr.5).
Dintre cele 4 opțiuni menționate anterior, probabil cel mai des se utilizează prima și ultima. Din
acest motiv, acestea sunt prezentate mai detaliat în continuare.
Crearea unui tabel prin introducerea directă a înregistrărilor (opţiunea Create Table) este
cea mai simplă metodă. Se introduce prima înregistrare în tabel ca într-o foaie de lucru Excel
(fig.14). Fiecare coloană primește un nume predefinit (Field1, Field2, ... etc), existând și o coloană
implicită cu numele ID, care este de fapt propusă ca și cheie primară a tabelului şi are un anumit tip
de dată potrivit pentru această caracteristică. Ultima coloană din dreapta, denumită Add New Field
este afișată permanent şi oferă posibilitatea adăugării unui nou câmp în tabel prin simpla completare
a unei valori la oricare înregistrare existentă.
După introducerea a cel puțin o înregistrare, pentru a face permanentă structura tabelului, se
alege opțiunea de memorare (Save / Ctrl+S) și se indică un nume pentru tabelul respectiv (în fig.14
– Elevi).
După crearea tabelului se pot efectua oricând modificări ale structurii acestuia, fie prin
adăugarea de valori ale înregistrărilor pe coloana Add New Field, fie prin deschiderea ferestrei de
proiectare (Table Design) care asigură accesul la proprietăţile câmpurilor.

 Exemplul 4: Crearea unei baze de date pentru evidența elevilor din unitatea şcolară, pe
baza structurii prezentate în schema din fig.3.
Pentru crearea fişierului bazei de date efectuaţi următoarele acţiuni:
 deschideţi programul Microsoft Access® şi creaţi o bază de date nouă, alegând opţiunea New
Blank Database şi indicând numele noului fişier – Elevii scolii – precum şi locul în care
acesta va fi creat pe calculator (fig.13), apăsaţi butonul Create pentru a crea baza de date şi a
deschide interfaţa principală a programului;
 baza de date va fi creată într-un singur fişier, cu numele Elevii scolii.accdb, extensia .accdb
indicând că este vorba de un fişier creat în versiunea Access®2007;
 în fereastra de afișare a înregistrărilor unui nou tabel, cu numele implicit Table1, introduceți 3
înregistrări conform fig.14, începând din coloana Add New Field; deplasarea de la o coloană
la alta se face cu tasta Tab; la terminarea unui rând (înregistrare) se apasă tasta Enter pentru a
trece la rândul următor;
 memorați structura creată (Save, Ctrl+S) cu numele Elevi.

Obs. în cazul editării datelor calendaristice trebuie să se ţină seama de modul de interpretare a
acestora de către sistemul de operare Windows:
 sistemul anglo-saxon: sub forma LL/ZZ/AANN, adică 12/31/2001 (31 decembrie 2001)
 sistemul românesc: sub forma ZZ/LL/AANN, adică 31/12/2001.

21
Fig.13 Crearea unei noi baze de date cu opţiunea New Blank Database

Opțiuni de Modificare Proprietăți ale


afişare câmpuri câmpurilor

Butoane de
navigare Opțiuni de afișare

Fig.14 Crearea tabelului Elevi în fereastra înregistrărilor


22
În figura 14, opţiunile de pe panglica cu pictograme sunt specifice lucrului cu înregistrările, care
se găsesc în pagina contextuală Datasheet (ultima din dreapta). În această fereastră se pot efectua o
serie de acțiuni care se referă atât la structura tabelului, cât și la modul de afișare a câmpurilor și
înregistrărilor.

Modificările necesare a fi efectuate în structura tabelului Elevi, creat la exemplu nr.4, sunt
explicate la exemplu nr.6.

Crearea unui tabel în fereastra de proiectare (Create Design View) permite definirea directă
a câmpurilor – numele (Field Name), tipul de dată asociat (Data Type), precum şi celelalte
eventuale proprietăți inclusiv caracteristica de cheie primară.

 Exemplul 5: Completarea bazei de date Elevii scolii cu al doilea tabel, denumit Clase,
conform structurii prezentate în schema din fig.3. Se efectuează următoarele acțiuni:
 alegeți pagina Create, apoi Table Design;
 completați în partea superioară a ferestrei de proiectare numele (Field Name), tipul de dată
(Data Type) și descrierea (Description) celor 4 câmpuri necesare, conform fig.15; deocamdată
nu modificați nimic în zona de afișare a proprietăților câmpurilor (Field Properties);
 în cazul câmpului cod, selectați pictograma Primary Key pentru a stabili caracteristica de
cheie primară și observați simbolul cheie afișat în stânga numelui acestuia;
 memorați tabelul cu numele Clase;
 observați, în dreapta jos, zona de comentarii de ajutor care se modifică contextual, în funcție
de componenta activă la un moment dat în fereastra de proiectare.

Fig.15 Fereastra de proiectare a tabelului Carti

23
 pentru a adăuga înregistrări în tabelul Clase alegeţi fereastra
înregistrărilor (Datasheet View) din lista oferită de pictograma View
(stânga sus) a panglicii;
 adăugaţi cele 8 înregistrări conform figurii 16 şi închideţi tabelul;
observaţi că înregistrările se memorează automat după ce au fost
adăugate, fără a fi necesară o acţiune de memorare (Save) specifică.

Fig.16 Adăugarea înregistrărilor în tabelul Clase

Access® permite și importul de date din alte surse externe de diferite tipuri cum ar fi: alte baze de
date Access, fișiere Excel, fișiere de tip dBase, Paradox, Lotus, XML, text etc. Opțiunile de import
sunt accesibile din pagina External Data, zona Import. Datele importate pot fi aduse într-un tabel
existent al bazei de date curente, într-un nou tabel sau se crează doar un link către fișierul original.
În fereastra de afişare a înregistrărilor unui tabel (Datasheet View) se pot efectua o serie de
acţiuni care se referă la structura tabelului sau la înregistrările acestuia. Aceste acţiuni sunt:
 Adăugarea de noi înregistrări, utilizând butonul New Record aflat în zona butoanelor de
navigare (fig.14), în partea de jos a ferestrei Datasheet View şi tastele Tab / Shift+Tab
pentru parcurgerea câmpurilor de la stânga la dreapta și, respectiv, invers;
 Ștergerea unei înregistrări se face prin selecția rândului care o conține și alegerea din
meniul contextual (click-dreapta mouse) a opțiunii Delete Record. Se cere confirmarea
acțiunii, deoarece după ștergere, înregistrarea nu se mai poate recupera (nu există în acest
caz opțiunea Undo!);
 Parcurgerea înregistrărilor – cu tasta Tab / Shift+Tab pentru pacurgerea câmpurilor unei
înregistrări sau cu butoanele de navigare (fig.17) pentru parcurgerea înregistrărilor de la una

24
la alta succesiv sau efectuarea unui salt la prima sau la ultima; trebuie menţionat că numărul
curent al înregistrării („7 of 15”) este o informaţie pur formală deoarece ordinea de afişare a
înregistrărilor poate fi schimbată după cerinţa utilizatorului;

Prima Precedenta Curentă Următoare Ultima Nouă Filtru Căutare

Fig.17 Butoanele de navigare / căutare / afişare filtre

 Modificarea aspectului de afișare a înregistrărilor (font/fond/culori/alte opțiuni) – se


realizează cu opțiunile specifice din pagina Home – Font;
 Modificarea dimensiunilor coloanelor (Column Width) sau a liniilor (Row Height) se poate
face dinamic, cu ajutorul mouse-ului, din meniul contextual (click-dreapta) sau din pagina
Home – Records → More;
 Ascunderea sau îngheţarea unui câmp –
Hide/Unhide / Freeze/Unfreeze, se
realizează din pagina Home – Records 
More sau prin click-dreapta de mouse pe
numele câmpului (fig.18);
 Căutarea/înlocuirea unei valori a unor
înregistrări se efectuează cu opțiunile din
pagina HomeFind;
Fig.18 Meniu contextual la câmpuri
 Adăugarea, ștergerea sau redenumirea
unui câmp – Insert / Delete / Rename – se realizează prin selecţia numelui câmpului şi
alegerea opţiunii dorite din meniul contextual (click-dreapta);
 Aplicarea unei ordonări sau a unui filtru – se face cu opţiunile din pagina
HomeSort&Filter (vezi subcapitolul următor).

 Exemplul 6: Efectuarea de modificări în structura unui tabel şi adăugare de înregistrări.


 deschideți tabelul Elevi în fereastra de proiectare (Design View) și redenumiți cele 3 câmpuri
Field1, Field2 şi Field3 cu: nume, prenume, data_nasterii;
 selectaţi câmpul ID şi ştergeţi-l (Delete), confirmând ştergerea cu Yes;
 adăugaţi două câmpuri în tabel, cod_unic şi cod, (fig.19);

25
 memoraţi modificările (Save), afişaţi fereastra înregistrărilor (Datasheet View) și adăugați
informaţiile, conform fig.20;

Fig.19 Modificări în fereastra de proiectare a tabelului Elevi

Fig.20 Completarea câmpurilor cod_unic şi cod după crearea acestora


şi adăugarea de înregistrări în tabelul Elevi
26
În anexa nr.2 se găsesc listele elevilor repartizaţi pe clasele codificate în figura 16, înregistrări
care sunt incluse în baza de date pe care sunt exemplificate aplicaţiile.

Obs. Pentru mărirea spaţiului de lucru se poate ascunde fereastra panoului de obiecte Access ®
prin apăsarea pe butonul specific din bara de titlu a acestuia.
Afişarea obiectelor pe panoul de navigare poate fi efectuată în
diverse moduri la alegerea utilizatorului prin selecţia dintr-o listă pusă
la dispozitie pe panou.
De exemplu, dacă se aleg opţiunile Object Type şi All Objects,
obiectele vor fi afişate pe panou grupate pe tipuri – tabele, interogări,
formulare etc. – şi vor fi afişate toate tipurile de obiecte existente în
baza de date.
Pentru a gestiona mai uşor şi mai sigur introducerea şi prelucrarea
informaţiilor cuprinse în baza de date, se recomandă configurarea unor
proprietăţi adecvate ale câmpurilor. Elementele de bază privind
această configurare sunt prezentate în subcapitolul următor.

2.3.2. Stabilirea proprietăţilor câmpurilor în bazele de date Access®.


Câmpurile unui tabel au o serie de proprietăți care controlează modul de comportare a datelor
memorate. Aceste proprietăți se configurează în fereastra de proiectare a tabelului (Design View).
Fiecărui câmp al tabelului i se defineşte un anumit tip de dată (Data Type). În anexa nr.1 sunt
prezentate tipurile de date utilizabile în Access®, împreună cu principalele caracteristici ale
acestora. Aceste caracteristici fac parte din grupul proprietăţilor câmpurilor şi se configurează în
zona Field Properties. Valorile acestor proprietăţi pot fi selectate din liste de opţiuni predefinite sau
prin scrierea valorii corespunzătoare de către utilizator în caseta specifică.
În cele ce urmează sunt descrise cele mai importante dintre proprietăţile câmpurilor care pot fi
configurate în Access®.

Proprietăți principale ale câmpurilor unui tabel Access®.

 Field Size lungimea câmpului; numărul maxim de caractere sau valoarea maximă
care se poate introduce ca valoare a câmpului; este specifică doar pentru
tipurile de dată Text, Memo, Number şi Autonumber;
 Format formatul de afişare a datelor; proprietate generală; se poate selecta un
format predefinit sau se pot genera formate personalizate pe baza unor
reguli utilizând o serie de caractere dedicate (vezi exemplul nr.7);
 Decimal Places numărul de cifre zecimale afișate; este specifică tipurilor de date
numerice; nu afectează valoarea memorată, ci doar cea afişată;

27
 Input Mask şablon (model, mască) de control; controlează structura valorilor introduse
la nivel de caracter; este o proprietate generală (cu excepţia Autonumber); se
configurează de către utilizator cu ajutorul unor caractere dedicate, eventual
utilizând asistenţa interactivă – Input Mask Wizard ((vezi exemplul nr.7);
 Caption etichetă de cîmp; proprietate generală; dacă are valoare, în fereastra de
afişare a înregistrărilor (Datasheet View), se afişează în locul numelui
câmpului (Field Name) ca denumire a coloanei corespunzătoare;
 Default Value valoare prestabilită; proprietate generală; este valoarea afișată automat în
câmp la fiecare nouă înregistrare; poate fi rezultatul unui calcul matematic;
 Validation Rule regulă de validare; permite verificarea datelor introduse cu ajutorul unor
restricţii matematice; se poate genera manual sau cu ajutorul asistenţei
interactive (Builder – Constructorul de expresii) (vezi exemplul nr.7);
 Validation Text mesaj de eroare; este afişat într-o casetă de dialog atunci când datele
introduse nu respectă regula de validare (Validation Rule);
 Required valoare obligatorie; proprietate generală; dacă este activă (Yes), obligă
introducerea unei valori în câmpul respectiv; dacă este inactivă (No) se
poate lăsa câmpul gol;
 Indexed câmp indexat/neindexat; proprietate generală; indexarea permite o găsire
mai rapidă a informaţiei de către Access ® la tabele cu mii de înregistrări, pe
baza unor algoritmi proprii; este activată automat pentru câmpurile cheie
primară; se recomandă activarea pentru acele câmpuri care constituie criterii
de căutare frecvente;
 Text Align aliniere text; proprietate generală; permite indicarea modului de aliniere a
valorii scrise în câmp, există opțiunile General/Left/Center/Right/Distribute.

Pentru înţelegerea rolului fiecărei proprietăţi în controlul comportării valorilor introduse în


câmpurile unui tabel, în exerciţiul practic următor sunt incluse exemple de configurare a acestor
proprietăţi.

 Exemplul 7: Configurarea unor proprietăți ale câmpurilor tabelelor Elevi și Clase.

 deschideți tabelul Clase în fereastra de proiectare, prin click-dreapta pe numele acestuia şi


Design View și modificați proprietățile câmpurilor, conform tabelului nr.1;
 deschideți tabelul Elevi în fereastra de proiectare (Design View) și modificați proprietățile
câmpurilor, conform tabelului nr.2;

28
 memorați modificările (Save) pentru fiecare tabel și verificați comportarea datelor introduse
în fereastra înregistrărilor (Datasheet);
 pentru a trece din fereastra înregistrărilor în cea de proiectare și invers utilizaţi opțiunile
View ale panglicii cu pictograme.
Tabelul nr.1 – Configurarea unor proprietăți ale câmpurilor tabelului Clase

Numele
Proprietatea / Valoarea Observații
câmpului
Deoarece valorile câmpului sunt formate din 4
Field Size: 4
cod cifre, pentru a controla această caracteristică se
Input Mask: 0000
configurează cele două proprietăţi
Valorile acestui câmp fac parte dintr-o listă de
Field Size: 4 valori: I, II, III, IV, ...
nivel
Lookup List: vezi mai jos În consecinţă, este potrivită stabilirea caracteristicii
Lookup, adică o listă de valori disponibilă.
Valorile acestui câmp pot fi A, B, C, D, ..., adică
sunt formate dintro singură literă. Pentru a controla
Field Size: 1
acest aspect, se stabilesc cele două proprietăţi Field
litera Format: >
Size şi Input Mask.
Input Mask: L
Pentru afişarea valorii cu majuscule se stabileşte
formatul de afişare la Format
Deoarece valorile sunt numere întregi se stabileşte
Field Size: Integer dimensiunea corespunzătoare, iar pentru a afişa
an
Default Value: =Year(Date()) automat anul curent se utilizează un calcul
matematic cu funcţii predefinite

Configurarea caracteristicii Lookup pentru câmpul nivel al tabelului Clase


 Pentru configurarea unei liste de valori asociate unui câmp, Access ® pune la dispoziţie o
asistenţă interactivă (Wizard); în acest caz, aceasta se găseşte în lista tipurilor de date (Data
Type) – Lookup Wizard, fig.21;
 În prima fereastră a asistenţei, fig.21, se indică tipul listei de valori dintre cele două
posibilităţi disponibile: în cazul câmpului nivel se indică a doua opţiune I will type in the
values... pentru a edita lista valorilor respective; se apasă butonul Next pentru a trece la etapa
următoare;
 În a doua fereastră a asistenţei, fig.21, se editează valorile cuprinse în listă: I, II, III, IV, ..., se
apasă apoi butonul Next pentru a trece mai departe;
 În ultima fereastră se poate da un nume listei sau se lasă numele prestabilit (nivel) şi se apasă
butonul Finish pentru a termina configurarea listei;

29
 În zona proprietăţilor câmpului, Field Properties, în pagina Lookup se vor găsi toate
caracteristicile listei respective, fig.22; în această pagină, dacă este necesar, pot fi modificate
aceste caracteristici (de exemplu, adăugare de valori în listă – Row Source sau limitarea
valorilor posibile a fi introduse doar la cele din listă – Limit to List: Yes).

Fig.21 Etapele de configurare a caracteristicii Lookup, lista de valori fixe

În fereastra de proiectare a unui tabel, Design View, pe lângă posibilităţile de configurare a


proprietăţilor câmpurilor sunt disponibile şi o serie de alte acţiuni, accesibile prin selecţia
pictogramei corespunzătoare din panglica
Design:
 stabilirea caracteristicii de cheie primară
– Primary Key;
 editarea unei relaţii matematice cu
ajutorul constructorului – Builder;
 verificarea respectării regulii de validare
de către valorile introduse anterior –
Test Validation Rules;

Fig.22 Pagina Lookup a câmpului nivel

30
 posibilitatea de a insera noi câmpuri sau de a şterge din cele existente – Insert / Delete /
Lookup.
Tabelul nr.2 – Configurarea unor proprietăți ale câmpurilor tabelului Elevi

Numele
Proprietatea / Valoarea Observații
câmpului
Valorile introduse vor putea avea maxim 100
nume Field Size: 100 caractere
prenume Format: > Pentru afişarea valorilor cu majuscule se stabileşte
proprietatea Format
Format: Medium Date Afişarea valorilor se va face sub forma 20-Apr-2010
data_nasterii
Text Align: Center Valorile vor fi aliniate centrat (pe mijloc)
Deoarece valorile câmpului sunt formate din 4 cifre,
Field Size: 4
cod_unic pentru a controla această caracteristică se
Input Mask: 0000
configurează cele două proprietăţi
Valorile acestui câmp trebuie să fie dintre cele
disponibile ale câmpului cod din tabelul Clase –
fiecare elev aparţine unei clase.
cod Lookup List: Clase.cod
Se configurează lista de valori de tip Lookup,
indicând „căutarea” acestora în câmpul cod al
tabelului Clase (vezi exemplul Lookup anterior)

Stabilirea unei caracteristici de tip Lookup a unui câmp prin preluarea valorilor disponibile ale
altui câmp – exemplul de mai sus al câmpului cod din tabelul Elevi care preia valorile câmpului cod
al tabelului Clase – crează şi o relaţie simplă între cele două tabele, evidenţiată în fereastra
înregistrărilor tabelul Clase

printr-un simbol specific,


fig.23, poziţionat la începutul
fiecărei înregistrări, care
permite afişarea înregistrărilor
tabelului Elevi, corelate cu
înregistrarea corespunzătoare
din tabelul Clase. De exemplu,
în figura 23 sunt afişaţi elevii
clasei I-B, prin apăsarea acelui
simbol.

Fig.23 Afişarea înregistrărilor corelate pe baza relaţiei

31
2.3.3. Ordonarea și afișarea selectivă a înregistrărilor.
În fereastra de afişare a înregistrărilor unui tabel (Datasheet View), acestea sunt afişate în mod
implicit în ordine crescătoare după valorile câmpului cheie primară al tabelului. Totodată, în mod
implicit, sunt afişate toate înregistrările conţinute la un moment dat în tabelul respectiv.
Pentru găsirea și afișarea numai a anumitor înregistrări, care conțin anumite valori ale unor
câmpuri, Access® pune la dispoziție 2 posibilități care se pot utiliza independent sau combinat.
Acestea sunt afișarea ordonată a înregistrărilor și afișarea selectivă cu ajutorul filtrelor.
Alegerea uneia dintre aceste acțiuni se face din pagina Home→Sort&Filter, fig.24, sau din meniul
contextual (click-dreapta de mouse).

Afişare listă opţiuni Filtrare prin selecţie


ordonare / filtrare

Ordonare crescătoare
Filtrare
avansată
Ordonare (multiplă)
descrescătoare Eliminare / aplicare
filtru

Ştergere ordonare

Fig.24 Grupul opţiunilor de ordonare şi filtrare

Afișarea ordonată a înregistrărilor se referă la afişarea acestora într-o anumită ordine, după
valorile unuia sau a mai multor câmpuri. Acţiunea se realizează în două etape:
1. indicarea câmpului (câmpurilor) după a cărui (căror) valoare trebuie să se facă ordonarea;
2. indicarea uneia dintre cele două opţiuni de ordonare (din pagina Home a panglicii, Sort
Ascending (A to Z) / Descending (Z to A), din meniul contextual sau din lista de opţiuni
disponibilă în lista derulantă deschisă prin apăsarea pictogramei Filter.
Dacă se aleg mai multe câmpuri drept criterii de ordonare, atunci acestea trebuie aşezate unul
lângă altul, în ordinea clasei de ordonare, de la stânga la dreapta.
Ordonarea aplicată la un moment dat poate fi memorată, astfel încât la deschiderea ulterioară a
tabelului respectiv, înregistrările să fie afişate în ordinea respectivă. Dacă nu se memorează nici un
criteriu de ordonare, atunci înregistrările sunt afişate în ordine crescătoare după valorile cheii
primare a tabelului (ordonare implicită).
Ştergerea ordonării particularizate şi revenirea la ordinea implicită, după valorile cheii primare a
tabelului, se face prin apăsarea butonului specific de pe panglică – Clear All Sorts.

32
Afişarea selectivă a înregistrărilor înseamnă afişarea doar a anumitor înregistrări, care respectă
criteriile de selecţie precizate de către utilizator. Acţiunea se mai numeşte filtrare a înregistrărilor şi
se realizează în două etape:
1. indicarea valorii (valorilor) de câmp după care trebuie să se facă filtrarea;
2. aplicarea opțiunii de filtrare prin alegerea din pagina Home → Sort&Filter, din meniul
contextual sau din lista derulantă deschisă prin apăsarea butonului Filter.

Opțiunile disponibile pentru filtrare sunt următoarele:


 Selection, cu mai multe posibilităţi, în funcţie de tipul de dată al valorii selectate (text,
numeric, dată calendaristică etc.), care permite selecția după o singură valoare a unui
câmp;
 Advanced, având 2 opțiuni (Filter By Form / Advanced Filter/Sort), care permite selecția
simultană după valorile mai multor câmpuri (Filter By Form) sau crearea unei interogări
(Advanced Filter/Sort) în care utilizatorul are mai multe posibilități de filtrare și/sau
ordonare;
 Filter, care deschide o listă derulantă de opţiuni de filtrare și, de asemenea, cele de ordonare.

În cadrul ferestrei Filter opțiunile de filtrare sunt contextuale, adică se modifică în funcție de
tipul de dată al câmpului după care se face filtrarea (Text/Number/Date etc.). În fig.25 sunt
prezentate opțiunile de filtrare a valorilor de tip Text, Date/Time şi Number.

După crearea unei opțiuni de filtrare, aceasta poate fi memorată (Save) în fereastra Datasheet a
înregistrărilor astfel încât să poată fi aplicată direct oricând ulterior. Aplicarea și eliminarea filtrului
se efectuează cu opțiunea Toggle Filter.

Ștergerea tuturor filtrelor existente la moment dat se realizează cu opțiunea Advanced  Clear
All Filters.

Una dintre inovațiile versiunii 2007 a programului Access® o reprezintă posibilitatea de a obține
prelucrări statistice ale informațiilor cuprinse în înregistrări direct în fereastra înregistrărilor unui

tabel. Această opțiune este disponibilă în pagina Home a panglicii, cu pictograma . Pe


ultima linie a ferestrei de afișare Datasheet apare rândul Total pe care se poate apela una dintre
opțiunile statistice disponibile în lista derulantă (Sum, Average, Count, Maximum, Minimum, ...),
care va prelucra valorile câmpului pe care este activată opțiunea respectivă. În figura 26 este
prezentată o prelucrare statistică utilizând opţiunea Count pentru a afişa numărul elevilor dintr-o
clasă, afişaţi prin aplicarea unui filtru după codul clasei.

33
Fig.25 Opţiunile disponibile pentru aplicarea filtrelor pentru cele tipuri principale
de date Text, Date/Time şi Number

Fig.26 Prelucrare statistică a informaţiilor cu opţiunea Count

34
 Exemplul 8: Aplicarea unor opțiuni de ordonare și selecție prin filtrare în baza de date
Elevii scolii. Deschideți tabelul Elevi în fereastra înregistrărilor și efectuați câteva acțiuni
de ordonare și filtrare după cum urmează:
 ordonați înregistrările în ordine alfabetică după numele şi prenumele elevilor – selectaţi cele
două câmpuri din dreptul numelor acestora şi apăsaţi butonul Ascending (A/Z);
 ordonați cronologic înregistrările după data naşterii elevilor – selectaţi o valoare a câmpului
data_nasterii şi apăsaţi butonul Ascending (A/Z); prima înregistrare va fi a celui mai „bătrân”
elev, iar ultima a celui mai tânăr;
 afișați doar elevii care au prenumele Mihai – selectaţi o valoare a
câmpului prenume, apăsaţi butonul Filter, alegeţi opţiunea Text
Filters – Contains, scrieţi textul mihai şi apoi apăsaţi Enter (OK);
puteți elimina/re-aplica) filtrul prin apăsarea butonului Toggle Filter; observaţi în partea de
jos a ferestrei afişarea numărului de înregistrări şi butonul Filtered care este apăsat – puteţi
elimina/aplica filtrul şi cu acel buton;
 eliminați filtrul aplicat anterior (Toggle Filter)
înainte de a testa următorul filtru;
 apăsaţi pictograma Totals și, în rândul Totals
afișat, alegeți opțiunea Count pentru câmpul
cod_unic, pentru a afișa numărul înregistrărilor
afişate; observaţi că valoarea se actualizează
după aplicarea / eliminarea unui filtru;
 selectaţi o valoare a câmpului cod, apăsaţi
butonul Filter, care deschide lista de opţiuni –
observaţi că puteţi alege prin “bifare” valorile
după care să fie efectuată filtrarea – de exemplu
Fig.27 Selecţie multiplă la filtre
lăsaţi bifate doar codurile claselor I (fig.27) şi
validaţi cu butonul OK pentru a aplica filtrul;
 selectaţi o valoare a câmpului data_nasterii
pentru a testa (Filter) posibilităţile de filtrare
după valori de tip dată calendaristică; alegeţi
opţiunea Date Filters – Between şi indicaţi
perioada – anul 2002, precizând limitele Fig.28 Filtrare după dată calendaristică
acesteia (fig.28);

35
 pentru a afişa elevii claselor I care au prenumele mihai, deoarece este necesară selecţia după
două câmpuri, cod_unic și prenume, cea mai potrivită este opțiunea Advanced FilterFilter
By Form, în caseta aferentă câmpului nume se scrie textul *mihai*, iar în cea a câmpului
cod_unic se scrie textul 1* (fig.29) şi se apasă Enter, apoi se apasă butonul Toggle Filter;
Obs. Simbolul * este utilizat ca şi caracter de înlocuire (joker); în acest caz, este configurată
automat funcţia Like;
 o altă modalitate de rezolvare a problemei anterioare este aplicarea succesivă a 2 filtre de tip
Selection Contains pe cele două câmpuri;
 închideţi tabelele şi, dacă doriţi, memoraţi ultimele filtre create pentru a le aplica direct
ulterior cu butonul Toggle Filter.

Fig.29 Filtrare simultană după mai multe câmpuri cu Filter By Form

36
TEMA NR. 3
PRELUCRAREA INFORMAŢIILOR PRIN INTEROGĂRI

1. Competenţe profesionale oferite


 a identifica și a crea relații posibile și utile între tabelele unei baze de date
 a înţelege scopul şi rolul interogărilor într-o bază de date
 a proiecta și executa diferite tipuri de interogări pentru a obţine informațiile dorite.

2. Obiectivele temei
 înțelegerea rolului relațiilor între tabelele unei baze de date
 deprinderea de a crea în tabele câmpuri noi care să creeze relații de legătură cu alte tabele
 înțelegerea proprietăților unei relații și a modului de funcționare a acesteia
 înțelegerea rolului interogărilor într-o bază de date
 deprinderea de a proiecta interogări de selecție de înregistrări, cu parametri sau cu
câmpuri calculate
 deprinderea de a proiecta interogări de sinteză statistică a informațiilor.

3. Conţinutul detaliat
3.3.1. Stabilirea relațiilor între tabelele unei baze de date Access®.
În cadrul temei nr.1 s-au prezentat câteva noţiuni teoretice referitoare la modelul relaţional de
bază de date (SGBD-R). Un model relaţional de bază de date cuprinde tabele cu înregistrări între
care se stabilesc relaţii de legătură prin intermediul cărora pot fi regăsite informaţiile corelate din
tabele.
O relaţie se stabileşte între două tabele ale bazei de date, prin intermediul a două câmpuri, câte
unul din fiecare tabel, adică este de tip binar (câmp – câmp). De obicei, relaţia se stabileşte între
câmpurile care sunt definite chei primare ale tabelelor, dar aceasta nu este o regulă obligatorie. Cele
două câmpuri trebuie să aibă acelaşi tip de dată (Data Type), cu aceeaşi dimensiune (Field Size).
Microsoft Access® are la bază modelul relaţional de bază de date, permiţând crearea şi
configurarea relaţiilor între tabelele acesteia.
Relaţiile dintre tabele asigură o eficienţă ridicată a administrării bazei de date (introducere,
afişare, modificare/actualizare a informaţiilor, dimensiune mai mică a fișierelor bazelor de date prin
evitarea duplicatelor, regăsirea mai rapidă a unei anumite informaţii precum şi a informaţiilor
corelate, memorate în tabele diferite).
Configurarea relațiilor dintre tabelele unei baze de date Access ® se face într-o fereastră dedicată
– Relationships (fig.30) – accesibilă din pagina Database Tools a panglicii superioare.

37
Fig.30 Fereastra relațiilor dintre tabelele bazei de date Access®

În fereastra relațiilor pot fi afișate simultan toate relațiile existente între tabelele bazei de date
prin selectarea opțiunii All Relationships și poate fi editată fiecare relație în parte pentru a i se
configura anumite proprietăți care determină un anumit comportament al relației în legătură cu
înregistrările din baza de date. Editarea unei relații se face selectând linia care marchează relația și
indicând opțiunea Edit Relationships sau prin dublu-click pe linia care materializează relaţia.
În fereastra afișată (Edit Relationships) se pot stabili unele proprietăți ale relației:
 Pe baza înregistrărilor existente în tabele, Access ® identifică tipul relației (vezi tema nr.1,
fig.1) care poate fi One-To-One, One-To-Many, Many-To-Many sau Indeterminate;
 Orice relație este de tip ParentChild (părintecopil), adică poziția celor 2 tabele în relație
este bine stabilită: membrul stâng – Parent, iar membrul drept – Child;
 Opțiunea Enforce Referential Integrity – se referă la așanumita Integritate Referențială care
împiedică existenţa unei înregistrări în tabelul membru drept al relației dacă nu există o
înregistrare corespondentă în tabelul membru stâng (de exemplu, dacă există elevi
înregistraţi care aparţin unor clase neînregistrate, astfel de înregistrări se numesc “orfane” și
trebuie evitate);
 Opțiunea Cascade Update Related Fields permite actualizarea automată a valorilor câmpului
de legătură în tabelul membru drept al relației pe baza modificării acestora doar în tabelul
membru stâng;

38
 Opțiunea Cascade Delete Related Records permite ștergerea automată a înregistrărilor din
tabelul membru drept al relației, asociate înregistrării din tabelul membru stâng care se
șterge (de exemplu, dacă o disciplină este eliminată din curricula și se dorește ștergerea
acesteia din tabelul Discipline, vor fi șterse automat și înregistrările cu notele acordate la
acea disciplină din tabelul Catalog, pentru a nu există înregistrări “orfane”;
 Opțiunea Join Type precizează modul de comportare a relației la afișarea înregistrărilor
corespondente în interogări și oferă 3 posibilități (1.Equal, 2.Left, 3.Right Join).

 Exemplul 9: Crearea unor relații în baza de date Elevii scolii, concomitent cu adăugarea
unor tabele, pe baza schemei structurale prezentată în figura 4.
 deschideți baza de date Elevii scolii și selectați opțiunea Create  Table Design, pentru a crea
un nou tabel, Cadre_didactice;
 scrieţi numele celor 3 câmpuri ale tabelului (Field Name), cod_unic, nume, prenume, stabiliţi
caracteristica de cheie primară pentru câmpul cod_unic şi memoraţia tabelul cu numele
Cadre_didactice; cele 3 câmpuri vor avea tipul de dată Text;
 adăugaţi în tabel 10 înregistrări, conform figurii 31 şi închideţi tabelul;
 creaţi un nou tabel cu numele Discipline, care să conţină trei câmpuri, cod_disc, denumire şi
nivel, primele două de tip Text şi al treilea de tip Number/Byte, având câmpul cod_disc drept
cheie primară; adăugaţi 8 înregistrări în tabel, conform figurii 31 şi închideţi tabelul;
 selectaţi opţiunea CreateTable pentru a crea un nou tabel direct în fereastra înregistrărilor,
fig.32;
 selectați opțiunea Add Existing Fields, pentru a prelua în noul tabel 2 câmpuri din tabelele
Clase și Cadre_didactice; observați afișarea ferestrei Field List, conținând câmpurile
disponibile din tabelele bazei de date (fig.32);

Fig.31 Înregistrările tabelelor Cadre_didactice şi Discipline

39
Fig.32 Crearea unui tabel prin preluarea unor câmpuri existente în alte
tabele, sub formă de listă de valori (Lookup)

 în fereastra Field List, selectați câmpul cod_unic al tabelului Cadre_didactice și, prin click-
dreapta de mouse, alegeți opțiunea Add Field To View pentru a adăuga câmpul în noul tabel –
se afișează o fereastră Lookup Wizard, prin care Access® solicită parcurgerea a câteva etape
de configurare a noului câmp ca o legătură între cele două tabele;
 în prima fereastră Lookup Wizard se mută câmpurile nume și prenume în lista Selected Fields
(fig.33,a); se apasă butonul Next;
 în a doua fereastră se indică drept criterii de ordonare crescătoare câmpurile nume şi prenume
(fig.33,b), pentru a afișa înregistrările în ordine alfabetică; se apasă butonul Next;
 în a treia fereastră se lasă opțiunile implicite, pentru a afișa în listă doar numele disciplinei și
semestrul (fig.33,c); eventual se redimensionează lățimile coloanelor; se apasă butonul Next;
 în ultima fereastră se scrie numele noului câmp – cod_CD și se apasă butonul Finish, indicând
numele noului tabel – Atributii_CD în fereastra Save As;
 se procedează în mod similar pentru câmpul cod al tabelului Clase, indicând, în ultima
fereastră a asistenţei interactive, numele noului câmp cod_cls;

a. b. c.
Fig.33 Etapele creării unui nou câmp de tip Lookup prin preluarea unui câmp existent

40
 deschideți fereastra de proiectare a noului tabel, Atributii_CD (Design View), ștergeți câmpul
ID, adăugați câmpul atributie, de tip Text și creaţi o listă cu 2 valori disponibile (Lookup
Value List): diriginte şi invatator;
 modificați etichetele (Caption)
celor trei câmpuri la valorile
Cadru_didactic, Clasa și,
respectiv, Atributia, astfel încât
acestea să fie afișate ca titluri de
coloane în fereastra înregistrărilor
(fig.34);
 completați tabelul cu înregistrări,
conform celor din figura 34;
 într-un mod similar puteţi crea Fig.34 Tabelul Atributii_CD
tabelul Catalog, prin preluarea
câmpurilor cod_unic al tabelului Elevi şi cod_disc al tabelului Discipline şi adăugarea
câmpului nota;
 deschideţi fereastra relațiilor (fig.30) din pagina Database Tools  Relationships, apăsaţi
butonul All Relationships și observaţi afișarea relațiilor existente între cele 6 tabele ale bazei
de date;
 fiecărei relaţii i se pot stabili proprietăţile care definesc comportamentul acesteia prin
selectarea liniei care o marchează, apăsarea butonului Edit Relationships și activarea
opțiunilor Enforce Referential Integrity, Cascade Update Related Fields sau Cascade Delete
Related Fields, validând modificările cu butonul OK;
 la închiderea ferestrei relațiilor, se memorează modificările (Yes).

3.3.2. Crearea unei interogări. Fereastra de proiectare.


Interogările sunt obiecte ale bazei de date destinate prelucrării informaţiilor din tabele.
Interogările răspund necesităţilor utilizatorului de a afişa selectiv informaţii din baza de date, de
a le prelucra pentru afișarea de sinteze statistice, de a crea noi câmpuri sau tabele sau de a modifica
valorilor înregistrărilor existente.
De exemplu, în baza de date Elevii scolii, interogările pot să răspundă la întrebări cum ar fi:
 Care este numărul de elevi al fiecărei clase sau pe diferite nivele?
 Care este lista învăţătorilor / diriginţilor pe anumite nivele?
 Care sunt elevii cu data naşterii într-o anumită perioadă (luna, trimestru, an)?
 Care sunt mediile pe discipline ale fiecărui elev, semestrial sau anual? Dar ale claselor?
 Care sunt mediile generale ale elevilor sau ale claselor, semestrial sau anual?
 Care este numărul de discipline studiate de elevi, semestrial sau anual?

41
Interogările sunt grupate în zona Queries a panoului de obiecte Access®.
În funcţie de scop, interogările se clasifică în două categorii:
 interogări de selecţie: de câmpuri, de înregistrări, cu câmp calculat, cu parametru, de tip
statistic, de tip tabel sintetic;
 interogări de acţiune: de creare tabel nou, de modificare valori în tabel existent
(adăugare/modificare/ștergere înregistrări).
Interogările de selecţie preiau înregistrările din tabele, eventuale le prelucrează şi afişează
informaţiile rezultate, fără a modifica în vreun mod valorile acestora sau sturtcura de tabele a bazei
de date. Interogările de acţiune efectuează modificări ale structurii bazei de date sau a tabelelor prin
crearea unor tabele noi sau prin adăugarea, ştergerea sau modificarea înregistrărilor existente.
Interogarea este, de fapt, o aplicaţie (un program), scrisă într-un limbaj de programare specific,
care execută o serie de acţiuni conform cerinţelor utilizatorului. În Microsoft Access®, limbajul de
programare este construit pe structura limbajului universal utilizat în acest scop, SQL – Structured
Query Language, şi disponibil programatorului prin intermediul unei ferestre de proiectare grafică,
QBE – Query By Example (fig.35). Acest mod de programare este mai uşor de folosit pentru
utilizatorii cu experienţă minimă de programare.
Crearea unei interogări se face în fereastra de proiectare (CreateQuery Design) sau cu ajutorul
unui asistent interactiv (CreateQuery Wizard).
Afișarea unei interogări (View) se poate face în mai multe moduri, dintre care cele mai
importante sunt următoarele:
 Fereastra de proiectare (Design), fig.35, în care se configurează toate opțiunile interogării;
 Fereastra de execuție (Datasheet), fig.36, în care sunt afișate înregistrările care corespund
opțiunilor precizate în fereastra de proiectare;
 Fereastra SQL (SQL) a instrucțiunilor SQL, fig.37, care corespund opțiunilor precizate în
fereastra de proiectare.
Fereastra de proiectare a unei interogări (fig.35), cuprinde două zone principale:
 zona tabelelor – conţine tabelele din care se doreşte preluarea înregistrărilor, afișate sub
formă de ferestre cu lista câmpurilor; dacă între tabele există relaţii, acestea sunt afişate și pot
fi editate;
 zona de proiectare – care conţine o serie de rânduri specifice (Field, Table, Sort, Show etc)
necesare descrierii instrucțiunilor interogării; se mai numeşte şi grilă de interogare.
Semnificaţia rândurilor din zona de proiectare este următoarea:
 Field şi Table : numele câmpurilor şi a tabelului din care provin sau ale câmpurilor nou
create (calculate cu relaţii matematice);

42
Fig.35 Fereastra Design a unei interogări Fig.36 Fereastra Datasheet a unei interogări

Fig.37 Fereastra SQL a unei interogări

 Sort : precizarea criteriu de ordonare după valorile din câmpul respectiv;


 Show : afişare sau nu a valorilor câmpului la execuția interogării (casetă de validare);
 Criteria / Or : precizarea criteriului / criteriilor de selecţie a înregistrărilor;
 Total : apare la interogările de tip statistic şi precizează opţiunile de grupare sau de
prelucrare statistică a valorilor din câmpul respectiv (Group By, Min, Max, Sum etc.);
 Crosstab : apare la interogările de tip tabel sintetic, pentru precizarea atributului câmpului
respectiv (Row Heading, Column Heading, Value).

Pe lângă rândurile descrise anterior, în zona de proiectare mai pot să apară şi alte rânduri
specifice diferitelor tipuri de interogări de acţiune.
Etapele de concepție a unei interogări în Access® sunt următoarele:
 Proiectarea interogării în fereastra de proiectare prin configurarea tuturor opțiunilor dorite
(selecția câmpurilor, precizarea criteriilor de ordonare, crearea criteriilor de afișare selectivă,
crearea de noi câmpuri calculate (dacă este cazul), precizarea opțiunilor de afișare statistică
(dacă este cazul);

43
 Verificarea afișării corecte a înregistrărilor prin execuția interogării (Run) și, eventual,
aplicarea unor opțiuni de formatare a valorilor afișate;
 Memorarea interogării sub un anumit nume și închiderea ferestrei de proiectare.

3.3.3. Interogări simple pentru selecție de înregistrări.


Interogările simple de selecţie – Select Query – sunt destinate afişării selective a înregistrărilor
din tabele, după anumite criterii de selecţie, precizate în rândul Criteria. Ele mai pot conține și noi
câmpuri, ale căror valori sunt precizate prin relații matematice, definite în fereastra de proiectare a
interogării. Este posibilă și ordonarea după unul sau mai multe câmpuri (rândul Sort).
Prin execuţia interogării, în fereastra de afişare a rezultatelor vor apare înregistrările ale căror
valori de câmp respectă criteriul de selecţie. Dacă există și câmpuri calculate, valorile acestora vor
fi calculate cu relațiile matematice precizate și vor fi afișate.
Criteriile de selecție care se precizează în rândul Criteria pot fi construite și cu ajutorul
operatorilor aritmetici (+ – * /), relaţionali (< <= > >= <>), logici (Not, True, False), de
concatenare (+, &) sau cu funcţii specifice de comparare (Is Null, Is Not Null, Like, In, Between).

La editarea relaţiei matematice se poate utiliza asistentul interactiv Builder Wizard .


În tabelul nr.3 sunt prezentate o serie de exemple de criterii de selecţie a înregistrărilor, care se
pot utiliza în rândul Criteria al interogării.
Tabelul nr.3 – Exemple de criterii de selecție a înregistrărilor

Valoarea sau relaţia Explicaţii

“constantin” Valoarea câmpului trebuie să fie exact constantin.

<> “brasov” Orice valoare în afară de brasov.

“ion” or “ioana” Valoarea câmpului poate fi “ion” sau “ioana”

>= 8.5 Orice valoare mai mare sau egală cu 8.5

Between 8 And 9 Orice valoare mai mare decât 8 şi mai mică decât 9, adică orice
valoare cuprinsă între 8 şi 9, inclusiv limitele.
>= 1.01.2010 Orice dată calendaristică după 1.01.2010.

Orice valoare care începe cu litera d.


Like “d*”
Caracterul * („jokerul”) înlocuieşte orice număr de caractere
Orice valoare care include şirul mihai.
Like “*mihai*”
Ex. Mihai Daniel; Mihaila George; Nemeş Mihai; Ionaş Mihail
Is Null / Is Not Null Înregistrările care nu conţin / conțin valori pe câmpul respectiv.

44
Într-o interogare, un câmp calculat reprezintă un nou câmp, creat în fereastra de proiectare, prin
precizarea relației matematice de calcul al valorilor acestuia, bazată pe valorile din câmpurile
existente în tabelele bazei de date și pe operatorii matematici. Valorile câmpurilor calculate nu sunt
memorate fizic în baza de date, ele sunt afișate doar la execuția interogării.
La construcţia relaţiei matematice se pot utiliza și funcţii predefinite incluse într-o bibliotecă
specifică (vezi anexa nr.3), a căror editare se poate face apelând asistentul interactiv Builder

Wizard, .
Sintaxa unui câmp calculat este următoarea:

nume_câmp: <relatie matematica>

în care nume_câmp reprezintă un nume atribuit câmpului respectiv, iar <relatie matematica>
reprezintă relaţia matematică de calcul al valorilor câmpului.
În tabelul nr.4 sunt prezentate câteva exemple de câmpuri calculate cu diferite relaţii matematice
sau folosind unele funcţii incluse în biblioteca Access®.

Tabelul nr.4 – Exemple de câmpuri calculate

Relaţia matematică de calcul Explicaţii


al valorilor câmpului

Crearea unui câmp cu numele complet al persoanei prin


[nume] & “ “ &[prenume] concatenarea celor două câmpuri [nume] și [prenume],
separate de un spațiu
Calculul mediei finale a disciplinei ca medie ponderată
[mednota]*0.75 + [teza]*0.25 între media notelor, [mednota] şi nota la teza, [teza].
Câmp cu două valori, “OK” sau ”Fail”, calculat cu funcţia
condiţională IIf. Pentru valorile câmpului [nota] mai mari
IIf ([nota] >=5; “OK”; ”Fail”) sau egale cu 5, câmpul va avea valoarea ”OK”, iar pentru
celelalte valori, valoarea “Fail”.
Calculul vârstei elevului prin scăderea din anul curent a
2011-Year[data_nasterii]
anului nașterii elevului. Se utilizează funcția Year( )
Calculul unei valori in lei, pe baza valorii în EUR și a
[val_eur]*4.3
cursului valutar lei/eur.
Calculul mediei aritmetice a valorilor câmpului [nota],
Avg([nota])
utilizând funcția statistică Avg( )

O interogare simplă poate conține și parametri.


Parametrul reprezintă o valoare variabilă, dată de către utilizator, ca dată de intrare într-o
fereastră de dialog specifică, în momentul execuţiei interogării. Parametrul se poate utiliza drept
criteriu de selecţie de înregistrări sau în relaţii matematice care definesc criterii de selecţie sau
câmpuri calculate.

45
Definirea unui parametru se face prin editarea unui mesaj specific scris între paranteze drepte, în
locul în care trebuie introdusă valoarea acestuia. Mesajul care constituie definiţia parametrului va fi
afişat în fereastra de dialog în care se solicită valoarea acestuia.
În tabelul nr.5 sunt prezentate câteva exemple de utilizare a parametrilor în conțintul criteriilor
de selecție a înregistrărilor sau în relaţii matematice.
Tabelul nr.5 – Exemple de parametri în interogări

Like *&[Introdu codul clasei]&*


Parametrul defineşte valoarea de selecţie aplicată în rândul Criteria. Utilizarea caracterului
special „*” face selecția mai largă
Not [Introdu valoarea care se exclude]
Parametrul defineşte valoarea care trebuie exclusă la selecţie.
>= [Introdu valoarea minima]
Parametrul defineşte valoarea din relaţia de comparare. De exemplu, dacă se dă parametrului
valoarea 8.5, se vor afișa toate înregistrările care conțin o valoare mai mare sau egală cu 8.5.
[nota]*(1-[Introdu ponderea tezei])+[teza]*[Introdu ponderea tezei]
Calculul mediei finale ca medie ponderată dintre două componente. Parametrul defineşte
ponderea tezei în valoarea mediei finale calculată cu relaţia matematică. Ponderea celeilalte
componente, [nota], se calculează prin scădere din 1, întrucât suma ponderilor trebuie să fie
egală cu unitatea.

[val_eur]*[Introdu cursul de schimb lei/euro]


Calculul preţului în lei pe baza preţului în eur și a valorii cursului lei/eur. Parametrul defineşte
valoarea cursului de schimb care se introduce la execuţia interogării.

 Exemplul 10: Crearea unor interogări simple în baza de date Elevii scolii.
Interogări simple cu diverse criterii de selecție
 deschideți baza de date Elevii scolii și selectați opțiunea CreateQuery Design, pentru a
deschide fereastra de proiectare a unei noi interogări;
 în fereastra Show Table afişată, selectați, pe rând tabelele Clase și Elevi și apăsați butonul Add
pentru a le aduce în fereastra interogării, închideți apoi fereastra Show Table; puteți oricând să
o reafișați prin apăsarea butonului Show Table din pagina Design;
 selectați, pe rând, prin dublu-click, câmpurile cod din tabelul Clase, nume, prenume din
tabelul Elevi, observați că aceste câmpuri au apărut în rândul Field al interogării (fig.38);
 alegeți opțiuni de ordonare, în rândul Sort, pentru câmpurile nume și prenume pentru a afișa
elevii ordonaţi alfabetic (fig.38);

46
Fig.38 Fereastra de proiectare a unei interogări simple de selecție

 indicați în rândul Criteria al câmpului clasa (fig.38) un criteriu de selecție pentru afișarea
elevilor din clasa I-A, al cărei cod este 1110;
 execuţia interogării, prin apăsarea butonului Run, va afişa lista alfabetică a elevilor clasei I-A;
puteţi reveni în fereastra de proiectare cu butonul ViewDesign View;
 memorați interogarea (Save) cu numele Lista elevilor clasei;
 ştergeţi selecţia efectuată în rândul Criteria al câmpului cod şi precizaţi o altă selecţie pentru a
afişa toţi elevii claselor a II-a, fig.39; în acest caz se utilizează funcţia Like şi caracterul de
înlocuire (jokerul) *; indicaţi şi ordonare crescătoare după valorile câmpului cod pentru a
afişa elevii ordonaţi pe clase;
 executaţi interogarea pentru a vedea înregistrările şi memoraţi-o (Save As – Save Object As)
cu numele Lista elevilor pe nivel;
 ştergeţi selecţia efectuată în rândul Criteria al câmpului cod şi editaţi o nouă selecţie pentru a
afişa elevii cu prenumele ion, ioan sau ioana (fig.40); în acest caz sunt necesare două criterii
de selecţie cu funcţia Like şi joker care să funcţioneze alternativ (Or);
 memoraţi interogarea (Save As – Save Object As) sub numele Selectie elevi dupa prenume;

Fig.39 Selecţie simplă cu funcţia Like Fig.40 Selecţie multiplă cu funcţia Like
47
 ştergeţi selecţiile efectuate anterior, aduceţi şi câmpul data_nasterii pe grila de proiectare şi
efectuaţi o selecţie după un interval de timp – de exemplu elevii născuţi în anul 2001, fig.41;
în acest caz se poate utiliza funcţia Between care permite precizarea unui interval de valori
între două limite şi funcţionează pentru date numerice, texte sau date calendaristice;
 precizaţi şi ordonare crescătoare după valorile câmpului data_nasterii;
 executaţi interogarea pentru a-i testa funcţionarea şi memoraţi-o cu numele Selectie elevi dupa
data nasterii;
 în acest moment, pe panoul principal, în grupul Queries trebuie să aveţi 4 obiecte de tip
interogare.

Fig.41 Selecţie cu funcţia Between şi valori de tip dată calendaristică

Interogări simple cu câmpuri calculate


 creaţi o nouă interogare (Create – Query Design) şi aduceţi tabelele Clase, Cadre_didactice şi
Atributii_CD în fereastra interogării; observaţi afişarea relaţiilor existente între tabele;
 creați un nou câmp (calculat), editând relația matematică a acestuia în rândul Field, pe prima
coloană liberă din stânga (fig.42), editarea se poate face și în fereastra Builder Wizard,

;
 noul câmp trebuie să afișeze numele complet al cadrelor didactice, obținut prin concatenarea
(“adunarea”) valorilor din două câmpuri, nume și prenume, separate de un spațiu; sintaxa
relației matematice este
nume_CD: [nume] + “ “ +[prenume]
 după editarea relaţiei matematice în fereastra Expression Builder, se validează acţiunea
apăsând butonul OK;

48
Fig.42 Crearea unui câmp calculat prin editarea unei relaţii matematice în
fereastra Expression Bulider

 procedaţi în mod similar pentru crearea unui câmp pentru afişarea numelui complet al clasei,
cu relaţia matematică: clasa: [nivel]+”-“+[litera]
 aduceţi şi câmpul atributie pe grila de proiectare şi creaţi o selecţie pentru a afişa doar
atribuţiile de „învăţător”;
 executaţi interogarea – veţi avea o listă a cadrelor didactice cu atribuţiile de învăţător;
 dacă baza de date conţine date ale mai multor ani, atunci trebuie eventual precizată şi o
selecţie după valorile câmpului an pentru a afişa doar datele dintr-un anumit an; dacă doriţi
afişarea doar a învăţătorilor pe un nivel (de exemplu clasa I), atunci trebuie precizat şi
criteriul respectiv de selecţie pentru câmpul nou calculat clasa;
 memorați interogarea (Save) cu numele Lista învatatorilor claselor;
 creați o nouă interogare (CreateQuery Design) și aduceți tabelul Elevi în fereastra de
proiectare;
 aduceți pe grilă câmpurile nume, prenume, data_nasterii și creați apoi un câmp calculat, cu
numele varsta, care să afișeze varsta elevilor, calculată cu relația matematică
varsta: 2011-Year([data_nasterii])

49
 la calculul valorilor noului câmp se utilizează funcția Year ( ), care este inclusă în biblioteca
de funcții Access® (fig.43);
 executați interogarea pentru a vedea înregistrările și memorați-o (Save) cu numele Varsta
elevilor;

Fig.44 Parametru definit ca şi criteriu de


Fig.43 Câmp calculat, utilizând funcţia Year( ) selecţie al înregistrărilor

Interogări simple cu parametri


 deschideți interogarea Lista elevilor clasei în fereastra de proiectare și modificați criteriul de
selecție al clasei, înlocuindu-l cu un parametru – [Introdu codul clasei] – (fig.44);
 executați interogarea de mai multe ori și dați, pe rând, diverse valori parametrului, în fereastra
de dialog afișată, de ex. 1110, 1210 etc; de fiecare dată execuția se va realiza cu valoarea dată
a parametrului și rezultatul va fi altul;
 memorați interogarea cu numele Lista elevilor clasei cu parametru (Save As) și închideți
fereastra;
 deschideți interogarea Selectie elevi dupa prenume în fereastra de proiectare și modificați
criteriul de selecție astfel încât acesta să fie parametrizat (fig.45) – se crează în acest scop o
relaţie matematică, utilizând şi
jokerul drept caracter de înlocuire;
 executați interogarea, indicând
valoarea parametrului în fereastra
de dialog specifică;
 memorați interogarea cu numele
Lista elevilor cu prenume
parametru (Save As) și închideți-o. Fig.45 Parametru utilizat la funcţia Like

50
3.3.4. Interogări de selecție de tip statistic.

Interogările de tip statistic prelucrează informaţiile din tabelele bazei de date cu ajutorul unor
opţiuni de prelucrare statistică a datelor. Înregistrările sunt grupate prin selecţie, pe grupuri, după
valoarea comună a unor câmpuri (Group By) şi apoi se efectuează prelucrarea grupurilor create,
după valorile din alte câmpuri, cu funcţiile de tip statistic (Count, Sum, Min, Max, Avg, Expression).
O interogare de tip statistic se crează dintr-o interogare de selecţie simplă,
apăsând pictograma Totals; pe grilă apare rândul Total în care se aleg opţiunile
de prelucrare pentru fiecare câmp.
În tabelul nr.6 sunt prezentate opțiunile de prelucrare statistică disponibile.
Aceste opțiuni există și sub formă de funcții în biblioteca Access®, sub numele de SQL Aggregate
Functions.
Tabelul nr.6 – Opțiunile de prelucrare statistică
Numele opţiunii Descriere
Group By Definește câmpul ca și criteriu de grupare a înregistrărilor

Sum Calculează suma valorilor câmpului din fiecare grup

Avg Calculează media aritmetică a valorilor din fiecare grup

Min Afişează valoarea minimă din setul de valori al fiecărui grup

Max Afişează valoarea maximă din setul de valori al fiecărui grup

Count Afişează numărul de înregistrări din fiecare grup

StDev Calculează abaterea standard a setului de valori din fiecare grup

Var Calculează varianța setului de valori al fiecărui grup

First Afişează prima valoare din fiecare grup

Last Afişează ultima valoare din fiecare grup


Defineşte un câmp calculat cu o relaţie matematică care include o
Expression
funcţie de tip SQL Aggregate

Opţiunile de prelucrare statistică Sum, Avg, Min, Max, StDev şi Var pot fi utilizate pentru
câmpuri cu tip de dată numeric, iar celelalte – Count, First, Last şi Expression pot fi utilizate şi pe
celelalte tipuri de dată disponibile într-o bază de date.
Interogările de tip statistic pot fi obișnuite sau pot afișa informațiile sub formă de tabel sintetic.
În acest caz, Access® pune la dispoziție o opțiune specifică – Crosstab.

51
 Exemplul 11: Crearea unor interogări de tip statistic în baza de date Situatie_scolara.

Interogări de tip statistic obișnuite


 deschideți baza de date Elevii scolii și creaţi o nouă interogare (CreateQuery Design),
selectând tabelele Clase şi Elevi;
 creaţi câmpul calculat clasa, cu relaţia matematica clasa: [nivel]+”-“+[litera] şi aduceţi apoi
câmpul nume pe grilă (fig.46);
 apăsați pictograma Totals și alegeți, pentru câmpul nume, în rândul Total, opțiunea Count,
pentru a afișa numărul de elevi din fiecare clasă;
 executați interogarea pentru a vedea rezultatul – lista claselor cu numărul de elevi al fiecăreia;
 memorați interogarea cu numele Nr elevi pe clase (Save) și închideți fereastra acesteia;

Fig.46 Interogare statistică pentru numărarea înregistrărilor (Count)

 creaţi o nouă interogare şi selectați tabelul elevi;


 creaţi un câmp calculat, care să afişeze luna naşterii fiecărui elev, calculată cu relaţia
matematică: luna: Month([data_nasterii]);
 aduceți pe grilă câmpul nume, apăsați pictograma Totals și indicați, pentru acest câmp,
opţiunea Count;
 executați interogarea pentru a vedea înregistrările – numărul de elevi născuţi în fiecare lună a
anului; se poate indica, de exemplu, ordonare descrescătoare după valorile câmpului nume,
pentru a vedea care sunt lunile cu cea mai mare frecvenţa a naşterilor;
 memoraţi interogarea cu numele Statistica data nasterii şi închideţi fereastra acesteia.

52
TEMA NR. 4
ASPECTE PRIVIND SECURITATEA INFORMAŢIILOR
ÎN BAZELE DE DATE

4.1. Competenţe profesionale oferite


 a înţelege necesitatea utilizării unor metode de protecţie a informaţiilor în bazele de date
 a cunoaşte diferitele posibilităţi de asigurarea a securităţii unei baze de date în Access®
 a crea formulare de acces la informaţiile din tabelele sau interogările bazei de date
 a utiliza diferite metode de protecţie a fişierului bazei de date

4.2. Obiectivele temei


 înţelegerea necesităţii adoptării unor metode de protecţie a informaţiilor într-o bază de date
 însuşirea etapelor de proiectare a formularelor de diferite tipuri
 deprinderea modurilor de deschidere a unui fişier de tip bază de date şi a efectelor asupra
obiectelor conţinute în acesta
 deprinderea modului de a proteja fişierul bazei de date printr-o parolă
 însuşirea modului de a împărţi baza de date în două fişiere
 însuşirea modului de a crea o copie de siguranţă a fişierului

4.3. Conţinutul detaliat


Problema securităţii unei baze de date se pune mai ales atunci când aceasta are caracter public,
adică trebuie să fie accesibilă mai multor utilizatori, având diferite niveluri de cunoaştere şi diferite
intenţii în legătură cu informaţiile din baza de date. În aceste cazuri, este necesar un control al
accesului utilizatorilor la obiectele bazei de date (tabele, formulare, interogări etc.) în ceea ce
priveşte posibilitatea acestora de a consulta / adăuga / modifica date sau obiecte ale bazei de date.
Securitatea informaţiilor într-o bază de date presupune două direcţii principale de acţiune, una
care se referă la controlul accesului diverşilor utilizatori asupra obiectelor bazei de date şi a doua
care se referă la măsuri pentru asigurarea integrităţii informaţiilor, împotriva unor eventuale
deteriorări din diferite cauze (viruşi, defecte hardware etc.).
Într-o bază de date Microsoft Access®, există mai multe metode prin care se poate asigura un
anumit nivel de protecţie a informaţiilor conţinute în fişierul respectiv. Aceste metode ţin seama de
faptul că o bază de date nu este un simplu fişier cu informaţii, este un ansamblu de obiecte de
diferite tipuri – tabele, relaţii, interogări, formulare, rapoarte, macrocomenzi, programe VBA – care
sunt utilizate selective de anumite categorii de utilizatori.
În Microsoft Access®2007, principalele metode de asigurare a unui anumit nivel de securitate a
informaţiilor sunt următoarele:

53
 crearea şi utilizarea de formulare prin care diverşii utilizatori consultă/adaugă/modifică datele
din tabelele bazei de date, în funcţie de permisiunile acordate de către formularele respective;
 stabilirea unei parole de acces la fişierul bazei de date, care, în Access ®2007 este însoţită şi de
criptarea bazei de date astfel încât aceasta să nu poate fi deschisă de un alt program;
 configurarea anumitor nivele de securitate privind accesul la anumite obiecte ale bazei de
date, considerate potenţial periculoase;
 divizarea fişierului bazei de date în două fişiere, unul conţinând tabelele cu date, care poate fi
protejat cu parolă şi celălalt conţinând celelalte obiecte (formulare, interogări etc);
 utilizarea opţiunii de efectuare a unei copii de siguranţă a fişierului bazei de date;
 utilizarea aplicaţiei Microsoft Windows SharePoint Services 3.0, care permite stocarea
informaţiilor din baza de date pe un server de tip SharePoint care asigură accesul public la
diferitele obiecte ale bazei de date concomitent cu posibilitatea de a stabili drepturile de
access la acele obiecte.

4.3.1. Crearea şi utilizarea formularelor în Access®


Formularele sunt obiecte ale bazei de date destinate introducerii şi/sau afişării într-o formă
specifică a datelor. Formularele constituie o interfaţă mai accesibilă între operatorii mai puţin
experimentaţi şi baza de date, prin care aceştia pot consulta, adăuga, modifica informaţiile.
Formularele asigură securitatea informaţiilor existente în tabele, acestea putând stabili anumite
drepturi (citire / modificare / adăugare) ale utilizatorilor în legătură cu informaţiile memorate în
tabelele bazei de date.
Formularele sunt gestionate în zona Forms a panoului obiectelor Access®2007.
În funcţie de scop, formularele se clasifică în trei categorii:
 formulare de afișare: destinate exclusiv afișării informațiilor din tabele sau interogări,
nefiind posibilă adăugarea de informații sau modificarea informațiilor afișate;
 formulare de introducere date: destinate exclusiv introducerii de noi date în tabele, fără a
afişa înregistrările existente;
 formulare mixte: permit atât afișarea cât și adăugarea de informații sau modificarea
informațiilor existente la un moment dat în tabele.
Crearea unui formular se poate face direct în fereastra de proiectare (CreateForm Design)
sau prin selectarea uneia dintre opțiunile individuale, disponibile în pagina Create Forms.
Un obiect de tip formular poate fi afișat sub mai multe forme (View), după cum urmează:
 Fereastra de utilizare (Form View), fig.47, în care sunt afișate informațiile înregistrărilor din
tabele și care este, de fapt, fereastra în care lucrează utilizatorii obișnuiți;
 Fereastra de proiectare (Design View), fig.48, în care se configurează manual componentele;
 Fereastra de aspect (Layout View), o inovație a versiunii Access ® 2007, care permite
modificarea proprietăților de aspect ale componentelor formularului direct în fereastra de
utilizare (Form View) astfel încât proiectantul vede imediat efectele acestor modificări.

54
Fig.47 Formular în fereastra Form View Fig.48 Formular în fereastra Design View

Fig.49 Forme de afișare a înregistrărilor în formulare

Un formular poate afișa informațiile din tabele sub mai multe forme. Cele mai des utilizate sunt
cele prezentate în fig.49, adică afișarea a câte o înregistrare pe formular (aspect “Columnar”) sau
afișarea sub formă de tabel, similar cu afișarea înregistrărilor în tabele (aspect “Tabular” sau
“Datasheet”). O noutate adusă de Access®
2007 este posibilitatea de a afișa simultan
cele două forme, adică așa-numitul
formular scindat – Split Form (fig.50).
Astfel, există posibilitatea căutării unei
informații în zona “Datasheet” și afișarea
automată a înregistrării în detaliu în zona
“Columnar”. Modificarea formei de
afișare a informațiilor într-un formular se
poate face în orice moment, în fereastra
proprietăților (Property Sheet).
Fig.50 Formular scindat

55
Un formular conține trei zone principale (fig.51):
 Form Header – antetul formularului, este zona în care se include, de obicei, un titlu, o siglă,
etichetele coloanelor, data curentă, diverse elemente grafice;
 Form Detail – zona de afișare a informațiilor propriu-zise, este zona în care se includ
câmpurile din tabele și în care se afișează valorile înregistrărilor;
 Form Footer – subsolul formularului, este zona în care se includ, de obicei, butoane de
comandă, elemente de calcul statistic, data curentă, diverse elemente grafice.
Fiecare dintre cele trei zone ale unui formular conține o serie de componente care se numesc
controale. Gestiunea controalelor se face, în fereastra de proiectare a formularului, din pagina
DesignControls. Modificarea proprietăților controalelor se face în fereastra Property Sheet sau
prin alegerea opţiunii potrivite din paginile Design sau Arrange ale panglicii. În tabelul nr.7 sunt
prezentate cele mai des utilizate controale care pot fi incluse în formulare, unele dintre acestea fiind
noutăți ale versiunii Access® 2007.

Siglă

Titlu

Etichetă

Casetă simplă
de câmp

Data
Subformular curentă

Butoane
Casetă simplă
de acțiune
calculată

Fig.51 Elemente componente (controale) ale unui formular (fereastra de proiectare)

Versiunea Access® 2007 aduce o noutate în privința gestiunii controalelor într-un formular prin
gruparea automată a acestora, în funcţie de tip. Se crează astfel grupuri de controale care vor avea
aceleași proprietăți de aspect și vor fi gestionate ca o singură entitate. Opțiunea este disponibilă în
fereastra de proiectare a formularului, din pagina ArrangeControl Layout. Se măreşte astfel viteza
de proiectare a formularului.

56
Tabelul nr.7 – Controale utilizate în formulare

Denumire control Descriere


Etichetă de text. Text simplu care poate fi formatat (font, mărime,
Label culoare etc). Poate servi ca titlu de formular sau ca etichetă (denumire)
asociată unei casete de câmp.
Casetă de câmp simplă. Afișează o singură valoare. Se asociază cu
Text Box câmpuri ale căror valori trebuie afişate/introduse. Poate fi formatată şi
transformată în casetă tip listă simplă sau derulantă.
Casetă de câmp listă derulantă. Afișează mai multe valori sub formă de
Combo Box
listă derulantă. Se poate ataşa unui câmp multivaloare sau de tip Lookup.
Buton de comandă. La apăsare, se execută o anumită comandă definită
Button de către utilizator (de exemplu închidere/deschidere obiect, căutare valori,
parcurgere înregistrări, aplicare filtre etc).
Siglă. Imagine depusă automat în antet, dintr-un fișier de tip grafic
Logo
(bitmap, jpef, gif etc) selectat de pe disc
Etichetă de text. Text simplu cu rol de titlu al formularului, care este
Title
depus automat în antetul acestuia.
Casetă de câmp. Afișează data și/sau ora curente. Poate fi depus în
Date&Time
oricare zonă a formularului.

Proprietăţile disponibile pentru un anumit control sunt grupate pe 4 categorii:


 Format – cuprinde proprietăţi care se referă la aspectul de afişare a
controlului;
 Data – cuprinde proprietăţi care se referă la sursa datelor afişate de
controlul respectiv – pot fi valorile unui câmp dintr-un tabel sau o interogare sau pot fi valori
calculate cu o anumită relație matematică;
 Event – cuprinde proprietăţi care se referă la eventuale acţiuni asociate unor evenimente în
legătură cu controlul (selecție, click de mouse etc), acţiuni care se crează cu ajutorul
asistentului interactiv (de ex.butoanele de acțiune – Button) sau cu ajutorul unor constructori
speciali (Expression / Macro / Code Builder);
 Other – cuprinde proprietăţi care se referă la atribute generale ale controlului (numele,
comportamentul pe formular etc.).
În fereastra Property Sheet există pagina All în care sunt afișate toate proprietăţile disponibile
care există în cadrul celor 4 categorii dedicate (Format, Data, Event şi Other).
Crearea unui formular în Access®2007 este o acţiune relativ simplă, având în vedere noile
facilităţi de formatare şi configurare. În pagina CreateForms există mai multe posibilităţi (fig.52).

57
Formular individual Formular scindat Formular multiplu
(de tip Columnar) (de tip Split) (de tip Tabular)

Asistenţă interactivă formulare

Formular multiplu de tip Datasheet

Caseta de dialog OK_Cancel

Formular de tip PivotTable

Fig.52 Opţiunile disponibile pentru crearea unui formular

După alegerea uneia dintre ele, în funcţie de varianta aleasă, formularul poate fi creat într-unul
sau mai mulţi paşi şi apoi proiectantul poate interveni în fereastra de proiectare (Design View) sau
în fereastra de aspect (Layout View) pentru a face eventualele modificări necesare şi a stabili
proprietăţile care definesc tipul formularului – de afişare, de introducere date sau mixt.
Formularele de afișare date sunt destinate
afișării diverselor informații din tabelele sau
interogările bazei de date. Pentru asigurarea
securității datelor memorate, aceste formulare nu
permit modificarea datelor afişate sau adăugarea de
noi înregistrări în tabele. În aceste formulare,
utilizatorii pot căuta, consulta, selecta (filtra)
înregistrări existente în baza de date fără a putea
modifica în vreun mod conținutul acestora.
După crearea formularului într-una din cele trei
Fig.53 Fereastra proprietăților
variante uzuale de afișare (Columnar/Tabular/Split), unui formular
în fereastra de proiectare se configurează
proprietățile formularului (Property Sheet) care stabilesc permisiuni de adăugare / ștergere /
modificare de înregistrări (fig.53) – Data Entry, Allow Additions / Deletions / Edits.

58
 Exemplul 12: Crearea unui formular simplu de afișare a listei elevilor.
 deschideți baza de date Elevii scolii și selectați tabelul Elevi, apoi în pagina Create selectați
pictograma Multiple Items, pentru a crea un formular de tip tabelar (afișarea multiplă a
înregistrărilor, într-un mod similar cu cea din fereastra Datasheet a tabelului);
 în mod implicit vor fi afişate toate câmpurile tabelului Elevi şi toate înregistrările acestuia,
aplicându-se un anumit format predefinit;
 pentru a face modificări ale formularului, puteţi afişa fereastra de proiectare,
HomeView Design View sau fereastra de aspect HomeViewLayout View;
 de exemplu, pentru a schimba schema de culori (formatul) formularului, în fereastra de aspect
(Layout View), în pagina FormatAutoFormat sunt disponibile o serie de şabloane dintre
care se poate alege cel dorit (de exemplu Office, aplicat pe formular, în forma finală a
acestuia, afişată în figura 55);

Marcaj de grup Titlu (Title/Label) Data (Text Box “calculat”)

Fig.54 Diferite tipuri de controale şi opţiuni de proiectare a unui formular

 observați gruparea controalelor câmpurilor împreună cu etichetele acestora și existența unui


marcaj al grupului pentru selecția simultană, fig.54; proprietățile comune ale grupului pot fi
stabilite din pagina ArrangeControl Layout sau individual, prin selecția unui control și
modificarea proprietății dorite;
 în zona Form Header efectuați următoarele acțiuni:
 modificați textul controlului de tip etichetă (Label) cu textul Lista elevilor scolii și
alegeți afișarea cu Bold;
 observați existența unui control de tip siglă (Logo), puteți să ștergeți controlul și să
inserați altă siglă, cu opțiunea DesignLogo, indicând fișierul grafic corespunzător;
 inserați un control de afișare a datei calendaristice curente, DesignControls
Date&Time, selectând doar afișarea datei, nu și a orei (fig.54); controlul va fi amplasat
în partea din dreapta sus a zonei Form Header;

59
 în zona Detail, configurați afișarea cu fontul Tahoma, 12pt a tuturor controalelor, iar pentru
controlul câmpului nume, cu Bold;
 în zona Form Footer efectuați următoarele acțiuni:
 creați înălțimea zonei de aprox 2cm cu ajutorul mouse-ului, “trăgând” în jos de marginea
inferioară a barei de titlu;
 adăugați un control de tip buton de acțiune (Button) care să efectueze închiderea
formularului la selecţie prin click de mouse, (fig.55) – selectați controlul de tip Button,
depuneți-l în Form Footer și stabiliți acțiunea asociată în fereastra de dialog a asistenței
interactive, Form Operations / Close Form; afişaţi textul INCHIDERE pe buton;
 puteţi crea un control care să afișeze informații statistice – numărul înregistrărilor din
tabel –selectaţi un control de tip Text Box și configurați-i proprietatea Control Source cu
relația matematică: =Count([cod_unic]); modificați și eticheta corespunzătoare.
 memorați (Save) structura formularului cu numele Lista elevilor;
 pentru a vedea formularul în fereastra de utilizare alegeți opțiunea ViewForm View, în care
se poate testa funcționarea corectă a butonului de acţiune (Atenție – la apăsarea butonului,
fereastra formularului se va închide, deschiderea ulterioară se face prin dublu-click pe numele
formularului, afișat în zona Forms a panoului de navigare din stânga);
 pentru a stabili proprietăți de afișare a înregistrărilor și pentru a elimina unele elemente
grafice de pe formular, deschideți fereastra de proiectare a acestuia, apoi fereastra
proprietăților formularului (Form Property Sheet) și modificați proprietățile, conform celor de
mai jos:
 Data Entry – No Allow Additions/Deletions/Edits – No
 Record Selectors – No Navigation Buttons – No;
 după stabilirea valorilor de mai sus ale proprietăţilor veţi constata că formularul nu permite
modificarea valorilor afişate şi nici adăugarea sau ştergerea de înregistrări;
 aspectul formularului după efectuarea tuturor modificărilor este prezentat în fig.55;
 pentru a modifica aspectul general de afișare a datelor în formular, puteți utiliza opţiunea

Fig.55 Fereastra de proiectare a formularului Lista elevilor, în format Tabular

60
ArrangeAutoFormat, în care se poate alege un format predefinit sau se pot configura
individual diferitele zone ale formularului (Header/Detail/Footer) cu anumite proprietăți de
afișare; de exemplu, în fig.56 este prezentat același formular, sub alt aspect de afișare
(AutoFormat/Equity și modificarea culorii fundalului zonei Footer);
 puteți modifica, de asemenea, stilul de afișare a înregistrărilor (Columnar/Tabular/Split) prin
configurarea proprietății Default View a formularului; de exemplu, în fig.57 este prezentat
același formular, în varianta Split Form, cu afișarea listei înregistrărilor în partea inferioară –
Split Form Orientation / Datasheet on Bottom.

Fig.56 Formular multiplu în format Equity Fig.57 Formular scindat (de tip Split)

Formularele de introducere (adăugare) date sunt destinate adăugării de înregistrări în tabelele


bazei de date, fără a afișa informațiile existente la un moment dat.
După crearea formularului, într-una dintre formele uzuale (Columnar/Tabular/Split), în fereastra
de proiectare se configurează proprietățile acestuia (Property Sheet) care să stabilească permisiunile
de adăugare/ștergere/modificare de înregistrări – Data Entry, Allow Additions / Deletions / Edits.

 Exemplul 13: Crearea unui formular de adăugare de înregistrări prin transformarea unui
formular de afişare.

 selectați formularul Lista elevilor, creat la exemplul anterior; faceți o copie a acestui formular
(Copy / Paste), cu numele Adaugare elevi;
 deschideți noul formular în fereastra de proiectare (Design view) și faceți câteva modificări de
aspect astfel încât acesta să aibă structura din fig.58 – ștergeți controlul de tip statistic și
modificați titlul din antet;
 modificați proprietățile de permisiune adăugare/editare conform celor de mai jos:
 Data Entry – Yes / Allow Additions/Edits – Yes;

61
 memorați modificările și puteţi utiliza noul formular pentru a adăuga înregistrări noi în tabelul
Elevi, fără a vedea înregistrările existente.

Fig.58 Formular de adăugare înregistrări asociat unui tabel

4.3.2. Posibilităţi de asigurare a securităţii fişierelor în Access®

Protecţia informaţiilor conţinute într-o bază de date poate fi realizată şi printr-o serie de metode
care se referă la fişierul în care sunt create obiectele bazei de date.

 Protecţia prin blocarea conţinutului potenţial periculos (Trust Center)

În Access®2007, primul nivel de protecţie este asigurat prin blocarea implicită de către sistem a
conţinutului potenţial periculos, care poate fi, de exemplu, infectat cu viruşi. Configurarea
opţiunilor de protecţie în acest caz se realizează dintr-o zonă special destinată acestui scop,
disponibilă de la butonul OfficeAccess OptionsTrust Center (Settings) (fig.59). În grupul Macro
Settings se află 4 opţiuni de protecţie. Dintre acestea, opţiunea implicită a sistemului – Disable all
macros with notification – blochează orice conţinut potenţial periculos, cum ar fi: comenzile macro,
butoanele de acţiune de pe formulare, interogările de acţiune, aplicaţiile VBA incluse în fişier.
La deschiderea oricărui fişier de tip bază de date este afişată o bară de avertizare – Security
Warning – prin care utilizatorul este informat asupra blocării unui anumit conţinut al bazei de date.
Există un buton Options prin care acel conţinut poate fi activat, dacă se ştie că acesta este din sursă
sigură şi nu prezintă pericol pentru baza de date.
În fereastra Trust Center (fig.59) sunt disponibile şi o serie de alte opţiuni referitoare la
încrederea acordată fişierelor de tip bază de date şi a locurilor (Trusted Locations) în care acestea
sunt memorate pe calculatorul propriu sau pe reţeaua de calculatoare.

62
Fig.59 Opţiunile de securitate Trust Center

 Configurarea unei parole de acces la deschiderea bazei de date (Encrypt with Password)

Este una dintre cele mai simple metode de protecţie a unui fişier împotriva deschiderii acestuia
de către persoane neautorizate. Deschiderea fişierului este protejată de o parolă dată de către
utilizator. Parola controlează accesul numai la acel fişier.
În Access®2007 concomitent cu crearea parolei fişierul este criptat (codificat), adică acesta nu va
putea fi deschis cu altă aplicaţie.
Pentru a crea o parolă de acces, fişierul trebuie deschis în modul exclusiv (Exclusive Open, vezi
tema nr.1). Se alege apoi opţiunea Database Tools Encrypt with Password, se indică parola în
caseta Password şi apoi se repetă în caseta Verify.
Eliminarea parolei de acces se face cu opţiunea inversă Database ToolsDecrypt Database,
având baza de date deschisă cu opţiunea Exclusive şi fiind necesară cunoaşterea parolei respective.

Observaţii

În ceea ce priveşte utilizarea unei parole, există numeroase păreri care spun că parolele formate
din combinaţii ale numelui sau prenumelui, data naşterii, numere de asigurare socială, de carte de

63
identitate etc. sau chiar cuvinte obişnuite nu sunt prea sigure. Există astăzi programe care folosesc
dicţionare de cuvinte uzuale pentru a găsi parola potrivită şi care pot fi utilizate de către hackeri. O
regulă sigură pentru generarea unei parole este utilizarea combinaţiilor neobişnuite de cifre, litere
sau caractere speciale ($, &, +, *). De asemenea, este necesar ca parola să aibă minimum 6...8
caractere.
ATENŢIE: Parolele de acces sunt Case sensitive (diferenţiază literele mici de majuscule)

 Divizarea fişierului bazei de date în două parţi (Split Database)

Pentru asigurarea unei protecţii a informaţiilor conţinute în baza de date, deoarece acestea sunt
memorate în tabelele acesteia, Access®2007 oferă posibilitatea divizării fişierului în două părţi, una
cu tabelele, care poate fi protejată cu o parolă şi a doua parte cu celelalte obiecte ale bazei de date
(interogări, formulare, rapoarte etc).
Acţiunea se realizează cu opţiunea Database ToolsAccess Database care deschide o fereastră
specifică (fig.60) în care utilizatorul este informat despre acţiunea care se va face şi este sfătuit să
creeze o copie de siguranţă a fişierului respectiv (vezi paragraful următor); se apasă butonul Split
Database pentru continuarea acţiunii sau Cancel pentru renunţare. În a doua fereastră se indică un
nume pentru fişierul cu tabele şi un loc pe calculator unde va fi memorat acest fişier şi se apasă
butonul Split. Se va crea un nou fişier conţinând doar tabelele cu date, iar în fişierul original se vor
stabili legături către acele tabele, pe baza cărora informaţiile din acestea pot fi prelucrate, fără a
avea posibilitatea de a modifica structura tabelelor sau proprietăţi ale câmpurilor acestora.

Fig.60 Etapele de divizare a unui fişier de tip bază de date

Fişierul care conţine tabelele – fişier de siguranţă – poate fi protejat cu o parolă de acces, astfel
încât structura acestuia - tabele, câmpuri şi proprietăţi ale acestora – să fie protejată.
La fiecare deschidere a fişierului de lucru se va efectua automat actualizarea datelor conţinute în
tabelele memorate în fişierul de siguranţă. Această acţiune se poate efectua şi manual prin
selectarea opţiunii Database ToolsLinked Table Manager.

64
Deoarece fiecare utilizator are acces complet la înregistrările din tabele, acestea putând fi
modificate sau şterse, nivelul de protecţie din acest punct de vedere este minim.

 Efectuarea unei copii de siguranţă a fişierului bazei de date (Back Up Database)

Pentru a evita eventuale pierderi de informaţii din diferite cauze este recomandată efectuarea
periodică a unei copii de siguranţă a fişierului bazei de date. Această posibilitate este disponibilă în
Access®2007 la butonul OfficeManageBack Up Database. În fereastra care se deschide (fig.61)
trebuie indicat locul în care va fi memorată copia şi eventual modificat numele predefinit propus
automat de către program, nume care include şi data curentă la care se face crearea copiei
respective.

Fig.61 Fereastra de creare a unei copii de siguranţă, Back Up Database

65
REZUMATUL DISCIPLINEI

Creşterea permanentă a vitezei de calcul, a capacităţii de stocare a datelor, dezvoltarea continuă a


componentei software a sistemelor informatice sunt mereu stimulate de necesitatea prelucrării în
timp tot mai scurt a unei cantităţi tot mai mari de informaţii. Sistemele de gestiune a informaţiilor
numite generic baze de date constituie un puternic instrument pentru rezolvarea acestei probleme,
motiv pentru care sunt utilizate în aproape orice domeniu de activitate al unei societăţi dezvoltate.
Dintre sistemele informatice create până în prezent pentru gestiunea bazelor de date, Microsoft
Access® este unul dintre cele mai cunoscute, probabil datorită includerii acestuia în pachetul
Microsoft® Office, atât de popularul sistem informatic, ajuns astăzi la versiunea a douăsprezecea.
Disciplina tratează principalele noţiuni necesare proiectării, construirii şi utilizării unei baze de
date de nivel mediu, utilizabilă pentru tezaurizarea datelor unui sistem informaţional din sfera
didactică.
Capitolul 1 se referă la elementele teoretice esenţiale privind crearea şi dezvoltarea unei baze
de date moderne. Sunt explicate noţiunile de tabel, câmp, înregistrare, relaţii între tabele, precum şi
câteva principii de bază privind proiectarea eficientă a unei baze de date. Este prezentată interfața
sistemului Microsoft Access® 2007, cu noile avantaje ale acesteia privind accesul mai rapid şi
eficient la toate uneltele necesare.
Capitolul 2 conţine descrierea componentei principale fără de care o bază de date nu poate
exista – tabelul. Sunt prezentate modul de proiectare a unui tabel, componentele acestuia şi modul
de configurare a proprietăţilor acestora. În cadrul exemplelor, este creată o bază de date pentru
evidenţa şcolară, exemplificându-se, pe rând, toate etapele de creare a tabelelor, adăugarea de
înregistrări, configurarea proprietăţilor necesare ale câmpurilor, precum şi toate posibilităţile de
afişare a înregistrărilor în tabele.
Capitolul 3 tratează aspectele privind prelucrarea informaţiilor tezaurizate în baza de date prin
afişarea selectivă a acestora cu ajutorul interogărilor. Sunt prezentate principiile de creare a
relaţiilor dintre tabele pentru a regăsi corect informaţiile corelate între acestea. În continuare sunt
descrise principalele tipuri de interogări utilizate pentru prelucrarea informaţiilor, cu exemplificări
pentru fiecare tip în parte.
Capitolul 4 include, pe scurt, unele metode simple de protecţie a datelor în sistemele de
gestiune a bazelor de date. Este descris modul de lucru cu formularele, prin care se pot stabili
anumite drepturi de acces la informaţiile din baza de date, precum şi metodele de bază de asigurare
a protecţiei fişierului bazei de date prin stabilirea unei parole, împărţirea în două fişiere sau blocarea
executării unor componente potenţial periculoase.

66
Anexa nr.1

Tipuri de date utilizabile în bazele de date Microsoft Access ®


Denumirea
Caracteristici principale
tipului de dată
Text Şir de caractere. Poate conţine litere, cifre şi caractere speciale (@, &, %, *,
? etc.). Poate conţine şi spaţii.
Poate avea lungimea maximă de 255 caractere.
I se poate indica o lungime maximă – Field Size.
Memo Şir de caractere. Similar tipului Text.
Poate avea lungimea maximă de 65535 caractere.
Number Numeric. Există posibilitatea alegerii unui subtip de dată (Field Size) care
defineşte dimensiunea valorii (număr întreg sau real). I se poate stabili un
anumit format de afişare. Ex. 10,50; 1.200,50; 3.400
Date/Time Dată/oră. Reprezintă date calendaristice şi/sau oră.
Date calendaristice valide – între 1.01.100 şi 31.12.9999.
Nu are lungime (Field Size).
Poate fi afişată în diferite formate (Format).
Currency Valoare monetară. Numeric cu simbol monetar ataşat. Este de tip Single,
dar cu până la 4 cifre la dreapta simbolului zecimal. Simbolul monetar ataşat
poate fi ales de către utilizator.
Ex. 240.500,75 Lei
AutoNumber Numeric. Valoare unică, atribuită automat de Access fiecărei înregistrări.
Poate fi de tip Long Integer sau Replication ID.
Valorile se pot atribui secvenţial sau aleator.
Yes/No Logic. Are două valori posibile – True sau False (1 sau 0, da sau nu, deschis
sau închis etc.).
OLE Object Obiect integrat. Poate fi o imagine, o foaie de calcul Excel, un fişier sunet,
video etc., create cu aplicaţii Windows care conţin suport OLE – Object
Linking&Embedding.
Hyperlink Hiperlegătură, text interpretat ca o cale către un fişier situat pe calculatorul
propriu, pe alt calculator sau pe internet, o pagină web etc.
La selectare, Access se deplasează la destinaţia indicată, executând fişierul
găsit acolo.
Attachment Atașament. Poate fi orice tip de fișier suportat de Access® cum ar fi o
imagine, un registru de calcul, un document, un fișier video etc. Utilizează
mai eficient memoria decât OLE Object și este mai general.
Lookup Lista de valori. Practic nu este o proprietate, ci o caracteristică. Valoarea
Wizard câmpului se selectează dintr-o listă derulantă de valori disponibile care pot fi
cele existente într-un alt câmp sau o listă de valori definite de către utilizator.
Crearea listei se face cu ajutorul unei asistenţe interactive (Wizard)

67
Anexa nr.2
Cod_unic Cod Nume Prenume Data_nasterii
1051 1310 BIRLIGA ROXANA IOANA 01.05.2003
1052 1310 COJOCARU LUCIAN 10.12.2003
1053 1310 CONSTANTIN MANUELA 06.09.2003
1054 1310 GAVRILA MARIUS 30.12.2003
1055 1310 GHIMBASAN PETRUTA ANDA 01.07.2003
1056 1310 HASEGAN ILEANA-RODICA 30.04.2003
1057 1310 IBANESCU DAN ALEXANDRU 02.06.2003
1058 1310 ION IONUT MIREL 14.02.2003
1060 1310 KAPITANY ENIKO 08.09.2003
1062 1310 NICHIFOR ALEXANDRA IOANA 24.06.2003
1063 1310 PANTAZI GEORGE IRINEL 29.10.2003
1064 1310 POPESCU LIVIU ADRIAN 12.09.2003
1065 1310 POTORAC SILVIU 05.10.2003
1066 1310 STOIAN EUGENIA GEORGIANA 12.09.2003
1067 1310 STOICA GEORGE CRISTIAN 01.03.2003
1068 1310 STOICANEA ANDREI SEBASTIAN 01.04.2003
1069 1310 TICU CIPRIAN-LUCIAN 08.01.2003
1070 1310 TIMAR IOANA-LACRAMIOARA 25.09.2003
1071 1310 TOACSE NICOLAE 29.09.2003
1072 1310 VOICU SILVIA ANDREEA 17.03.2003
1073 1310 ZOLTAN GH. ROBERT ALIN 01.03.2003

Cod_unic Cod Nume Prenume Data_nasterii


2024 2110 AILIESIEI IONUT 23.06.2002
2026 2110 ANGHEL ADRIAN MARIAN 13.05.2002
2027 2110 BLAJ RAZVAN DORIN 06.11.2002
2028 2110 CATANA SEBASTIAN FLORIN 10.02.2002
2029 2110 CIOACA CORNEL FLORIN 13.12.2002
2030 2110 FALCESCU LUCIAN VASILE 09.11.2002
2031 2110 FOGOROS ALINA DELIA 13.01.2002
2033 2110 GRAPA NICOLAE 11.10.2002
2034 2110 LACATUS GEORGE 03.04.2002
2035 2110 MARCU VASILE DUMITRU 09.02.2002
2036 2110 MATACHE MARIUS 16.11.2002
2037 2110 NASTASE VALENTIN 18.12.2002
2040 2110 PARASCHIV CIPRIAN 12.02.2002
2041 2110 PETRENJEL BOGDAN ALEXANDRU 03.02.2002
2042 2110 PREDOI FLORIN 04.09.2002
2043 2110 ROTARIU OVIDIU EMILIAN 22.04.2002
2044 2110 SOLOMON LIVIU 17.12.2002
2045 2110 TRECICA PAULA RALUCA 30.05.2002
2046 2110 ZOTA MARIUS IONUT 28.10.2002

68
Cod_unic Cod Nume Prenume Data_nasterii
2047 2210 ANCUTA MARIUS CATALIN 04.02.2002
2048 2210 APOSTU ADRIAN 16.08.2002
2049 2210 BALAN ADRIAN 14.02.2002
2050 2210 BANDEA STEFAN 09.06.2002
2051 2210 BARTHA ROXANA NICOLETA 19.04.2002
2053 2210 CHELARIU FLORIN 27.04.2002
2054 2210 DIMA MARIUS 20.06.2002
2055 2210 FLOREA FLORIN 04.07.2002
2056 2210 GEORGESCU PETRE IULIAN 29.08.2002
2057 2210 GEORGESCU SIMONA GABRIELA 20.07.2002
2059 2210 MANESCU MIHAI 16.01.2002
2060 2210 MARCU BOGDAN DANIEL 23.01.2002
2061 2210 NICOLAE DANIEL 24.06.2002
2062 2210 NISTOR CIPRIAN GHEORGHE 15.09.2002
2063 2210 NOVAC GHEORGHE ALEXANDRU 23.02.2002
2064 2210 OCHEAN ALEXANDRU DAN 19.11.2002
2065 2210 OPREA ROMEO DUMITRU 15.09.2002
2066 2210 PREDESCU STEFAN 21.07.2002
2067 2210 ROTARI GEORGE ADRIAN 12.02.2002
2068 2210 SANDU VLAD DUMITRU 25.04.2002
2070 2210 SAUCIUC DANIEL COSTICA 26.02.2002
2071 2210 STAN VALENTIN MIHAI 27.08.2002
2072 2210 STEFAN ANDREI CONSTANTIN 26.02.2002
2073 2210 VASILESCU ION 20.11.2002

Cod_unic Cod Nume Prenume Data_nasterii


3001 3110 ANTIMIA ANDREEA ROXANA 14.01.2001
3002 3110 BADARAU EMILIA 16.04.2001
3004 3110 BUCUR LILIANA 21.02.2001
3005 3110 BUZEA ILIE COSMIN 27.07.2001
3006 3110 CREANGA NORA CRISTINA 14.06.2001
3007 3110 DALALAU DIANA MARIA 02.04.2001
3009 3110 IONESEI ANCA-DIANA 27.06.2001
3010 3110 IRIMIA RARES IOAN 04.10.2001
3011 3110 LUCACI SEBASTIAN 13.11.2001
3012 3110 LUPU DORIN 23.02.2001
3013 3110 MATYAS KINGA 12.08.2001
3014 3110 MICU IOANA ALECSANDRA 24.04.2001
3017 3110 PIUKOVICI ANNA MARTINA 15.10.2001
3018 3110 RATIU DANIEL 27.02.2001
3020 3110 SZABO ISTVAN 05.10.2001
3021 3110 VASILE ANDREEA CATALINA 16.04.2001
3022 3110 VERDIANU CONSTANTIN 12.07.2001
3023 3110 WALLITZKY RAINER 29.09.2001

69
Cod_unic Cod Nume Prenume Data_nasterii
3054 3210 ALBINA GEORGE ADRIAN 09.10.2001
3055 3210 BARLA SILVIU GABRIEL 02.02.2001
3056 3210 BARZIC LUCIAN NICOLAE 04.08.2001
3057 3210 BORICEAN GABRIELA 24.07.2001
3058 3210 CIOBANU BIANCA 11.01.2001
3059 3210 CIUREA ADRIAN 14.07.2001
3060 3210 FIRICA NICOLETA 01.01.2001
3061 3210 GAREA CATALIN IOAN 24.04.2001
3062 3210 KONCZE MIHAI 26.11.2001
3064 3210 MARINA CARMEN ALINA 08.05.2001
3065 3210 NEAGU SILVIU ALEXANDRU 20.06.2001
3066 3210 NEGOT FLORIN RAZVAN 22.11.2001
3067 3210 PANTEA CRISTIAN 14.10.2001
3068 3210 PETRE ROBERT CATALIN 22.10.2001
3069 3210 POPA ADRIAN IONUT 12.04.2001
3070 3210 POTORAC BOGDAN 15.02.2001
3072 3210 SZEKELY ISTVAN 12.03.2001
3074 3210 TRIFAN CATALIN 24.07.2001
3075 3210 VERNICEANU OVIDIU 03.03.2001

Cod_unic Cod Nume Prenume Data_nasterii


4001 4110 ARSENE ADRIAN 25.11.2000
4002 4110 BEJAN SIMONA DANIELA 01.02.2000
4003 4110 BLAGA KAROLY 16.08.2000
4004 4110 BORICEAN MIHAI 21.05.2000
4005 4110 BREZEAN FLORIN PETRU 12.08.2000
4007 4110 CONSTANTIN SIMONA 03.04.2000
4009 4110 DOBOS RAMONA ANDREEA 25.07.2000
4010 4110 ENESCU RAMONA MIHAELA 23.08.2000
4012 4110 GOGA ANA 13.12.2000
4013 4110 GRIGORE ANCA 04.01.2000
4014 4110 MANOLACHE ANDREI PAUL 04.08.2000
4016 4110 MUNTEANU SORIN 10.03.2000
4017 4110 ONIGA OANA VIORICA 09.11.2000
4019 4110 PASCU RADU 16.11.2000
4020 4110 POPA ANDREI GEORGE 02.03.2000
4021 4110 RAILEANU CORINA 06.07.2000
4022 4110 RATIU ROXANA 04.10.2000
4023 4110 ROHAN ALINA ELENA 10.06.2000
4024 4110 SERBANUT DAN 26.09.2000
4025 4110 STANCIU SILVIU-IONUT 01.12.2000
4026 4110 TRIFAN ALEXANDRU 10.01.2000
4027 4110 VRANCEAN ANDRADA MARIA 01.07.2000

70
Anexa nr.3
®
Funcţii predefinite integrate în Access

Obs. În funcţie de valoarea stabilită de către sistemul de operare Windows ®, separatorul zecimal
poate fi punctul – . – (sistemul american) sau virgula – , – (sistemul românesc).
În exemplele date în continuare s-a considerat ca separator zecimal virgula.

Math – Funcţii pentru date numerice


Sintaxa funcţiei Explicaţii Exemple
Returnează valoarea absolută (fără semn) a valorii Abs(1200)=1200
Abs (val_num)
numerice val_num Abs(–12,65)=12,65
Returnează arctangenta valorii numerice val_num,
Atn (val_num) în radiani Atn(1)=0,785 (rad)
Este inversul trigonometric al funcţiei Tan
Returnează cosinus al valorii numerice val_num,
Cos (val_num) Cos(3,14)= –1
care trebuie dată în radiani
Returnează numărul e ridicat la puterea val_num
Exp(val_num) Exp(1)=2,7182
Este complementara funcţiei Log
Returnează valoarea întreagă a valorii numerice Fix(12,6)=12
Fix(val_num) val_num prin trunchiere (eliminarea părţii Fix(12,3)=12
fracţionare) Fix(–12,4)= –12
Returnează logaritmul natural (în baza e) al valorii
Log(val_num) numerice val_num Log(2,7182)=1
Este complementara funcţiei Exp
Returnează valoarea rotunjită a valorii numerice
Round(12,6)=13
Round (val_num; val_num; dacă prec lipseşte, atunci se rotunjeşte la
<prec>) întreg, dacă există, reprezintă numărul de ordine al
Round(12,65;1)=12,7
zecimalei care se rotunjeşte
Returnează sinus al valorii numerice val_num, care
Sin (val_num) Sin(3,14)=0
trebuie dată în radiani
Sqr(val_num) Returnează rădăcina pătrată din valoarea val_num Sqr(3)=1,73
Returnează tangenta valorii numerice val_num, care
Tan(val_num) Tan(0,785)=1
trebuie dată în radiani

Text – Funcţii pentru date de tip şir de caractere


Sintaxa funcţiei Explicaţii Exemple
Returnează un subşir format din şirul val_sir
Left (val_sir; nc) pornind de la primul caracter şi având Left(”Baze de Date”;4)=”Baze”
lungimea de nc caractere
Returnează un număr natural reprezentând
Len(val_sir) lungimea şirului val_sir Len (”Baze de Date”)=12
În lungime sunt incluse şi spaţiile libere
Returnează un subşir format din şirul val_sir
pornind de la caracterul st şi având lungimea
Mid(”Baze Date”;6;2)=”Da”
Mid(val_sir; st; <nc>) de nc caractere. Dacă nc nu este precizat, se
Mid(”Baze Date”;6)=”Date”
returnează toate caracterele până la sfârşitul
şirului
StrConv(„access”;1)=ACCESS
Returnează şirul val_sir transformat conform
StrConv(val_sir;mod) StrConv(„microsoft access”;3)=
valorii indicate prin argumentul mod
=Microsoft Access

71
Date/Time – Funcţii pentru date de tip dată calendaristică / oră
Sintaxa funcţiei Explicaţii Exemple
Returnează o valoare reprezentând data curentă
preluată din sistemul de operare Windows®
Date ( ) Afişarea valorii se face în modul implicit definit în Date ( )=08.01.2011
Access
Dacă vd=8.02.2005
Returnează o valoare întreagă reprezentând parte DatePart(”yyyy”;vd)=
din val_data, în funcţie de valoare indicată prin cod 2005
DatePart(cod; fwd şi fw sunt valori opţionale care definesc
DatePart(”m”;vd)=2
val_data; <fwd>; numerotarea zilelor şi săptămânilor într-un an
calendaristic DatePart(”d”;vd)=8
<fw>)
Valori implicite; fwd: Sunday DatePart(”w”;vd)=3
fw : săpt.cu 1 Ian. DatePart(”y”;vd)=39
DatePart(”ww”;vd)=7
Dacă vd=8.02.2005
Returnează o valoare întreagă între 1 şi 31
Day (val_data) reprezentând ziua din lună extrasă din val_data Day(vd)=8

Returnează o valoare întreagă între 1 şi 12 Dacă vd=8.02.2005


Month (val_data) reprezentând luna din an extrasă din val_data Month(vd)=2
Returnează o valoare reprezentând ora curentă
preluată din sistemul de operare Windows®
Time ( ) Afişarea valorii se face în modul implicit definit în Time( )=13:33:56
Access
Returnează o valoare întreagă reprezentând anul Dacă vd=8.02.2005
Year(val_data) extras din val_data Year(vd)=2005

SQL Aggregate – Funcţii pentru prelucrarea statistică a seturilor de valori grupate cu Group By în cadrul
interogărilor (funcţii de tip statistic)
argument reprezintă variabila după care se face gruparea valorilor; poate fi un câmp al unui tabel din baza
de date sau un câmp calculat în interogare
Sintaxa funcţiei Explicaţii
Avg ([argument]) Returnează valoarea medie din fiecare set de valori
Count ([argument]) Returnează numărul de valori din fiecare set de valori
Max ([argument]) Returnează valoarea maximă din fiecare set de valori
Min ([argument]) Returnează valoarea minimă din fiecare set de valori
Sum ([argument]) Returnează suma valorilor din fiecare set de valori
StDev([argument]) Returnează abaterea standard a fiecărui set de valori
Var([argument]) Returnează varianța fiecărui set de valori

Alte funcţii
Sintaxa funcţiei Explicaţii Exemple
Funcţie condiţională IIf([nota]>=5;”Promovat”;
Returnează valDA dacă evaluarea
Iif (conditie; valDA; “Corigent”)
condiţiei returnează adevărat
valNU) Returnează valNU dacă evaluarea Pt.[nota]>=5, IIf=”Promovat”
condiţiei returnează fals Pt.[nota]<5, IIf=”Corigent”

72
BIBLIOGRAFIE

[1] Bâscă, O. Baze de date. Editura Bic All, Bucureşti, 1997.


[2] Brydon, Michael. Microsoft Access Tutorials, http://www.unixg.ubc.ca, 1997.
[3] Conolly Th., Begg C., Strachan A. Baze de date – Proiectare, implementare, gestionare
(traducere din limba engleză). Editura Teora, Bucureşti, 2001.
[4] Filip, A.C. – Baze de date. Note de curs. Universitatea Transilvania din Brasov, 2005…2010.
[5] Filip, A.C. – Sisteme de gestiune a bazelor de date. Curs pentru formare continuă, Universitatea
Transilvania din Brasov, 2006.
[6] Gunderloy, M., S. Sales Harkins, Microsoft Office Access 2003 pentru începători (traducere
din limba engleză). Editura All, Bucureşti, 2004.
[7] Johnson, S. Microsoft Office - Access 2007, Editura Teora, 2008.
[8] Popa, Gh., Iliescu M., Udrică M. Baze de date Access. Culegere de probleme. Editura Cison,
Bucureşti, 2000.
[9] Ulrich L., Cook, K., Kaufeld, J. Access 2007 pour les nuls. Edition First, Paris, 2007.
[10] * * * Access Tips. Site internet, http://www.access-programmers.co.uk/.
[11] * * * ECDL Syllabus 4.0, ECDL Romania, http://www.ecdl.org.ro/download.php

[12] * * * Microsoft Access 2007 pentru uz școlar, EOS Romania, http://eos.ro/Resurse.asp

[13] * * * DBMS essentials, http://en.wikipedia.org/wiki/Database_management_system

[14] * * * Microsoft Office asistență online, http://office.microsoft.com/ro-ro/support/?CTT=97

73
Inspectoratul Şcolar
Judeţean Bacău

Investeşte în oameni!
Proiect cofinanţat din Fondul Social European prin Programul Operaţional Sectorial pentru Dezvoltarea Resurselor Umane 2007 – 2013
Axa prioritară 1 „Educaţia şi formarea profesională în sprijinul creşterii economice şi dezvoltării societăţii bazate pe cunoaştere”
Domeniul major de intervenţie 1.3 „Dezvoltarea resurselor umane în educaţie şi formare profesională”
Titlul proiectului: Profesionalizarea carierei didactice- noi competenţe pentru actori ai schimbărilor în educaţie
din judeţele Bacău şi Covasna
Beneficiar: Inspectoratul Şcolar Judeţean Bacău
Număr de identificare al contractului: POS DRU/87/1.3/S/62339
Nr. de înregistrare al AMPOSDRU: D.G.A.M.P.O.S.D.R.U./E/8263
Durata:
noiembrie 2010 – octombrie 2013 (36 luni)

Buget proiect: 16.499.695,00 RON

PARTENERI
Inspectoratul Şcolar Judeţean Covasna
http://www.isj.educv.ro
Casa Corpului Didactic “Grigore Tabacaru” Bacău
http://www.ccdbacau.ro
Casa Corpului Didactic Covasna
http://www.ccdcovasna.ro
Universitatea Transilvania din Braşov
http://www.unitbv.ro

www.bacov-ia.ro

Casa Corpului Didactic Universitatea


Inspectoratul Şcolar Casa Corpului Didactic
„Grigore Tabacaru” „TRANSILVANIA”
Judeţean Covasna Covasna
Bacău Braşov

74

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