Sunteți pe pagina 1din 145

BAZE DE DATE

Lector univ. drd. Mihai Gavot


BAZE DE DATE
Bucureti - 2001
BAZE DE DATE
Lector univ. drd. Mihai Gavot\
Copyright 2001 Facultatea de Comunicare [i Rela]ii Publice David Ogilvy SNSPA
Toate drepturile asupra acestei versiuni apar]in Facult\]ii de Comunicare [i Rela]ii Publice
David Ogilvy SNSPA.
Reproducerea integral\ sau par]ial\ a textului sau a ilustra]iilor din aceast\ carte este posibil\
doar cu acordul prealabil scris al editorului.
MINISTERUL EDUCA}IEI {I CERCET|RII
{COALA NA}IONAL| DE STUDII POLITICE {I ADMINISTRATIVE
FACULTATEA DE COMUNICARE {I RELA}II PUBLICE
David Ogilvy
Str. Povernei, nr. 6-8, Bucure[ti
Telefon/Fax: (01) 212 5288
e-mail: info@comunicare.ro
http://www.comunicare.ro; http://www.comunicare.snspa.ro
Tip\rit n Romnia
Copert\ de Alin Z\inescu [i Allen Geant\
Descrierea CIP a Bibliotecii Na]ionale
GAVOT|, MIHAI
Baze de date / Mihai Gavot\, Bucure[ti: Editura SNSPA
Facultatea de Comunicare [i Rela]ii Publice, 2001
p. : cm.
Bibliogr.
ISBN 973-8309-14-X
004.65
CUPRINS
CUPRINS........................................................................................................................................ 6
1. INTRODUCERE........................................................................................................................ 8
2. TERMINOLOGIE {I MODELE DE DATE........................................................................... 10
2.1. MODELE DE DATE......................................................................................................... 11
2.1.1. Modelul rela]ional ...................................................................................................... 11
3. BAZE DE DATE RELA}IONALE......................................................................................... 14
3.1. SCURT ISTORIC.............................................................................................................. 14
3.2. TIPURILE DE RELA}II.................................................................................................. 14
3.2.1. Rela]iile unu la unu................................................................................................ 15
3.2.2. Rela]iile unu la mul]i.............................................................................................. 15
3.2.3. Rela]iile mul]i la unu.............................................................................................. 16
3.2.4. Rela]iile mul]i la mul]i............................................................................................ 17
3.3. REGULI DE NORMALIZARE........................................................................................ 18
4. ACCESS 2000........................................................................................................................... 22
4.1. DE CE ACCESS?.............................................................................................................. 22
4.2. CE VOR CON}INE CAPITOLELE URM|TOARE? .................................................... 23
4.3. INSTRUMENTUL SOFTWARE ACCESS 2000 ............................................................ 24
4.4. O PREZENTARE GENERAL| A PRINCIPALELOR OBIECTE ACCESS 2000....... 28
5. TABELELE {I SISTEMUL DE RELA}II............................................................................. 32
5.1. TIPURILE DE DATE ACCESS 2000.............................................................................. 33
5.2. CREAREA TABELELOR................................................................................................. 36
5.3. SALVAREA TABELELOR............................................................................................... 42
5.4. PROPRIET|}ILE CMPURILOR................................................................................. 42
5.5. IMPORTUL {I EXPORTUL DATELOR ........................................................................ 44
5.6. RELA}IILE DINTRE TABELE...................................................................................... 46
6. CREAREA {I UTILIZAREA INTEROG|RILOR................................................................. 52
6.1. INTEROG|RILE DE TIP SELECT................................................................................ 58
Lucrul cu func]ia like....................................................................................................... 59
Concatenarea [irurilor de caractere................................................................................ 61
Dialogurile parametrizate ................................................................................................ 61
Lucrul cu func]ia between ............................................................................................... 62
6.2. INTEROG|RILE DE TIP TOTALS................................................................................ 63
6.3. INTEROG|RILE DE TIP UPDATE............................................................................... 66
6.4. INTEROG|RILE DE TIP MAKE-TABLE..................................................................... 68
6.5. INTEROG|RILE DE TIP DELETE............................................................................... 69
6.6. INTEROG|RILE DE TIP APPEND.............................................................................. 70
6.7. INTEROG|RILE DE TIP CROSSTAB .......................................................................... 71
TERMINOLOGIE I MODELE DE DATE
7
7. FORMULARE {I RAPOARTE............................................................................................... 78
7.1. FORMULARE (FORMS)................................................................................................. 78
7.1.1. Crearea formularelor cu ajutorul vr\jitorilor (wizards) ...................................... 81
7.1.2. Crearea formularelor n mod proiectare direct\ ...................................................... 85
7.2. RAPOARTE (REPORTS)................................................................................................. 95
8. LUCRUL CU HIPERLEG|TURI ........................................................................................ 105
{I GENERAREA PAGINILOR WEB....................................................................................... 105
8.1. SCURT| INTRODUCERE............................................................................................ 105
8.2. WORLD WIDE WEB...................................................................................................... 106
8.3. TEHNOLOGII {I PRODUSE PROGRAM TIP CLIENT INTERNET....................... 107
8.4. TIPUL DE DATE HYPERLINK.................................................................................... 108
8.5. GENERAREA PAGINILOR WEB................................................................................ 112
9. ADMINISTRAREA {I ASIGURAREA SECURIT|}II BAZELOR DE DATE ACCESS ........ 117
9.1. COMPACTAREA {I REPARAREA DATELOR .......................................................... 117
9.2. CREAREA COPIILOR DE SIGURAN}| .................................................................... 118
9.3. SECURITATEA BAZELOR DE DATE ........................................................................ 119
9.3.1. Principiile securit\]ii bazelor de date n re]ele locale............................................. 119
9.3.2. Protejarea prin parol\ la nivelul bazei de date ....................................................... 120
9.3.3. Criptarea bazei de date............................................................................................. 121
9.3.4. Securitatea la nivelul grupurilor [i utilizatorilor.................................................... 122
ANEXA 1 STRUCTURA TABELELOR UTILIZATE N EXEMPLE. RELA}IILE DINTRE
TABELE..................................................................................................................................... 127
ANEXA 2 PROBLEME PROPUSE....................................................................................... 129
Reguli de normalizare.................................................................................................... 129
Tabele ............................................................................................................................. 129
Interog\ri........................................................................................................................ 130
Formulare....................................................................................................................... 131
Rapoarte ......................................................................................................................... 132
Pagini internet................................................................................................................ 133
Securitatea [i administrarea bazelor de date ................................................................ 133
ANEXA 3 DIC}IONAR DE TERMENI................................................................................ 135
BIBLIOGRAFIE........................................................................................................................ 145
1. INTRODUCERE
Complexitatea informaiilor cu care oamenii au interacionat i interacioneaz
permanent, a fcut necesar gestionarea eficient a acestora. Bibliotecile care au existat nc din
antichitate, agendele personale, registrele de eviden, cataloagele de produse, mersul trenurilor
nu sunt altceva dect mijloace de gestionare eficient a informaiilor. Prin acestea se ncearc de
fapt, ntr-o manier neautomatizat, s se rezolve problemele legate de organizarea, stocarea i
regsirea performant a informaiilor. Rezolvarea eficient a acestor probleme n condiiile unui
volum foarte mare de informaii, nu poate fi conceput dect prin utilizarea calculatoarelor
electronice i anume a bazelor de date.
Scopul principal urmrit, atunci cnd se alege ca soluie de rezolvare a problemei
gestiunii informaiilor utilizarea bazelor de date, este acela de a regsi ntr-un timp ct mai scurt
informaia cutat dup anumite criterii, de a asigura securitatea acestora, de a minimiza spaiul
necesar de memorare, de a asigura unicitatea i flexibilitatea datelor gestionate.
La modul cel mai general o baz de date poate fi definit ca fiind o colecie de date
nrudite care se refer la un anumit obiect sau obiectiv, mpreun cu instrumentele folosite pentru
manipularea acestor date. Orice baz de date trebuie s conin descrierea datelor i nregistrrile
de date.
Sistemul complex de programe care permite descrierea, organizarea, memorarea,
regsirea, administrarea i securizarea informaiilor dintr-o baz de date se numete sistemul de
gestiune a bazelor de date (SGBD). Memorarea datelor coninute de bazele de date se face pe
suporturile de memorie intern sau extern folosite de calculatoare (uniti de hard-disc, benzi i
casete magnetice, compact discuri etc). SGBD este un software special asociat bazelor de date
care asigur interfaa ntre o baz de date i utilizatorii ei, rezolvnd toate cererile de acces la
datele memorate.
Bazele de date nglobeaz patru componente: datele, hardware-ul, software-ul i
utilizatorii. Datele reprezint materia prim a oricrei baze de date. Ele descriu caracteristicile
anumitor obiecte, sunt organizate n structuri i se pot afla n anumite relaii i interdependene.
Hardware-ul se constituie din tehnica de calcul utilizat pentru crearea, ntreinerea i
exploatarea bazelor de date. Software-ul cuprinde SGBD-ul i programele de aplicaie aferente.
Din punctul de vedere al utilizatorilor se deosebesc trei categorii:
utilizatorii finali care interacioneaz cu baza de date prin intermediul unui limbaj de
interogare sau prin intermediul unor programe numite programe de aplicaie, scrise de
programatorii de aplicaii;
programatorii de aplicaii care realizeaz programele de aplicaie ale bazei de date,
utiliznd anumite limbaje de programare (Visual Basic for Applications, C,C++, Java,
PHP, PERL etc) Aceste aplicaii numite i software front-end asigur utilizatorilor, ntr-o
manier ct mai prietenoas, accesul la date pentru introducerea, actualizarea, regsirea,
consultarea i listarea acestora;
administratorul bazei de date care este o persoan (sau un grup de persoane) responsabil
cu asigurarea funcionrii software-ului i hardware-ului, securitatea, integritatea i
sigurana bazei de date.
TERMINOLOGIE I MODELE DE DATE
9
Bazele de date computerizate ofer anumite avantaje incontestabile fa de modalitile
manuale de gestionare a informaiilor, dintre care pot fi enumerate:
o reducerea redundanei prin nregistrarea unei informaii o singur dat i accesarea
acesteia oriunde este necesar. Din practica lucrului cu bazele de date a rezultat ns c nu
este posibil i nici chiar recomandat o redundan nul a datelor;
o evitarea inconsistenei datelor n cazul n care datele sunt accesate de mai muli
utilizatori (regim de lucru multiuser), o modificare fcut de unul dintre acetia este
accesibil i celorlali n cel mai scurt timp;
o partajarea informaiilor i a programelor de aplicaie mai muli utilizatori pot lucra
simultan cu aceleai date i pot lansa n execuie aceeai aplicaie;
o asigurarea restriciilor de securitate a datelor se realizeaz prin conceperea unui sistem
de autorizare a accesului la date prin parole i a unor niveluri de acces (numai anumii
utilizatori au acces la toate datele, ceilali au un acces limitat numai la acele informaii
care pot fi cunoscute de ei);
o asigurarea integritii datelor printr-un sistem de protecie la tergerile neintenionate i
de refacere a datelor n caz de incidente;
o rezolvarea operativ a conflictelor ce pot aprea n crearea, editarea, consultarea i
interogarea datelor prin validri aplicate la momentul introducerii acestora n baza de
date i prin mecanisme ce interzic modificarea simultan de ctre mai muli utilizatori a
aceleiai informaii;
o asigurarea independenei datelor fa de aplicaii i fa de suportul fizic de memorare -
este un deziderat al oricrui SGBD i presupune ca datele s poat fi modificate sau
mutate pe un alt suport fr ca s fie necesar rescrierea programelor de aplicaii. Acest
lucru poate fi realizat printr-o corect proiectare a bazelor de date i prin scrierea unor
aplicaii performante. De asemenea este de dorit ca administratorul bazei de date s aib
libertatea de a schimba strategia de acces la date, prioritile aplicaiilor, unitile de
memorare, fr s modifice aplicaiile existente.
Termenii specifici bazelor de date, definiiile acestora precum i tipurile de baze de date
existente, n funcie de modelul de date pe care se bazeaz, vor face obiectul capitolului urmtor.
Vor fi tratate noiunile generale referitoare la bazele de date relaionale i n special la bazele de
date MS-Access. Voi motiva ntr-un subcapitol aparte de ce am ales din cadrul bazelor de date
relaionale tocmai bazele de date Access ca suport practic al acestui curs.
2. TERMINOLOGIE {I MODELE DE DATE
Bazele de date au fost concepute pentru stocarea volumelor mari de informaii relativ
omogene i ntre care se pot stabili anumite relaii. Modelul de date al bazei de date se stabilete
n urma unei etape de analiz a informaiilor care are ca scop identificarea datelor ce vor fi
memorate, stabilirea caracteristicilor acestora, a structurii i a legturilor dintre date.
Datele pot fi definite pe trei niveluri:
nivelul extern care descrie modul n care utilizatorii individuali vd baza de date,
nivelul conceptual care descrie structura canonic a datelor i modul n care sunt grupate
n tabele,
nivelul intern care descrie structura de memorare a datelor din baza de date i strategia de
acces la date.
Orice sistem de gestiune a bazelor de date (SGBD) trebuie s asigure urmtoarele funcii:
definirea structurii bazei de date
ncrcarea datelor n baza de date
accesul la date pentru:
o interogare
o tergere
o modificare
ntreinerea bazei de date:
o refacerea bazei de date prin existena unor copii de siguran
o repararea n caz de incident
o colectarea i refolosirea spaiilor goale
posibilitatea de reorganizare a bazei de date prin:
o restructurarea datelor
o modificarea accesului la date
securitatea datelor.
n orice baz de date principala surs de informaii o reprezint un obiect din lumea real
care se constituie ca o entitate.
Entitatea este o reprezentare unic a unui obiect. Cea mai folosit denumire pentru
entitate este nregistrarea (record) sau rndul dintr-un tabel (row).
Atributul unui obiect este o caracteristic ce permite descrierea entitii. Atributul se
materializeaz sub forma unei celule de date care reprezint valoarea unui cmp (field) dintr-o
nregistrare sau a unei coloane dintr-un tabel (column).
Tipurile de date ale atributelor pot fi: numerice, iruri de caractere alfanumerice, date
calendaristice, iruri de bytes (care pot reprezenta imagini sau sunete), pointeri ctre alte date etc.
Domeniul atributului este un interval de valori permise pentru un atribut. De exemplu el
poate reprezenta un interval de timp sau un interval de preuri (ntre cel minim i maxim admis).
TERMINOLOGIE {I MODELE DE DATE 11
Identificatorii entitilor (nregistrrilor), se mai numesc i cmpurile cheie primar,
folosite pentru crearea indexului principal al tabelului.
Tabelul (table) conine setul tuturor entitilor dintr-un singur tip de obiect. Tabelul mai
este numit i clas de entiti sau tip de entiti. El este constituit din rnduri (nregistrri) i
coloane (cmpuri).
Baza de date (database) reprezint o colecie de tabele n care sunt stocate entiti care
descriu un anumit domeniu de activitate, mpreun cu instrumentele folosite pentru manipularea
datelor.
Orice baz de date de mrime medie sau mare, proiectat pentru a fi exploatat simultan
de ctre mai muli utilizatori, nu poate fi exploatat performant fr un administrator al bazei de
date care are responsabilitatea definirii schemei interne a acesteia i ntreinerii ei.
Administratorul este cel care cunoate n amnunt coninutul informaiilor din baza de date i
monitorizeaz performanele acesteia (dimensiunea, viteza de acces, etc) n vederea maximizrii
acestora. El stabilete legturile cu utilizatorii, definete verificrile de autorizare a accesului,
procedurile de validare a datelor, precum i strategia de refacere a bazei de date n caz de
incident.
Programatorii de aplicaii i utilizatorii finali comunic cu SGBD-ul prin intermediul
limbajelor de manipulare i a limbajelor de interogare. n timpul execuiei toate cererile de acces
sunt transmise SGBD-ului
2.1. MODELE DE DATE
De-a lungul timpului, utilizarea bazelor de date a devenit o necesitate pentru o mare
varietate de domenii de activitate. Specificul diferit al acestor domenii a fcut necesar
dezvoltarea de ctre specialiti a unor modele de organizare a datelor care s rspund cerinelor
acestora. n acest sens, s-au dezvoltat baze de date avnd la baz modele de date de diferite
tipuri, cum sunt: modelul ierarhic, modelul reea, modelul relaional, modelul obiectual, modele
semantice, modele funcionale, modele deductive sau modele distribuite. Primele trei tipuri de
modele (ierarhic, reea i relaional) reprezint modelele cele mai cunoscute i cele mai frecvent
utilizate n reprezentarea datelor.
Alegerea unui anumit SGBD (bazat pe unul din modelele de date anterior prezentate)
pentru informatizarea unei activiti presupune o etap de analiz n cadrul creia se identific
componentele de date, legturile dintre acestea, evenimentele care determin modificri ale
datelor i necesarul de informaii primare i sintetizate care trebuie furnizate.
Voi descrie n continuare modelul relaional de organizare a datelor, cel mai rspndit n
prezent, care rspunde cerinelor unei arii largi de domenii de activitate i pe baza cruia s-au
dezvoltat un numr mare de sisteme de gestiune a bazelor de date (SGBD). Bazele de date de tip
Access, care vor fi tratate n acest curs, sunt de asemenea baze de date relaionale.
2.1.1. Modelul rela]ional
Modelul relaional a fost dezvoltat avndu-se n vedere n primul rnd utilizatorii finali.
Acest model are la baz teoria matematic a relaiilor, ceea ce a fcut posibil tratarea
algoritmic a proiectrii bazelor de date i rezolvnd astfel problema normalizrii datelor.
Algebra relaional se bazeaz pe un set de reguli i simboluri utilizate pentru definirea
bazelor de date relaionale i ofer un set de operaii (intersecie, produs cartezian, diferen,
proiecie) care au ca operanzi i ca rezultat tabele.
12 Lector univ. drd. Mihai Gavot\ - Baze de date
Normalizarea este o procedur standard prin care atributele datelor sunt grupate n tabele
iar tabelele sunt grupate n baze de date. Normalizarea datelor asigur baza de date mpotriva
inconsistenei care ar putea aprea n urma unor actualizri greite. Prin normalizare pot fi create
tabele care s respecte modelul relaional de baz de date. Normalizarea este procesul de
eliminare a dublurilor de informaii din tabele. Prin normalizare se urmrete de fapt eliminarea
sau minimizarea redundanei (dublurilor) din tabelele bazei de date.
Modelul relaional este un model simplu, bazat pe algebra relaional, care a fcut
posibil dezvoltarea limbajelor relaionale sub forma unui software specializat ce asist procesul
de proiectare a bazelor de date. Astfel de limbaje sunt SQL (Structured Query Language) i QBE
(Query By Example). Celelalte modele nu au beneficiat de un astfel de software. Modelul
relaional al bazei de date se fundamenteaz pe dou elemente principale: tabelele bazei de date
i regulile de integritate ale acesteia.
n prezent exist mai multe sisteme performante de gestiune a bazelor de date relaionale
printre care pot fi enumerate: MS-SQL Server, Oracle, Informix, DB2, Access, Visual Fox,
MySQL. Toate aceste SGBD-uri au la baz limbajul SQL. Unele dintre ele beneficiaz de
anumite extensii care ofer faciliti suplimentare: sisteme client-server, sisteme multimedia,
analiza multidimensional i orientarea obiect.
Meninerea integritii bazei de date este unul din obiectivele prioritare ale oricrui
SGBD relaional. Majoritatea bazelor de date client-server au prevzute declanatoare pentru
meninerea integritii bazei de date, astfel nct aceasta s conin numai informaii valide,
confirmate i verificate.
3. BAZE DE DATE RELA}IONALE
3.1. SCURT ISTORIC
Evoluia bazelor de date relaionale a fost surprinztor de rapid. Teoria privind bazele de
date relaionale a fost publicat de dr. Codd n anul 1970 iar n anul 1972, dr.Cobb a prezentat
teoria legat de normalizarea acestora.
n 1984 firma Ashton-Tate cumprat ulterior de Borland a creat limbajul dBASE care a
fcut posibil utilizarea bazelor de date relaionale pe calculatoarele personale. Versiunile dBASE
III, III++, IV s-au bucurat de un mare succes i au determinat multe firme i muli programatori
s opteze pentru bazele de date relaionale. De asemenea, dup 1990 bazele de date relaionale
FoxPro au inut mult vreme capul de afi al bazelor de date utilizate pe calculatoarele personale
(PC).
La sfritul anilor 1980 bazele de date relaionale au devenit suficient de puternice i au
nceput din ce n ce mai mult s nlocuiasc bazele de date ierarhice i pe cele de tip reea care
pn atunci dominaser lumea bazelor de date.
n prezent, primul loc ca rspndire este deinut de bazele de date relaionale. Pe
calculatoarele de tip PC bazele de date dBASE i FoxPro au fost nlocuite ntr-o mare msur de
bazele de date Access ale firmei Microsoft. Acestea au cucerit foarte muli utilizatori finali i
dezvoltatori de aplicaii, n primul rnd prin performan i apoi prin felul n care Microsoft a
reuit integrarea lor n bine-cunoscutul pachet de programe MS-Office.
n lumea bazelor de date relaionale profesionale de dimensiuni mari i foarte mari,
implementate pe calculatoare foarte puternice, s-au impus SGBD-uri cum sunt MS-SQL Server,
Oracle, DB2 i Informix. Acestea funcioneaz pe filosofia client-server. Ele pot fi legate fr
probleme cu alte baze de date i pot utiliza cu uurin obiecte realizate sub Access sau Visual
Fox.
Printre caracteristicile acestor SGBD-uri moderne se numr: puternica conectivitate pe
care o asigur, posibilitatea de a funciona distribuit n reele de tip intranet sau extranet
(neomogene din punctul de vedere al hardware-ului), pe sisteme de tip multiutilizator, faptul c
s-au dezvoltat extensii care le permit modul de lucru cu obiecte printre care i obiectele
multimedia.
3.2. TIPURILE DE RELA}II
Aa cum am artat mai sus, bazele de date relaionale presupun stocarea datelor n tabele
ntre care se stabilesc anumite relaii. Exemple de tabele pot fi: tabela Date personale angajai,
tabela Clieni, tabela Funcii, tabela Produse, etc. Fiecare din acestea poate fi imaginat ca un
tabel desenat pe hrtie care cuprinde un cap de tabel cu caracteristicile (coloanele) pe care dorim
s le memorm i attea rnduri cte entiti distincte scriem n tabel. ntre aceste tabele exist
anumite relaii ca de exemplu: fiecare persoan angajat ocup o funcie, fiecare client poate
cumpra unul sau mai multe produse, o carte dintr-o bibliotec poate fi citit succesiv de mai
muli cititori i un cititor mprumut mai multe cri. Aceast mare varietate de relaii a fost
BAZE DE DATE RELA}IONALE 15
analizat i s-a stabilit c ntre tabelele bazelor de date pot exista patru tipuri de relaii: unu la
unu, unu la muli, muli la unu i muli la muli. Aceste tipuri de relaii acoper ntreaga
gam de situaii care se pot ivi n proiectarea bazelor de date relaionale i exist instrumente
software care s le implementeze.
3.2.1. Rela]iile unu la unu
Reprezint cel mai simplu tip de relaie dintre nregistrrile (rndurile) unor tabele
corespondente. Astfel, unei nregistrri dintr-o tabel i va corespunde doar o singur nregistrare
din tabela corespondent. Pentru exemplificare s presupunem c exist n cadrul unei baze de
date relaionale urmtoarele tabele:
Un coninut fictiv al acestor tabele ar putea fi:
Se observ c pentru materializarea relaiei unu la unu s-a ales cmpul Cod persoan
ca fiind cmp unic de identificare i de legtur ntre informaiile coninute n cele dou tabele.
Aceasta determin ca unei singure nregistrri din tabela Date personale angajai s-i
corespund doar nregistrarea din tabela Salarii curente n care cmpul Cod persoan identific
acelai angajat. Deci, pentru fiecare persoan (angajat) exist doar o singur nregistrare att n
tabela Date personale angajai ct i n tabela Salarii curente. Altfel spus, n acest exemplu
tabelele Date personale angajai i Salarii curente au fiecare attea nregistrri ci angajai
exist.
3.2.2. Rela]iile unu la mul]i
Acest tip de relaii leag o nregistrare dintr-un tabel de baz cu mai multe nregistrri
dintr-un alt tabel corespondent prin intermediul unui cmp cheie. Cmpul cheie din tabelul de
baz se mai numete i cheia primar iar cmpul cheie corespondent din cealalt tabel
reprezint cheia strin (extern). Relaiile unu la muli sunt cel mai ntlnit tip de relaii.
Tabela
Date personale angajai
Cod persoan
Nume persoan
Adresa
Cod funcie ocupat
Data angajrii

Tabela
Salarii curente
Cod persoan
Salariu
Prim
Rate

legtura unu la unu


1 1
Cod
persoan
Salariu Prima
0025 12000000 3000000
0026 10000000 10000000
0027 20000000 5000000
0028 8000000 0
0029 8500000 0

Cod
persoan
Nume
persoan
Adresa
0025 Popescu Ion
0026 Vasile Petre
0027 Ion Emil
0028
0029

16 Lector univ. drd. Mihai Gavot\ - Baze de date


Un alt exemplu din lumea real a bazelor de date va fi elocvent pentru nelegerea acestui
tip de relaii. Pornind de la aceeai tabel de baz numit Date personale angajai i
presupunnd c ne intereseaz o interogare din care s aflm informaii despre deplasrile
acestora, vom avea ca tabel corespondent tabela numit Deplasri angajai. Este evident c
fiecrui angajat unic determinat prin cmpul Cod persoan i pot corespunde una, mai multe sau
nici o deplasare. Pentru a rezolva aceast interogare vom stabili o relaie de tipul unu la muli
ntre cele dou tabele.
Dac n tabela Date personale angajai exist doar o singur nregistrare (rnd) pentru
un angajat, n tabela Deplasri angajai pot exista attea nregistrri (rnduri) pentru fiecare
angajat cte deplasri a fcut.
Un coninut fictiv al acestor tabele precum i legturile dintre ele ar putea fi:
3.2.3. Rela]iile mul]i la unu
Reprezint inversul relaiilor unu la muli. Dac n exemplul anterior considerm tabela
de baz Deplasri angajai avnd ca tabel corespondent Date personale angajai, atunci
avem de-a face cu un tip de relaie muli la unul. Mai multor deplasri executate i nregistrate
n tabela Deplasri angajai le poate corespunde doar un singur angajat (Cod persoan).
Cmpul (cheia) de legtur rmne acelai Cod persoan.
Tabela
Date personale angajai
Cod persoan
Nume persoan
Adresa
Cod funcie ocupat
Data angajrii

Tabela
Deplasri angajai
Cod persoan
Data deplasrii
Locul deplasrii
Costul transportului
Diurna

legtura unu la muli


1
Cod
persoan
Nume
persoan
Adresa
0025 Popescu Ion
0033 Stan Petre
0123 Vasile Emil

Cod
persoan
Data
deplasrii
Locul
deplasrii

0025 10.02.2001 Iai


0025 15.03.2001 Sibiu
0010 20.05.2001 Constana
0033 28.07.2001 Braov
0033 01.09.2001 Constana

Cod
persoan
Data
deplasrii
Locul
deplasrii

0025 10.02.2001 Iai


0025 15.03.2001 Sibiu
0010 20.05.2001 Constana
0033 28.07.2001 Braov
0033 01.09.2001 Constana

Cod
persoan
Nume
persoan
Adresa
0025 Popescu Ion
0033 Stan Petre
0123 Vasile Emil

BAZE DE DATE RELA}IONALE 17


3.2.4. Rela]iile mul]i la mul]i
Acesta este un tip de relaii complexe care nu sunt implementate n mod direct n
sistemele de gestiune a bazelor de date relaionale.
n etapa de analiz a unei activiti putem desprinde i cazuri n care unei nregistrri
(rnd) dintr-o tabel i pot corespunde mai multe nregistrri (rnduri) dintr-o alt tabel, n
acelai timp ns, unei nregistrri (rnd) din cea de-a doua tabel i pot corespunde mai multe
nregistrri (rnduri) din prima tabel. De exemplu, dac identificm dou tabele: Tabela Date
personale angajai i Tabela Documentaie tehnic i analizm relaiile dintre ele vom
observa c un angajat poate deine mai multe documentaii tehnice iar o documentaie tehnic
este posibil s fi fost consultat de mai muli angajai ai firmei. Spunem n acest caz c ntre cele
dou tabele exist o relaie muli la muli.
Un coninut fictiv al acestor tabele precum i legturile dintre ele ar putea fi:
Acest tip de relaie ntre tabele nu este implementat n mod direct ci se rezolv prin
introducerea unei tabele suplimentare. Aceast nou tabel se afl n relaie de muli la unu cu
fiecare din tabelele iniiale.
Pentru exemplul nostru tabela intermediar (de intersecie) poate fi Tabela
Documentaie consultat avnd urmtorul coninut i relaii cu tabelele iniiale:
Cod
persoan
Nume
persoan
Adresa
0025 Popescu Ion
0033 Stan Petre
0123 Vasile Emil

Cod
docum
entaie
Denumire Data
apariiei

782 Documentaie 1 15.01.1997


783 Documentaie 2 01.02.1985
784 Documentaie 3 12.12.2000
785 Documentaie 4 11.11.1992

Tabela
Documentaie
consultat
Cod documentaie
Cod persoan
Data mprumutului
Data napoierii
Tabela
Date personale
angajai
Cod persoan
Nume persoan
Adresa
Cod funcie ocupat
Data angajrii

Tabela
Documentaie
tehnic
Cod documentaie
Denumire
Data apariiei
Autorul
Domeniul de
activitate
1
1
Tabela
Date personale angajai
Cod persoan
Nume persoan
Adresa
Cod funcie ocupat
Data angajrii

legtura muli la muli



Tabela
Documentaie tehnic
Cod documentaie
Denumire
Data apariiei
Autorul
Domeniul de activitate

18 Lector univ. drd. Mihai Gavot\ - Baze de date


Se spune c relaia muli la muli se sparge n dou relaii unu la muli pentru
aceasta folosindu-se o tabel intermediar (de intersecie). Aceast tabel este astfel aleas nct
s conin o cheie primar format din cheile primare ale tabelelor iniiale i alte informaii
specifice interseciei lor.
3.3. REGULI DE NORMALIZARE
La proiectarea structurii unei baze de date relaionale trebuie stabilite n primul rnd
tabelele n care vor fi memorate datele i relaiile dintre tabele. Acesta este un proces iterativ,
tabelele, cheile primare de identificare a nregistrrilor, relaiile dintre tabele sunt stabilite ntr-o
form iniial dup care, prin rafinare succesiv se ajunge la forma definitiv.
Identificarea iniial a tabelelor i a cmpurilor acestora se face prin studierea
documentelor primare i a rapoartelor care sunt vehiculate n cadrul activitii ce se dorete a fi
informatizat. Acestei structuri iniiale i sunt aplicate un set de reguli care reprezint paii de
obinere a unei baze de date normalizate.
Algoritmul de normalizare a bazelor de date relaionale precum i paii acestuia au fost
descrii de ctre Dr.E.F.Cobb n lucrarea Further Normalization of the Data Base Relational
Model aprut n 1972.
Voi prezenta aceste reguli utiliznd un exemplu concret.
Considerm c n urma analizei documentului primar Factur dorim s stabilim o
structur de tabele care s ne permit stocarea informaiilor coninute de document (factur) i
obinerea unor situaii sintetice privind evidena sumelor facturate pe produse, pe clieni, pe
anumite perioade de timp. n acest scop alegem ntr-o prim faz informaiile care ne intereseaz
i considerm c vor fi stocate ntr-o singur tabel numit Facturi.
ntr-o prim form tabela Facturi ar putea arta ca n figura
alturat. Ea are cheia primar format din cmpul Numr factur.
Acest cmp are o valoare unic pentru fiecare factur emis.
Observm c n tabel exist cmpul Adres client care
cuprinde informaii despre ara, localitatea, strada i numrul unde
se afl firma clientului. Dac vom considera c este de interes o
eviden a sumelor facturate pe ri sau chiar localiti, vor pune n
locul cmpului Adres client trei cmpuri distincte : ar client,
Localitate client i Adres client uurnd n acest fel interogrile
referitoare la sumele facturate pe ri i localiti.
Mai observm din aceast tabel c grupul informaiilor care
se refer la un produs se repet cu valori diferite pe o factur de
attea ori cte produse diferite sunt trecute pe factur.
Cmpurile Total valoare factur i Total valoare TVA se
refer la ntreaga factur i reprezint suma valorilor
corespunztoare pentru toate produsele trecute pe factur.
1. Prima regul de normalizare este aceea de a crea tabele plate, tabele ce nu conin
grupuri de cmpuri care s se repete pentru o valoare unic a cheii de identificare a nregistrrii
(cheia primar). n cazul nostru, deoarece pentru o factur putem avea unul sau mai multe
Tabela
Facturi
Numr factur
Data facturrii
Denumire client
Adresa client
Banc client
Numr cont client
Delegat
Cod produs
Denumire produs
Unitatea de msur
Cantitate
Pre unitar
Valoare
Valoare TVA
Total valoare factur
Total valoare TVA
BAZE DE DATE RELA}IONALE 19
produse care sunt nscrise pe aceasta, vom separa ntr-o alt tabel informaiile legate de produse,
fiecare dintre aceste informaii fiind determinat n mod unic de numrul facturii i codul
produsului.
n prima form normal avem tabelele:
ntre tabela Facturi i tabela Linii facturi exist o relaie de unu la muli (1-), adic
unui numr unic de factur i pot corespunde unul sau mai multe produse care sunt memorate ca
nregistrri n tabela Linii facturi. Cheia de identificare (cheia primar) n aceast tabel este o
cheie complex, adic format din dou cmpuri: Numr factur i Cod produs.
2. A doua regul de normalizare cere s analizm tabelele aflate n prima form
normal i s vedem dac fiecare cmp al acestora reflect (caracterizeaz) valoarea cheii
primare n totalitatea ei. Se impune ca atunci cnd avem chei complexe s nu avem cmpuri care
s caracterizeze doar o parte component a cheii primare.
n cazul nostru, observm cmpurile Denumire produs i Unitatea de msur din tabela Linii
facturi, ce caracterizeaz un anumit produs i nu sunt diferite pentru acelai produs de la o
factur la alta. Spre deosebire de ele, celelalte cmpuri ale tabelei se refer la cantitatea, preul i
valoarea produsului numai pentru factura respectiv. Pe o alt factur este posibil s se vnd o
alt cantitate din acelai produs la un alt pre.
Tabelele n cea de a doua form normal devin:
Tabela
Facturi
Numr factur
Data facturrii
Denumire client
Adresa client
Banc client
Numr cont client
Delegat
Total valoare factur
Total valoare TVA
Tabela
Linii facturi
Numr factur
Cod produs
Denumire produs
Unitatea de msur
Cantitate
Pre unitar
Valoare
Valoare TVA
Tabela
Facturi
Numr factur
Data facturrii
Denumire client
Adresa client
Banc client
Numr cont client
Delegat
Total valoare factur
Total valoare TVA
Tabela
Linii facturi
Numr factur
Cod produs
Cantitate
Pre unitar
Valoare
Valoare TVA
Tabela
Produse
Cod produs
Denumire produs
Unitatea de msur
20 Lector univ. drd. Mihai Gavot\ - Baze de date
Legtura dintre tabela Linii facturi i tabela Produse se face prin intermediul cmpului
Cod produs prezent n ambele. n tabela Produse acesta este cheia primar deoarece valoarea
codului identific n mod unic fiecare produs, iar n tabela Linii facturi acesta este cmp
component al cheii primare i totodat cheie extern de legtur cu tabela Produse. ntre tabela
Linii facturi i tabela Produse exist o relaie muli la unu (-1), adic fiecare produs nscris
pe o factur trebuie s existe n nomenclatorul de produse al firmei.
3. A treia regul de normalizare cere ca toate cmpurile din tabele s fie independente
ntre ele. Analiznd cmpurile din tabelele aflate n ce-a de-a doua form normal, trebuie s nu
existe cmpuri care s fie dependente de alte cmpuri care nu fac parte din cheia primar.
n cazul nostru, analiznd tabela Facturi, observm c multe din cmpuri, i anume: Adresa
client, Banc client i Numr cont client depind de cmpul Denumire client. Deci, fiecrui
client i corespund o adres, o banc i numr de cont unice. n schimb, delegatul din partea
clientului poate fi diferit pentru fiecare factur.
Cmpurile Valoare i Valoare TVA depind de cmpurile cantitate, pre i de un procent
fix de TVA. Fiind cmpuri care se pot calcula n orice moment ele vor fi eliminate din tabel
deoarece constituie informaie memorat redundant.
Aplicm ce-a de-a doua regul de normalizare prin extragerea acestor informaii, care depind de
un cmp aflat n afara cheii primare, ntr-o alt tabel.
Structura de tabele devine:
Legtura dintre tabela Facturi i tabela Clieni se face prin intermediul cmpului
Denumire client existent n ambele. Acesta este cheie unic de identificare a nregistrrilor din
tabela Clieni i cheie extern de legtur n tabela Facturi. ntre aceste dou tabele exist o
relaie de muli la unu (-1), adic toi clienii nscrii pe facturi sunt nregistrai n mod unic
n tabela Clieni ce conine clienii firmei.
Aceast a treia form normal mai poate suferi o serie de rafinri pentru a obine o
structur performant de tabele a bazei de date.
Observm c Denumire client este un cmp n care este nscris un text destul de lung
format dintr-o succesiune de litere, semne speciale (punct, virgul), spaii i numere. Ordonarea
i regsirea informaiilor dup astfel de cmpuri este mai lent i mai greoaie dect dup cmpuri
numerice. Vom introduce din acest motiv un cmp de identificare a clienilor numit Cod client
care s fie numeric i care s fie cheia primar de identificare pentru fiecare client. Legtura ntre
tabelele Clieni i Facturi se va face ntr-un mod mai performant prin acest cmp pstrndu-se
acelai tip de relaie ntre cele dou tabele.
Tabela
Facturi
Numr factur
Data facturrii
Denumire client
Delegat
Total valoare
factur
Total valoare
TVA
Tabela
Linii facturi
Numr factur
Cod produs
Cantitate
Pre unitar
Tabela
Produse
Cod produs
Denumire produs
Unitatea de msur
Tabela
Clieni
Denumire client
Adresa client
Banc client
Numr cont client
BAZE DE DATE RELA}IONALE 21
O alt observaie care poate fi fcut n legtur cu tabelele aflate n cea de-a treia form
normal este aceea c Total valoare factur i Total valoare TVA sunt cmpuri care ar trebui
s conin informaii sintetice obinute prin nsumarea valorii tuturor produselor aflate pe o
factur. Este de preferat ca astfel de cmpuri s fie calculate n rapoarte sau interogri i nu s fie
memorate n tabelele bazei de date.
n urma aplicrii acestor rafinri obinem o structur performant a bazei de date,
prezentat n continuare:
Odat ce am stabilit structura de tabele putem alege sistemul de gestiune a bazelor de
date relaionale (SGBD-ul) pe care s-l folosim ca suport de stocare i manipulare a datelor. n
cazul nostru alegem MS-Access deoarece acesta pune la ndemna utilizatorilor finali cele mai
prietenoase instrumente software cu care pot gestiona informaiile din baza de date.
Tabela
Facturi
Numr factur
Data facturrii
Cod client
Delegat
Tabela
Linii facturi
Numr factur
Cod produs
Cantitate
Pre unitar
Tabela
Produse
Cod produs
Denumire produs
Unitatea de msur
Tabela
Clieni
Cod client
Denumire client
Adresa client
Banc client
Numr cont client
4. ACCESS 2000
4.1. DE CE ACCESS?
Aa cum artat ntr-un capitol anterior instrumentul de dezvoltare Access este una dintre
componentele principale ale pachetului (suitei) de programe pentru birou MS-Office. Pe lng
bazele de date relaionale Access, acesta integreaz i alte componente cum sunt: procesorul de
texte Word, programul de calcule tabelare Excel, agenda de birou Outlook, programul pentru
prezentri Power Point.
Felul n care firma Microsoft a reuit s realizeze sistemul de operare Windows sub care
funcioneaz toate aceste programe precum i felul n care Microsoft a reuit s integreze
Microsoft Office Professional 2000 sub Windows 2000, a atras un mare numr de utilizatori i
dezvoltatori de aplicaii Windows. Aceasta a determinat ca n prezent pe mai mult de 80 % din
calculatoarele PC din lume s ruleze sistemul de operare Windows mpreun cu pachetul de
programe MS-Office.
n lucrarea sa fundamental Totul despre Access 2000 Roger Jennings face cunoscut
faptul c Access 2000, a asea versiune a platformei desktop pentru bazele de date Microsoft,
prin motorul su Jet dezvoltat special, domin n prezent piaa produselor desktop pentru baze de
date.
nc din 1998 editorialistul Jesse Berst de la ZDNet scria: Paradox-ul (un alt SGBD
pentru baze de date relaionale n.a.) a murit. Nimeni nu mai scrie in dBASE. Programul Access de
la Microsoft a acaparat deja aceast pia.. Chiar i FoxPro achiziionat de Microsoft i
dezvoltat ulterior ca Visual Fox, a devenit un produs marginal. n prezent exist n lume, vndute
cu licen, zeci de milioane de copii ale produsului Access.
Uurina proiectrii n Access, facilitile de programare vizual, performanele oferite ca
baz de date relaional i distribuit, cele de integrare puternic sub Windows (datorate faptului
c este o component MS-Office) i nu n ultimul rnd posibilitile de utilizare n intranet i n
internet, au fcut ca n ultimii ani acest produs s fie tot mai utilizat ca un instrument de
dezvoltare rapid a aplicaiilor ce presupun lucrul cu baze de date, inclusiv n cadrul firmelor
romneti. n acest sens, este foarte posibil ca viitorii absolveni cu studii superioare, indiferent
de specialitate, s lucreze ca utilizatori finali cu baze de date de tip Access sau s fac parte din
echipe mixte de proiectare, configurare i modificare a aplicaiilor care vor compune software-ul
sistemului informatic al firmei. Unii dintre ei, n calitate de manageri, trebuie s fie n msur s
defineasc cerinele unor aplicaii informatice de tipul bazelor de date pe care le vor solicita unor
firme specializate i tot ei vor fi aceia care vor evalua aplicaiile realizate.
Avnd n vedere specificul facultii, cele mai potrivite aplicaii practice care vor face
obiectul acestui curs, vor fi cele din domeniul managementului resurselor umane.
ACCESS 2000 23
4.2. CE VOR CON}INE CAPITOLELE URM|TOARE?
Aceasta este o ntrebare fireasc ce i va gsi rspunsul n continuare, prin prezentarea
succint a temelor care vor face obiectul cursului.
Prezentare general a instrumentului software de dezvoltare Access 2000:
o dialogurile principale
o modurile de lucru
o barele de instrumente
o barele de meniu
o lucrul cu vrjitori (wizards).
Prezentare general a principalelor obiecte Access 2000:
o tabelele
o interogrile
o formularele
o rapoartele
o macrocomenzile
o modulele
o paginile internet.
Proiectarea structurii tabelelor i a sistemului de relaii dintre acestea:
o cmpurile de date i proprietile acestora
o tipurile de date
o cheile Access i cheile de indexare
o relaiile dintre tabele
o introducerea datelor direct n tabele
o consultarea, editarea, sortarea i filtrarea datelor
o legarea tabelelor, importul i exportul acestora.
Crearea i utilizarea interogrilor:
o crearea interogrilor (queries) simple utiliznd vrjitorii Access
o proiectarea interogrilor prin Query Design
o utilizarea expresiilor i operatorilor n interogri
o interogrile cu parametrii
o crearea interogrilor de tip Crosstab cu un wizard special Access
o interogrile speciale utilizate pentru tergerea (delete), adugarea (append) i
actualizarea (update) datelor.
Lucrul cu formulare (forms) i rapoarte (reports):
o crearea formularelor cu Form Wizard
o proiectarea formularelor n modul de lucru Form Design
o lucrul cu subformulare (subforms)
o crearea rapoartelor cu Report Wizard
o proiectarea rapoartelor n modul de lucru Report Design.
Lucrul cu hiperlegturi i generarea paginilor Web din tabele i interogri:
o tipul de date Hyperlink Access
o generarea paginilor Web statice i dinamice.
24 Lector univ. drd. Mihai Gavot\ - Baze de date
Administrarea i asigurarea securitii bazelor de date Access:
o partajarea bazelor de date i a obiectelor acestora ntre utilizatori
o grupuri de lucru i tipuri de utilizatori
o securitatea bazelor de date Access, autentificarea utilizatorilor i acordarea
permisiunilor
o compactarea, repararea i crearea copiilor de siguran pentru bazele de date
Access 2000.
Access 2000 este n primul rnd un instrument software de dezvoltare vizual a
aplicaiilor ce presupun lucrul cu bazele de date. El pune la dispoziia dezvoltatorilor vrjitori
puternici care, n mare parte, reuesc s genereze codurile VBA (Visual Basic for Applications)
i SQL (Structured Query Language) necesare acestor aplicaii.
Sub Access 2000, Microsoft nu mai recomand utilizarea macrocomenzilor, acestea au
fost meninute doar pentru compatibilitate cu versiunile mai vechi de Access. Microsoft propune
nlocuirea acestora cu coduri generate de vrjitori n VBA i previne dezvoltatorii c n
versiunile viitoare este posibil ca Access-ul s nu mai conin macrocomenzi.
Modulele se bazeaz pe scrierea de cod VBA i presupun cunoaterea acestui limbaj. De
regul, generarea macrocomenzilor i scrierea codurilor VBA i SQL sunt specifice
programatorilor cu experien care cunosc aceste limbaje.
Din aceste considerente i avnd n vedere c Access-ul este un instrument de dezvoltare
rapid a aplicaiilor bazat pe programarea vizual i pe lucrul cu vrjitori specializai pentru
generarea interactiv a codurilor, acest curs nu i-a propus studiul limbajelor VBA i SQL. Prin
urmare macrocomenzile i modulele nu vor fi tratate.
4.3. INSTRUMENTUL SOFTWARE ACCESS 2000
Dup lansarea n execuie din meniul Start al sistemului Windows sau dintr-un shortcut
special, programul Access 2000 prezint urmtorul dialog:
ACCESS 2000 25
Se observ ca element central o caset de dialog prin intermediul creia utilizatorul poate
opta pentru:
1. deschiderea unei baze de date deja existente (exemplu Northwind o baz de date model
care se poate instala odat cu programul Access)
2. deschiderea unei baze de date noi (Blank Access database)
3. crearea imediat a unei baze de date sau a unor obiecte ale acesteia, utiliznd vrjitorii
(Access database wizards, pages, and projects).
1. Dac se opteaz pentru Open an existing file (opiunea bifat implicit), se poate selecta
baza de date (aplicaia) dorit. Aceasta se va ncrca n memorie i eventual se va
lansa n execuie (dac este setat n acest sens). De exemplu, dac se alege Northwind
i se confirm prin <OK> va fi afiat urmtorul ecran de start al aplicaiei:
Confirmnd n continuare prin <OK> va aprea ecranul principal de prezentare a bazei de
date prin intermediul cruia putem avea acces la obiectele acesteia (Tables, Queries, Forms,
Reports, Pages, Macros, Modules). Se observ c n mod implicit sunt selectate tabelele bazei de
date (Tables).
26 Lector univ. drd. Mihai Gavot\ - Baze de date
2. Dac se opteaz pentru deschiderea unei baze de date noi (Blank Access database) se
va lansa un dialog prin intermediul cruia suntem invitai s alegem un nume i un folder unde se
va crea baza de date:
n mod implicit ni se propune numele db1.mdb pentru baza de date i folder-ul My
Documents ca loc n care s se salveze. Acesta este de fapt un dialog standard Windows 2000 de
tipul File Open / Save care apare utilizatorilor de cte ori o aplicaie Windows solicit alegerea
acestor doi parametrii (nume fiier i folder). Presupunnd c acceptm parametrii implicii i
confirmm prin apsarea butonului <Create> vom obine ecranul de proiectare (prezentare) a
unei baze de date noi (fr tabele i fr nici un alt obiect prefabricat). n continuare vom putea
crea obiectele dorite selectnd tipul de obiect i apsnd butoanele <Open> sau <Design>.
Ecranul care va aprea este:
ACCESS 2000 27
3. Dac optm pentru Access database wizards, pages, and projects se va lansa un dialog
prin intermediul cruia putem selecta wizard-ul specializat pentru tipul de aplicaie ales (ne sunt
prezentate un numr de aplicaii tipice):
Permanent, n funcie de modul de lucru i contextul n care ne aflm, programul Access
ne pune la dispoziie anumite meniuri contextuale (accesibile prin apsarea butonului din dreapta
al mouse-ului) sau bare de meniuri i de instrumente speciale posibil de utilizat n orice moment.
O tratare exhaustiv a acestora nu este necesar i nici chiar posibil deoarece Microsoft a lsat
liber utilizatorilor posibilitatea de a particulariza aceste bare i deci configuraiile meniurilor i
butoanelor pot diferi de la un calculator la altul. Sub Access, la fel ca sub oricare alt program
Office (Word, Excel, Power Point), este important s nvm s navigm utiliznd la maximum
interactivitatea sistemului oferit prin intermediul asistenilor, a help-urilor senzitive i a
mesajelor tooltip ce apar pe un fond galben deschis, atunci cnd ntrziem cu prompter-ul mouse
asupra unui buton.
28 Lector univ. drd. Mihai Gavot\ - Baze de date
Iat un exemplu de bare de meniuri i de unelte care apar atunci cnd ne aflm n modul
de lucru proiectare (Design) al unei tabele sub Access:
Oricare dintre obiectele Access se pot afla n dou moduri de lucru:
modul de lucru proiectare - Design View
i
modul de lucru lansare care n funcie de obiectul activ ar putea fi:
o Datasheet View (pentru tabele i interogri)
o Form view (pentru formulare)
o Print Preview (pentru rapoarte)
o Page View (pentru pagini internet)
o Run (pentru interogri i macrocomenzi).
4.4. O PREZENTARE GENERAL| A PRINCIPALELOR OBIECTE ACCESS
2000
n capitolul anterior am vzut c bazele de date Access apar sub forma unor fiiere avnd
extensia .mdb. Specific acestora este faptul c toate obiectele (tabele, interogri, formulare,
rapoarte, macrocomenzi, module i pagini internet) sunt memorate mpreun n cadrul aceluiai
fiier .mdb. Astfel, spre deosebire de alte baze de date n care obiectele apar ca fiiere separate,
programul Access obine un plus de performan prin posibilitatea pe care o are de a gestiona
intern obiectele bazei de date. Efectul final se materializeaz prin: creterea vitezei de acces la
date i de rulare a obiectelor, mrirea securitii bazei de date i printr-o mai simpl administrare,
compactare, reparare i criptare a datelor.
Cu excepia datelor putem numi obiecte toate elementele din Access. Astfel, sunt obiecte:
tabelele, formularele, interogrile, rapoartele, macrocomenzile, paginile internet, modulele, dar i
controalele din componena formularelor i rapoartelor. Aplicaia ca atare constituie obiectul
Application care face parte din structura Access Object Model. Obiectele de acces la date poar
numele de Data Access Objects (DAO).
ACCESS 2000 29
Tabelele (tables)
Conin datele (materia prim) fr de care nu poate fi de imaginat o baz de date.
Tabelele reprezint n acest sens poate cel mai important obiect al oricrei baze de date. Datele
sunt memorate n tabele sub forma rndurilor (numite i nregistrri sau records) i a coloanelor
(numite cmpuri sau fields).
Un element important al bazei de date l reprezint modul n care sunt legate tabelele
ntre ele, adic sistemul de relaii (relatioships).
Interogrile (queries)
Constituie ntrebri stocate adresate bazei de date. Ele sunt utile pentru a selecta anumite
nregistrri conform unor criterii, pentru a le grupa, sorta, terge sau actualiza. Sub Access
interogrile pot prelucra i afia datele selectate din maxim 16 tabele. Rezultatele unei interogri
(query) se pot afia pe cel mult 255 de coloane. Interogrile au la baz un cod generat n limbajul
de interogare SQL.
Formularele (forms)
Sunt obiectele folosite pentru interaciunea cu utilizatorii, cu datele din tabele, din
interogri sau rezultate n urma lansrii unor proceduri SQL sau VBA (Visual Basic for
Applications). Formularele pot fi utilizate pentru vizualizarea, adugarea sau modificarea datelor
sau pentru lansarea anumitor dialoguri de interaciune cu utilizatorul. Tot ca formulare sunt
proiectate i panourilor de comand (switchboards) prin intermediul crora utilizatorii pot naviga
n interiorul unei aplicaii pentru a vizualiza alte formulare, rapoarte sau interogri.
Formularele pot conine subformulare dar i alte obiecte i controale Access sau
Windows care personalizeaz aplicaia. De exemplu ele pot conine: butoane, etichete, cmpuri
de editare, elemente grafice, sunete sau clipuri video, etc.
Rapoartele (reports)
Reprezint situaiile de ieire disponibile utilizatorilor finali. Ele afieaz ntr-un anumit
format standard sau particular rezultatele anumitor interogri sau chiar datele din tabele. De cele
mai multe ori rapoartele sunt proiectate pentru a afia datele conform unor situaii finale standard
(de exemplu: balana ah contabil, jurnalul de vnzri sau cel de cumprri, jurnalul de cas,
situaiile conturilor bancare, centralizatorul stocurilor, etc).
La fel ca i formularele, rapoartele pot conine funcii VBA i anumite obiecte care s
fac posibil afiarea cmpurilor din tabele sau interogri n formatele dorite. Obiectele cel mai
frecvent utilizate sunt etichetele, cmpurile de afiare, elementele grafice. Rapoartele pot conine
i subrapoarte.
Informaia afiat prin rapoarte sau prin formulare poate fi structurat i grupat pe mai
multe seciuni: title, header, detail, footer. n capitolele urmtoare vor fi detaliate aceste noiuni.
Macrocomenzile (macros)
Sunt proceduri care automatizeaz de regul anumite operaii sau evenimente cum ar fi:
lansarea automat a unei comenzi din bara de meniuri, clic-ul pe un anumit buton, lansarea n
execuie a unor forme, interogri sau rapoarte, etc. Macrocomenzile au fost meninute n Access
2000 doar pentru compatibilitate cu versiunile anterioare. Microsoft recomand nlocuirea
30 Lector univ. drd. Mihai Gavot\ - Baze de date
acestora cu cod scris n VBA deoarece este posibil ca versiunile viitoare de Access s nu mai
conin macrocomenzi.
Modulele (modules)
Conin proceduri (secvene de cod) scrise n VBA (Visual Basic for Applications).
Modulele pot fi module de clas i module standard. Modulele de clas pot aprea n cadrul
formelor sau rapoartelor atunci cnd se trateaz prin intermediul unor instruciuni (cod VBA)
anumite evenimente (de exemplu evenimentul clic cu mouse-ul pe un buton). Modulele standard
conin acele proceduri sau funcii personalizate disponibile ntregii aplicaii. Ele sunt scrise de
programatorii de aplicaie i se afl grupate n modules.
Paginile internet (pages)
Sunt pagini Web care mijlocesc prin intermediul unui server, afiarea n internet a datelor
unei aplicaii Access 2000. Ele mai sunt numite i pagini DAP (Data Access Pages). Paginile
internet pot fi statice sau dinamice i pot fi consultate prin intermediul browser-ului Internet
Explorer 5.x. Cei care le consult trebuie s aib instalat MS-Office 2000.
5. TABELELE {I SISTEMUL DE RELA}II
Aa cum am artat n capitolul anterior tabelele reprezint materia prim a oricrei
baze de date. Tabelele bazelor de date, la fel ca oricare alte tabele, au o structur dat de tipurile
i dimensiunile coloanelor care le compun. ntr-o alt exprimare, n limbajul uzual se spune c
oricrui tabel i este specific un cap de tabel.
Deci, orice tabel are linii i coloane i conine datele organizate conform unei anumite
structuri. n limbajul bazelor de date coloanele se numesc cmpuri (fields). Fiecare coloan
reprezint un cmp (field) cu o denumire unic, de un anumit tip (ir de caractere, numeric, dat
calendaristic, etc), avnd o dimensiune prestabilit, care l determin s ocupe n memorie un
anumit numr de octei n funcie de tipul cmpului. Rndurile (liniile) tabelelor se numesc
nregistrri (records). Evident spaiul de memorie ocupat de o tabel este funcie de numrul de
nregistrri i de cmpuri ale acesteia. Pot exista i tabele vide, adic fr nici o nregistrare.
Aceste tabele au doar structur, configurat n funcie de numrul, tipul i dimensiunea
cmpurilor. Iniial, dup crearea structurii, toate tabele sunt vide. Ele mai pot deveni vide i n
urma unei operaiuni de tergere a tuturor nregistrrilor coninute.
Tabelele pot prezenta datele (nregistrrile) ordonate sau filtrate conform unor criterii
(ex.: sortate alfabetic dup numele persoanelor, n ordinea cresctoare (ascending) a codurilor
sau n ordinea descresctoare (descending) a mediilor, filtrate numai pentru persoanele nscute
dup o anumit dat i/sau numai pentru persoanele al cror nume ncepe cu litera M, etc).
Deci, tabelele pot conine datele ordonate, indexate dup anumite cmpuri numite chei de acces
sau chei de index. Orice tabel poate avea cmpuri tip cheie primar de acces (evideniate ntr-
un mod special sub Access prin plasarea unei pictograme cu o imagine de cheie n dreptul
acestora) i opional cmpuri desemnate pentru cheile de index. Chiar dac pot exista i tabele
fr cheie primar de acces i fr chei de index, se recomand ca fiecare tabel s conin mcar
un cmp cheie primar. Avnd aceast organizare viteza de acces la date este mai mare i deci
crete performana de procesare a bazei de date.
Proiectarea structurii tabelelor i a sistemului de relaii dintre cmpurile acestora este o
operaiune foarte important, de ea depinznd n final performana global a bazei de date. n
aceast etap de analiz trebuie avute n vedere regulile de normalizare a bazei de date. Dintre
cerinele procesului de normalizare amintim:
cmpurile tabelelor s fie atomice, adic datele coninute de ctre acestea s fie
difereniate n cmpuri distincte astfel nct s rspund necesitilor de interogare;
dac exist grupuri de cmpuri care se repet pentru aceeai valoare a cheii primare
acestea vor alctui o tabel separat;
toate cmpurile dintr-o tabel trebuie s se refere la cheia primar n totalitatea ei;
toate cmpurile tabelelor s fie independente unele fa de altele, deci ntre cmpurile
aceleiai tabele nu trebuie s existe relaii ascunse.
Prin puterea sa ca instrument software, Access-ul 2000 ofer oricrui utilizator (chiar fr
cunotine avansate de programare) posibilitatea de a crea i utiliza cu uurin tabele i
interogri dar nu poate substitui lipsa de experien i de profunzime a analizelor acestora, nu
poate lega singur tabelele, nu poate normaliza automat baza de date i nu poate corecta greelile
din etapa de analiz. Iat cteva argumente care pledeaz pentru faptul c cel mai indicat este ca
TABELELE {I SISTEMUL DE RELA}II 33
etapa de analiz s fie lsat n seama specialitilor mai ales atunci cnd este vorba de probleme
complexe.
5.1. TIPURILE DE DATE ACCESS 2000
Crearea unei tabele presupune n general dou etape distincte: definirea structurii tabelei
i ncrcarea acesteia cu date. Definirea structurii tabelei const n stabilirea cmpurilor
(coloanelor) ca denumire, tip de date i dimensiune (n funcie de valorile pe care le vor conine).
Access 2000 permite utilizarea urmtoarelor tipuri de date pentru cmpurile tabelelor:
Tip de date Caracteristici
Text Este alfanumeric, poate conine maxim 255 de caractere
Memo Este analog tipului de date text cu deosebirea c poate conine
maxim 65.535 caractere. Cmpurile de tip memo nu pot fi
cmpuri cheie.
Number Reprezint tipul de date numeric. n funcie de tipurile de date
numerice (mrimea maxim a numerelor) memorate n aceste
cmpuri dimensiunea lor (field size) poate fi:
Tip
Domeniu de valori numerice ce pot fi memorate
Octei ocupai
Byte
0-255 (nu permite zecimale)
1
Integer
-32.768 32.767 (nu permite zecimale)
2
Long Integer
-2.147.483.648 - 2.147.483.647
(nu permite zecimale)
4
Single
-3,4 * 10
38
- 3,4 * 10
38
(permite maxim 15 zecimale)
4
Double
-1,797 * 10
308
- 1,797 * 10
308
(permite maxim 15 zecimale)
8
Currency
-922.337.203.685.477,5808 -
922.337.203.685.477,5808
34 Lector univ. drd. Mihai Gavot\ - Baze de date
Tip de date Caracteristici
8
Decimal
-10
28
10
28
(permite maxim 28 zecimale)
12
Formatul pentru acest tip de date poate fi:
Denumire format
Exemplificarea afirii
General Number
1215,9
Currency
$9876,2515
Fixed
876,25
Standard
1.2345.345,95
Percent
99.15 %
Scientific
1,123E+05
AutoNumber Este un cmp numeric de tipul Long Integer, util pentru
incrementarea automat cu +1 pentru fiecare nregistrare nou a
valorii codurilor numerice unice alocate cmpurilor de tip cheie
de acces care se recomand s nsoeasc orice tabel.
Yes / No Este un cmp de tip logic (da / nu sau adevrat / fals). Nu poate fi
un cmp cheie de acces.
Formatul pentru acest tip de date poate fi:
Denumire format
Exemplificarea afirii
Yes / No
Yes sau No
True / False
True sau False
On / Off
TABELELE {I SISTEMUL DE RELA}II 35
Tip de date Caracteristici
On sau Off
None
-1 sau 0
Currency Reprezint un cmp special recomandat pentru a fi utilizat n
operaiunile financiare care presupun lucrul cu anumite monede
i pentru care se cere un format special cu 4 zecimale util n
eliminarea erorilor de rotunjire.
Data / Time Este tipul de cmp utilizat pentru memorarea datelor de tip dat
sau timp. Afiarea acestuia este diferit n funcie de ara / limba
utilizate de sistemul Windows. Exemplificrile curente sunt
pentru limba englez USA.
Formatul acestui tip de date poate fi:
Denumire format
Exemplificarea afirii
General Date
12/28/2001 5:15:20 PM
Long Date
Saturday, August 18, 2001
Medium Date
18-Aug.2001
Short Date
8/18/2001
Long Time
9:15:00 AM
Medium Time
1,123E+05
Short Time
15:00
OLE Object Object Linked Embedded poate fi un document Word, o foaie de
calcul Excel, un obiect grafic, un sunet sau un videoclip. Acest
obiect poate avea orice mrime i nu este limitat dect de
mrimea spaiului liber disponibil pe hard-disc.
Hyperlink Este un cmp special care poate conine adrese ale unor
documente din cadrul paginilor Web sau adrese de e-mail.
Adresele memorate n aceste cmpuri sunt afiate ntr-un mod
similar cu cel n care apar n browser-ul internet. Un clic cu
36 Lector univ. drd. Mihai Gavot\ - Baze de date
Tip de date Caracteristici
mouse-ul pe coninutul unui astfel de cmp determin lansarea
browser-ului i deplasarea automat la acea adres Web sau
lansarea clientului e-mail implicit presetat automat pentru a
trimite un mesaj la adresa de e-mail din cmp.
Lookup Wizard Permite alegerea unei valori dintr-o alt tabel prin intermediul
unor obiecte de tip list derulant (list box i combo box).
5.2. CREAREA TABELELOR
Access 2000 pune la dispoziia proiectanilor de aplicaii trei metode utile pentru crearea
tabelelor. Acestea sunt:
1. Create table in Design view (crearea tabelei n modul de proiectare Design view )
2. Create table by using wizard (crearea tabelei utiliznd vrjitorul)
3. Create table by entering data (crearea tabelei chiar n momentul introducerii datelor).
Cele trei metode sunt evideniate n urmtorul ecran care apare dup selectarea obiectelor
Tables prin apsarea butonului de comand specific.
Cea mai des utilizat metod este prima - Create table in Design view, care odat
selectat i punctat prin <Enter> sau dublu clic ne deplaseaz n aceeai machet de proiectare
ce apare i la apsarea butonului .
n urmtoarea figur se poate vedea macheta de proiectare disponibil n momentul
crerii tabelei Date personale angajai (tabel care a mai fost prezentat ntr-un capitol anterior,
atunci cnd s-a discutat relaia unu la muli).
TABELELE {I SISTEMUL DE RELA}II 37
Numele cmpurilor se nscriu prin tastarea acestora n coloana Field Name iar tipul de
dat se selecteaz prin intermediul unei liste (control combo box) care apare atunci cnd se
execut un clic n linia cu cmpul dorit, n dreptul coloanei Data Type.
Iat controlul combo box disponibil cnd se
alege tipul de dat pentru cmpul data angajarii.
Evident s-a ales tipul de dat Date / Time.
n machet se mai observ cmpul cod
persoana care este un cmp tip cheie de acces
Primary Key. Acest cmp are n dreptul lui o
pictogram cheie care a fost selectat anterior printr-un
clic dat n bara de instrumente pe butonul coninnd
acelai simbol. Cmpul cod persoana se mai numete i
cheie intern.
Structura tabelei mai conine i cmpurile nume
persoana i adresa n care se vor memora date de tipul
Text. Cmpul cod functie se mai numete i cheie
extern i este un cmp de legtur ctre o alt tabel numit Nomenclator functii avnd o
structur foarte simpl ce va fi prezentat n continuare.
Se observ c aceast tabel conine doar trei cmpuri:
cod functie care aici este cheie de acces primar,
denumire functie un cmp de tip Text ce va conine
denumirea n clar a funciilor ocupate de angajai i cod
categorie functie o cheie extern care va fi util
pentru crearea unei legturi ctre o alt tabel:
Nomenclatorul categoriilor de functii. Dimensiunea
aleas (Field Size) pentru cmpul cod categorie functie
este de tipul byte. S-a ales tipul numeric byte deoarece
s-a considerat c nu este posibil s existe mai mult de
38 Lector univ. drd. Mihai Gavot\ - Baze de date
255 de categorii de funcii. n acest fel s-a obinut o economie de memorie datorat faptului c
tipul de dat byte ocup doar un octet (byte) de memorie.
Structura tabelei Nomenclatorul categoriilor de functii se poate vedea n urmtoarea
figur:
Nomenclatorul categoriilor de functii este o tabel
secundar din care vom extrage la nevoie doar denumirea
categoriei funciei ocupate de un angajat (ex.: director, ef
de departament, ef de birou, analist, operator contabil,
operator financiar, secretar etc). La capitolul referitor la
interogri (queries) se va exemplifica lucrul cu aceast
tabel.
TABELELE {I SISTEMUL DE RELA}II 39
Aa cum am artat la nceputul subcapitolului, pe lng metoda Design View, Access
2000 mai pune la dispoziia utilizatorilor nc dou metode utile pentru crearea tabelelor: Create
table by using wizard (crearea tabelei utiliznd vrjitorul) i Create table by entering data
(crearea tabelei chiar n momentul introducerii datelor). n continuare vor fi prezentate pe scurt i
aceste dou metode.
Crearea unei tabele utiliznd vrjitorul se face dnd dublu-clic pe opiunea Create table
by using wizard. n urma acestei aciuni vom obine o succesiune de dialoguri specializate pentru
crearea unor tabele din domeniile Business sau Personal. Dialogurile se bazeaz pe anumite
cmpuri predefinite de ctre Access pentru aceste domenii. Iat succesiunea de dialoguri care vor
aprea dac se selecteaz domeniul Business:

Microsoft, atunci cnd a creat Access 2000, a considerat c este bine s ofere utilizatorilor
i posibilitatea de a crea o tabel chiar n momentul introducerii datelor. Aceasta este de fapt a
treia metod de creare a tabelelor, care devine disponibil dup selectarea opiunii Create table
by entering data.
Dup solicitarea Create table by entering data va aprea o macheta de ncrcare
exhaustiv a datelor. Este o machet preformatat pentru 10 coloane (cmpuri) numite Field1,
Field2,,Field10 i 21 de rnduri (nregistrri) vide. Aceast modalitate de lucru presupune c
ulterior, dup introducerea datelor n celule, se va solicita metoda de lucru Design View pentru
definirea structurii tabelei (numele cmpurilor, tipurile de date i proprietile acestora). Intrarea
n Design View se poate obine prin apsarea primului buton din bara de instrumente (toolbar)
care conine pictograma unui echer.
40 Lector univ. drd. Mihai Gavot\ - Baze de date
Aa cum se vede n Status bar scrie Datasheet View care este de fapt macheta standard
pus la dispoziie de Access pentru ncrcarea datelor direct n tabele. Iat de exemplu cum apare
Datasheet View atunci cnd se ncarc date n tabela Nomenclatorul categoriilor de functii:
TABELELE {I SISTEMUL DE RELA}II 41
Atunci cnd lucreaz n modul de lucru Datasheet View Access pune la dispoziia
utilizatorilor mai multe faciliti:
O bar de instrumente:
prin intermediul crora:
o se poate comuta n modul da lucru dorit: Design View (echerul) sau Datasheet
View (tabelul)
o se pot salva datele (discheta)
o se pot lista datele la imprimant sau previzualiza n vederea listrii
o se pot consulta datele sortate dup valorile anumitor cmpuri (coloane)
o coninutul tabelei poate fi vizualizat filtrat dup anumite criterii
o se pot lansa cutri.
O bar standard de butoane de navigaie printre nregistrri:
prin intermediul crora (n ordine de la stnga la dreapta) se poate obine:
o deplasarea pe prima nregistrare (nregistrarea numrul 1)
o deplasarea pe o nregistrare anterioar
o se poate vedea numrul nregistrrii curente (5 n cazul de fa) sau se poate
comanda deplasarea pe un alt numr de nregistrare, dac n locul numrului
curent (ce apare n cmpul de editare) se va nscrie numrul dorit pentru noua
nregistrare (n final, se apas tasta <Enter>)
o deplasarea pe nregistrarea urmtoare
o deplasarea pe ultima nregistrare a tabelei
o deplasarea pe un spaiu special rezervat (marcat prin *) pentru adugarea unei
nregistrri noi.
Informarea despre nregistrarea care se editeaz n acel moment:
este evideniat prin intermediul pictogramei care apare n stnga acesteia sub forma unui creion.
Informarea despre nregistrarea curent:
este evideniat prin intermediul pictogramei care apare n stnga acesteia sub forma vrfului
unei sgei orientate spre dreapta.
42 Lector univ. drd. Mihai Gavot\ - Baze de date
5.3. SALVAREA TABELELOR
Dup crearea numelor de cmpuri (Field Name), alegerea tipurilor de date pentru acestea
(Data Type) i setarea proprietilor cmpurilor (Field Properties), se stabilesc cmpurile care
alctuiesc cheia primar de acces i eventual alte chei de tip index, ce se pot selecta prin
utilizarea butonului Indexes din toolbar n mod similar cu butonul Primary
Key.
Salvarea tabelelor se realizeaz prin alegerea opiunii Save sau Save as din meniul File
aflat n bara de meniuri (Menu bar). n urma acestei aciuni apare urmtorul dialog:
Aici se afl nscris iniial un nume
implicit Table1 propus de Access. Peste
acest nume se va nscrie de la tastatur
numele dorit pentru tabel, (Nomenclator
functii) apoi se va confirma prin
apsarea butonului <OK> sau a tastei
<Enter>.
5.4. PROPRIET|}ILE CMPURILOR
Apar n modul de lucru Design View
disponibil atunci cnd se creeaz sau se
modific structura unei tabele.
Seciunea Field Properies este plasat n
partea inferioar a dialogului Design View
pentru tabele.
Exemplul din partea stng prezint
dialogul Design View pentru tabela
Nomenclatorul categoriilor de functii.
Proprietile cmpurilor sunt:
Field Name - numele cmpului. Poate avea maxim 64 de caractere. Nu sunt admise
caracterele: !.[]
Data Type - tipurile de date care pot fi selectate prin alegerea dintr-o list derulant (un
control combo box). Acestea pot fi: Text, Memo, Number, Date/Time, Currency,
AutoNumber, Yes/No, OLE Object, Hyperlink, Lookup Wizard.
Description - poate conine descrierea cmpurilor.
TABELELE {I SISTEMUL DE RELA}II 43
Primary Key - simbolul cheie care poate aprea n stnga cmpurilor desemnate a fi chei
primare de acces.
Field Size - dimensiunea cmpului, stabilete n funcie de tipul acestuia cantitatea maxim
de memorie posibil de alocat pentru valoarea unui cmp.
Format - stabilete formatul utilizat pentru afiarea
cmpului. De exemplu, pentru cmpurile de tip numeric
(number) acesta poate fi:
Precision - precizia este prezent numai pentru tipul de
date Decimal i definete numrul de cifre care trebuie afiate pentru o valoare numeric.
Valoarea implicit este 18 iar cea maxim 28.
Scale - apare numai pentru tipul de date Decimal i stabilete numrul zecimalelor afiate.
Decimal Places - specific numrul zecimalelor afiate pentru tipurile de date Number i
Currency.
Input Mask - masca de intrare, specific modul de afiare a datelor din acest cmp n timpul
editrii. Atunci cnd se face clic n linia acestei proprieti apare butonul Builder care
dac va fi apsat va prezenta urmtorul dialog (wizard):
Caption - este denumirea coloanei (cmpului) care se dorete s apar nscris n capul de
tabel atunci cnd se lucreaz n modul Datasheet.
Default Value - este valoarea implicit (prestabilit) care va aprea n cmp atunci cnd este
introdus o nregistrare nou i nu se introduce o valoare explicit.
Validation Rule - reprezint o expresie care limiteaz valorile ce pot fi introduse n
respectivul cmp. Ex.: >10 indic faptul c n acel cmp nu vor putea fi introduse date
numerice < 11.
Validation Text - poate conine textul care va fi afiat cnd operatorul introduce date care nu
respect regula din Validation Rule.
Required - este o proprietate care nu permite dect dou valori: Yes i No. Yes arat c nu
este permis continuarea editrii dac respectivul cmp nu este completat cu date. Valoarea
implicit pentru Required este No, adic sunt permise i valori vide (Null) pentru acel cmp.
44 Lector univ. drd. Mihai Gavot\ - Baze de date
Allow Zero Length - nseamn Permite Lungime Zero i este o proprietate care se aplic
numai cmpurilor de tipul Text, Memo i Hyperlink. Poate avea doar dou valori: Yes i No.
Indexed - specific dac se va crea un index dup acel cmp i dac este permis lucrul cu
valori duplicate pentru respectivul cmp n cadrul indexului. Poate avea trei valori: Yes
(Duplicates OK), Yes (No duplicates) i No. Valoarea implicit este No, adic nu se creaz un
index dup cmpul respectiv. Aceast proprietate nu se aplic cmpurilor Memo, OLE Object
i Hyperlimk.
New Value - se aplic doar cmpurilor de tip AutoNumber i arat cum vor fi generate noile
valori pentru acest tip de cmp. Poate avea doar dou valori: Increment i Random.
Increment specific c o valoare nou a unui cmp va fi obinut prin adunarea celei mai
mari valori a cmpului cu +1. Random impune acordarea unor valori noi n mod aleator.
5.5. IMPORTUL {I EXPORTUL DATELOR
Meniul File din bara principal de meniuri a bazelor de date Access 2000 ofer dou
opiuni pentru importul sau exportul datelor din/n tabele externe, ale altor baze de date (Access,
dBase, Paradox etc). Aceste opiuni sunt:
Get External Data - preluarea de date externe. La selectare Get External Data deschide un
submeniu cu dou opiuni:
1. Import - ofer posibilitatea aducerii datelor existente, din alte tabele externe (ale altor
baze de date) n cadrul unor tabele interne ce vor fi create automat n baza de date curent
(Access). Presupunnd c exist o tabel extern Piese.dbf creat anterior sub dBASE IV,
dup importul prin Get External Data, n baza de date curent va aprea o nou tabel
PIESE avnd numele i tipurile cmpurilor asemntoare cu cele din tabela originar
Piese.dbf.
2. Link Tables asigur legtura cu tabele externe. Access-ul poate lucra att cu tabele
interne bazelor de date proprii ct i cu tabele externe, ale altor SGBD-uri, deci cu tabele
care exist fizic n afara bazei de date curente (Access). Mergnd pe exemplul anterior,
presupunnd c exist tabela extern Piese.dbf (creat sub dBASE IV) i c se dorete
lucrul cu datele din interiorul acesteia dar fr a le importa (n baza de date Access),
atunci exist posibilitatea legrii tabelei Piese.dbf la baza de date curent prin opiunea
Link Tables.
Iat materializate efectele celor dou exemple anterioare:
importul tabelei externe Piese.dbf, care a determinat apariia ntre
tabelele bazei de date, a unei tabele noi numit PIESE.
legtura cu tabela extern Piese.dbf materializat prin apariia
legturii tabelei sub forma: . Nefiind permis existena
a dou tabele cu acelai nume (PIESE) n cadrul unei baze de date,
Access-ul a redenumit automat tabela legat, cu numele PIESE1.
TABELELE {I SISTEMUL DE RELA}II 45
Export. Aceast opiune a meniului File asigur posibilitatea convertirii i salvrii tabelelor
unei baze de date Access sub forma unor tabele specifice altor SGBD-uri. Astfel, dac de
exemplu se dorete salvarea datelor unei tabele interne (Access) ntr-un format specific
dBASE IV, deci ntr-o tabel extern .dbf, se va apela la opiunea Export disponibil din
meniul File. S presupunem c dorim exportul tabelei interne Date angajati ntr-o tabel
extern tip dBASE IV, numit Date angajati.dbf. Procedura de export va cuprinde
urmtorii pai:
o Selectarea tabelei interne Date angajati i apelarea opiunii Export din meniul
File. Va aprea urmtorul dialog:
46 Lector univ. drd. Mihai Gavot\ - Baze de date
o Selectarea dBASE IV (*.dbf) prin intermediul controlului combo box din dreptul
cmpului Save as type.
o Apsarea butonului Save care va determina apariia n folder-ul ales pentru
salvare (My Documents n acest exemplu) a urmtoarelor fiiere: Date
angajati.DBF, Date angajati.INF i Date angajati.MDX, necesare sistemului
dBASE IV.
n Access 2000 mai exist o modalitate foarte util prin intermediul creia pot fi
schimbate datele ntre obiectele interne Access dar i ntre obiectele Access (tables, queries,
cmpuri de editare) i alte aplicaii externe. Aceast posibilitate este oferit de mecanismul
Clipboard.
Lucrul cu Clipboard-ul este posibil de sub meniul Edit, specific oricrei aplicaii
Windows standard. n meniul Edit exist opiunile Copy, Cut, Paste i Delete care pot fi utilizate
la fel ca i sub Word. De exemplu, prin folosirea mecanismul Clipboard sunt posibile: aducerea
datelor selectate dintr-un tabel Word, ntr-o tabel Access, copierea unor nregistrri selectate
dintr-o tabel Access ntr-o alt tabel Access intern bazei de date sau ntr-un tabel Word sau
Excel, copierea unor celule Excel ntr-una sau mai multe tabele Access, etc.
5.6. RELA}IILE DINTRE TABELE
n subcapitolul 3.2. n care au fost tratate tipurile de relaii s-a artat c ntre tabelele
bazelor de date pot exista patru tipuri de relaii: unu la unu, unu la muli, muli la unu i
muli la muli. S-a artat c relaia muli la muli este un tip de relaie complex care nu este
implementat n mod direct n sistemele de gestiune a bazelor de date relaionale. Acest tip de
relaie ntre tabele se rezolv prin introducerea unei tabele suplimentare care se afl ntr-o relaie
de muli la unu cu fiecare dintre tabelele pe care le leag. Deci, cele trei tipuri fundamentale de
relaii dintre tabele sunt: unu la unu, unu la muli, muli la unu.
n continuare va fi prezentat felul n care Access a implementat aceste tipuri de relaii. n
acest sens, pentru o mai bun nelegere a relaiilor dintre tabele, n tabela principal Date
angajai care a fost utilizat pentru exemplificri n subcapitolul 3.2, a mai fost inserat un cmp
de legtur (cheie extern) cod studii i corespunztor n baza de date a fost creat (adugat)
o nou tabel Nomenclator studii avnd urmtoarea structur:
Aceast tabel va conine doar trei
nregistrri utile pentru identificarea
tipului de studii absolvite de ctre
angajai:
Cmpul de legtur (cod studii) exist i
n tabela Nomenclator studii dar aici el
este cheie primar.
cod studii denumire studii
0 fr
1 medii
2 superioare
TABELELE {I SISTEMUL DE RELA}II 47
Pentru a crea / actualiza relaiile dintre tabelele unei baze de date Access se poate utiliza
opiunea Relationships din bara principal de meniuri sau butonul corespunztor din bara de
instrumente:
Iat sistemul de relaii al bazei de date:
48 Lector univ. drd. Mihai Gavot\ - Baze de date
Se pune ntrebarea: cum au fost realizate legturile ntre tabelele bazei de date ?
Va fi exemplificat n continuare algoritmul de creare a legturii tabelei Date angajai cu
tabela Nomenclator studii.
1. Selectarea opiunii Relationships care va determina apariia urmtoarei ferestre:
2. Apsarea butonului Show table disponibil n bara de instrumente, va
deschide urmtorul dialog pentru adugarea unei noi tabele n sistemul de relaii:
Se selecteaz i se adaug prin
intermediul butonului <Add>,
noua tabel Nomenclator studii.
TABELELE {I SISTEMUL DE RELA}II 49
3. Dup apsarea butonului <Close> de nchidere a dialogului anterior, n fereastra
Relationships va aprea tabela Nomenclator studii fr nici o relaie cu celelalte tabele:
4. Pe
ntru
crearea
unei
relaii
ntre
tabela
principal
Date
angajai
i tabela
Nomencl
ator
studii
prin
intermedi
ul
cmpului
cod
studii, se
trage cu
mouse-ul
prin drag
& drop (cu butonul stng al mouse-ului apsat), cmpul cod studii din Date angajai
peste cmpul cod studii din tabela Nomenclator studii. Dup eliberarea butonului
mouse-ului va aprea urmtorul dialog:
Pentru alegerea tipului de
relaie dorit, va fi apsat
butonul Join Type care va
afia un alt dialog de
selectare, ce ofer cele trei
posibiliti fundamentale de
relaii: unu la unu, unu
la muli i muli la unu.
5. Dialogul de selectare a tipului de relaie este:
50 Lector univ. drd. Mihai Gavot\ - Baze de date
Atunci cnd se trage legtura (n pasul 4, prin drag & drop) este foarte important sensul de
tragere (dinspre tabela Date angajai ctre tabela Nomenclator studii sau invers). Acest sens
definete generic tabela care a fost considerat principal n respectiva relaie. Deoarece s-a
considerat tabela Date angajai ca fiind tabel principal, atunci se va selecta tipul de relaie 3.
6. Dup apsarea butonului <OK> din dialogul anterior, se revine automat n fereastra de
dialog Edit Relationships (vezi pasul 4), i se confirm prin clic pe butonul <Create>,
ceea ce va determina crearea relaiei ntre cele dou tabele. Noua relaie va fi
materializat n fereastra Relationships astfel:
Este evident c celelalte relaii dintre tabele au fost create n mod similar.
Pentru c n relaia dintre tabela Deplasare angajai i Date angajai s-a considerat ca
tabel principal tabela Deplasri angajai, legtura este invers. Aici este vorba de o relaie
muli la unul (mai multe deplasri identificate prin cmpul cod persoana corespund unui
singur angajat).
6. CREAREA {I UTILIZAREA INTEROG|RILOR
Interogrile (queries) reprezint poate cel mai interesant i complex tip de obiecte ale
oricrei baze de date, deoarece prin intermediul lor se pot procesa, sintetiza i utiliza ntr-un mod
superior datele existente n tabele.
La fel ca i la tabele, Access-ul pune la dispoziie instrumente evoluate de proiectare
vrjitori, ferestre de dialog specializate i alte modaliti de acces la date care fac posibil
programarea vizual i exclud aproape n totalitate necesitatea de a scrie cod. Interogrile Access
fructific pe deplin aceste faciliti i i ajut chiar i pe utilizatorii fr cunotine deosebite n
domeniul informatic, s poat rspunde cu uurin unor ntrebri complexe legate de datele
existente n baza de date.
Chiar dac afiarea direct a rezultatelor interogrilor nu se ridic la rafinamentul i
frumuseea celor prezentate prin intermediul formularelor i rapoartelor, ele sunt utile att
specialitilor n etapa de programare ct i utilizatorilor finali. Acetia, nu de puine ori, au
nevoie s interogheze baza de date pentru a obine informaii ce nu au fost materializate de
programatori prin formulare i rapoarte i nu au nevoie ca rezultatele s fie prezentate ntr-o
form prea elaborat.
Access 2000 este un instrument software evoluat, care face ntr-adevr posibile
programarea vizual i dezvoltarea rapid a aplicaiilor.
Interogrile sunt utilizate pentru reunirea cmpurilor din mai multe tabele n vederea unei
prezentri agregate a informaiilor, pentru selectarea, tergerea sau adugarea nregistrrilor
n/din tabele dup anumite criterii, pentru crearea sau actualizarea datelor. Interogrile pot fi de
tip:
Select Query (de selectare)
Total Query (de totalizare)
Crosstab Query (de tip cap de tabel cu mai multe intrri)
Make-Table Query (de creare tabele)
Update Query (de actualizare)
Append Query (de adugare)
Delete Query (de tergere).
Ca i la tabele exist posibilitatea crerii interogrilor cu ajutorul vrjitorilor
specializai sau prin intermediul machetei de proiectare Design View. Dup comutarea n panoul
obiectelor Queries apare urmtoarea fereastr:
Aici primele dou opiuni sunt:
1. Create query in Design View
2. Create query by using wizard
Semnificaia acestor opiuni este similar cu cea de
la obiectele Tables. De fapt prezena lor constituie
un standard Access, deoarece ele se vor regsi i n
seciunile Forms i Reports.
CREAREA {I UTILIZAREA INTEROG|RILOR 53
Prima opiune, cea mai utilizat, este echivalent cu apsarea butonului Design din
ecranul anterior i atunci cnd este lansat n execuie prezint urmtorul dialog (Show Table):
Dup selectarea tabelelor sau interogrilor dorite pentru a constitui baza de prelucrare
(materia prim) pentru query-ul curent, se apas butonul <Add>. Selecia poate fi individual,
contigu sau necontigu, fiind similar cu modalitatea de selecie din programul Windows
Explorer.
n exemplul nostru, s-a dorit o interogare prin care s obinem o list cu numele
angajailor i studiile acestora. n acest scop, nainte de apsarea butonului <Add> s-au selectat
(necontiguu folosind tasta Ctrl) cele dou tabele necesare interogrii Date angajai i
Nomenclator studii. Terminarea i nchiderea lucrului cu acest dialog de adugare se marcheaz
prin apsarea butonului <Close>.
Urmtoarea fereastr afiat reprezint macheta de proiectare vizual a obiectelor de tip
query. Se observ c cele dou tabele au fost aduse automat legate prin relaia care a fost definit
i care exist n Relatioships:
54 Lector univ. drd. Mihai Gavot\ - Baze de date
n partea de jos a acestei machete se gsete un tabel vid (cu liniile: Field, Table, Sort,
Show, Criteria, or), n ale crui coloane vor trebui trase cu mouse-ul prin drag & drop cmpurile
din tabelele (din partea de sus), ale cror valori vor fi afiate sau vor servi drept criterii de
interogare. n cazul nostru vor fi trase cmpurile nume persoana din tabela Date angajai i
denumire studii din tabela Nomenclator studii. n urma acestor aciuni macheta de proiectare
va arta astfel:
Dup apsarea butonului View (primul buton din bara de instrumente vezi imaginea
anterioar), pe ecran va fi afiat urmtoarea list cu rezultatele interogrii:
Se observ c sunt afiate doar cele dou
cmpuri (coloane) selectate. Relaia dintre tabele
realizat prin intermediul cmpului cod studii,
asigur posibilitatea afirii studiilor
corespunztoare pentru fiecare persoan chiar dac
valorile acestui cmp nu apar explicit.
Oricnd se poate reveni n macheta de
proiectare prin apsarea primului buton din bara
de instrumente, care acum conine simbolul unui
echer. Rezultatul interogrii se poate previzualiza
naintea listrii sau se poate lista efectiv la
imprimant prin intermediul butoanelor
corespunztoare din toolbar (sunt butoanele
standard care conin simbolurile imprimant i
lentil).
CREAREA {I UTILIZAREA INTEROG|RILOR 55
Continund exemplul, s presupunem c managerul de resurse umane solicit o alt
ordonare a listei. El cere ca lista s fie sortat dup studii i anume nti cele superioare, apoi
studiile medii i fr, iar n cadrul aceluiai tip de studii numele persoanelor s apar sortate
alfabetic. Deci n traducere aceasta nseamn o dubl sortare. Prima va fi o sortare
descresctoare (descending) dup cmpul cod studii (deoarece 2=studii superioare, 1=studii
medii, 0=fr studii), iar a doua, o sortare cresctoare alfabetic (ascending) dup cmpul nume
persoana. Cele dou cmpuri (cod studii i nume persoan) vor fi chei de sortare n cadrul
acestei interogri.
Ordinea de plasare a cheilor n interogare este important. Prioritatea cheilor descrete de
la stnga la dreapta (prima cheie, cea mai important, cod studii va fi plasat cel mai la stnga n
tabelul machetei de proiectare).
Tabelul din macheta de proiectare ofer pentru sortare linia (opiunea) Sort iar pentru
marcajul cmpurilor (coloanelor) vizibile la consultarea interogrii, linia Show cu controale de
marcare (check box). Cmpurile n dreptul crora exist bif pe linia Show, vor fi vizibile. Iniial
toate cmpurile au prezent bifa n dreptul lor pe linia Show (deci n mod implicit vor fi vizibile
toate coloanele interogrii) . n cazul nostru pentru c nu dorim s fie vizibile valorile cmpului
cod studii (0, 1 sau 2) vom debifa respectivul control de marcare.
Macheta de proiectare va fi:
56 Lector univ. drd. Mihai Gavot\ - Baze de date
Dup apsarea butonului View (primul din stnga pe toolbar) rezultatul interogrii va fi
urmtoarea list dublu sortat:
S presupunem c se solicit o situaie mai complex care pe lng nume i studii s
afieze funcia deinut i data angajrii. Lista trebuie s fie sortat n ordinea cresctoare a
funciilor, apoi n cadrul fiecrei funcii n ordine alfabetic dup numele persoanelor.
n acest caz, deoarece se solicit informaii despre funciile deinute, este necesar
adugarea n interogare a tabelei Nomenclator funcii. Dialogul de adugare Show Table se
apeleaz prin apsarea butonului cu acelai nume din bara de instrumente.
Acest dialog este:
CREAREA {I UTILIZAREA INTEROG|RILOR 57
Dup adugarea tabelei Nomenclator funcii se trag n tabel prin drag & drop
cmpurile necesare interogrii i se stabilesc cheile de sortare. Macheta de proiectare va arta
astfel:
La apsarea butonului View va fi afiat urmtoarea list:
58 Lector univ. drd. Mihai Gavot\ - Baze de date
Un query poate fi salvat prin procedurile standard Save sau Save as care au fost
prezentate n capitolul anterior referitor la tabele. Orice query salvat poate deveni o surs de date
(similar unei tabele) pentru un alt query, un form sau un report.
Orice interogare realizat n manier vizual sau cu ajutorul vrjitorilor specializai se
traduce de ctre Access ntr-o comand SQL. Iat codul SQL creat automat de ctre Access
pentru ultima interogare:
SELECT [Date angajati].[nume persoana], [Nomenclator functii].[denumire functie],
[Nomenclator studii].[denumire studii], [Date angajati].[data angajarii]
FROM [Nomenclator functii] RIGHT JOIN ([Nomenclator studii] RIGHT JOIN [Date
angajati] ON [Nomenclator studii].[cod studii] = [Date angajati].[cod studii]) ON
[Nomenclator functii].[cod functie] = [Date angajati].[cod functie]
ORDER BY [Nomenclator functii].[cod functie], [Date angajati].[nume persoana];
Trebuie remarcat cu aceast ocazie puterea Access-ului ca instrument rapid de
dezvoltare vizual a aplicaiilor, faptul c d posibilitatea unui numr mare de persoane care nu
sunt programatori de meserie s realizeze prelucrri complexe ale datelor.
Interogrile create pn acum i utilizate pentru exemplificri fac parte din interogrile de
tip Select. Vom prezenta n continuare toate tipurile de interogri puse la dispoziie de Access.
6.1. INTEROG|RILE DE TIP SELECT
Interogrile de tip Select la fel ca orice alt tip de interogri, presupun existena n cadrul
machetei de proiectare a:
tabelelor sau interogrilor care constituie sursa de date,
relaiilor dintre acestea motenite din Relationships
tabelului cu:
o cmpurile,
o cheile de sortare,
o marcatorii de vizibilitate (Show),
o criteriile (coniiie) de selecie.
Ele se pot utiliza pentru extragerea de date din una sau mai multe tabele (query-uri) i
efectuarea unor calcule.
Orice cod SQL al query-urilor de tip Select ncepe evident cu comanda Select (vezi codul
SQL din subcapitolul anterior).
Seleciile pot fi fcute i pe baza anumitor criterii utile pentru filtrarea datelor. Linia
Criteria din tabelul existent n macheta de proiectare este destinat special acestui scop. Scrierea
condiiilor complexe este asistat de un vrjitor specializat care poate fi apelat apsnd opiunea
Build din meniul contextual al cmpului n care se scrie condiia.
Rezultatele interogrii de selecie pot fi prezentate sortate cresctor sau descresctor dup unul
sau mai multe cmpuri. Alegerea cmpurilor respective se face n linia Sort.
Dac de exemplu se dorete ca ultima list (creat n subcapitolul anterior) s afieze doar
persoanele cu studii medii, atunci va fi necesar aplicarea unui asemenea filtru de selecie.
CREAREA {I UTILIZAREA INTEROG|RILOR 59
Macheta de proiectare va fi:
Se observ existena cifrei 1 pe linia Criteria n dreptul cmpului cod studii. Aceast
aciune simpl determin filtrarea i deci afiarea doar a nregistrrilor care corespund condiiei
(adic au cod studii=1 ceea ce corespunde studiilor medii). Efectul aplicrii filtrului poate fi
observat n urmtoarea figur:
Lucrul cu func]ia like
Pot exista i filtre multiple. De exemplu, este posibil ca n vederea srbtoririi Sfntului
Ion, s se solicite o list care s afieze doar persoanele cu studii superioare (cod studii=2) care
au inclus n nume subirul Ion. n acest sens se va utiliza o interogare de selecie avnd drept
criteriu de selecie pentru nume, funcia like (ca i) cu urmtorii parametrii: like *Ion*.
Caracterul * (se citete orice), are aceeai semnificaie ca i la filtrele pentru fiiere exemplu
*.exe, *.*, etc . Deci, criteriul de selecie pentru nume like *Ion* se poate citi: toate numele
persoanelor care au orice ir de caractere nainte de irul Ion i orice ir de caractere dup irul
Ion.
60 Lector univ. drd. Mihai Gavot\ - Baze de date
Macheta de proiectare pentru aceast interogare va fi:
Rezultatul interogrii este:
Dac se dorete o list care s conin toate numele care ncep cu Ion, comanda like din
linia Criteria este: like Ion*. Invers, dac se dorete o selecie pentru toate numele care se
termin cu caracterele ion atunci comanda like este: like *ion. Iat n continuare efectul
ultimei comenzi (like *ion).
CREAREA {I UTILIZAREA INTEROG|RILOR 61
Concatenarea [irurilor de caractere
Sub Access irurile de caractere se pot concatena. Operatorul de concatenare este &.
Dac avem dou iruri: 123 i qwe atunci rezultatul concatenrii lor prin intermediul
operatorului de concatenare (123 & qwe) este: 123qwe. Seleciile anterioare bazate pe
funcia like puteau fi scrise i astfel:
like * & ion & *
like ion & *
like * & ion
Dialogurile parametrizate
Exist situaii n care selecia nu se face de fiecare dat dup aceleai caractere ce sunt
coninute n nume. n acest caz, se las operatorului sarcina de a introduce de la tastatur
succesiunea de caractere ce sunt cutate. Acest lucru se poate realiza scriind parametrizat
criteriul de selecie n linia Criteria pentru cmpul nume persoana. La fiecare lansare n
execuie a interogrii se afieaz o fereastr de dialog prin intermediul creia utilizatorul
specific irul de caractere ce constituie baza de selecie.
Textul afiat care va aprea n acest dialog ar putea fi:
Introducei caracterele incluse in nume:
n linia Criteria textul trebuie cuprins ntre paranteze drepte:
[Introducei caracterele incluse in nume:]
Comanda like exhaustiv care prin intermediul parametrizrii va cuprinde toate cazurile de
selecie pentru cmpul nume persoana este:
Like "*" & [Introducei caracterele incluse n nume:] & "*"
Secvena corespunztoare din macheta de proiectare este:
62 Lector univ. drd. Mihai Gavot\ - Baze de date
Dialogul care i va aprea utilizatorului la lansarea interogrii este:
Lucrul cu func]ia between
Dac se dorete o list care s prezinte o selecie a angajailor doar pentru categoriile
funciilor de efi atunci va mai trebui introdus n interogare i tabela Nomenclatorul
categoriilor de funcii. Coninutul acestei tabele este:
Se observ c n aceast tabel cmpul
cod categorie pentru funciile de efi
are valori cuprinse ntre 2 i 4.
Deci, pentru selecia categoriilor de
funcii de efi va fi necesar utilizarea
funciei Between (ntre).
Macheta de proiectare pentru interogare este:
CREAREA {I UTILIZAREA INTEROG|RILOR 63
Rezultatul interogrii va fi:
6.2. INTEROG|RILE DE TIP TOTALS
Alte modaliti de punere a problemelor de interogare sunt cele referitoare la gruparea
datelor din tabele dup diferite criterii i prezentarea unor date statistice despre acestea. Pentru
fiecare din grupele ce se formeaz se pot calcula indicatori cum sunt:
Sum( ) suma valorilor unui cmp,
Count( ) numrul nregistrrilor din fiecare grup,
Avg( ) media valorilor unui cmp pentru fiecare grup ,
StDev( ) abaterea standard a valorilor unui cmp pentru fiecare grup,
Var( ) dispersia valorilor unui cmp pentru fiecare grup,
Min( ), Max( ) valoarea minim / maxim,
Last( ) - ultimul, First( ) prima / ultima valoare din grup pentru cmpul respectiv.
S presupunem c avem urmtorul query de tip Select:
64 Lector univ. drd. Mihai Gavot\ - Baze de date
Oricnd un query de tip Select poate fi transformat ntr-un query de tip Totals prin
apsarea butonului din bara de instrumente: .
Dup apsarea butonului , macheta de proiectare va deveni:
Se observ n tabelul din partea de jos a machetei apariia liniei Total care are nscris
funcia Group By n dreptul fiecrui cmp.
Dac dorim o situaie care s ne prezinte cte persoane din fiecare categorie de funcii
exist n instituie, atunci nseamn c dorim o grupare a lor (Group By) dup categoria de
funcie i apoi o numrare (contorizare - Count) a acestora.
Pentru rezolvare, n dreptului cmpului cod persoana (deoarece dorim s numrm
persoane), pe linia Total vom face clic cu mouse-ul pe controlul combo box disponibil, ceea ce
va determina deschiderea urmtoarei liste derulante din care vom alege funcia Count:
CREAREA {I UTILIZAREA INTEROG|RILOR 65
n dreptul cmpului cod persoana pe linia Total va aprea n loc de Group By, funcia
Count.
Rezultatul acestui query va fi:
Codul SQL generat automat de Access pentru aceast interogare este:
SELECT [Nomenclatorul categoriilor de functii].[denumire categorie functie], Count([Date
angajati].[cod persoana]) AS [CountOfcod persoana]
FROM [Nomenclatorul categoriilor de functii] RIGHT JOIN ([Nomenclator functii] RIGHT
JOIN ([Nomenclator studii] RIGHT JOIN [Date angajati] ON [Nomenclator studii].[cod
studii] = [Date angajati].[cod studii]) ON [Nomenclator functii].[cod functie] = [Date
angajati].[cod functie]) ON [Nomenclatorul categoriilor de functii].[cod categorie functie] =
[Nomenclator functii].[cod categorie functie]
GROUP BY [Nomenclatorul categoriilor de functii].[cod categorie functie], [Nomenclatorul
categoriilor de functii].[denumire categorie functie];
O alt ntrebare la care rspunsul ar fi uor de dat cu ajutorul interogrilor de tip Totals ar
fi: Ci angajai cu studii medii i ci cu studii superioare sunt n instituie?.
Macheta de proiectare este:
Se observ c pe linia Criteria
n dreptul cmpului cod studii
s-a nscris condiia >0. n acest
fel se selecteaz doar
persoanele cu studii superioare
i cele cu studii medii
(persoanele fr studii au
cmpul: cod studii=0).
66 Lector univ. drd. Mihai Gavot\ - Baze de date
Rspunsul la ntrebare (rezultatul interogrii) va fi:
6.3. INTEROG|RILE DE TIP UPDATE
Sunt utile pentru actualizarea automat a unuia sau mai multor cmpuri existente n
sursele de date actualizabile care cel mai frecvent sunt tabelele. n traducere update nseamn
actualizare.
De exemplu, dac se dorete actualizarea tuturor valorilor cmpurilor data angajare din
tabela Date angajati la valoarea 11-August-1999 (#8/11/1999# n formatul implicit) atunci cel
mai indicat este s se foloseasc un query de tip Update. O alt alternativ, mult mai ineficient,
ar fi s se actualizeze manual valorile cmpului data angajare pentru fiecare nregistrare. n
cazul n care aceast tabel ar avea cteva mii de nregistrri i dac n plus s-ar mai pune i
condiia ca actualizarea s se produc doar pentru persoanele cu studii superioare, atunci cu
siguran va trebui abandonat metoda manual i apelat la query-ul de tip Update.
n acest sens se solicit crearea unui query nou. (New sau Create query in Design view).
Se adaug tabela Date angajati i se solicit transformarea interogrii din tipul implicit (de tip
Select) n interogare de tip Update. Urmtoarea imagine prezint aceast aciune:
CREAREA {I UTILIZAREA INTEROG|RILOR 67
Dup setarea opiunii Update Query se adug restricia n linia Criteria (cod studii=2)
i se nscriere valoarea de actualizare (#8/11/1999#) n linia Update To (specific acestui tip de
query). Macheta de proiectare va arta astfel:
Pentru c interogrile de tip Update modific datele din tabele, atunci acestea se lanseaz
prin comanda Run disponibil prin intermediul butonului ! din toolbar. Dup apsarea acestui
buton n mod implicit apare urmtorul dialog:
care ne solicit s mai confirmm nc o dat c ntr-adevr dorim actualizarea (modificarea)
datelor. Modificarea odat fcut este ireversibil. Se observ c Access-ul a identificat deja c n
tabela Date angajati exist doar 11 nregistrri (rows) care satisfac condiia. Confirmnd cu
<Yes> atunci rezultatul lansrii query-ului va fi:
68 Lector univ. drd. Mihai Gavot\ - Baze de date
6.4. INTEROG|RILE DE TIP MAKE-TABLE
Ofer posibilitatea crerii unei tabele noi pe baza structurii i datelor existente n alte
tabele.
S presupunem c dorim crearea unei tabele noi numit Tabela nou cu datele
angajailor care s aib acelai coninut cu tabela Date angajai. Procedura este similar cu cea
de la interogrile de tip Update, cu deosebirea c de aceast dat se va seta opiunea Make-Table
Query:
Dup setarea opiunii va aprea urmtorul dialog n care vom nscrie numele noii tabele:
n continuare vor fi trase prin
drag & drop cmpurile
dorite pentru a fi coninute n
noua tabel. Apoi, tot ce
avem de fcut este apsarea
butonului Run din toolbar:
CREAREA {I UTILIZAREA INTEROG|RILOR 69
Aceast aciune va avea ca rezultat apariia noii tabele n fereastra obiectelor de tip Table:
6.5. INTEROG|RILE DE TIP DELETE
Dac se dorete tergerea anumitor nregistrri dintr-o tabel pe baza unor criterii, atunci
se folosete query-ul de tip Delete (terge).
Modalitatea de transformare a unui query implicit de tip Select ntr-un query de tip
Delete const n alegerea opiunii Delete Query din lista derulant a tipurilor de interogri.
S presupunem c dorim s tergem nregistrrile din tabela Date angajai care
corespund persoanelor cu studii medii, adic acolo unde (where) cod studii=1.
70 Lector univ. drd. Mihai Gavot\ - Baze de date
Dup transformarea n query de tip Delete i dup completarea criteriului where cod
studii=1, macheta de proiectare va fi:
Aciunea de tergere se va declana dup lansarea comenzii Run.
6.6. INTEROG|RILE DE TIP APPEND
De multe ori este necesar preluarea nregistrrilor dintr-o tabel i adugarea lor
(append) ntr-o alt tabel. Aceasta se realizeaz prin query-ul de tip Append. Structura celor
dou tabele trebuie s fie aceeai pentru cmpurile care se vor aduga n noile nregistrri.
S presupunem c avem tabela numit Tabela nou cu datele angajailor i c dorim
adugarea nregistrrilor acestei tabele la nregistrrile tabelei Date angajai. Paii algoritmului
care va trebui urmat sunt urmtorii:
1)
CREAREA {I UTILIZAREA INTEROG|RILOR 71
2)
3)
6.7. INTEROG|RILE DE TIP CROSSTAB
La nceputul capitolului Crearea i utilizarea interogrilor am prezentat intenionat
prima opiune oferit de Access: Create query in Design view i nu pe cea care asigura lucrul cu
vrjitori, deoarece era necesar dobndirea cunotinelor de baz, fundamentale, legate de
generarea i proiectarea interogrilor.
Acum, n aceast etap, lucrul cu vrjitori (wizards) devine eficient, iar query-ul de tip
Crosstab este un exemplu foarte bun pentru a ncepe aceast prezentare.
n traducere crosstab nseamn tabel (ncruciat) cu dou sau mai multe intrri. Un
exemplu de interogare de tip Crosstab este acela n care se obine situaia numeric a angajailor
pe categorii de funcii i pe tipuri de studii. Aceast situaie va fi un tabel cu dubl intrare: pe
72 Lector univ. drd. Mihai Gavot\ - Baze de date
rnduri (rows) categoriile de funcii din instituie conform Nomenclatorului categoriilor de
funcii, iar pe coloane (columns) tipurile de studii. n celulele din tabel (la intersecia liniilor cu
coloanele) vom avea numrul de persoane (count) din instituie care ndeplinesc o funcie dintr-
o categorie i au anumite studii.
nainte de a ncepe lucrul cu vrjitorul este necesar s ne construim un query ajuttor
de tip Select care va furniza informaiile necesare (cod persoana, denumire categorie funcie i
denumire studii). Macheta de proiectare a acestui query este:
Pentru a putea alege tipul de query dorit, posibil de realizat cu ajutorul vrjitorilor vom
da clic pe butonul New din fereastra de prezentare a bazei de date:
CREAREA {I UTILIZAREA INTEROG|RILOR 73
Dup apsarea butonului New va aprea un dialog prin intermediul cruia vom putea
alege tipul de query dorit:
Paii care vor fi urmai n continuare sunt prezentai n urmtoarea succesiune de
dialoguri:
alegem sursa de date (query-ul construit anterior i salvat cu numele Query1):
74 Lector univ. drd. Mihai Gavot\ - Baze de date
Pe rnduri vor fi categoriile de funcii:
Iar pe coloane tipurile de studii:
CREAREA {I UTILIZAREA INTEROG|RILOR 75
Se alege funcia care realizeaz numrarea persoanelor:
n acest moment query-ul Crosstab este gata:
76 Lector univ. drd. Mihai Gavot\ - Baze de date
Dup apsarea butonului <Finish> poate fi vizualizat tabelul realizat de vrjitor:
Macheta de proiectare a acestui query (realizat de wizard) este:
Codul SQL generat automat de Access pentru aceast interogare care poate fi consultat
prin intermediul opiunii SQL View, este:
TRANSFORM Count(Query1.[cod persoana]) AS [CountOfcod persoana]
SELECT Query1.[denumire categorie functie], Count(Query1.[cod persoana]) AS [Total Of
cod persoana]
FROM Query1
GROUP BY Query1.[denumire categorie functie]
PIVOT Query1.[denumire studii];
7. FORMULARE {I RAPOARTE
7.1. FORMULARE (FORMS)
Odat creat structura de tabele componente ale bazei de date, se pune problema
populrii acestora cu datele pe care dorim s le avem n eviden. Aa cum am artat n capitolul
referitor la tabele, acest lucru poate fi fcut direct, n modul de lucru Datasheet View accesibil
din bara de instrumente. Atunci cnd se dorete introducerea datelor ntr-o form mai apropiat
de aspectul documentului primar de pe care se culeg informaiile, cnd se dorete afiarea unor
elemente grafice sau efectuarea unor operaii ajuttoare, se vor folosi pentru introducerea datelor
formulare (machete).
Formularele sunt instrumente standardizate puse special la dispoziie de Access pentru a
constitui interfaa cu utilizatorul la introducerea, modificarea i tergerea datelor din tabele i
totodat pentru culegerea de la acesta a unor opiuni sau valori de date n funcie de care se vor
face calcule, afia rezultate ale unor interogri sau tipri anumite rapoarte.
Utilizarea formularelor pentru manipularea datelor din tabele prezint prin comparaie cu
modul de lucru Datasheet View o serie de avantaje dintre care enumerm:
posibilitatea alegerii modului de prezentare a tabelului la introducerea datelor: s se
vad pe ecran o singur nregistrare odat sau s se vad mai multe nregistrri;
aranjarea n formular a textului explicativ, cmpurilor de date sau grafice i a
butoanelor astfel nct, chiar dac tabelul are un numr mare de cmpuri sau cmpuri
foarte lungi, acestea s fie vizibile pe ct posibil n ntregime pe ecran;
formularele permit realizarea unei interfee mai prietenoase cu utilizatorul prin
intermediul unor elemente de evideniere (texte explicative, culori, dimensiune i
caracteristici font, chenare cu care se pot grupa datele care au legtur din punct de
vedere logic, etc);
n formulare putem crea anumite butoane care prin apsare s declaneze efectuarea
anumitor calcule, validri mai complexe dect cele existente la nivelul unui cmp sau
chiar accesul la un alt formular pentru executarea unor operaiuni logic necesare n
momentul introducerii datelor.
Aplicaiile informatice scrise n Access de profesioniti se prezint ca o structur
arborescent de formulare i rapoarte. Primul formular constituie un fel de panou de comand
(switchboard) i cuprinde de obicei denumirea aplicaiei, un scurt text de prezentare i un numr
de butoane sau opiuni de meniu care permit accesul la principalele componente ale acesteia.
Fiecare component conine la rndul ei, n funcie de gradul de complexitate, alte formulare
(care pot fi de introducere date sau de opiuni) i rapoarte. Toate aceste formulare trebuie s
ofere posibilitatea de a fi nchise pentru a se putea trece la executarea unei alte componente a
aplicaiei.
FORMULARE {I RAPOARTE 79
Un astfel de formular panou de comand al unei aplicaii se prezint ca n figura de mai jos.
n acest capitol ne vom ocupa de crearea formularelor i vom arta cum se folosesc
instrumentele specializate puse la dispoziie de Access n acest scop.
Pentru lucrul cu formulare este prevzut n fereastra de prezentare a bazei de date un
buton care ne aduce pe ecran toate obiectele de acest tip existente n baza de date. n afara
acestora, mai exist dou intrri corespunztoare celor dou modaliti de creare a formelor: cu
ajutorul vrjitorului (wizard-ului) specializat i n mod proiectare direct (design).
80 Lector univ. drd. Mihai Gavot\ - Baze de date
Atunci cnd sunt active obiectele de tip formular (forms) observm c n partea de sus a
ferestrei de prezentare a bazei de date sunt active un numr de butoane cu funcii specifice.
Acestea prin apsare realizeaz:
Open - deschide pentru vizualizare i execuie un formular existent;
Design - intr n modul proiectare pentru a modifica un formular;
New - permite crearea unui formular nou alegnd modalitatea de creare i un anumit tip
de formular;
Delete - permite tergerea din baza de date a formularului selectat;
Celelalte butoane permit aranjarea n diferite moduri a formularelor din baza de date: cu
iconie mari sau mici, sub form de list simpl sau detaliat.
n Access se pstreaz caracteristica de redundan specific produselor Microsoft i
anume aceea c o operaie poate fi fcut n mai multe moduri. Astfel, principalele operaiuni
necesare a fi executate asupra formularelor pot fi executate i prin activarea meniului contextual
cu butonul din dreapta al mouse-ului. n figura urmtoare sunt prezentate operaiunile ce pot fi
executate asupra unui formular din baza de date prin intermediul meniului contextual:
FORMULARE {I RAPOARTE 81
7.1.1. Crearea formularelor cu ajutorul vr\jitorilor (wizards)
Cea mai simpl metod de creare a unui formular i prima care trebuie ncercat este
aceea n care suntem asistai de un vrjitor. n acest scop apsm butonul New care deschide o
fereastr de dialog ca cea din figura urmtoare:
Din aceast fereastr de dialog se poate alege modalitatea de creare a formularului prin
Design View sau Form Wizard, sau se poate opta pentru un anumit tip de formular prestabilit.
Primele dou opiuni permit alegerea modalitii de proiectare, i anume:
Design View crearea formularului se face n mod proiectare direct, fr a fi asistat
de programul Access;
Form Wizard crearea formularului se va face n mod asistat de ctre un vrjitor
specializat.
Aceste dou opiuni nu necesit alegerea unui tabel sau a unei interogri (Choose the
table or query where ), din lista prezent n partea de jos a ferestrei, acest lucru fiind opional.
Urmtoarele opiuni permit selectarea unui anumit tip de formular, cu format prestabilit,
care va fi creat automat de Access. Pentru fiecare din aceste opiuni este obligatorie alegerea din
list a unui tabel sau a unei interogri pentru a crei editare este conceput formularul:
AutoForm: Columnar se creeaz automat un formular de editare a datelor care va
cuprinde cmpurile tabelului (interogrii) precedate de denumirile acestora. Acestea
vor fi aranjate succesiv de sus n jos pe coloan. Formularul va afia cte o singur
nregistrare odat.
82 Lector univ. drd. Mihai Gavot\ - Baze de date
AutoForm: Tabular - se creeaz automat un formular de editare a datelor care va
cuprinde mai multe nregistrri afiate simultan pe ecran. Cmpurile
tabelului (interogrii) i denumirile acestora vor fi aranjate optim, astfel nct s fie
vizibile simultan ct mai multe informaii.
AutoForm: Datasheet - se creeaz automat un formular de editare a datelor care va
cuprinde mai multe nregistrri afiate simultan pe ecran. Cmpurile
tabelului (interogrii) i denumirile acestora vor fi aranjate ntr-un format similar
foilor de calcul Excel.
Chart Wizard - se creeaz n mod asistat un formular care prezint datele din
cmpurile tabelului (interogrii) sub form de diagram.
Pivot Table Wizard - se creeaz n mod asistat un formular care permite actualizarea
datelor dintr-o tabel pivot creat cu ajutorul produsului Excel.
Cea mai frecvent alegere dintre cele enumerate mai sus este Form Wizard care
presupune fixarea unor opiuni i parcurgerea unor pai astfel:
1. n acest prim ecran de dialog se alege tabela sau interogarea care va sta la baza
formularului ce va fi creat. Odat ales, n lista de dedesubt vor fi accesibile toate cmpurile
tabelei sau interogrii, dintre care unele (sau toate) vor fi selectate pentru a fi afiate n formular.
Cele selectate (cu ajutorul butoanelor > sau >> ) vor aprea n lista din partea dreapt. Dac
ne rzgndim i dorim s renunm la unul sau la toate cmpurile selectate vom folosi butoanele
< sau << . Dup ce am ales cmpurile vom apsa butonul <Next> pentru a trece la ecranul
urmtor de dialog.
FORMULARE {I RAPOARTE 83
2. n cadrul acestui ecran de dialog vom alege tipul de formular. Vom regsi aici acele
tipuri de formulare care ar fi putut fi alese nc din fereastra New Form.
Dup alegerea tipului de formular i apsarea butonului <Next> se va trece la urmtorul
ecran de dialog.
3. Alegerea unui stil anume de formular dintre cele care sunt afiate ca posibile. Aspectul
fiecrui tip de formular este prezentat atunci cnd este selectat cu mouse-ul.
84 Lector univ. drd. Mihai Gavot\ - Baze de date
4. n ultimul ecran de dialog vom alege numele formularului creat, fie acceptnd numele
propus de Access, fie scriind numele dorit. Mai putem stabili acum cteva opiuni care ne permit
accesul la formular fie n mod editare, pentru a avea acces la date, fie n mod proiectare pentru
a-i aduce unele modificri.
Apsarea butonului <Finish> ncheie procesul de creare a formularului n mod asistat de
ctre un vrjitor specializat.
Aa cum am putut observa din ecranele de dialog prezentate mai sus, n oricare din fazele
procesului putem abandona (prin apsarea butonului <Cancel>), ne putem ntoarce la faza
precedent (prin apsarea butonului <Back>), putem continua (prin apsarea butonului <Next>)
sau termina procesul de creare a formularului (prin apsarea butonului <Finish>).
Formularul creat, cu ajutorul vrjitorului, pentru tabela Date Angajai arat ca n
figura urmtoare:
Bar de stare
Bar de selectare
FORMULARE {I RAPOARTE 85
Observm c a fost generat automat o linie de stare care cuprinde numrul nregistrrii
prezent pe ecran, numrul total de nregistrri din tabel i butoane care fac posibil navigarea
printre nregistrrile tabelei. Navigarea presupune: poziionarea pe prima nregistrare din tabel,
trecerea la nregistrarea precedent, trecerea la nregistrarea urmtoare, poziionarea pe ultima
nregistrare din tabel i adugarea unei noi nregistrri.
Pe formular mai observm o bar vertical de selecie nregistrare. Odat selectat
nregistrarea, cu toate cmpurile ei, va putea fi tears, copiat sau nlocuit. n acest sens, bara
de selecie nregistrare (bara vertical) ofer un meniu contextual propriu.
7.1.2. Crearea formularelor n mod proiectare direct\
Aa cum am vzut, un formular nou poate fi creat att n mod asistat cu ajutorul
vrjitorilor specializai ct i n mod proiectare direct. Aceast ultim modalitate mai este
folosit atunci cnd dorim s modificm un formular deja creat, indiferent prin care dintre
metode.
Alegerea succesiv a opiunilor: New Design View OK determin apariia
urmtorului ecran de proiectare:
Obiectele evideniate sunt:
1. bara de titlu - conine numele formularului i elementele specifice unei ferestre
Windows: meniul i butoanele de nchidere, minimizare / maximizare;
2. selectorul formei - care prin dublu-clic permite afiarea proprietilor formei;
3. riglele de deplasare pe vertical i pe orizontal - care permit, n cazul unor formulare
care nu se vd n ntregime, aducerea n zona vizibil a prilor aflate mai jos, mai sus, n
dreapta sau n stnga;
1 2 3 4 5 6
86 Lector univ. drd. Mihai Gavot\ - Baze de date
4. seciunea Details - pe care sunt amplasate obiectele formularului: text, cmpuri de
editare, butoane, liste, imagini, etc;
5. seciunea extern (din afara) formularului;
6. fereastra cu instrumente de proiectare (Toolbox) - aceast fereastr este absolut
necesar procesului de proiectare direct deoarece este locul de unde vor fi luate
obiectele care se amplaseaz pe formular. n cazul n care aceast fereastr nu este
vizibil la un moment dat ea poate fi fcut vizibil (i apoi invizibil din nou) prin
apsarea butonului sau din meniu apsnd succesiv View Toolbox.
Un formular, n afara zonei Details n care se vor afia informaiile referitoare la fiecare
din nregistrrile tabelei, mai poate avea alte zone: de antet i subsol de formular i de antet i
subsol de pagin. Vizualizarea acestor zone n modul proiectare direct se face apsnd succesiv
din meniu View Form Header/Footer respectiv View Page Header/Footer .
Antetul i subsolul formei sunt folosite pentru scrierea titlurilor, a butoanelor, a totalurilor
sau a altor elemente care nu se modific de la o nregistrare la alta. Acestea nu vor fi derulate n
cazul unor formulare ce conin mai multe nregistrri.
Antetul i subsolul de pagin conin informaii asemntoare pe care dorim s le afim o
singur dat pe fiecare pagin.
FORMULARE {I RAPOARTE 87
Aceste seciuni suplimentare sunt opionale spre deosebire de seciunea Details care este
totdeauna prezent. Fiecare dintre ele poate fi redimensionat sau chiar eliminat prin executarea
unui clic cu mouse-ul pe marginea inferioar i deplasarea mouse-ului pn cnd se obine
dimensiunea dorit a seciunii (drag & drop). n figura de mai sus este ilustrat acest proces i
forma pe care o ia mouse-ul cnd atinge marginea seciunii.
Forma mouse-ului la marginea
inferioar a seciunii Page Footer
88 Lector univ. drd. Mihai Gavot\ - Baze de date
Formularul, ca i toate celelalte obiecte pe care le conine, are o serie de proprieti la
care putem accepta valorile implicite sau pe care le vom modifica astfel nct s obinem un
aspect i o comportare dorit pentru formular.
Activarea ferestrei de proprieti a formei se poate face n mai multe feluri:
apsnd butonul din dreapta al mouse-ului atunci cnd acesta este poziionat pe
selectorul formei i alegnd din meniul contextual opiunea Properties;
apsnd butonul din bara de instrumente dup ce n prealabil am dat un clic cu
mouse-ul n seciunea exterioar formularului din zona de proiectare;
apsnd butonul din dreapta al mouse-ului atunci cnd acesta este poziionat n
seciunea exterioar formularului activnd meniul contextual i alegnd opiunea
Properties;
apsnd succesiv View Properties dup ce n prealabil am dat un clic cu mouse-ul
n seciunea exterioar formularului din zona de proiectare.
Proprietile formei sunt grupate pe categorii i anume:
Format cuprinde proprietile de formatare, adic acele proprieti legate de tipul
formularului, aspectul i modul de prezentare al acestuia;
Data cuprinde proprietile legate de modul de lucru cu datele din tabele sau
interogri, care vor fi editate cu ajutorul formularului;
Event prezint evenimentele care pot avea loc n timpul lucrului cu formularul
pentru manipularea datelor;
Other prezint o serie de proprieti suplimentare de rafinare a lucrului cu
formularul;
All prezint toate proprietile de mai sus reunite.
Proprietile formularului (Form) se
completeaz fie cu un text, un numr, o
valoare dintr-o list derulant (care se
deschide atunci cnd apsm triunghiul din
dreapta) fie cu o valoare pe care o alegem
fiind asistai de vrjitorul activat atunci
cnd apsm butonul marcat () .
Nu toate proprietile pun la
dispoziie liste derulante sau asisteni dar
atunci cnd ne poziionm cu mouse-ul pe
oricare dintre ele, n partea de jos a
ecranului, pe linia de stare, apare un text
explicativ n limba englez care ne d mai
multe amnunte despre semnificaia
proprietii respective.
Cele mai multe dintre acestea vor
rmne la valorile lor implicite i numai
cteva dintre ele sunt obligatoriu de
completat.
FORMULARE {I RAPOARTE 89
Vom prezenta n continuare semnificaia ctorva dintre principalele proprieti ale
formei:
Caption se completeaz cu titlul formularului. Dac se completeaz, acesta va fi
afiat n bara de titlu. n caz contrar n bara de titlu va aprea numele sub care s-a
salvat formularul;
Default View este o proprietate care ne ofer spre alegere o list cu trei variante
reprezentnd tipul de formular:
o formular n care se afieaz cte o singur nregistrare
o formular n care se afieaz attea nregistrri cte ncap pe ecran
o formular care are forma unei foi de calcul Excel;
Navigation Buttons proprietatea poate avea dou valori: Yes i No, adic determin
afiarea sau nu a butoanelor standard de navigare n formular;
Auto Center implicit are valoarea No, dar se poziioneaz pe Yes dac se dorete ca
formularul s fie aranjat centrat pe ecran la lansarea n execuie;
Picture numele unui fiier grafic. Imaginea coninut de acesta va fi afiat ca
fundal pentru formular;
Picture Type indic modalitatea n care fiierul grafic afiat ca fundal va fi
gestionat: inclus n baza de date sau ca o legtur ctre un fiier exterior bazei de
date;
Width specific limea formularului. Se mai poate modifica selectnd cu mouse-ul
marginea dreapt a formularului i aducnd-o la dimensiunea dorit;
Record Source specific sursa de date a formularului care poate fi un tabel sau o
interogare;
On Open specific aciunile care se execut la afiarea pe ecran a formularului;
On Close specific aciunile care se execut atunci cnd nchidem formularul;
On Current specific aciunile care se execut n momentul trecerii de la o
nregistrare la alta;
On Delete specific aciunile care se execut n momentul tergerii unei
nregistrri;
Modal specific faptul c fereastra formular pstreaz controlul pn cnd este
nchis.
Un formular conine o serie de obiecte care fac posibil manipularea datelor din tabele
sau interogri, afiarea unor explicaii referitoare la date i evidenierea acestora astfel nct s se
realizeze o interfa prietenoas cu utilizatorul.
Amplasarea controalelor, modificarea sau tergerea acestora se poate face numai n
modul proiectare direct a formularului (design). Oricnd se poate trece din modul proiectare
(design) n modul de vizualizare a formularului (form view) i invers. Aceasta ne permite s
avem imediat controlul asupra modificrilor fcute. Trecerea ntre cele dou modaliti de
vizualizare se face prin apsarea primului buton din partea stng a barei specifice formelor aa
cum se vede n imaginea urmtoare:
90 Lector univ. drd. Mihai Gavot\ - Baze de date
Obiectele disponibile pentru a fi amplasate n formular sunt prezentate n fereastra de
instrumente (toolbox). Aceasta poate fi fcut vizibil prin apsarea butonului sau din meniu
alegnd succesiv opiunile View Toolbox.
Modalitatea de a amplasa ntr-un formular unul din obiectele de control
prezentate n fereastra cu instrumente (Toolbox), este urmtoarea:
- se selecteaz obiectul ales prin executarea unui clic cu mouse-ul deasupra
acestuia;
- se deplaseaz mouse-ul deasupra formularului observnd c prompter-ul su
are o form de cruce i are agat de el pictograma obiectului selectat;
- se execut un clic cu mouse-ul pe formular (acolo unde se dorete a fi plasat
colul din stnga sus al obiectului) i se deplaseaz mouse-ul (cu butonul din
stnga apsat, prin drag & drop) pn cnd dreptunghiul format ajunge la
dimensiunea dorit pentru obiect. n acel moment se elibereaz butonul din
stnga al mouse-ului.
n continuare vom descrie principalele obiecte din fereastra de instrumente, detaliindu-le
pe cele mai des utilizate:
Pointer Obiect de control care se activeaz n mod automat atunci cnd este afiat
fereastra cu instrumente de proiectare. Are rol de a deselecta obiectul selectat n acel
moment i de a aduce mouse-ul la forma standard, adic cea de sgeat.
Vrjitor (wizard) Obiect de control care permite activarea / dezactivarea instrumentelor
vrjitor. Ele ajut la crearea automat a obiectelor de control complexe, cum sunt:
butoanele de comand, listele, listele derulante, gruprile de opiuni, subformularele.
Etichet (label) Obiect de control care creeaz o caset cu text. Acest text nu poate fi
modificat la momentul execuiei.
Caset de text (text box) Obiect de control care creeaz o caset n care se afieaz i pot
fi actualizate valorile din cmpurile tabelelor, interogrilor sau alte valori introduse de
utilizator. Acest obiect este nsoit de o etichet n care este prezentat la execuie
denumirea cmpului sau a variabilei a crei valoare este afiat.
Grup de opiuni (option group) Obiect de control ce creeaz o caset n care pot fi
amplasate mai multe obiecte, n general de acelai fel: butoane de opiune, comutatoare,
casete de validare. Din cadrul grupului poate fi selectat un singur obiect la un moment dat.
Buton comutator (Toggle button) Obiect de control care creeaz un buton cu dou stri,
corespunztoare valorilor Da(Yes) / Nu(No), i permite utilizatorului s selecteze una dintre
ele.
Buton de opiune (option button) Obiect de control similar butonului comutator. Se
utilizeaz cel mai frecvent n cadrul grupurilor de opiuni pentru a selecta una dintre ele.
Este nsoit de o etichet n care este explicat semnificaia opiunii respective.
FORMULARE {I RAPOARTE 91
Caset de validare (check box) Obiect de control similar butonului comutator.
List derulant (combo box) Obiect de control realizat din combinaia dintre o caset de
text n care se pot introduce valori i o list din care se poate alege o valoare. Este indicat
s fie creat cu ajutorul vrjitorului specializat.
List (list box) Obiect de control care conine o list de valori din care poate fi aleas una.
Buton de comand (command button) Obiect de control care atunci cnd este apsat
execut o comand sau o succesiune de comenzi.. Este indicat s fie creat cu ajutorul
vrjitorului specializat deoarece acesta ofer spre alegere cele mai frecvent ntlnite
aciuni pe care le putem asocia butonului. Vrjitorul va scrie n locul nostru procedura n
limbaj VBA asociat evenimentului On Click. Putem vedea coninutul procedurii fie din
fereastra de proprieti a controlului, apsnd butonul () dup ce n prealabil am selectat
evenimentul On Click, fie selectnd Build event din meniul contextual al controlului.
Imagine (image) Obiect de control care permite afiarea unui fiier grafic cu extensia
.bmp, .ico, .gif, etc. Acest fiier se afl n afara bazei de date i nu poate fi modificat din
Access.
Obiect cadru nelegat (unbound object frame) Obiect de control care permite afiarea n
formular a unui obiect (document, grafic, multimedia) importat dintr-o alt aplicaie
Windows (Word, Excel, Paint, Sound Recorder).
Obiect cadru legat (bound object frame) Obiect de control care permite afiarea n
formular a unui obiect memorat ntr-un cmp de tip OLE Object al unei tabele.
Delimitator de pagin (page break) Obiect de control care mparte formularul n mai
multe pagini. Nu este afiat pe formular la execuie dar determin imprimanta s fac salt la
pagin nou n cazul tipririi formularului.
Control de tip tab (tab control) Obiect de control care permite gruparea celorlalte
controale amplasate n formular pe pagini asemntoare cu cele ale unei agende. Trecerea
de la o pagin la alta i vizualizarea controalelor acesteia se face apsnd indexul din partea
de sus care conine un text explicativ despre coninutului paginii.
Subformular (subform) Obiect de control ce permite ataarea la un formular a unui alt
formular care trebuie s fi fost creat anterior. De obicei datele din subformular sunt legate
logic de cele din formularul principal.
Linie (line) Obiect de control care permite amplasarea unei linii n formular. Poate avea
culori i grosimi diferite, fiind folosit la evidenierea anumitor zone de pe formular.
Dreptunghi (rectangle) Obiect de control care permite ncadrarea altor controale sau
grupuri de controale n dreptunghiuri de diferite dimensiuni i culori.
Alte controale (more controls) Buton de control care permite afiarea altor controale
(mai rar utilizate) nregistrate n Access.
92 Lector univ. drd. Mihai Gavot\ - Baze de date
Dac n timpul proiectrii dorim s selectm un obiect vom executa un clic cu mouse-ul
deasupra acestuia. Dac dorim s selectm mai multe obiecte simultan, acest lucru se face innd
apsat tasta Shift n timp ce cu mouse-ul dm clic deasupra obiectelor dorite. Deselectarea se
face innd tasta Shift apsat i dnd clic cu mouse-ul deasupra obiectului care este deja
selectat. Avnd mai multe obiecte selectate simultan, le vom putea muta, redimensiona sau seta
acele proprieti care le sunt comune tuturor.
Fiecare dintre controalele enumerate mai sus, la fel ca i obiectul Formular (form) despre
care am vorbit mai nainte, au proprieti i evenimente la care pot reaciona. Proprietile
specifice controalelor sunt vizibile n fereastra de proprieti atunci cnd obiectul respectiv a fost
selectat. Principalele proprieti ale controalelor ce pot fi amplasate ntr-un formular sunt:
Proprieti ce se refer la aspectul obiectelor de control:
Caption conine un text afiat de ctre control. Este o proprietate specific
controalelor care nu-i modific valoarea n timpul execuiei;
Visible determin afiarea sau nu a controlului n timpul execuiei formularului;
Left stabilete coordonata orizontal a colului stnga sus al obiectului de control;
Top stabilete coordonata vertical a colului stnga sus al obiectului de control;
Width stabilete limea controlului;
Height stabilete nlimea controlului;
Back Style determin dac afiarea controlului se face normal sau transparent;
Back Color stabilete culoarea de fundal a controlului;
Border Style specific tipul de linie care va constitui marginea (bordura)
controlului;
Border Color specific ce culoare are bordura (marginea);
Border Width specific grosimea bordurii;
Fore Color specific ce culoare va avea textul afiat de control;
Font Name permite alegerea dintre fonturile instalate pe calculator a aceluia cu care
se va scrie textul afiat de control;
Font Size stabilete dimensiunea fontului;
Picture specific numele i calea fiierului grafic ce va fi afiat n interiorul
controlului (pentru imagini i butoane de comand);
Text Align specific modul de aliniere a textului afiat n interiorul controlului
(stnga, dreapta, centrat sau fr aliniere).
Proprieti ce se refer la sursa din care obiectele de control se alimenteaz cu date:
Control Source poate fi un cmp dintr-o tabel sau dintr-o interogare sau poate fi o
expresie de calcul construit cu ajutorul vrjitorului specializat (expresion builder).
O expresie este ntotdeauna precedat de semnul =;
Input Mask indic formatul folosit la introducerea datelor (numai pentru cmpul
caset de text);
Default Value specific o valoare implicit pe care o va avea iniial controlul;
Validation Rule specific o condiie pe care trebuie s o ndeplineasc datele care
sunt introduse n control;
Enabled specific dac respectivul control este activ sau inactiv.
Row Source specific pentru controalele de tip list, denumirea sursei de date
pentru elementele listei;
Row Source Type specific pentru controalele de tip list, tipul sursei de date (tabel,
interogare, list de valori, etc).
FORMULARE {I RAPOARTE 93
Proprieti care se refer la evenimente ce pot avea loc n legtur cu obiectele de control:
On Click evenimentul apare la executarea unui clic cu mouse-ul deasupra
controlului;
On Got Focus evenimentul apare atunci cnd controlul este focalizat, adic
pointerul se poziioneaz n acest control;
On Lost Focus evenimentul apare atunci cnd controlul este prsit, adic pointerul
se poziioneaz n alt control sau este activat o alt fereastr;
Before Update evenimentul se declaneaz naintea actualizrii datelor din control;
After Update evenimentul se declaneaz dup actualizarea datelor din control;
On Change evenimentul se declaneaz atunci cnd datele din control sunt
modificate.
Pentru fiecare eveniment se pot specifica aciunile care vor fi executate atunci cnd el se
produce. Aciunile sunt descrise folosind instruciuni n limbajul Visual Basic for Applications.
Alte proprieti ale controalelor:
Name specific denumirea controlului. Fiecare control are un nume unic. Acest
nume este atribuit automat la crearea obiectului dar poate fi modificat astfel nct s
fie ct mai sugestiv.
Status Bar Text specific un text care va fi afiat la execuie n bara de status atunci
cnd controlul este accesat;
Control Tip Text conine mesajul afiat la execuie atunci cnd se ntrzie cu
mouse-ul deasupra controlului, fr a apsa butoanele mouse-ului.
Un control foarte util pentru actualizarea datelor din tabelele bazei de date este controlul
subformular (subform). Acest tip de control este folosit n special pentru actualizarea acelor
tabele care sunt legate ntre ele printr-o relaie unu la muli.
Formularul principal afieaz o nregistrare din prima tabel iar subformularul afieaz
toate nregistrrile relaionate cu aceasta din cea de-a doua tabel..
n cazul actualizrii simultane a mai multor tabele relaionate, trebuie inut seama c un
formular principal poate conine oricte subformulare dar un subformular poate conine la rndul
su un singur subformular (pot exista maxim trei niveluri de formulare).
Un obiect subformular se poate crea cu ajutorul vrjitorului specializat. Este necesar ca
nainte de a crea un subformular s fie create tabelele i s se stabileasc relaia ntre cmpurile
acestora (cheia primar a unei tabele i cheia extern din cealalt tabel).
S urmrim n continuare modul de creare a unui subformular n care se actualizeaz
deplasrile pe care le fac persoanele angajate la o firm. Tabelele relaionate pe care dorim s le
actualizm sunt Date angajai i Deplasri angajai. Considernd tabela de baz ca fiind Date
angajai, ntre tabele poate exista o relaie unu la muli, adic unui angajat i corespund
niciuna, una sau mai multe deplasri.
Legtura dintre cele dou tabele se face prin cmpul cod persoana care n prima tabel
este cheie primar iar n a doua tabel este cheie extern. Nu este obligatoriu s avem acelai
nume pentru cmpurile corespondente din cele dou tabele dar acest lucru uureaz procesul.
Formularul principal de actualizare a tabelei Date angajai a fost prezentat anterior. Deschidem
acest formular n modul proiectare (design) i amplasm n el un control de tip subformular.
94 Lector univ. drd. Mihai Gavot\ - Baze de date
Dac este activat butonul vrjitor din fereastra de instrumente, va intra n execuie
asistentul specializat care va afia urmtoarea fereastr de dialog:
Vom alege ca subformular, Deplasri angajai, care a fost creat anterior.
n urmtoarea fereastr de dialog se stabilesc cmpurile din cele dou tabele dup care s-a
stabilit relaia. Avnd n ambele tabele cmpul cod persoana, vrjitorul a identificat singur
legtura. Exist i cazuri n care trebuie s specificm noi cmpurile de legtur.
FORMULARE {I RAPOARTE 95
Procesul de creare a subformularului se ncheie aici i denumirile cmpurilor dup care se
stabilete legtura sunt nscrise automat n proprietile Link Master Field i Link Child Field,
proprieti specifice controlului subformular.
Lansnd n execuie formularul principal (prin Form View), el va arta ca n figura de mai
jos i va permite actualizarea simultan a celor dou tabele relaionate.
n acest fel, prin pstrarea corespondenei ntre cheia primar i cheia extern (strin) a
tabelelor este asigurat i integritatea referenial a bazei de date.
O alt modalitate de a crea un subformular n interiorul unui formular principal este
urmtoarea:
1. Se deschide n mod proiectare (design) formularul care constituie formularul
principal;
2. Se activeaz fereastra de proiectare a bazei de date;
3. Folosind tehnica drag&drop se alege obiectul subformular i se plaseaz n interiorul
formularului principal;
4. Se seteaz proprietile obiectelor i eventual se trateaz evenimentele acestora;
5. Se salveaz formularul principal.
Orice modificare fcut ulterior asupra subformularului, ca obiect de tip formular, se va
reflecta i n formularul principal.
7.2. RAPOARTE (REPORTS)
Situaiile finale pun cel mai bine n valoare informaiile coninute ntr-o baz de date. Ele
sunt necesare n primul rnd managerilor dar sunt utile i celorlali operatori care contribuie la
luarea deciziilor.
Rapoartele se constituie ca obiecte ale bazelor de date Access sau ale software-ului
front-end special destinate pentru realizarea situaiilor finale. Prin intermediul rapoartelor datele
din tabele i cele rezultate n urma interogrilor pot fi consultate i listate ntr-un mod superior.
Access 2000 ofer instrumente evoluate de proiectare a rapoartelor, uurnd astfel foarte
mult munca utilizatorilor care doresc s pun n valoare rezultatele interogrilor lor. i aici este
posibil lucrul cu vrjitori iar setul de obiecte oferit proiectanilor n modul Design View este
96 Lector univ. drd. Mihai Gavot\ - Baze de date
similar celor de la formulare. Pentru proiectarea rapoartelor sunt disponibile o multitudine de
controale: cmpurile text box ce pot fi formatate pentru afiarea datelor, etichetele (labels),
subrapoartele, obiectele image, obiectele tip figuri geometrice, etc Avnd la dispoziie aceste
tipuri de controale, prin mbinarea lor, proiectarea rapoartelor devine accesibil i celor fr o
pregtire informatic superioar n acest domeniu.
Atunci cnd vom comuta n fereastra de prezentare a bazei de date n seciunea obiectelor
de tip raport, pe ecran vor aprea, aa cum am vzut i la celelalte tipuri de obiecte, cele dou
modaliti de creare a obiectelor de tip raport:
Create report in Design View
Create report by using wizard
Dac exist rapoarte create anterior, numele acestora vor fi afiate n continuare.
Opiunile sunt similare celor de la formularele i ofer aceleai posibiliti de proiectare
n modul Design View sau n lucrul cu wizard-ul. Deoarece au fost prezentate n detaliu la
capitolul formulare, n continuare se va insista pe particularitile rapoartelor i pe cteva
exemple practice de proiectare a acestora.
Iat macheta de proiectare vizual i caseta Toolbox a unui raport, obinute n urma
selectrii opiunii Create report in Design View:
FORMULARE {I RAPOARTE 97
n continuare va urma amplasarea controalelor n macheta de proiectare astfel nct s se
obin raportul dorit. Titlul raportului i data listrii se scriu de obicei n seciunea Report
Header, capul de tabel al raportului (ce va trebui s fie prezent pe fiecare pagin) n Page
Header, liniile tabelului n Detail, numrul de pagin n Page Footer, locurile pentru semnturi
i probabil totalurile generale n Report Footer.
Toate acestea vor deveni mai clare dup ce vom studia o machet simpl de proiectare a
unui raport realizat de ctre un vrjitor.
S presupunem c se dorete un raport care s prezinte:
n ordine alfabetic numele persoanelor, i pentru fiecare persoan s afieze:
o adresa,
o data angajrii,
o numrul de telefon.
n acest sens vom selecta opiunea Create report by using wizard, care va determina
parcurgerea urmtoarei succesiuni de dialoguri:
1.
98 Lector univ. drd. Mihai Gavot\ - Baze de date
2.
3.
4.
FORMULARE {I RAPOARTE 99
5.
6.
Iat raportul furnizat de wizard n mai puin de 30 de secunde:
100 Lector univ. drd. Mihai Gavot\ - Baze de date
Macheta de proiectare a raportului (generat automat de wizard) n modul Design este:
Se observ:
titlul raportului Date angajati scris ntr-un control Text box n seciunea Report
Header,
capul de tabel n seciunea Page Header,
coninutul tabelului in seciunea Detail,
data ( =Now( ) ) i numrul de pagin Page n Page Footer.
O alt facilitate puternic a rapoartelor Access este Sorting and Grouping care ofer
posibilitatea gruprii informaiilor afiate n raport.
S presupunem c ni se solicit afiarea raportului anterior cu numele persoanelor i
informaiile aferente acestora (adresa i telefonul) grupate dup data angajrii. Forma de
raport solicitat este:
FORMULARE {I RAPOARTE 101
Acest raport va fi obinut n urma unor modificri minime fcute n modul de lucru
Design View asupra machetei de proiectare a raportului anterior. Va fi necesar o nou seciune:
data angajarii Header i o grupare cresctoare (ascending) dup acest cmp (data angajrii).
Apelnd meniul contextual prin clic pe butonul drept al mouse-ului vom obine:
Alegnd opiunea Sorting and Grouping din meniul contextual, va aprea urmtorul
dialog n care vom alege cmpul data angajrii ca prim cheie de grupare, Ascending ca ordine
de sortare cresctoare i vom schimba n Yes valoarea cmpului Group Header:
Nu am setat la valoarea Yes i opiunea din cmpul Group Footer pentru c nu dorim s
scriem nimic atunci cnd se termin un grup de persoane angajate la aceeai dat. De obicei n
seciunile de sfrit ale grupurilor se afieaz totaluri ale valorilor cmpurilor pentru fiecare
grup.
n urma acestor operaiuni macheta de proiectare va deveni:
102 Lector univ. drd. Mihai Gavot\ - Baze de date
Se observ apariia unei seciuni noi: data angajarii Header.
n continuare prin drag & drop vom trage eticheta data angajrii din capul de tabel n
aceast seciune, i apoi tot prin drag & drop, alturi, vom plasa cmpul (controlul Text box)
data angajrii din Detail.
Macheta de proiectare va deveni:
Pentru a afia data angajrii ngroat (bold) i n formatul Medium Date este necesar s
fie schimbate proprietile acestui control. Apelnd meniul contextual al controlului i solicitnd
opiunea Properties vom avea acces la proprieti:
FORMULARE {I RAPOARTE 103
Dac se dorete vizualizarea pe ecran a raportului se apas butonul din
Toolbar. Va fi afiat pe ecran raportul n forma solicitat, adic cea care a fost prezentat cnd
s-a formulat problema.
8. LUCRUL CU HIPERLEG|TURI
{I GENERAREA PAGINILOR WEB
8.1. SCURT| INTRODUCERE
n timp, descoperirile tiinifice au schimbat fundamental modul de comunicare i
relaionare al oamenilor. Noile forme de comunicare au influenat, fiecare n felul ei societatea.
Tiparul, a fcut posibil n secolul XV multiplicarea textului i a determinat o cretere a
circulaiei informaiei, care n cele din urm, a reprezentat baza pe care s-au cldit multe
schimbri radicale ale acelor vremuri.
n secolul XX radioul i televiziunea au adus sunetul i imaginea. Prima generaie
mass-media electronic a extins accesul individului la informaie, exercitnd asupra unei largi
pri a populaiei o influen de omogenizare. Aceast dezvoltare a avut un rol important n
formarea societii informaionale, o realitate fundamental a epocii prezente.
n ultimii ani o nou tehnologie comunicaional ncepe s se impun: reelele interactive
de calculatoare ce fac posibile stocarea i livrarea unei mari cantiti de informaie ctre unul sau
mai muli receptori.
Informaia procesat digital n aceste reele poate fi multiplicat, manipulat i distribuit
cu mare uurin. Mai mult, spre deosebire de comunicarea unidirecional specific
mass-mediei tradiionale, reelele interactive se bazeaz pe un flux comunicaional
omnidirecional care permite utilizatorului asumarea unui rol activ. Muli cercettori susin c
reelele interactive dein potenialul de revoluionare a modului nostru de a comunica, a munci, a
cumpra i a ne distra. Revoluie sau nu, un lucru este ns cert: ele au i vor avea un impact
semnificativ asupra vieii noastre.
n prezent cea mai accesibil i ntins reea interactiv este internetul, reeaua
reelelor. Un sinonim tot mai mult utilizat pentru internet este autostrada informaional. Pn
acum 10-15 ani, utilizarea internetului era limitat doar la cteva medii universitare, ea exista
doar n lumea oamenilor de tiin, a cercettorilor i a studenilor. n prezent, internetul are peste
100 de milioane de utilizatori, rata de cretere exponenial nefiind egalat de nici un alt mediu
tradiional.
Creterea utilizrii internetului a fost i este determinat de mbuntirea interfeelor de
acces reprezentate n principal de browser-ele de navigare, care au devenit din ce n ce mai
prietenoase, de scderea costurilor serviciilor de telecomunicaii, a calculatoarelor i aparatelor
adiionale (modem, etc) i, poate cel mai important, de posibilitatea de a uura comunicarea
dintre oameni i de a prezenta informaie tiinific, comercial, publicitate i divertisment.
Presiunea creat de creterea exploziv a internetului din ultimii zece ani a determinat
marile firme de software s-i regndeasc politicile de dezvoltare a produselor informatice astfel
nct acestea s respecte standardele de interfa Windows n lucrul cu utilizatorul i s ofere pe
lng facilitile specifice programelor de aplicaie i faciliti de comunicare i acces prin
internet. Astfel, firme cum sunt Microsoft, Borland-Inprise, IBM au nceput s creeze medii
vizuale de dezvoltare rapid a aplicaiilor software n care clasele de obiecte internet dein o
pondere din ce n ce mai mare. Posibilitile oferite de aceste produse au determinat dezvoltatorii
de aplicaii software s utilizeze noile tehnologii i s includ n aplicaiile lor faciliti de
106 Lector univ. drd. Mihai Gavot\ - Baze de date
comunicare cu utilizatorii, de accesare la distan a datelor i informaiilor de comer electronic,
de documentare, toate acestea prin intermediul serviciilor internet.
De asemenea, noile sistemele de operare au nceput s ofere funcii i programe
performante de apel la serviciile internet care s fac posibil funcionarea optim a aplicaiilor
ce solicit accesul la internet.
n prezent adresele Web i adresele de e-mail au intrat n limbajul curent i apar tot mai
des pe crile de vizit. Prin intermediul lor, ntre utilizatori, poate fi vehiculat cu costuri foarte
reduse un volum impresionant de informaie.
8.2. WORLD WIDE WEB
World Wide Web sau WWW este cel mai utilizat i cel mai nou serviciu de informaii
care a aprut pe internet. De departe cele mai dese motive de folosire a internetului sunt
serviciile WWW i pota electronic.
Standardul WWW a fost definitivat n 1992 de ctre CERN (Laboratorul European
pentru Particule Fizice), dar dezvoltarea accelerat a Web-ului a nceput n 1993 cnd NCSA
(National Centre for Supercomputing Application) a creat primul browser grafic de Web
Mosaic.
World Wide Web-ul se bazeaz pe o tehnologie denumit hypertext. De fapt WWW este
o ncercare de organizare a tuturor informaiilor din Internet, plus orice alte informaie local, ca
un set de documente hypertext. Trecerea de la un document la altul se face prin legturi.
nainte de browser-ele grafice, utilizarea web-ului i n general a internetului necesita
cunoaterea unor comenzi complicate, iar pe ecranul calculatorului nu era afiat dect text
simplu. Browser-ele moderne i WWW au transformat internetul ntr-o colecie de documente
grafice prin care utilizatorul poate s navigheze folosind o interfa de tip point-and-clic bazat
pe hiperlegturi. Cnd utilizatorul de Web d clic pe o legtur (cuvnt subliniat / colorat, buton
sau imagine n spatele cruia se ascunde o adres internet) el se deplaseaz (la o alt adres)
ntr-o alt pagin a aceluiai document sau ntr-un alt document din Web. Paginile sunt
organizate n site-uri de Web care reprezint colecii de documente cu aceeai tem.
Site-urile de Web au la baz fiiere codificate cu ajutorul unui limbaj de programare
simplu numit HTML (HyperText Markup Language). Comenzile HTML pot fi scrise cu un
editor de text (de exemplu Notepad) dar exist i programe foarte puternice de dezvoltare a
paginilor Web (Frontpage, Dreamweaver a). Fiierele n format HTML au devenit un standard
al zilelor noastre. Multe aplicaii informatice ntre care Word, Access, PowerPoint i Outlook au
abilitatea de converti i salva documentele proprii n format HTML. De asemenea ele pot
importa i lucra cu fiiere HTML.
Simplitatea limbajului de programare HTML i structura descentralizat a internetului au
determinat n mare parte creterea exploziv a Web-ului din ultimii ani. Alte dou cauze
importante ale creterii spectaculoase a Web-ului sunt accesibilitatea sa i independena de
platform.
LUCRUL CU HIPERLEG|TURI {I GENERAREA PAGINILOR WEB 107
8.3. TEHNOLOGII {I PRODUSE PROGRAM TIP CLIENT INTERNET
n paralel cu limbajul HTML au nceput s fie dezvoltate i alte tehnologii i standarde
care faciliteaz i mbuntesc accesul la paginile Web i uureaz lucrul cu obiectele bazelor de
date. Iat cteva dintre acestea:
XML (Extensible Markup Language) o extensie limbajului HTML care face posibil
pstrarea atributelor de formatare ale documentului iniial. Access 2000 folosete XML
pentru a stoca paginile DAP (Data Access Pages) i obiectele ADO (ActiveX Data
Objects).
DHTML (Dynamic HTML) este o tehnologie client care faciliteaz un acces evoluat la
paginile Web printr-o afiare special a unor seturi de date i lansare n execuie a unor
script-uri cu ajutorul browser-ului din calculatorul client.
DAP (Data Access Pages) permite distribuirea n internet a datelor din formulare,
interogri i tabele Access, n formatul DHTML.
ASP (Active Server Pages) este o aplicaie oferit de browser-le Internet Explorer
ncepnd cu versiunea 4.0 care permite includerea script-urilor VBScript (VBS) n server
pentru programarea elementelor interactive din paginile Web i pentru exploatarea
bazelor de date n internet.
VBS (VBScript Visual Basic Scripting Edition) este un limbaj de script care utilizeaz
un set simplificat de funcii ale limbajului Visual Basic for Applications (VBA) care este
limbajul de programare al Access-ului i al majoritii programelor din MS Office 2000.
Codurile VBS pot fi incluse n paginile Web pentru a seta proprietile controalelor
ActiveX.
Cteva dintre cele mai importante produse program tip client internet sunt:
Internet Explorer este n prezent browser-ul cel mai utilizat pentru navigare n internet.
ncepnd cu versiunea 5.0 ofer faciliti pentru lucrul cu paginile DAP n Access 2000.
Este compatibil cu standardele HTML, DHTML, XML, ActiveX.
NetMeeting este un program util pentru colaborarea n reea. Permite comunicarea vocal
i organizarea de conferine i videoconferine n internet.
Windows Media este un player pentru fiierele de sunet i cele video. Poate furniza
coninut multimedia live i la cerere prin internet i intranet.
Frontpage este un program util pentru crearea de pagini Web i ntreinerea site-urilor.
Asigur Database Connectivity i posibilitatea lucrului cu ASP.
Personal Web Server (PWS) este un server pentru Windows 9x i Windows NT 4.0.
ncepnd cu anul 1997, firma Microsoft i-a reconsiderat poziia n privina software-ului
pe care l producea. n acel an a aprut pachetul de programe de birou MS-Office 97 care
coninea multe mbuntiri fa de versiunile anterioare. A aprut clientul de e-mail Outlook,
programul Word putea ncrca i salva documente n formatul HTML, iar Access-ul 97 avea
inclus, un nou motor pentru lucrul cu bazele de date mult mai performant, permitea tipul de date
hyperlink i putea salva coninutul unor obiecte n format ASP i HTML. De asemenea era
disponibil un toolbar special pentru navigaia n internet. Aceste faciliti reflectau o evident
deschidere a firmei ctre internet.
Microsoft a continuat aceast linie prin noile pachete de programe MS-Office 2000 i apoi
prin MS-Office XP care prin componentele lor aduc foarte multe elemente, faciliti i
108 Lector univ. drd. Mihai Gavot\ - Baze de date
instrumente noi pentru crearea obiectelor apte s lucreze n intranet i n internet. Access 2000 a
beneficiat din plin de aceste mbuntiri: posibilitatea lucrului cu hiperlegturi, generarea
paginilor Web din tabele i interogri, folosirea abloanelor HTML, importul / exportul datelor
n/din tabelele HTML, crearea paginilor Web dinamice, posibilitatea lucrului cu tehnologiile
ActiveX, ASP, DAP i DHTML sunt numai cteva dintre acestea.
8.4. TIPUL DE DATE HYPERLINK
Tipul de dat hyperlink este echivalent cu tipul de cmpuri link din paginile Web care
atunci cnd sunt accesate produc saltul (deplasarea) ctre o adres (marcat printr-o ancor) n
cadrul aceleiai pagini sau ctre o alt pagin aflat pe acelai site sau ntr-un alt site. De
asemenea, saltul poate fi i ctre un fiier aflat n calculatorul local.
Artam ntr-un subcapitol anterior c n prezent adresele Web i adresele de e-mail au
intrat n limbajul curent i apar tot mai des pe crile de vizit. Mai nou a devenit o mod ca
multe CV-uri s fie depuse n pagini Web pentru a putea fi accesate de ct mai multe persoane
din orice loc de pe glob. Este posibil ca persoane individuale s dein site-uri personale n care
s prezinte produsele activitii lor.
S presupunem n acest sens c dorim s extindem datele despre angajai cu nc dou
informaii utile: adresele e-mail ale acestora i adresele paginilor Web personale sau trimiteri
ctre CV-urilor lor aflate ca fiiere Word (.doc) pe calculatorul local. Pentru aceasta va trebui s
extindem structura tabelei Date angajai cu nc dou cmpuri: adresa e-mail i adresa web /
CV. Evident cele dou cmpuri vor trebui s fie de tipul hyperlink. Vom insera aceste cmpuri n
structura tabelei Date angajai, sub cmpul adresa:
Dup salvarea modificrilor, la consultarea tabelei Date angajai va fi disponibil
urmtoarea fereastr prin intermediul creia pot fi ncrcate / actualizate datele n modul
Datasheet View:
LUCRUL CU HIPERLEG|TURI {I GENERAREA PAGINILOR WEB 109
Se observ cele dou cmpuri noi (adresa e-mail i adresa web / CV) n care sunt
ncrcate cteva date adecvate tipului hyperlink.
Printr-un clic dat pe butonul din dreapta al mouse-ului cnd suntem plasai pe un cmp
hyperlink, Access-ul deschide un meniu contextual care prin opiunea Hyperlink prezint un
submeniu ce ofer urmtoarele posibiliti (Edit Hyperlink , Open, Open in New Window,
Copy Hyperlink, Add to Favorites, Display Text, Remove Hyperlink):
110 Lector univ. drd. Mihai Gavot\ - Baze de date
Alegnd Edit Hyperlink se va lansa un dialog care face posibil ncrcarea datelor de
hiperlegtur:
textul care va aprea n cmp
adresa de Web sau de e-mail
subiectul care se dorete s apar n linia Subject a mesajului e-mail
La apsarea butonului Screen Tip va aprea urmtorul dialog:
care permite ncrcarea mesajului de ajutor (sfat)
ce se dorete s apar pe ecran dac utilizatorul
ntrzie mai mult de 2 secunde cu prompter-ul
mouse-ului deasupra cmpului fr s apese
nici-un buton.
n mod similar s-au ncrcat i datele din cmpul adresa web / CV unde n locul adresei
e-mail au fost introduse adresele Web ale angajailor (exemplu: www.moresoft.ro).
LUCRUL CU HIPERLEG|TURI {I GENERAREA PAGINILOR WEB 111
Dac a fost introdus o adres Web dialogul de ncrcare a datelor de hiperlegtur va fi:
Se observ existena butoanelor File, Web Page i Bookmark Astfel, dac se
dorete, exist posibilitatea ca n cmpul de adres s fie ales prin intermediul butonului File un
nume de fiier existent pe calculatorul local sau n intranet. De exemplu la nregistrarea 4 din
tabela Date angajai s-a ales fiierul CV Dan Vasilescu.doc. n plus, dac respectivul fiier este
un fiier .doc sau .html opional, este posibil deschiderea lui direct la o anumit seciune, care
ar putea fi o ancor dintr-un fiier html, un bookmark dintr-un fiier Word sau chiar un simplu
cuvnt sau o expresie din acel fiier.
S presupunem c pentru Dan Vasilescu care nu are pagin Web personal unde s existe
CV-ul su, s-a ales prezentarea pentru consultare a coninutului fiierului CV Dan Vasilescu.doc
din calculatorul local. Pentru c se dorete ca fiierul s se deschid direct la capitolul Studii, la
adres se va trece:
CV Dan Vasilescu.doc#Studii
Este de remarcat caracterul # care desparte numele fiierului de numele seciunii sau
cuvntul dorit. n acest caz secvena din dialogul de hyperlink este:
112 Lector univ. drd. Mihai Gavot\ - Baze de date
8.5. GENERAREA PAGINILOR WEB
O alt clas de obiecte pus la dispoziie de Access 2000 este cea a paginilor internet
Pages.
Seciunea Pages ofer trei opiuni:
Create data access pages in Design view crearea paginilor internet de acces la date n
modul de lucru Design view.
Create data access pages by using wizard crearea paginilor internet de acces la date
utiliznd vrjitorul specializat.
Edit Web page that already exists modificarea unor pagini Web ce au fost realizate
anterior. Acestea pot fi fiiere HTML create cu Access sau cu alte produse. Opiunea
pune la dispoziia proiectanilor un instrument vizual de lucru care rivalizeaz cu multe
alte produse performante din aceeai categorie.
Dac vom alege Create data access pages by using wizard vom intra ntr-o succesiune de
dialoguri care, completate din aproape n aproape, vor construi din sursele de date selectate
(tabele i interogri) pagina internet ce va conine cmpurile necesare pentru consultare sau
actualizare. Totodat utilizatorului din internet sau din intranet i va fi pus la dispoziie un set de
instrumente pentru navigarea n cadrul coleciei de date disponibile:
S presupunem c se dorete o pagin internet care s fac disponibil actualizarea la
distan a urmtoarelor cmpuri din tabela Date angajai:
nume persoana, adresa, adresa e-mail, adresa web / CV, data angajrii, telefon i
observaii.
LUCRUL CU HIPERLEG|TURI {I GENERAREA PAGINILOR WEB 113
Pentru acesta, dup ce dm dublu-clic pe opiunea Create data access pages by using
wizard va aprea urmtorul dialog prin intermediul cruia vor fi selectate din tabela Date
angajai cmpurile dorite:
Dup apsarea butonului <Next> va aprea un alt dialog care permite opional gruparea:
114 Lector univ. drd. Mihai Gavot\ - Baze de date
Urmtorul dialog ne ofer posibilitatea alegerii unor chei de sortare pentru prezentarea
datelor. n acest exemplu s-a ales o singur cheie de sortare - nume persoana - care va determina
afiarea nregistrrilor n ordine alfabetic:
Dup apsarea butonului <Next>, ultimul dialog solicit numele paginii:
LUCRUL CU HIPERLEG|TURI {I GENERAREA PAGINILOR WEB 115
Nu mai rmne dect de apsat butonul <Finish> i pagina este gata. Ea va fi prezentat
n modul de lucru Design View pentru a putea fi operate eventuale modificri (dac se consider
necesar). Va aprea o machet de proiectare foarte asemntoare celor folosite pentru crearea
formularelor:
Fr nici o modificare n formular, mergnd numai pe ce a propus wizard-ul, la lansarea
n execuie (prin clic pe butonul View) se va obine:
Aceast pagin se poate salva cu numele Date_angajai.htm. Va rezulta un fiier HTML
posibil de consultat prin intermediul browser-ului Internet Explorer.
116 Lector univ. drd. Mihai Gavot\ - Baze de date
Dac pe calculator este instalat un server Microsoft atunci la lansarea fiierului
Date_angajai.htm sub Internet Explorer va aprea urmtoarea fereastr aproape identic cu
cea de sub Access:
Diferena este c aa cum pagina este vzut sub programul Internet Explorer lansat de
pe calculatorul local, tot aa ea va fi vzut sub un alt Internet Explorer lansat de pe un
calculator aflat la distan (eventual ntr-o alt ar de pe un alt continent).
Dac pe calculatorul ce conine baza de date este instalat un server Microsoft de exemplu
PWS (Personal Web Server) i numele server-ului este moresoft, i dac fiierul
Date_angajati.htm este plasat n folder-ul C:\InetPub\wwwroot, atunci comanda din linia de
adrese a browser-ului (care obligatoriu trebuie s fie Internet Explorer) va fi:
http://moresoft/Date_angajati.htm
9. ADMINISTRAREA {I ASIGURAREA SECURIT|}II BAZELOR
DE DATE ACCESS
Bazele de date moderne au fost proiectate astfel nct s asigure faciliti de lucru n
reea. Majoritatea dintre ele pot funciona n regim multiutilizator i ofer deschidere ctre
internet. De aceea, securitatea bazelor de date este un domeniu ce nu mai poate fi ignorat. Pe
lng performanele de conectivitate, de acces la date, de asigurare a integritii acestora,
posibilitile de import / export, instrumentele de dezvoltare oferite, elementele de securitate
constituie de asemenea criterii importante atunci cnd se alege un tip sau altul de baz de date.
Access 2000 este un sistem de gestiune a bazelor de date modern la proiectarea cruia pe
lng toate celelalte elemente de performan s-au avut n vedere ca prioriti i posibilitile de
compactare, recuperare i reparare a datelor n cazul apariiei unor defecte dar i asigurarea unui
puternic sistem de securitate.
Defectele ce necesit o reparare a datelor pot fi datorate unor cauze interne sau externe
cum sunt:
ntreruperea accidental a curentului electric n timpul lucrului
defectarea unor zone de pe hard-disc
procesri greite ale datelor de ctre programele de aplicaie
alocri defectuase ale spaiului de memorare datorate sistemului de operare
defecte ale memoriei RAM
defecte datorate procesorului, etc.
Asigurarea unui sistem solid de securitate a fost de asemenea una dintre prioriti. n ceea
ce privete asigurarea securitii datelor, Access pune la dispoziie:
posibiliti de criptare / decriptare a bazei de date
lucrul cu parole la nivelul global al bazei de date
lucrul cu parole la nivelul utilizator
posibilitatea acordrii difereniate a drepturilor asupra obiectelor bazei de date pe
proprietari, grupuri i nume de utilizatori.
Compactarea, recuperarea, repararea datelor i prezentarea elementelor de configurare a
securitii Access vor constitui urmtoarele teme abordate.
9.1. COMPACTAREA {I REPARAREA DATELOR
n timpul lucrului, pentru a crete randamentul, Access-ul gestioneaz ntr-un mod
propriu, intern, spaiul fiierelor .mdb n care sunt memorate tabelele i celelalte obiecte ale
bazelor de date.
Pentru Access 2000 sunt prioritare n primul rnd viteza de acces la date i de procesare a
acestora. Spaiul ocupat pe hard-disc de ctre bazele de date (fiierele .mdb) nu mai reprezint o
118 Lector univ. drd. Mihai Gavot\ - Baze de date
problem pentru calculatoarele moderne (echipate cu hard-discuri ce ofer capaciti de peste 10
GB).
Pentru a crete performana de lucru cu bazele de date, de cele mai multe ori Access 2000
sacrific spaiul ocupat de acestea pe hard-disc, ceea ce face ca n timp fiierele .mdb s-i
mreasc dimensiunile ntr-un mod aparent nejustificat. De asemenea, datorit unei exploatri
necorespunztoare sau unor cauze externe, bazele de date se pot corupe ceea ce poate
determina pierderea de date, inconsistena bazelor de date, ruperea legturilor dintre tabele,
lucrul defectuos al obiectelor bazei de date, lipsa vizibilitii acestora, pierderea accesibilitii la
date, etc
La deschiderea bazelor de date Access-ul lanseaz un diagnostic de control, n urma
cruia decide dac acestea sunt corupte sau nu. Dac da, atunci declaneaz automat procedura
de reparare. Verificarea integritii bazelor de date i repararea acestora, se mai pot produce i
atunci cnd se solicit compactarea.
Att compactarea ct i repararea bazelor de date se pot lansa prin intermediul opiunii
Compact and Repair Database disponibil sub Access din meniul Tools, submeniul Database
Utilities:
9.2. CREAREA COPIILOR DE SIGURAN}|
De regul, att compactarea i repararea ct i crearea copiilor de siguran sunt sarcini
ale administratorului bazei de date.
Realizarea periodic a copiilor de siguran este o activitate de administrare foarte
important care, dac este fcut corect, salveaz utilizatorii de multe neplceri ce ar putea fi
ADMINISTRAREA {I ASIGURAREA SECURIT|}II BAZELOR DE DATE ACCESS 119
cauzate de imposibilitatea reparrii i refacerii corecte a bazei de date corupte n urma unor
incidente nedorite.
Literatura de specialitate recomand cteva reguli legate de crearea copiilor de siguran:
crearea zilnic a copiilor
existena a cel puin trei copii
rotaia copiilor pe diferii supori de informaie: benzi magnetice, seturi de dischete
ZIP, CD-uri, hard-discuri
verificarea periodic a copiilor
pstrarea copiilor n locuri diferite.
9.3. SECURITATEA BAZELOR DE DATE
Sistemul de securitate al bazelor de date este un domeniu sensibil i foarte interesant, care
poate influena decizia de alegere a unui anume tip de baz de date n funcie de aplicaia dorit
i de felul reelei gazd. Faptul c majoritatea bazelor de date moderne pot funciona n regim
multiutilizator n intranet sau n internet a schimbat profund concepia despre sistemul de
securitate al acestora care trebuie s asigure protecia mpotriva ncercrilor de acces neautorizat
la obiectele bazei de date.
De regul, pentru securitatea accesului se utilizeaz o schem de autentificare pe baza
numelui de utilizator, apartenenei la un anumit grup de utilizatori, i a parolei personale.
Aceast autentificare asigur funcii de control al accesului, de pstrare a confidenialitii i de
verificare a sursei.
Fiecare utilizator va dispune de o parol personal (parol utilizator). Accesul la
obiectele bazei de date (tabele, formulare, rapoarte etc), este reglementat prin apartenena la un
grup de lucru care are anumite drepturi de acces.
Toi utilizatorii au acces difereniat la informaii i la aplicaii, n funcie de grupul cruia
i aparin i de numele de utilizator alocat.
Alte forme de protecie sunt accesul pe baz de parol la nivelul bazei de date i criptarea
acesteia cu posibilitatea de decriptare prin intermediul unei parole.
9.3.1. Principiile securit\]ii bazelor de date n re]ele locale
Literatura de specialitate recomand urmtoarele principii de securitate ce trebuie
respectate la nivelul reelei locale (LAN) i al bazelor de date:
Fiecare utilizator al reelei trebuie identificat nainte de a i se permite accesul n reea.
Accesul la resursele din reea trebuie difereniat n funcie de drepturile utilizatorului la
acestea.
Aciunile utilizatorilor trebuie monitorizate pentru a se identifica dac acetia au ncercat
intrri sau aciuni frauduloase sau ru intenionate.
Coninutul tabelelor bazelor de date trebuie criptat pentru a nu fi posibil citirea datelor
coninute n acestea prin intermediul programelor utilitare.
Utilizatorii unei baze de date trebuie identificai nainte de a li se permite deschiderea
acesteia.
Sistemul de securitate trebuie s permit acordarea sau retragerea drepturilor utilizatorilor
asupra obiectelor bazei de date.
120 Lector univ. drd. Mihai Gavot\ - Baze de date
9.3.2. Protejarea prin parol\ la nivelul bazei de date
O metod simpl de asigurare a securitii bazelor de date Access este protejarea acestora
printr-o parol primar de acces. Aceast parol va trebui s fie cunoscut de fiecare utilizator al
bazei de date. La fiecare ncercare de acces a bazei de date, nainte ca aceasta s fie deschis, pe
ecran va aprea un dialog care va solicita parola de acces.
Pentru a seta parola primar la nivelul bazei de date este necesar n primul rnd ca
administratorul acesteia (care are toate drepturile) s deschid baza de date n modul Exclusiv i
nu n modul Shared Access, aa cum se deschide de obicei, implicit. Dac o baz de date este
deschis Exclusiv, atunci ea nu mai poate funciona n regimul de lucru multiutilizator, deci
asupra ei nu poate opera dect o singur persoan.
Programul Access ofer posibilitatea de a deschide o baz de date n patru moduri
posibile:
Open este modul implicit de lucru n regim multiutilizator (Shared Acces);
Open Read Only mod de lucru n regim multiutilizator dar permite numai citirea;
Open Exclusive mod de lucru monoutilizator;
Open Exclusive Read Only mod de lucru monoutilizator care permite numai citirea.
Pentru a deschide o baz de date n modul Exclusiv trebuie ncrcat mai nti programul
Access i apoi deschidem baza de date aleas activnd de sub meniul File opiunea Open
(deschide). Va aprea un dialog Open specific programului Access care va oferi posibilitatea
alegerii modului de lucru dorit:
ADMINISTRAREA {I ASIGURAREA SECURIT|}II BAZELOR DE DATE ACCESS 121
Setarea parolei bazei de date (Set Database Password) devine disponibil dup
ncrcarea acesteia n modul Exclusiv (Open Exclusive) i alegerea opiunii Security a meniului
Tools:
Opiunea Set Database Password lanseaz un dialog prin intermediul cruia va putea fi
setat parola:
Odat setat parola, la fiecare ncercare de deschidere a bazei de date va fi lansat un
dialog de introducere a parolei, aceasta trebuind s fie cunoscut de fiecare utilizator..
9.3.3. Criptarea bazei de date
Chiar dac o baz de date este protejat prin parole i prin drepturi de acces acordate
difereniat utilizatorilor, totui poate fi posibil citirea la nivel fizic a datelor din tabele prin
intermediul unor programe utilitare care permit accesul fizic pe hard-disc la nivel de octet.
Pentru o protecie complet este necesar ca baza de date s fie pstrat criptat.
122 Lector univ. drd. Mihai Gavot\ - Baze de date
Criptarea / decriptarea unei baze de date Access se pot realiza foarte simplu prin
intermediul meniului Tools i submeniul Security alegnd opiunea Encrypt/Decrypt Database:
9.3.4. Securitatea la nivelul grupurilor [i utilizatorilor
De regul orice baz de date permite implicit urmtoarele grupuri de utilizatori:
Administratorii (Admins) care au toate drepturile asupra bazei de date.
Utilizatorii obinuii (Users) care au permisiunea de a deschide baza de date dar care au
drepturi diferite i restrictive asupra obiectelor acesteia. Ei pot lucra doar cu anumite
formulare i pot consulta numai rapoartele pentru care au aceste drepturi.
Musafirii (Guests) care de regul nu primesc cont utilizator i au drepturi limitate, doar
pentru accesarea anumitor obiecte ale bazei de date.
ntre cele mai importante sarcini ale administratorului bazei de date se numr crearea i
ntreinerea sistemului de securitate al bazei de date. Pe parcurs el poate aduga grupuri noi de
utilizatori sau poate terge grupuri existente. Administratorul poate aduga nume noi de
utilizatori i poate modifica drepturile acestora asupra obiectelor bazei de date. Aceste operaiuni
sunt disponibile prin intermediul aceluiai submeniu Security prezentat n subcapitolele
anterioare.
De aceast dat se va lucra cu opiunile:
User and Group Permissions
User and Group Accounts
User - Level Security Wizard
ADMINISTRAREA {I ASIGURAREA SECURIT|}II BAZELOR DE DATE ACCESS 123
n mod implicit o parte a informaiilor de securitate sunt meninute n fiierul
System.mdw aflat n folder-ul \Office al pachetului de programe MS-Office. Utilizatorul iniial
implicit este Admin i el are toate drepturile.
Dup generarea bazei de date este indicat ca fiierul System.mdw s fie copiat n
folder-ul bazei de date (acolo unde exist fiierul cu extensia .mdb). Apoi, prin intermediul
programului WRKGADM.EXE va trebui creat o legtur ctre noua locaie a fiierului .mdw.
n acelai folder \Office se afl un shortcut Workgroup Administrator (sau Administrator
grup de lucru MS Access pentru versiunile MS-Office n limba romn). Shortcut-ul este o cale
de acces ctre programul WRKGADM.EXE.
Atunci cnd va fi lansat acest program, pentru a crea noua legtur, el va afia
urmtoarea succesiune de dialoguri:
Dup apsarea butonului Browse va aprea un dialog clasic de navigare printre foldere i
de selectare a fiierului dorit. Vom selecta fiierul SYSTEM.MDW aflat n folderul unde se afl
aplicaia noastr.
124 Lector univ. drd. Mihai Gavot\ - Baze de date
Dac legtura cu noul fiier de securitate s-a realizat corect atunci Access-ul ne va
informa cu urmtorul mesaj:
Pentru a acorda o parol utilizatorului iniial implicit Admin, din submeniul Security va
fi aleas opiunea User and Group Accounts care va afia urmtorul dialog:
Se observ c iniial exist doar dou
grupuri: Admins i Users. Prin intermediul acestui
dialog pot fi create (adugate) grupuri noi sau pot fi
terse grupuri. De asemenea poate fi schimbat
parola utilizatorului curent (n cazul nostru Admin).
Pentru a crea sau terge grupuri este disponibil dialogul Groups:
Butoanele <New> (nou) i <Delete> (terge) vor
putea fi folosite n aceste scopuri.
ADMINISTRAREA {I ASIGURAREA SECURIT|}II BAZELOR DE DATE ACCESS 125
Pentru a alege o nou parol va trebui ales panoul Change Logon Password care va
afia:
Aici sunt specifice cmpurile Old Password (parola
veche), New Password (parola nou) i Verify un cmp
util pentru a verifica, prin renscriere, corectitudinea
parolei noi.
Cmpul Old Password este lsat vid deoarece
iniial utilizatorul implicit Admin nu are parol.
Drepturile utilizatorilor asupra obiectelor bazei de date pot fi:
Open / Run deschide i lanseaz n execuie
Read Design citete proiectul
Modify Design modific proiectul
Administer - administreaz
Read Data citete datele
Update Data actualizeaz datele
Insert Data insereaz datele
Delete Data terge datele.
Pentru atribuirea drepturilor (permisiunilor) utilizatorilor i grupurilor, precum i pentru
schimbarea proprietarilor obiectelor bazei de date, din meniul Tools, submeniul Security, va fi
aleas opiunea User and Group Accounts care va afia:
Dup selectarea utilizatorului sau grupului de utilizatori
se pot acorda (prin bifare / debifare) permisiunile dorite
asupra obiectelor bazei de date.
ANEXA 1 STRUCTURA TABELELOR UTILIZATE
N EXEMPLE. RELA}IILE DINTRE TABELE
Date angajati:
Nume cmp Tip date Memorie rezervat
cod persoana Number Long integer
nume persoana Text 50
adresa Text 50
adresa e-mail Hyperlink 2048
adresa web / CV Hyperlink 2048
cod functie Number Integer
cod studii Number Byte
data angajarii Date/Time 10
telefon Text 20
observatii Memo 65535
Deplasari angajati:
Nume cmp Tip date Memorie rezervat
cod persoana Number Long integer
data deplasarii Date/Time 10
locul deplasarii Text 50
cost transport Number Single
cost diurna Number Single
Nomenclator functii:
Nume cmp Tip date Memorie rezervat
cod functie Number Integer
denumire functie Text 50
cod categorie functie Number Byte
Nomenclatorul categoriilor de functii:
Nume cmp Tip date Memorie rezervat
cod categorie functie Number Integer
denumire categorie
functie
Text 50
Nomenclator studii:
Nume cmp Tip date Memorie rezervat
cod studii Number Byte
denumire studii Text 50
128 Lector univ. drd. Mihai Gavot\ - Baze de date
Relaiile dintre tabele:
ANEXA 2 PROBLEME PROPUSE
Reguli de normalizare
Problema 1
Presupunnd c se dorete crearea unei baze de date n care se va ine evidena literaturii
i sunt de interes urmtoarele informaii:
Titlul crii
ISBN
Preul crii
Autorii crii (autor1, autor2, autor3)
Numele editurii
Anul apariiei
Categoria crii (beletristic, tiinific, SF, etc)
Adresa editurii (ora, str., nr., sector, cod)
Stabilii structura de tabele a bazei de date i aplicai regulile de normalizare.
Tabele
Problema 1
Creai tabela Date angajai avnd o structur conform anexei 1. Adugai un cmp foto
de tip OLE object n care se vor memora fiierele digitizate ce conin fotografiile persoanelor
obinute n urma scanrii sau de la un aparat foto digital. ncercai inserarea unei imagini i apoi
consultarea acesteia. Utilizai n acest sens meniul contextual al celulei respective.
Problema 2
Consultai tabela Date angajai n modul Datasheet View. n timpul acestei consultri:
Redimensionai mrimea celulelor pe vertical i pe orizontal astfel nct s fie
vizibil toat informaia coninut de acestea.
Schimbai fontul de afiare i mrimea acestuia.
Sortai tabelul n ordinea cresctoare a numelor persoanelor i apoi n ordinea
descresctoare.
Cutai un anumit nume folosind comanda Find.
ncercai o filtrare (filter) a datelor.
130 Lector univ. drd. Mihai Gavot\ - Baze de date
Comutai n modul Design i apoi napoi n Datasheet View.
Utilizai facilitile Hyperlink ale cmpurilor adresa e-mail i adresa web / CV.
Redimensionai cmpul adresa de la 50 la 70 caractere.
La cmpul data angajrii introducei o masc de tipul Medium Date.
Problema 3
Adugai n tabela Date angajai un cmp numit cod stare care va memora starea n care
se afl angajatul (prezent, n concediu de odihn, n concediu medical, nvoit, n deplasare,
absent nemotivat). Creai o tabel nou numit Nomenclator stri prezen care s conin
aceste stri. Creai n Relationships relaia corect dintre tabele.
Problema 4
Legai la baza de date curent o tabel extern, dintr-o alt baz de date.
Importai o tabel extern n baza de date curent.
Exportai datele din tabela Date angajai ntr-un fiier Excel (.xls) apoi ntr-un fiier
HTML.
Problema 5
Utiliznd mecanismul Clipboard (copiere i lipire) copiai coninutul unor celule dintr-o
tabel n alta, apoi dintr-o tabel Access ntr-un tabel Word.
Problema 6
Utiliznd wizard-ul, creai o tabel avnd structura modelului students propus de Access
2000.
Interog\ri
Problema 1
Afiai o list care s prezinte pentru fiecare angajat: denumirea categoriei de funcie,
denumirea funciei i tipul studiilor. Lista s fie sortat alfabetic dup numele angajailor.
Problema 2
Creai o interogare care s afieze numele i numerele de telefon ale angajailor care au
primele cifre ale numrului de telefon 093.
Problema 3
Furnizai o list cu numele i adresele angajailor care au numele Vasile.
ANEXA 2 PROBLEME PROPUSE 131
Problema 4
Creai interogri care s rspund la ntrebrile:
Ci angajai cu studii superioare lucreaz n instituie ?
Ci directori exist n instituie ?
Ci efi de departament ?
Ci efi de secie ?
Ci efi de birou ?
Problema 5
Afiai o list care s prezinte locul deplasrii i data deplasrii fiecrui angajat. Lista va
fi sortat cresctor dup numele persoanelor i dup data deplasrii.
Problema 6
Creai un query care s tearg nregistrrile tuturor persoanele cu studii medii din tabela
Date angajai.
Problema 7
Creai un query care s prezinte ntr-un tabel cu dubl intrare, pe orizontal categoriile de
funcii iar pe vertical denumirile de funcii. Celulele tabelului vor conine numrul de angajai
pentru fiecare funcie dintr-o categorie de funcii.
Problema 8
Transferai rezultatul (lista) unui query ntr-un tabel Word, apoi ntr-o foaie de calcul
Excel.
Problema 9
Afiai numele persoanelor angajate dup 01.01.1999.
Formulare
Problema 1
Utiliznd wizard-ul creai un formular simplu care s permit actualizarea numelor
angajailor, adresei i telefonului acestora.
Problema 2
Utiliznd Chart Wizard creai o histogram care s reprezinte grafic numrul de angajai
pentru fiecare tip de studii.
132 Lector univ. drd. Mihai Gavot\ - Baze de date
Problema 3
Modificai n modul de proiectare Design un formular realizat anterior cu un wizard.
Problema 4
Creai un formular nou pentru actualizarea unui nomenclator lucrnd numai n modul de
proiectare Design.
Problema 5
Creai un formular care pe lng datele angajailor s permit i actualizarea / consultarea
cmpului foto.
Rapoarte
Problema 1
Utiliznd wizard-ul creai un raport numit Date angajai care s listeze pentru fiecare
angajat: numele, adresa i telefonul.
Problema 2
Creai un raport care s listeze grupat pentru fiecare categorie de funcii numele
angajailor i adresele acestora.
Problema 3
Creai un raport care s listeze grupat pentru fiecare funcie numele angajailor i adresele
acestora.
Problema 4
Utiliznd Label Wizard creai un raport care s afieze etichete cu numele i adresele
angajailor.
Problema 5
Utiliznd Chart Wizard creai o histogram care s prezinte distribuia angajailor pe
categoriile de funcii din instituie.
ANEXA 2 PROBLEME PROPUSE 133
Pagini internet
Problema 1
Salvai ntr-un format HTML o list obinut dintr-un query care s afieze n ordine
alfabetic numele angajailor, denumirea categoriei de funcii, denumirea funciei i tipul
studiilor.
Problema 2
Creai o pagin internet activ, care s permit crearea / actualizarea / consultarea datelor
angajailor, de la distan, prin internet, utiliznd ca browser Internet Explorer.
Securitatea [i administrarea bazelor de date
Problema 1
Setai o parol pentru o baz de date, apoi criptai baza de date.
Problema 2
Creai un nou grup de utilizatori numii manageri, apoi adugai utilizatorii acestui grup.
Atribuii acestor utilizatori permisiuni diferite asupra obiectelor bazei de date.
Problema 3
Compactai i reparai baza de date.
ANEXA 3 DIC}IONAR DE TERMENI
Actualizare Adugare, modificare sau tergere a datelor memorate n tabelele bazei de date.
Valorile actualizate sunt memorate i salvate n baza de date.
Administrator de sistem Persoan desemnat s asigure buna funcionare a sistemelor de
calcul independente sau legate n reele de calculatoare. Acesta rspunde de buna funcionare a
hardware-ului i software-ului instalat pe sistemele de calcul. Administratorul mpreun cu
personalul tehnic instaleaz i configureaz sistemul de operare, acord parole i drepturi
utilizatorilor i programatorilor, asigur instalarea pe sistemele de calcul a tuturor produselor soft
necesare.
Administrator al bazei de date Persoan desemnat s gestioneze bazele de date de
dimensiuni medii i mari de tip client-server. Are responsabilitatea de a asigura securitatea
datelor printr-un sistem de parole i drepturi de acces, integritatea datelor prin operaiuni de
salvare / restaurare pe diferite suporturi de memorare i refacerea acestora n caz de defeciuni
hardware sau software. Administratorul bazei de date cunoate foarte bine structura bazei de
date i are toate drepturile pentru a executa orice comand admis de sistemul de gestiune a bazei
de date respective (SGBD).
Aplicaie Se folosete cu sensul de aplicaie informatic i reprezint un produs software
realizat pentru a executa anumite operaiuni pe sistemele de calcul. n multe cazuri se folosete
specificnd sistemul de operare pentru care a fost destinat: aplicaie DOS, aplicaie Windows,
aplicaie UNIX, etc. n funcie de produsul cu ajutorul cruia a fost realizat, numele aplicaiei
este nsoit de o extensie specific. Aplicaiile direct executabile au extensia .exe.
Bar cu instrumente (Toolbar) Zon de ecran orizontal sau vertical n care sunt grupate
butoane de comand prezentate sub forma unor pictograme sugestive. Butoanele componente
sunt grupate n mod logic i sunt active sau inactive n funcie de operaiunea care este n
execuie n momentul respectiv.
Bar de derulare (scroll bar) Se refer la bara orizontal sau cea vertical prezent n partea
de jos respectiv n partea dreapt a unei ferestre sau casete de text care permit aducerea n partea
vizibil a ferestrei a obiectelor sau textului care nu se vd n momentul respectiv.
Bar de titlu Zona aflat n partea de sus a unei ferestre, de obicei de culoare albastr n care
este scris titlul ferestrei i n care sunt plasate pictogramele de activare a meniului ferestrei, de
minimizare / maximizare i de nchidere a ferestrei.
Baz de date (database) Set de tabele cu date dintr-un anumit domeniu mpreun cu alte
obiecte necesare gestionrii acestora: interogri, formulare, rapoarte, proceduri. n Access toate
acestea se memoreaz ntr-un singur fiier cu extensia .mdb a crui organizare fizic este
asigurat i optimizat de Microsoft Jet Engine. Exist i baze de date care gestioneaz separat
aceste obiecte n fiiere independente.
136 Lector univ. drd. Mihai Gavot\ - Baze de date
Baz de date distribuit Baz de date memorat pe mai multe servere de baze de date aflate la
distan i care este accesat de mai muli utilizatori simultan folosind tehnologia client-server.
Acest tip de baz de date posed mecanisme de asigurare a sincronizrii datelor n mod automat.
Baz de date relaional Tip de baz de date n care tabelele sunt relaionate ntre ele prin
valorile anumitor cmpuri. Operaiunile care se execut asupra tabelelor au la baz algebra
relaional.
Buton de opiune (option button) Obiect de control care apare de obicei n formulare pentru a
se putea marca o anumit opiune. Dac sunt posibile mai multe opiuni acestea sunt prezentate
printr-un grup de butoane de opiuni dintre care numai unul singur poate fi selectat la un moment
dat. Are form rotund, iar atunci cnd este selectat acesta are mijlocul de culoare neagr.
Buton de comand (command button) Obiect de control care are de obicei o form
dreptunghiular i care atunci cnd este apsat (cnd se face clic cu mouse-ul n el) declaneaz
executarea anumitor comenzi.
Cmp (field) Desemneaz o coloan dintr-o tabel de date care conine valorile unui atribut. O
nregistrare conine unul sau mai multe cmpuri.
Cheie extern sau strin (foreign key) Desemneaz una sau mai multe coloane (cmpuri)
dintr-o tabel de date ale cror valori, luate mpreun ca o combinaie, trebuie s fie egale cu
cheia primar a unei alte tabele cu care se afl n relaie. Cheia extern nu trebuie s fie neaprat
unic, adic ntr-o tabel pot exista mai multe nregistrri care s aib aceleai valori n
cmpurile care alctuiesc cheia strin.
Cheie primar sau principal (primary key) Desemneaz una sau mai multe coloane
(cmpuri) dintr-o tabel de date ale cror valori, luate mpreun ca o combinaie, trebuie s fie
unice pentru fiecare nregistrare. Se spune c ntr-o tabel cheia primar (de acces) trebuie s fie
unic i nenul, adic fiecare din cmpurile care compun cheia primar trebuie s conin o
valoare. Se mai numete cheie intern.
Client-server O aplicaie scris n tehnologia client-server are dou componente care de obicei
stau pe dou sisteme de calcul diferite legate n reea. Partea de server a aplicaiei gestioneaz
anumite informaii i recepioneaz cereri de la aplicaiile client pentru a le servi (pe acestea)
cu date. Aplicaiile client sunt cele care transmit cereri de date ctre server ntr-un anumit format,
recepioneaz datele cerute i apoi le prelucreaz i eventual le afieaz.
Criteriu O condiie simpl sau compus pe care trebuie s o ndeplineasc datele pentru a
participa la o anumit operaiune.
Definirea datelor Procesul prin care se stabilesc tabelele componente ale unei baze de date,
cmpurile acestora, cheile primare i externe, relaiile dintre tabele, regulile de validare pentru
cmpuri, etc.
Diferen - Diferena a dou tabele include acele nregistrri care exist n prima tabel dar nu
exist n cea de-a doua (valorile din cmpurile dup care se face diferena care exist n prima
tabel dar nu exist n cea de-a doua).
ANEXA 3 DIC}IONAR DE TERMENI 137
Entitate de date Desemneaz un obiect sau o activitate despre care se memoreaz date ntr-o
tabel. Caracteristicile sau atributele obiectelor sau activitilor se memoreaz n cmpurile
nregistrrii din tabel.
Etichet (label) Tip de obiect care permite afiarea unor texte fr ca acestea s poat fi
actualizate n timpul execuiei.
Eveniment (event) n urma unei aciuni pe care o execut un utilizator asupra unui obiect
Access se declaneaz un eveniment. Aciunile se refer n general la micarea mouse-ului,
tastarea unor valori, modificarea datelor, activarea formularelor, etc. Evenimentele specifice
fiecrui tip de obiect sunt enumerate n fereastra de proprieti a obiectului respectiv. Pentru
cazul n care au loc anumite evenimente se pot specifica succesiuni de comenzi pe care aplicaia
le execut n mod automat.
Expresie O formul de calcul alctuit din operanzi (numere, cmpuri de date, variabile sau
funcii) i operatori (simboluri reprezentnd operaii matematice) .
Fereastra de prezentare a bazei de date (database window) Fereastr care apare automat pe
ecran atunci cnd deschidem o baz de date Access. Aceasta reprezint un fel de tablou de bord
i prezint toate obiectele coninute de baza de date grupate pe tipuri i sortate n ordine
alfabetic.
Fereastr de proprieti (properties window) Fereastr care poate fi activat atunci cnd este
selectat un anumit obiect n modul de lucru proiectare (design). n funcie de tipul obiectului,
fereastra cuprinde toate proprietile i evenimentele acestuia cu valorile lor curente.
Fereastr de dialog (dialog window) Fereastr destinat culegerii unor informaii curente de la
utilizator. Aceasta cuprinde o explicaie asupra datelor care trebuie completate, cmpuri n care
se introduc aceste date i butoane de comand. n general sunt ferestre modale, adic nu permit
efectuarea altor operaiuni nainte de nchiderea ferestrei.
Foaie de calcul (datasheet) Format de prezentare a informaiilor din tabele i tip de formular
care este similar cu foaia de calcul din Excel. Foaia de calcul are aspectul unui tabel n care
liniile reprezint nregistrri, coloanele reprezint cmpuri i valorile se introduc n celulele de
intersecie. n partea superioar a fiecrei coloane este scris denumirea cmpului respectiv.
Formular (form) Obiect Access care prezint ntr-o form convenabil utilizatorului
informaiile din tabele pentru a fi actualizate sau numai vizualizate. Pot exista i formulare
destinate introducerii datelor care nu se memoreaz n tabele, ci sunt folosite pentru prelucrarea
datelor din tabele.
Fiier bitmap Fiier cu extensia .bmp care conine o imagine grafic. Se poate folosi ca fundal
pentru un formular sau un buton.
Font Stil de caractere folosit pentru afiarea textului. Pot fi combinate pe un formular sau
raport diferite fonturi, de diferite culori sau dimensiuni pentru a obine efectul estetic i de
evideniere dorit.
138 Lector univ. drd. Mihai Gavot\ - Baze de date
Fundal sau fond (background) Suprafaa goal a unui formular sau raport. Pe acest fundal se
amplaseaz obiectele. Unele din obiecte au ele nsele fundal.
Forme normale Stadii n cadrul procesului de normalizare a tabelelor unei baze de date
relaionale. n urma aplicrii celor cinci reguli de normalizare spunem c tabelele bazei de date
se afl n prima, a doua, form normal.
Front-end aplicaii software care asigur utilizatorilor ntr-o form prietenoas, accesul la date
pentru introducerea, actualizarea, regsirea, consultarea datelor i listarea situaiilor finale.
Aplicaiile sunt realizate de ctre programatorii de aplicaii n anumite limbaje de programare
cum sunt: Visual Basic for Applications, C,C++, Java, PHP, PERL etc.
Funcie (function) Subprogram apelat dintr-o expresie. Calculeaz o valoare care este utilizat
pentru calculul expresiei. Exis funcii interne Access (built-in functions) puse la dispoziie de
asistentul (vrjitorul) specializat n construirea expresiilor, dar i funcii scrise de programatori
ntr-un limbaj de programare (Visual Basic for Applications pentru Access).
Gril (grid) Reea de linii orizontale i verticale egal distanate. Apare pe formulare i rapoarte
n modul proiectare i ajut la alinierea obiectelor de control.
HTML Un limbaj de descriere a paginilor afiate n internet i consultate cu ajutorul
browser-elor.
Identificator Nume.
Implicit (default) Opiune referitoare la valoarea unei proprieti a unui obiect. Marea
majoritate a proprietilor obiectelor au iniial valori implicite care pot fi modificate dac se
dorete un efect diferit de cel prefixat. Multe din proprietile obiectelor rmn cu valoarea
implicit.
Index Se asociaz tabelelor bazei de date pentru a crete viteza de cutare. Indexarea se poate
face dup unul sau mai multe cmpuri n funcie de necesitile de prelucrare. Access utilizeaz
implicit o indexare intern dup cmpurile care alctuiesc cheile primare i cheile strine ale
tabelelor.
Integritatea datelor Asigurarea integritii datelor este o cerin fundamental a bazelor de
date relaionale. Aceasta implic protecia la modificarea intenionat sau accidental a datelor
din tabelele unei baze de date, att n privina domeniului de valori admise pentru cmpurile de
date, ct i corelaiile dintre acestea. Asigurarea integritii refereniale reprezint o parte
component a asigurrii integritii datelor.
Integritate referenial Set de reguli pe care trebuie s le respecte datele introduse n tabele
pentru a pstra relaiile definite la proiectarea bazei de date. Integritatea referenial impune ca
valorile introduse n cmpurile care alctuiesc cheia extern a unei tabele s se regseasc n
cmpurile corespondente care alctuiesc cheie primar a altei tabele, cu care prima este
relaionat.
Interogare (query) Interogarea unei baze de date presupune regsirea dintre toate datele
memorate n tabele a acelora care ndeplinesc anumite condiii (criterii). Acestea sunt apoi
ANEXA 3 DIC}IONAR DE TERMENI 139
vizualizate, listate sau prelucrate. n Access interogm o baz de date fie prin comanda Find fie
prin interogrile de tip query.
Interogare de selectare (Select Query) Tip de interogare ce selecteaz datele care ndeplinesc
anumite condiii, efectueaz calcule i afieaz rezultatele eventual ordonate. Este cel mai utilizat
tip de interogare.
Interogare de totalizare (Total Query) Tip de interogare cu care se efectueaz calcule
statistice pe grupuri de nregistrri.
Interogare de actualizare (Update Query) Tip de interogare utilizat pentru a actualiza
cmpurile din una sau mai multe tabele.
Interogare de adugare (Append Query) Tip de interogare care adaug nregistrri la sfritul
unei tabele existente.
Interogare de tergere (Delete Query) Tip de interogare folosit pentru tergerea nregistrrilor
din una sau mai multe tabele. Alegerea nregistrrilor care se terg se face prin specificarea unui
criteriu (o condiie).
Interogare de creare tabele (Make-Table Query) Tip de interogare cu ajutorul cruia se
creeaz o tabel nou folosind cmpurile din una sau mai multe tabele existente.
Interogare de creare a tablelor cu mai multe intrri (Crosstab Query) Tip de interogare
complex care sintetizeaz datele pe linii i coloane. La intersecia liniilor i coloanelor se
afieaz numrul de elemente, suma valorilor, media sau alte funcii statistice.
Intersecie Intersecia a dou tabele include acele nregistrri care exist n ambele tabele
(cmpurile dup care se face intersecia au valori identice n ambele tabele).
Internet Reea format dintr-un numr foarte mare de reele de calculatoare, sau de
calculatoare izolate distribuite practic pe ntreg globul. Internetul este o reea eterogen din punct
de vedere al tipurilor de calculatoare i al software-ului de reea. Internetul reprezint suportul de
comunicaie pentru Web.
Intranet Reeaua de calculatoare a unei instituii, care admite un mod de lucru similar
internetului fr a fi obligatorie conectarea la acesta.
nregistrare (record) O linie dintr-o tabel a bazei de date format din cmpuri. O nregistrare
are memorate n cmpurile ei informaii despre o entitate de date.
nregistrare curent nregistrarea dintr-o tabel ale crei cmpuri sunt vizualizate i pot fi
modificate n cazul n care deschidem un formular, o tabel sau o interogare. Dac pe ecran sunt
vizibile mai multe nregistrri simultan, nregistrarea curent este cea n al crui cmp se afl
cursorul i este semnalat printr-un marcaj.
List (list box) Obiect de control care pune la dispoziie o list de elemente dintre care prin
intermediul mouse-ului sau tastaturii, poate fi ales unul.
140 Lector univ. drd. Mihai Gavot\ - Baze de date
List derulant (combo box) Obiect de control Access care permite utilizatorului s aleag o
valoare dintr-o list care se deschide apsnd marcajul (un triunghi cu vrful n jos) aflat n
dreapta zonei n care este amplasat controlul. Pentru selectare se folosete mouse-ul sau tastatura.
Obiectul list derulant, afind la un moment dat o singur valoare, dar oferind posibilitatea de
a vizualiza toate elementele din list, ocup mai puin spaiu pe ecran dect listele simple.
Marcaj de redimensionare Mici dreptunghiuri negre care sunt evideniate pe toate laturile
unui obiect atunci cnd ne aflm n modul de lucru proiectare direct i selectm obiectul
respectiv. Prin drag & drop ne permite s mrim sau s micorm dimensiunea obiectului
respectiv.
Meniu (menu) Set de opiuni din care este posibil alegerea uneia. Fiecare dintre opiuni
corespunde unei operaiuni care se va executa. Exist i meniuri complexe care au opiunile
ierarhizate n submeniuri pe mai multe niveluri. Meniurile pot fi cele standard, ale Access-ului,
sau meniuri create de programatori, specifice anumitor aplicaii.
Modal Proprietate a unei ferestre care interzice accesul la alte ferestre atta timp ct aceasta
nu este nchis.
Matrice de culori Un dreptunghi care conine mostre de culori aezate n form de matrice.
Acesta este afiat atunci cnd se apeleaz la asistenii de stabilire a culorii unor componente ale
obiectelor (fondul, scrisul, bordura, etc).
Multiutilizator (multiuser) Mod de lucru al unei aplicaii. Presupune ca mai muli utilizatori s
lucreze n acelai timp cu aceeai baz de date sau cu o aplicaie.
Normalizare Proces care se desfoar n faza de proiectare a structurii de tabele a bazei de
date. Normalizarea presupune aplicarea unor reguli asupra tabelelor astfel nct n final s rezulte
o structur optim a bazei de date.
Nul (Null) Valoare pe care o poate avea la un moment dat un cmp de date. Valoarea Null
nseamn de fapt lipsa unei valori i nu este acelai lucru cu valoarea 0 (zero) pentru cmpurile
numerice sau cu irul vid pentru cmpurile de tip text.
Obiect Noiune specific programrii n mod obiect. Access implementeaz programarea
obiectual i pune la dispoziia proiectanilor clase de obiecte prestabilite cum sunt: tabelele,
interogrile, formularele, rapoartele dar i casetele de text, butoanele de comand, butoanele de
opiuni, imaginile, linia, etc. Obiectele au o serie de proprieti i funcii (metode de folosire)
prestabilite, pe care utilizatorii lor le pot configura i nlnui astfel nct s se obin prelucrrile
dorite.
OLE (Object Linking and Embedded) Tehnologie specific Microsoft care pune la dispoziie
software-ul necesar pentru accesul la obiectele create cu alte produse. Aceste obiecte pot fi
nglobate ca atare n aplicaia curent sau pot rmne ca obiecte independente i se creeaz
numai o legtur ctre ele.
Operand Valori ale unor cmpuri, constante, variabile sau funcii cu care se execut calcule n
cadrul unor expresii.
ANEXA 3 DIC}IONAR DE TERMENI 141
Operator Simboluri matematice care arat ce operaii se efectueaz cu operanzii ntr-o
expresie. n afara operatorilor matematici exist i operatori relaionali i logici care se folosesc
n scrierea criteriilor (condiiilor) de cutare i selecie.
Operatori logici Operatorii And, Or i Not care sunt folosii n expresii logice a cror evaluare
are ca rezultat valoarea Adevrat (True) sau Fals (False).
Operatori relaionali Operatori de comparare a doi operanzi, de exemplu: <, >, =, <>.
Rezultatul comparrii poate fi valoarea Adevrat (True) sau Fals (False).
Paleta de culori Un instrument pus la dispoziie de Access pentru a putea alege ntr-o form
interactiv proprietile de culoare pentru obiectele create (formulare, rapoarte, butoane, etichete,
cmpuri de editare etc).
Panou de comand (switchboard) Tip de formular care apare pe ecran la lansarea n execuie
a unei aplicaii. Conine de obicei numele aplicaiei, o scurt prezentare a acesteia i o serie de
butoane i meniuri care permit efectuarea operaiilor specifice aplicaiei.
Pictogram (icon) Imagine grafic de dimensiuni reduse, sugestiv pentru obiectele pe care le
reprezint.
Procedur Succesiune de instruciuni (comenzi) scrise n limbajul de programare Visual Basic
for Applications pentru efectuarea unei operaiuni complexe asupra datelor. O procedur este
delimitat de cuvinte specifice, cum sunt Sub i End Sub.
Procedur eveniment (event procedure) Procedur asociat unui eveniment care se produce
asupra unui obiect. Pentru fiecare obiect sunt prefixate evenimentele care pot avea loc n legtur
cu acesta.
Produs cartezian Produsul cartezian a dou tabele include toate combinaiile posibile ntre
nregistrrile primei tabele i cele ale celei de-a doua (pentru fiecare nregistrare din prima tabel
se creeaz toate combinaiile cu toate nregistrrile din cea de-a doua, la fel pentru a doua, a treia,
nregistrare din prima tabel).
Proiecie Determin selectarea unui numr de coloane dintr-un tabel fr ns a impune
condiii care s limiteze nregistrrile selectate.
Proprietarul bazei de date (database owner) Persoana care a creat iniial baza de date. Acesta
deine controlul asupra tuturor obiectelor bazei de date i poate acorda altor persoane drepturi
asupra unora dintre ele.
Proprietate O caracteristic, un atribut al unui obiect care definete modul lui de manifestare.
Setul de proprieti difer n funcie de tipul de obiect. Exist proprieti care se refer la
identificarea obiectului (nume, titlu), aspect (dimensiune, form, culoare), sursa de date a
acestuia (tabela, cmpul de date), evenimentele specifice (ncrcarea, selectarea, modificarea) i
altele.
142 Lector univ. drd. Mihai Gavot\ - Baze de date
Raport (report) Obiect Access utilizat pentru tiprirea la imprimant sau vizualizarea pe ecran
a datelor din tabelele bazei de date grupate, centralizate, totalizate conform necesitilor de
informare a utilizatorilor.
Rnd (row) O linie dintr-o tabel a bazei de date format din cmpuri. Sinonim pentru
nregistrare.
Relaie Legtur care se stabilete ntre dou tabele ale bazei de date prin intermediul cheii
primare dintr-o tabel i a cheii externe din a doua tabel. n Access exist mai multe tipuri de
relaii: unu la unu, unu la muli, muli la unu.
Reea local (LAN) Reea de calculatoare format din sisteme de calcul i dispozitive
periferice conectate ntre ele. Acestea ruleaz software specializat pentru a asigura comunicaia
n reea. n cazul unei reele locale calculatoarele componente sunt dispuse la o distan relativ
mic ntre ele (n interiorul unei instituii).
Selecie Se folosete n legtur cu obiectele Access care pot fi selectate printr-un clic dat cu
mouse-ul deasupra acestora. Odat selectate unul sau mai multe obiecte, aceste pot fi manipulate
(mutate, redimensionate, configurate, inserate) ca i cum ar fi un singur obiect. Termenul se mai
folosete pentru a denumi un set de nregistrri alese dup unul sau mai multe criterii pe care le
ndeplinesc toate.
Server Calculator aflat ntr-o reea care pune la dispoziia calculatoarelor clieni servicii sau
resurse. Pot exista servere dedicate, acestea gestioneaz lucrul staiilor de lucru fr a ndeplini
sarcini proprii i servere nededicate. n cazul bazelor de date client-server de dimensiuni mari
exist de obicei servere de baze de date care pun la dispoziia clienilor resursele acestora.
SQL (Structured Query Language) Limbaj de interogare destinat prelucrrii datelor coninute
n bazele de date relaionale. SQL a cunoscut mai multe forme de implementare dar n prezent
este standardizat i st la baza celor mai multe sisteme de gestiune a bazelor de date.
Staie de lucru Calculator client ntr-o reea de calculatoare care ruleaz diferite aplicaii,
unele dintre ele solicitnd date de la un server.
Subformular sau subraport Obiecte de tip formular / raport coninute de alte obiecte
formular / raport. Se folosesc n cazul unor formulare / rapoarte complexe n care datele din
subformulare / subrapoarte sunt corelate cu cele din formularele / rapoartele principale.
Submeniu Set de opiuni care apare pe ecran atunci cnd este selectat o opiune dintr-un
meniu. Opiunile din submeniuri, cnd sunt selectate, pot determina deschiderea altor submeniuri
de pe nivelul urmtor.
Sursa de date a nregistrrilor (record source) Tabelul sau interogarea care st la baza unui
formular sau raport. Se numr printre proprietile unui formular sau raport.
Sursa de date a unui control (control source) Cmpul dintr-o tabel sau o interogare de unde
controlul ia datele pe care le afieaz i/sau modific. Se numr printre proprietile obiectelor
care manipuleaz date.
ANEXA 3 DIC}IONAR DE TERMENI 143
Tabel (table) Obiect component al bazei de date n care sunt memorate datele referitoare la un
obiect sau la o activitate. O tabel este alctuit din nregistrri (rnduri) i cmpuri (coloane).
Tabel ataat (link table) O tabel care nu este coninut n baza de date curent ci se afl n
exteriorul acesteia. Tabela ataat este legat de baza de date i este vizibil din cadrul ei. Asupra
tabelei ataate pot fi efectuate majoritatea operaiilor care se fac n mod obinuit asupra tabelelor
proprii.
Tip de date (data type) Descrie modul de reprezentate intern a informaiilor care se
memoreaz n baza de date. Principalele tipuri de date sunt: numeric, text, dat/or, etc.
Validare Operaiune de verificare a datelor care sunt introduse n cmpurile tabelelor bazei de
date. Valorile datelor introduse trebuie s respecte condiiile impuse de tipul de date al cmpului
(ex: n cmpurile numerice pot fi introduse numere i nu text) i condiiile impuse cmpului prin
regulile de validare.
VBA (Visual Basic for Applications) Limbaj de programare comun mai multor produse ale
firmei Microsoft. Pentru realizarea unor aplicaii Access complexe de multe ori nu este suficient
numai manipularea obiectelor prestabilite prin intermediul meniurilor i butoanelor ci este
necesar i scrierea de cod n limbajul VBA.
Vizualizare (View) Metod prin care datele sunt prezentate pe ecran pentru a fi consultate de
utilizator. O tabel, formular sau raport se poate prezenta n mod proiectare (design) sau n mod
vizualizare date (datasheet, form, print preview).
Vrjitor (wizard) Instrument pus la dispoziie de Access pentru a crea mai rapid, n mod asistat
(printr-o succesiune de ecrane i dialoguri) anumite obiecte sau expresii. Fiecare vrjitor este
specializat pentru o sarcin anume.
BIBLIOGRAFIE
Codd, E.F. (1970). A Relational Model of Data for Large Shared Data Banks. Comunications
ACM.
Dlobel, C., Adiba, M. (1991). Bases de done et systmes relationnels aux systmes Objects.
Paris: InterEditions.
Don, Benange. Azam, Mirza. (2001). Visual Studio 6. Bucureti: Editura Teora.
Jamsa, K. (1999). Programarea Web. Bucureti: Editura All.
Jennings, Roger. (1996). Utilizare Access 95. Bucureti: Editura Teora.
Jennings, Roger. (2000). Totul despre Microsoft Access 2000. Bucureti: Editura Teora.
Sales, Susan. (2000). Utilizare Microsoft Access 2000. Bucureti: Editura Teora.
Winemiller, Eric. (2000).Visual Basic 6 - baze de date. Bucureti: Editura Teora.
***. Documentaia Microsoft Windows.
***. Documentaia Microsoft Office 2000.
***. Documentaia Microsoft ACCESS.
***. (1999). Microsoft Access 2000. Microsoft Press.