Professional Documents
Culture Documents
Mihai Gavotă
BAZE DE DATE
Bucureşti - 2001
CUPRINS
CUPRINS ...................................................................................................................................................... 2
1. INTRODUCERE ........................................................................................................................................ 4
BIBLIOGRAFIE......................................................................................................................................... 130
1. INTRODUCERE
• utilizatorii finali care interacţionează cu baza de date prin intermediul unui limbaj de
interogare sau prin intermediul unor programe numite programe de aplicaţie, scrise de
programatorii de aplicaţii;
• programatorii de aplicaţii care realizează programele de aplicaţie ale bazei de date,
utilizând anumite limbaje de programare (Visual Basic for Applications, C,C++, Java,
PHP, PERL etc) Aceste aplicaţii numite şi software front-end asigură utilizatorilor, într-o
manieră cât mai prietenoasă, accesul la date pentru introducerea, actualizarea, regăsirea,
consultarea şi listarea acestora;
• administratorul bazei de date care este o persoană (sau un grup de persoane) responsabilă
cu asigurarea funcţionării software-ului şi hardware-ului, securitatea, integritatea şi
siguranţa bazei de date.
TERMINOLOGIE ŞI MODELE DE DATE 5
Termenii specifici bazelor de date, definiţiile acestora precum şi tipurile de baze de date
existente, în funcţie de modelul de date pe care se bazează, vor face obiectul capitolului următor.
Vor fi tratate noţiunile generale referitoare la bazele de date relaţionale şi în special la bazele de
date MS-Access. Voi motiva într-un subcapitol aparte de ce am ales din cadrul bazelor de date
relaţionale 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 informaţii relativ
omogene şi între care se pot stabili anumite relaţii. Modelul de date al bazei de date se stabileşte
în urma unei etape de analiză a informaţiilor care are ca scop identificarea datelor ce vor fi
memorate, stabilirea caracteristicilor acestora, a structurii şi a legăturilor dintre date.
Datele pot fi definite pe trei niveluri:
• nivelul extern care descrie modul în care utilizatorii individuali văd 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 următoarele funcţii:
În orice bază de date principala sursă de informaţii 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 rândul dintr-un tabel (row).
Atributul unui obiect este o caracteristică ce permite descrierea entităţii. Atributul se
materializează sub forma unei celule de date care reprezintă valoarea unui câmp (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 către 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 preţuri (între cel minim şi maxim admis).
TERMINOLOGIE ŞI MODELE DE DATE 7
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
inconsistenţei care ar putea apărea în urma unor actualizări greşite. Prin normalizare pot fi create
tabele care să respecte modelul relaţional de bază de date. Normalizarea este procesul de
eliminare a dublurilor de informaţii din tabele. Prin normalizare se urmăreşte de fapt eliminarea
sau minimizarea redundanţei (dublurilor) din tabelele bazei de date.
Modelul relaţional este un model simplu, bazat pe algebra relaţională, care a făcut
posibilă dezvoltarea limbajelor relaţionale 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
relaţional 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 relaţionale
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ă facilităţi suplimentare: sisteme client-server, sisteme multimedia,
analiza multidimensională şi orientarea obiect.
Menţinerea integrităţii bazei de date este unul din obiectivele prioritare ale oricărui
SGBD relaţional. Majoritatea bazelor de date client-server au prevăzute declanşatoare pentru
menţinerea integrităţii bazei de date, astfel încât aceasta să conţină numai informaţii valide,
confirmate şi verificate.
3. BAZE DE DATE RELAŢIONALE
analizată şi s-a stabilit că între tabelele bazelor de date pot exista patru tipuri de relaţii: „unu la
unu”, „unu la mulţi”, „mulţi la unu ” şi „mulţi la mulţi”. Aceste tipuri de relaţii acoperă întreaga
gamă de situaţii care se pot ivi în proiectarea bazelor de date relaţionale şi există instrumente
software care să le implementeze.
Tabela Tabela
Date personale angajaţi Salarii curente
legătura „unu la unu”
Cod persoană 1 1 Cod persoană
Nume persoană Salariu
Adresa Primă
Cod funcţie ocupată Rate
Data angajării …
…
Se observă că pentru materializarea relaţiei „unu la unu” s-a ales câmpul Cod persoană
ca fiind câmp unic de identificare şi de legătură între informaţiile conţinute în cele două tabele.
Aceasta determină ca unei singure înregistrări din tabela Date personale angajaţi să-i
corespundă doar înregistrarea din tabela Salarii curente în care câmpul Cod persoană identifică
acelaşi angajat. Deci, pentru fiecare persoană (angajat) există doar o singură înregistrare atât în
tabela Date personale angajaţi cât şi în tabela Salarii curente. Altfel spus, în acest exemplu
tabelele Date personale angajaţi şi Salarii curente au fiecare atâtea înregistrări câţi angajaţi
există.
Un alt exemplu din lumea reală a bazelor de date va fi elocvent pentru înţelegerea acestui
tip de relaţii. Pornind de la aceeaşi tabelă de bază numită Date personale angajaţi şi
presupunând că ne interesează o interogare din care să aflăm informaţii despre deplasările
acestora, vom avea ca tabelă corespondentă tabela numită Deplasări angajaţi. Este evident că
fiecărui angajat unic determinat prin câmpul Cod persoană îi pot corespunde una, mai multe sau
nici o deplasare. Pentru a rezolva această interogare vom stabili o relaţie de tipul „unu la mulţi”
între cele două tabele.
Tabela Tabela
Date personale angajaţi Deplasări angajaţi
legătura „unu la mulţi”
Cod persoană Cod persoană
1 ∞ Data deplasării
Nume persoană
Adresa Locul deplasării
Cod funcţie ocupată Costul transportului
Data angajării Diurna
… …
Dacă în tabela Date personale angajaţi există doar o singură înregistrare (rând) pentru
un angajat, în tabela Deplasări angajaţi pot exista atâtea înregistrări (rânduri) pentru fiecare
angajat câte deplasări a făcut.
Un conţinut fictiv al acestor tabele precum şi legăturile dintre ele ar putea fi:
Se spune că relaţia „mulţi la mulţi” se „sparge” în două relaţii „unu la mulţi” pentru
aceasta folosindu-se o tabelă intermediară (de intersecţie). Această tabelă este astfel aleasă încât
să conţină o cheie primară formată din cheile primare ale tabelelor iniţiale şi alte informaţii
specifice intersecţiei lor.
1. Prima regulă de normalizare este aceea de a crea tabele plate, tabele ce nu conţin
grupuri de câmpuri care să se repete pentru o valoare unică a cheii de identificare a înregistrării
(cheia primară). În cazul nostru, deoarece pentru o factură putem avea unul sau mai multe
14 Lector univ. drd. Mihai Gavotă - Baze de date
produse care sunt înscrise pe aceasta, vom separa într-o altă tabelă informaţiile legate de produse,
fiecare dintre aceste informaţii fiind determinată în mod unic de numărul facturii şi codul
produsului.
În prima formă normală avem tabelele:
Tabela Tabela
Facturi Linii facturi
Număr factură Număr factură
Data facturării Cod produs
Denumire client Denumire produs
Adresa client Unitatea de măsură
Bancă client Cantitate
Număr cont client Preţ unitar
Delegat Valoare
Total valoare factură Valoare TVA
Total valoare TVA
Între tabela Facturi şi tabela Linii facturi există o relaţie de „unu la mulţi” (1-∞), adică
unui număr unic de factură îi pot corespunde unul sau mai multe produse care sunt memorate ca
înregistrări în tabela Linii facturi. Cheia de identificare (cheia primară) în această tabelă este o
cheie complexă, adică formată din două câmpuri: Număr factură şi Cod produs.
Legătura dintre tabela Linii facturi şi tabela Produse se face prin intermediul câmpului
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 câmp
component al cheii primare şi totodată cheie externă de legătură cu tabela Produse. Între tabela
Linii facturi şi tabela Produse există o relaţie „mulţi 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 câmpurile din tabele să fie independente
între ele. Analizând câmpurile din tabelele aflate în ce-a de-a doua formă normală, trebuie să nu
existe câmpuri care să fie dependente de alte câmpuri care nu fac parte din cheia primară.
În cazul nostru, analizând tabela Facturi, observăm că multe din câmpuri, şi anume: Adresa
client, Bancă client şi Număr cont client depind de câmpul Denumire client. Deci, fiecărui
client îi corespund o adresă, o bancă şi număr de cont unice. În schimb, delegatul din partea
clientului poate fi diferit pentru fiecare factură.
Câmpurile Valoare şi Valoare TVA depind de câmpurile cantitate, preţ şi de un procent
fix de TVA. Fiind câmpuri care se pot calcula în orice moment ele vor fi eliminate din tabelă
deoarece constituie informaţie memorată redundant.
Aplicăm ce-a de-a doua regulă de normalizare prin extragerea acestor informaţii, care depind de
un câmp aflat în afara cheii primare, într-o altă tabelă.
Legătura dintre tabela Facturi şi tabela Clienţi se face prin intermediul câmpului
Denumire client existent în ambele. Acesta este cheie unică de identificare a înregistrărilor din
tabela Clienţi şi cheie externă de legătură în tabela Facturi. Între aceste două tabele există o
relaţie de „mulţi la unu” (∞-1), adică toţi clienţii înscrişi pe facturi sunt înregistraţi în mod unic
în tabela Clienţi ce conţine clienţii firmei.
Această a treia formă normală mai poate suferi o serie de rafinări pentru a obţine o
structură performantă de tabele a bazei de date.
Observăm că Denumire client este un câmp în care este înscris un text destul de lung
format dintr-o succesiune de litere, semne speciale (punct, virgulă), spaţii şi numere. Ordonarea
şi regăsirea informaţiilor după astfel de câmpuri este mai lentă şi mai greoaie decât după câmpuri
numerice. Vom introduce din acest motiv un câmp de identificare a clienţilor numit Cod client
care să fie numeric şi care să fie cheia primară de identificare pentru fiecare client. Legătura între
tabelele Clienţi şi Facturi se va face într-un mod mai performant prin acest câmp păstrându-se
acelaşi tip de relaţie între cele două tabele.
16 Lector univ. drd. Mihai Gavotă - Baze de date
O altă observaţie care poate fi făcută în legătură cu tabelele aflate în cea de-a treia formă
normală este aceea că Total valoare factură şi Total valoare TVA sunt câmpuri care ar trebui
să conţină informaţii sintetice obţinute prin însumarea valorii tuturor produselor aflate pe o
factură. Este de preferat ca astfel de câmpuri să fie calculate în rapoarte sau interogări şi nu să fie
memorate în tabelele bazei de date.
4.1. DE CE ACCESS?
Aşa cum arătat într-un capitol anterior instrumentul de dezvoltare Access este una dintre
componentele principale ale pachetului (suitei) de programe pentru birou MS-Office. Pe lângă
bazele de date relaţionale Access, acesta integrează şi alte componente cum sunt: procesorul de
texte Word, programul de calcule tabelare Excel, agenda de birou Outlook, programul pentru
prezentări Power Point.
Felul în care firma Microsoft a reuşit să realizeze sistemul de operare Windows sub care
funcţionează toate aceste programe precum şi felul în care Microsoft a reuşit să integreze
Microsoft Office Professional 2000 sub Windows 2000, a atras un mare număr de utilizatori şi
dezvoltatori de aplicaţii 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 său Jet dezvoltat special, domină în prezent piaţa 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 relaţionale n.a.) a murit. Nimeni nu mai scrie in dBASE. Programul Access de
la Microsoft a acaparat deja această piaţă.”. Chiar şi FoxPro achiziţionat de Microsoft şi
dezvoltat ulterior ca Visual Fox, a devenit un produs marginal. În prezent există în lume, vândute
cu licenţă, zeci de milioane de copii ale produsului Access.
Uşurinţa proiectării în Access, facilităţile de programare vizuală, performanţele oferite ca
bază de date relaţională şi distribuită, cele de integrare puternică sub Windows (datorate faptului
că este o componentă MS-Office) şi nu în ultimul rând posibilităţile de utilizare în intranet şi în
internet, au făcut ca în ultimii ani acest produs să fie tot mai utilizat ca un instrument de
dezvoltare rapidă a aplicaţiilor ce presupun lucrul cu baze de date, inclusiv în cadrul firmelor
româneşti. În acest sens, este foarte posibil ca viitorii absolvenţi 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 aplicaţiilor care vor compune software-ul
sistemului informatic al firmei. Unii dintre ei, în calitate de manageri, trebuie să fie în măsură să
definească cerinţele unor aplicaţii informatice de tipul bazelor de date pe care le vor solicita unor
firme specializate şi tot ei vor fi aceia care vor evalua aplicaţiile realizate.
Având în vedere specificul facultăţii, cele mai potrivite aplicaţii practice care vor face
obiectul acestui curs, vor fi cele din domeniul managementului resurselor umane.
18 Lector univ. drd. Mihai Gavotă - Baze de date
Se observă ca element central o casetă de dialog prin intermediul căreia 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, utilizând vrăjitorii
(Access database wizards, pages, and projects).
1. Dacă se optează pentru Open an existing file (opţiunea bifată implicit), se poate selecta
baza de date (aplicaţia) dorită. Aceasta se va încărca în memorie şi eventual se va
lansa în execuţie (dacă este setată în acest sens). De exemplu, dacă se alege Northwind
şi se confirmă prin <OK> va fi afişat următorul ecran de start al aplicaţiei:
2. Dacă se optează pentru deschiderea unei baze de date noi (Blank Access database) se
va lansa un dialog prin intermediul căruia suntem invitaţi să alegem un nume şi un folder unde se
va crea baza de date:
3. Dacă optăm pentru Access database wizards, pages, and projects se va lansa un dialog
prin intermediul căruia putem selecta wizard-ul specializat pentru tipul de aplicaţie ales (ne sunt
prezentate un număr de aplicaţii tipice):
Iată un exemplu de bare de meniuri şi de unelte care apar atunci când ne aflăm în modul
de lucru proiectare (Design) al unei tabele sub Access:
Tabelele (tables)
Conţin datele („materia primă”) fără de care nu poate fi de imaginat o bază de date.
Tabelele reprezintă în acest sens poate cel mai important obiect al oricărei baze de date. Datele
sunt memorate în tabele sub forma rândurilor (numite şi înregistrări sau records) şi a coloanelor
(numite câmpuri sau fields).
Un element important al bazei de date îl reprezintă modul în care sunt legate tabelele
între ele, adică sistemul de relaţii (relatioships).
Interogările (queries)
Constituie întrebări stocate adresate bazei de date. Ele sunt utile pentru a selecta anumite
înregistrări conform unor criterii, pentru a le grupa, sorta, şterge sau actualiza. Sub Access
interogările pot prelucra şi afişa datele selectate din maxim 16 tabele. Rezultatele unei interogări
(query) se pot afişa pe cel mult 255 de coloane. Interogările au la bază un cod generat în limbajul
de interogare SQL.
Formularele (forms)
Sunt obiectele folosite pentru interacţiunea cu utilizatorii, cu datele din tabele, din
interogări sau rezultate în urma lansării unor proceduri SQL sau VBA (Visual Basic for
Applications). Formularele pot fi utilizate pentru vizualizarea, adăugarea sau modificarea datelor
sau pentru lansarea anumitor dialoguri de interacţiune cu utilizatorul. Tot ca formulare sunt
proiectate şi panourilor de comandă (switchboards) prin intermediul cărora utilizatorii pot naviga
în interiorul unei aplicaţii pentru a vizualiza alte formulare, rapoarte sau interogări.
Formularele pot conţine subformulare dar şi alte obiecte şi controale Access sau
Windows care personalizează aplicaţia. De exemplu ele pot conţine: butoane, etichete, câmpuri
de editare, elemente grafice, sunete sau clipuri video, etc.
Rapoartele (reports)
Reprezintă situaţiile de ieşire disponibile utilizatorilor finali. Ele afişează într-un anumit
format standard sau particular rezultatele anumitor interogări sau chiar datele din tabele. De cele
mai multe ori rapoartele sunt proiectate pentru a afişa datele conform unor situaţii finale standard
(de exemplu: balanţa şah contabilă, jurnalul de vânzări sau cel de cumpărări, jurnalul de casă,
situaţiile conturilor bancare, centralizatorul stocurilor, etc).
La fel ca şi formularele, rapoartele pot conţine funcţii VBA şi anumite obiecte care să
facă posibilă afişarea câmpurilor din tabele sau interogări în formatele dorite. Obiectele cel mai
frecvent utilizate sunt etichetele, câmpurile de afişare, elementele grafice. Rapoartele pot conţine
şi subrapoarte.
Informaţia afişată prin rapoarte sau prin formulare poate fi structurată şi grupată pe mai
multe secţiuni: title, header, detail, footer. În capitolele următoare vor fi detaliate aceste noţiuni.
Macrocomenzile (macros)
Sunt proceduri care automatizează de regulă anumite operaţii sau evenimente cum ar fi:
lansarea automată a unei comenzi din bara de meniuri, clic-ul pe un anumit buton, lansarea în
execuţie a unor forme, interogări sau rapoarte, etc. Macrocomenzile au fost menţinute în Access
2000 doar pentru compatibilitate cu versiunile anterioare. Microsoft recomandă înlocuirea
ACCESS 2000 25
acestora cu cod scris în VBA deoarece este posibil ca versiunile viitoare de Access să nu mai
conţină macrocomenzi.
Modulele (modules)
Conţin proceduri (secvenţe de cod) scrise în VBA (Visual Basic for Applications).
Modulele pot fi module de clasă şi module standard. Modulele de clasă pot apărea în cadrul
formelor sau rapoartelor atunci când se tratează prin intermediul unor instrucţiuni (cod VBA)
anumite evenimente (de exemplu evenimentul clic cu mouse-ul pe un buton). Modulele standard
conţin acele proceduri sau funcţii personalizate disponibile întregii aplicaţii. Ele sunt scrise de
programatorii de aplicaţie şi se află grupate în modules.
Aşa cum am arătat în capitolul anterior tabelele reprezintă „materia primă” a oricărei
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ă
oricărui tabel îi este specific un cap de tabel.
Deci, orice tabelă are linii şi coloane şi conţine datele organizate conform unei anumite
structuri. În limbajul bazelor de date coloanele se numesc câmpuri (fields). Fiecare coloană
reprezintă un câmp (field) cu o denumire unică, de un anumit tip (şir de caractere, numeric, dată
calendaristică, etc), având o dimensiune prestabilită, care îl determină să ocupe în memorie un
anumit număr de octeţi în funcţie de tipul câmpului. Rândurile (liniile) tabelelor se numesc
înregistrări (records). Evident spaţiul de memorie ocupat de o tabelă este funcţie de numărul de
înregistrări şi de câmpuri ale acesteia. Pot exista şi tabele vide, adică fără nici o înregistrare.
Aceste tabele au doar structură, configurată în funcţie de numărul, tipul şi dimensiunea
câmpurilor. Iniţial, după crearea structurii, toate tabele sunt vide. Ele mai pot deveni vide şi în
urma unei operaţiuni de ştergere a tuturor înregistrărilor conţinute.
Tabelele pot prezenta datele (înregistrările) ordonate sau filtrate conform unor criterii
(ex.: sortate alfabetic după numele persoanelor, în ordinea crescătoare (ascending) a codurilor
sau în ordinea descrescătoare (descending) a mediilor, filtrate numai pentru persoanele născute
după o anumită dată şi/sau numai pentru persoanele al căror nume începe cu litera „M”, etc).
Deci, tabelele pot conţine datele ordonate, indexate după anumite câmpuri numite chei de acces
sau chei de index. Orice tabelă poate avea câmpuri tip cheie primară de acces (evidenţiate într-
un mod special sub Access prin plasarea unei pictograme cu o imagine de cheie în dreptul
acestora) şi opţional câmpuri desemnate pentru cheile de index. Chiar dacă pot exista şi tabele
fără cheie primară de acces şi fără chei de index, se recomandă ca fiecare tabelă să conţină măcar
un câmp cheie primară. Având această organizare viteza de acces la date este mai mare şi deci
creşte performanţa de procesare a bazei de date.
Proiectarea structurii tabelelor şi a sistemului de relaţii dintre câmpurile acestora este o
operaţiune foarte importantă, de ea depinzând în final performanţa globală a bazei de date. În
această etapă de analiză trebuie avute în vedere regulile de normalizare a bazei de date. Dintre
cerinţele procesului de normalizare amintim:
• câmpurile tabelelor să fie atomice, adică datele conţinute de către acestea să fie
diferenţiate în câmpuri distincte astfel încât să răspundă necesităţilor de interogare;
• dacă există grupuri de câmpuri care se repetă pentru aceeaşi valoare a cheii primare
acestea vor alcătui o tabelă separată;
• toate câmpurile dintr-o tabelă trebuie să se refere la cheia primară în totalitatea ei;
• toate câmpurile tabelelor să fie independente unele faţă de altele, deci între câmpurile
aceleiaşi tabele nu trebuie să existe relaţii ascunse.
Prin puterea sa ca instrument software, Access-ul 2000 oferă oricărui utilizator (chiar fără
cunoştinţe avansate de programare) posibilitatea de a crea şi utiliza cu uşurinţă tabele şi
interogări 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 greşelile
din etapa de analiză. Iată câteva argumente care pledează pentru faptul că cel mai indicat este ca
TABELELE ŞI SISTEMUL DE RELAŢII 27
etapa de analiză să fie lăsată în seama specialiştilor mai ales atunci când este vorba de probleme
complexe.
1. Create table in Design view (crearea tabelei în modul de proiectare „Design view” )
2. Create table by using wizard (crearea tabelei utilizând „vrăjitorul”)
3. Create table by entering data (crearea tabelei chiar în momentul introducerii datelor).
TABELELE ŞI SISTEMUL DE RELAŢII 29
Cele trei metode sunt evidenţiate în următorul ecran care apare după selectarea obiectelor
Tables prin apăsarea 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 aceeaşi machetă de proiectare
ce apare şi la apăsarea butonului .
În următoarea figură se poate vedea macheta de proiectare disponibilă în momentul
creării tabelei Date personale angajaţi (tabelă care a mai fost prezentată într-un capitol anterior,
atunci când s-a discutat relaţia „unu la mulţi”).
30 Lector univ. drd. Mihai Gavotă - Baze de date
Numele câmpurilor 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 când se
execută un clic în linia cu câmpul dorit, în dreptul coloanei Data Type.
Aşa cum am arătat la începutul subcapitolului, pe lângă metoda Design View, Access
2000 mai pune la dispoziţia utilizatorilor încă două metode utile pentru crearea tabelelor: Create
table by using wizard (crearea tabelei utilizând „vrăjitorul”) ş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 utilizând „vrăjitorul” se face dând dublu-clic pe opţiunea Create table
by using wizard. În urma acestei acţiuni vom obţine o succesiune de dialoguri specializate pentru
crearea unor tabele din domeniile Business sau Personal. Dialogurile se bazează pe anumite
câmpuri predefinite de către Access pentru aceste domenii. Iată succesiunea de dialoguri care vor
apărea dacă se selectează domeniul Business:
Microsoft, atunci când 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 opţiunii Create table
by entering data.
Aşa cum se vede în Status bar scrie Datasheet View care este de fapt macheta standard
pusă la dispoziţie de Access pentru încărcarea datelor direct în tabele. Iată de exemplu cum apare
Datasheet View atunci când se încarcă date în tabela Nomenclatorul categoriilor de functii:
TABELELE ŞI SISTEMUL DE RELAŢII 33
Atunci când lucrează în modul de lucru Datasheet View Access pune la dispoziţia
utilizatorilor mai multe facilităţi:
• O bară de instrumente:
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 listării
o se pot consulta datele sortate după valorile anumitor câmpuri (coloane)
o conţinutul tabelei poate fi vizualizat filtrat după anumite criterii
o se pot lansa căutări.
este evidenţiată prin intermediul pictogramei care apare în stânga acesteia sub forma unui creion.
este evidenţiată prin intermediul pictogramei care apare în stânga acesteia sub forma vârfului
unei săgeţi orientate spre dreapta.
34 Lector univ. drd. Mihai Gavotă - Baze de date
• Field Name - numele câmpului. 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 conţine descrierea câmpurilor.
TABELELE ŞI SISTEMUL DE RELAŢII 35
• Primary Key - simbolul cheie care poate apărea în stânga câmpurilor desemnate a fi chei
primare de acces.
• Field Size - dimensiunea câmpului, stabileşte în funcţie de tipul acestuia cantitatea maximă
de memorie posibil de alocat pentru valoarea unui câmp.
• Format - stabileşte formatul utilizat pentru
afişarea câmpului. De exemplu, pentru
câmpurile de tip numeric (number) acesta
poate fi:
• Precision - precizia este prezentă numai pentru tipul de date Decimal şi defineşte numărul de
cifre care trebuie afişate pentru o valoare numerică. Valoarea implicită este 18 iar cea
maximă 28.
• Scale - apare numai pentru tipul de date Decimal şi stabileşte numărul zecimalelor afişate.
• Decimal Places - specifică numărul zecimalelor afişate pentru tipurile de date Number şi
Currency.
• Input Mask - masca de intrare, specifică modul de afişare a datelor din acest câmp în timpul
editării. Atunci când se face clic în linia acestei proprietăţi apare butonul Builder care
dacă va fi apăsat va prezenta următorul dialog (wizard):
• Caption - este denumirea coloanei (câmpului) care se doreşte să apară înscrisă în capul de
tabel atunci când se lucrează în modul Datasheet.
• Default Value - este valoarea implicită (prestabilită) care va apărea în câmp atunci când 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 câmp. Ex.: >10 indică faptul că în acel câmp nu vor putea fi introduse date
numerice < 11.
• Validation Text - poate conţine textul care va fi afişat când operatorul introduce date care nu
respectă regula din Validation Rule.
36 Lector univ. drd. Mihai Gavotă - Baze de date
• Required - este o proprietate care nu permite decât două valori: Yes şi No. Yes arată că nu
este permisă continuarea editării dacă respectivul câmp nu este completat cu date. Valoarea
implicită pentru Required este No, adică sunt permise şi valori vide (Null) pentru acel câmp.
• Allow Zero Length - înseamnă Permite Lungime Zero şi este o proprietate care se aplică
numai câmpurilor de tipul Text, Memo şi Hyperlink. Poate avea doar două valori: Yes şi No.
• Indexed - specifică dacă se va crea un index după acel câmp şi dacă este permis lucrul cu
valori duplicate pentru respectivul câmp î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ă câmpul respectiv. Această proprietate nu se aplică câmpurilor Memo, OLE Object
şi Hyperlimk.
• New Value - se aplică doar câmpurilor de tip AutoNumber şi arată cum vor fi generate noile
valori pentru acest tip de câmp. Poate avea doar două valori: Increment şi Random.
Increment specifică că o valoare nouă a unui câmp va fi obţinută prin adunarea celei mai
mari valori a câmpului cu +1. Random impune acordarea unor valori noi în mod aleator.
• Get External Data - preluarea de date externe. La selectare Get External Data deschide un
submeniu cu două opţiuni:
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). Presupunând că există o tabelă externă Piese.dbf creată anterior sub dBASE IV,
după importul prin Get External Data, în baza de date curentă va apărea o nouă tabelă
PIESE având numele şi tipurile câmpurilor asemănătoare cu cele din tabela originară
Piese.dbf.
2. Link Tables – asigură legătura cu tabele externe. Access-ul poate lucra atât cu tabele
interne bazelor de date proprii cât şi cu tabele externe, ale altor SGBD-uri, deci cu tabele
care există fizic în afara bazei de date curente (Access). Mergând pe exemplul anterior,
presupunând că există tabela externă Piese.dbf (creată sub dBASE IV) şi că se doreşte
lucrul cu datele din interiorul acesteia dar fără a le importa (în baza de date Access),
atunci există posibilitatea legării tabelei Piese.dbf la baza de date curentă prin opţiunea
Link Tables.
• Export. Această opţiune a meniului File asigură posibilitatea convertirii şi salvării tabelelor
unei baze de date Access sub forma unor tabele specifice altor SGBD-uri. Astfel, dacă de
exemplu se doreşte salvarea datelor unei tabele interne (Access) într-un format specific
dBASE IV, deci într-o tabelă externă .dbf, se va apela la opţiunea 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
următorii paşi:
o Selectarea tabelei interne Date angajati şi apelarea opţiunii Export din meniul
File. Va apărea următorul dialog:
38 Lector univ. drd. Mihai Gavotă - Baze de date
o Selectarea dBASE IV (*.dbf) prin intermediul controlului combo box din dreptul
câmpului Save as type.
o Apăsarea butonului Save care va determina apariţia în folder-ul ales pentru
salvare (My Documents în acest exemplu) a următoarelor fişiere: 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 căreia pot fi
schimbate datele între obiectele interne Access dar şi între obiectele Access (tables, queries,
câmpuri de editare) şi alte aplicaţii externe. Această posibilitate este oferită de mecanismul
Clipboard.
Lucrul cu Clipboard-ul este posibil de sub meniul Edit, specific oricărei aplicaţii
Windows standard. În meniul Edit există opţiunile 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 înregistrări 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.
Pentru a crea / actualiza relaţiile dintre tabelele unei baze de date Access se poate utiliza
opţiunea Relationships din bara principală de meniuri sau butonul corespunzător din bara de
instrumente:
Se pune întrebarea: cum au fost realizate legăturile între tabelele bazei de date ?
Va fi exemplificat în continuare algoritmul de creare a legăturii tabelei Date angajaţi cu
tabela Nomenclator studii.
4. Pentru crearea unei relaţii între tabela principală Date angajaţi şi tabela Nomenclator
studii prin intermediul câmpului cod studii, se trage cu mouse-ul prin drag & drop (cu
butonul stâng al mouse-ului apăsat), câmpul cod studii din Date angajaţi peste câmpul
cod studii din tabela Nomenclator studii. După eliberarea butonului mouse-ului va
apărea următorul dialog:
6. După apăsarea 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 relaţiei între cele două tabele. Noua relaţie va fi
materializată în fereastra Relationships astfel:
Este evident că celelalte relaţii dintre tabele au fost create în mod similar.
Pentru că în relaţia dintre tabela Deplasare angajaţi şi Date angajaţi s-a considerat ca
tabelă principală tabela Deplasări angajaţi, legătura este inversă. Aici este vorba de o relaţie
„mulţi la unul” (mai multe deplasări identificate prin câmpul cod persoana corespund unui
singur angajat).
6. CREAREA ŞI UTILIZAREA INTEROGĂRILOR
Interogările (queries) reprezintă poate cel mai interesant şi complex tip de obiecte ale
oricărei 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 dispoziţie instrumente evoluate de proiectare –
„vrăjitori”, ferestre de dialog specializate şi alte modalităţi de acces la date care fac posibilă
programarea vizuală şi exclud aproape în totalitate necesitatea de a scrie cod. Interogările Access
fructifică pe deplin aceste facilităţi şi îi ajută chiar şi pe utilizatorii fără cunoştinţe deosebite în
domeniul informatic, să poată răspunde cu uşurinţă unor întrebări complexe legate de datele
existente în baza de date.
Chiar dacă afişarea directă a rezultatelor interogărilor nu se ridică la rafinamentul şi
frumuseţea celor prezentate prin intermediul formularelor şi rapoartelor, ele sunt utile atât
specialiştilor în etapa de programare cât şi utilizatorilor finali. Aceştia, nu de puţine ori, au
nevoie să interogheze baza de date pentru a obţine informaţii 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-adevăr posibile
programarea vizuală şi dezvoltarea rapidă a aplicaţiilor.
Interogările sunt utilizate pentru reunirea câmpurilor din mai multe tabele în vederea unei
prezentări agregate a informaţiilor, pentru selectarea, ştergerea sau adăugarea înregistrărilor
în/din tabele după anumite criterii, pentru crearea sau actualizarea datelor. Interogările pot fi de
tip:
• Select Query (de selectare)
• Total Query (de totalizare)
• Crosstab Query (de tip cap de tabel cu mai multe intrări)
• Make-Table Query (de creare tabele)
• Update Query (de actualizare)
• Append Query (de adăugare)
• Delete Query (de ştergere).
Prima opţiune, cea mai utilizată, este echivalentă cu apăsarea butonului Design din
ecranul anterior şi atunci când este lansată în execuţie prezintă următorul dialog (Show Table):
După selectarea tabelelor sau interogărilor dorite pentru a constitui baza de prelucrare
(„materia primă”) pentru query-ul curent, se apasă butonul <Add>. Selecţia poate fi individuală,
contiguă sau necontiguă, fiind similară cu modalitatea de selecţie din programul Windows
Explorer.
În exemplul nostru, s-a dorit o interogare prin care să obţinem o listă cu numele
angajaţilor şi studiile acestora. În acest scop, înainte de apăsarea butonului <Add> s-au selectat
(necontiguu folosind tasta Ctrl) cele două tabele necesare interogării – Date angajaţi şi
Nomenclator studii. Terminarea şi închiderea lucrului cu acest dialog de adăugare se marchează
prin apăsarea butonului <Close>.
Următoarea fereastră afişată reprezintă macheta de proiectare vizuală a obiectelor de tip
query. Se observă că cele două tabele au fost aduse automat legate prin relaţia care a fost definită
şi care există în Relatioships:
CREAREA ŞI UTILIZAREA INTEROGĂRILOR 45
În partea de jos a acestei machete se găseşte un tabel vid (cu liniile: Field, Table, Sort,
Show, Criteria, or), în ale cărui coloane vor trebui trase cu mouse-ul prin drag & drop câmpurile
din tabelele (din partea de sus), ale căror valori vor fi afişate sau vor servi drept criterii de
interogare. În cazul nostru vor fi trase câmpurile nume persoana din tabela Date angajaţi şi
denumire studii din tabela Nomenclator studii. În urma acestor acţiuni macheta de proiectare
va arăta astfel:
După apăsarea butonului View (primul buton din bara de instrumente – vezi imaginea
anterioară), pe ecran va fi afişată următoarea listă cu rezultatele interogării:
După apăsarea butonului View (primul din stânga pe toolbar) rezultatul interogării va fi
următoarea listă dublu sortată:
După adăugarea tabelei Nomenclator funcţii se trag în tabel prin „drag & drop”
câmpurile necesare interogării şi se stabilesc cheile de sortare. Macheta de proiectare va arăta
astfel:
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 vrăjitorilor specializaţi se
traduce de către Access într-o comandă SQL. Iată codul SQL creat automat de către Access
pentru ultima interogare:
Interogările create până acum şi utilizate pentru exemplificări fac parte din interogările de
tip Select. Vom prezenta în continuare toate tipurile de interogări puse la dispoziţie de Access.
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).
Selecţiile pot fi făcute şi pe baza anumitor criterii utile pentru filtrarea datelor. Linia
Criteria din tabelul existent în macheta de proiectare este destinată special acestui scop. Scrierea
condiţiilor complexe este asistată de un vrăjitor specializat care poate fi apelat apăsând opţiunea
Build din meniul contextual al câmpului în care se scrie condiţia.
Rezultatele interogării de selecţie pot fi prezentate sortate crescător sau descrescător după unul
sau mai multe câmpuri. Alegerea câmpurilor respective se face în linia Sort.
Dacă de exemplu se doreşte ca ultima listă (creată în subcapitolul anterior) să afişeze doar
persoanele cu studii medii, atunci va fi necesară aplicarea unui asemenea filtru de selecţie.
50 Lector univ. drd. Mihai Gavotă - Baze de date
Se observă existenţa cifrei 1 pe linia Criteria în dreptul câmpului cod studii. Această
acţiune simplă determină filtrarea şi deci afişarea doar a înregistrărilor care corespund condiţiei
(adică au cod studii=1 ceea ce corespunde studiilor medii). Efectul aplicării filtrului poate fi
observat în următoarea figură:
Dacă se doreşte o listă care să conţină toate numele care încep cu „Ion”, comanda like din
linia Criteria este: like “Ion*”. Invers, dacă se doreşte o selecţie pentru toate numele care se
termină cu caracterele „ion” atunci comanda like este: like “*ion”. Iată în continuare efectul
ultimei comenzi (like “*ion”).
52 Lector univ. drd. Mihai Gavotă - Baze de date
Dialogurile parametrizate
Există situaţii în care selecţia nu se face de fiecare dată după aceleaşi caractere ce sunt
conţinute în nume. În acest caz, se lasă operatorului sarcina de a introduce de la tastatură
succesiunea de caractere ce sunt căutate. Acest lucru se poate realiza scriind parametrizat
criteriul de selecţie în linia Criteria pentru câmpul nume persoana. La fiecare lansare în
execuţie a interogării se afişează o fereastră de dialog prin intermediul căreia utilizatorul
specifică şirul de caractere ce constituie baza de selecţie.
Textul afişat care va apărea în acest dialog ar putea fi:
Introduceţi caracterele incluse in nume:
În linia Criteria textul trebuie cuprins între paranteze drepte:
şIntroduceţi caracterele incluse in nume:ţ
Comanda like exhaustivă care prin intermediul parametrizării va cuprinde toate cazurile de
selecţie pentru câmpul nume persoana este:
Oricând un query de tip Select poate fi transformat într-un query de tip Totals prin
apăsarea butonului ∑ din bara de instrumente: .
Se observă în tabelul din partea de jos a machetei apariţia liniei Total care are înscrisă
funcţia Group By în dreptul fiecărui câmp.
Dacă dorim o situaţie care să ne prezinte câte persoane din fiecare categorie de funcţii
există în instituţie, atunci înseamnă că dorim o grupare a lor (Group By) după categoria de
funcţie şi apoi o numărare (contorizare - Count) a acestora.
În dreptul câmpului cod persoana pe linia Total va apărea în loc de Group By, funcţia
Count.
O altă întrebare la care răspunsul ar fi uşor de dat cu ajutorul interogărilor de tip Totals ar
fi: „Câţi angajaţi cu studii medii şi câţi cu studii superioare sunt în instituţie?”.
După setarea opţiunii Update Query se adăugă restricţia î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 arăta astfel:
Pentru că interogările de tip Update modifică datele din tabele, atunci acestea se lansează
prin comanda Run disponibilă prin intermediul butonului ! din toolbar. După apăsarea acestui
buton în mod implicit apare următorul dialog:
care ne solicită să mai confirmăm încă o dată că într-adevăr dorim actualizarea (modificarea)
datelor. Modificarea odată făcută este ireversibilă. Se observă că Access-ul a identificat deja că în
tabela Date angajati există doar 11 înregistrări (rows) care satisfac condiţia. Confirmând cu
<Yes> atunci rezultatul lansării query-ului va fi:
CREAREA ŞI UTILIZAREA INTEROGĂRILOR 59
După setarea opţiunii va apărea următorul dialog în care vom înscrie numele noii tabele:
Această acţiune va avea ca rezultat apariţia noii tabele în fereastra obiectelor de tip Table:
După transformarea în query de tip Delete şi după completarea criteriului where cod
studii=1, macheta de proiectare va fi:
1)
62 Lector univ. drd. Mihai Gavotă - Baze de date
2)
3)
Pentru a putea alege tipul de query dorit, posibil de realizat cu ajutorul „vrăjitorilor” vom
da clic pe butonul New din fereastra de prezentare a bazei de date:
64 Lector univ. drd. Mihai Gavotă - Baze de date
După apăsarea butonului New va apărea un dialog prin intermediul căruia vom putea
alege tipul de query dorit:
Codul SQL generat automat de Access pentru această interogare care poate fi consultat
prin intermediul opţiunii SQL View, este:
Un astfel de formular panou de comandă al unei aplicaţii se prezintă ca în figura de mai jos.
În acest capitol ne vom ocupa de crearea formularelor şi vom arăta cum se folosesc
instrumentele specializate puse la dispoziţie de Access în acest scop.
Pentru lucrul cu formulare este prevăzut î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ă intrări corespunzătoare celor două modalităţi de creare a formelor: cu
ajutorul „vrăjitorului” (wizard-ului) specializat şi în mod proiectare directă (design).
70 Lector univ. drd. Mihai Gavotă - Baze de date
Atunci când sunt active obiectele de tip formular (forms) observăm că în partea de sus a
ferestrei de prezentare a bazei de date sunt active un număr de butoane cu funcţii specifice.
Acestea prin apăsare realizează:
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.
• Design View – crearea formularului se face în mod proiectare directă, fără a fi asistată
de programul Access;
• Form Wizard – crearea formularului se va face în mod asistat de către un „vrăjitor”
specializat.
Aceste două opţiuni nu necesită alegerea unui tabel sau a unei interogări (Choose the
table or query where …), din lista prezentă în partea de jos a ferestrei, acest lucru fiind opţional.
Următoarele opţiuni permit selectarea unui anumit tip de formular, cu format prestabilit,
care va fi creat automat de Access. Pentru fiecare din aceste opţiuni este obligatorie alegerea din
listă a unui tabel sau a unei interogări pentru a cărei editare este conceput formularul:
Cea mai frecventă alegere dintre cele enumerate mai sus este Form Wizard care
presupune fixarea unor opţiuni şi parcurgerea unor paşi 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 câmpurile
tabelei sau interogării, dintre care unele (sau toate) vor fi selectate pentru a fi afişate în formular.
Cele selectate (cu ajutorul butoanelor > sau >> ) vor apărea în lista din partea dreaptă. Dacă
ne răzgândim şi dorim să renunţăm la unul sau la toate câmpurile selectate vom folosi butoanele
< sau << . După ce am ales câmpurile vom apăsa butonul <Next> pentru a trece la ecranul
următor de dialog.
FORMULARE ŞI RAPOARTE 73
2. În cadrul acestui ecran de dialog vom alege tipul de formular. Vom regăsi aici acele
tipuri de formulare care ar fi putut fi alese încă din fereastra New Form.
3. Alegerea unui stil anume de formular dintre cele care sunt afişate ca posibile. Aspectul
fiecărui tip de formular este prezentat atunci când este selectat cu mouse-ul.
74 Lector univ. drd. Mihai Gavotă - Baze de date
4. În ultimul ecran de dialog vom alege numele formularului creat, fie acceptând numele
propus de Access, fie scriind numele dorit. Mai putem stabili acum câteva opţiuni 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 modificări.
Observăm că a fost generată automat o linie de stare care cuprinde numărul înregistrării
prezentă pe ecran, numărul total de înregistrări din tabelă şi butoane care fac posibilă navigarea
printre înregistrările tabelei. Navigarea presupune: poziţionarea pe prima înregistrare din tabelă,
trecerea la înregistrarea precedentă, trecerea la înregistrarea următoare, poziţionarea pe ultima
înregistrare din tabelă şi adăugarea unei noi înregistrări.
Pe formular mai observăm o bară verticală de selecţie înregistrare. Odată selectată
înregistrarea, cu toate câmpurile ei, va putea fi ştearsă, copiată sau înlocuită. În acest sens, bara
de selecţie înregistrare (bara verticală) oferă un meniu contextual propriu.
2 1 4 5 6 3
Un formular, în afara zonei Details în care se vor afişa informaţiile referitoare la fiecare
din înregistrările 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 apăsând 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 conţin mai multe înregistrări.
Antetul şi subsolul de pagină conţin informaţii asemănătoare pe care dorim să le afişăm o
singură dată pe fiecare pagină.
Aceste secţiuni suplimentare sunt opţionale spre deosebire de secţiunea 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 până când se obţine
dimensiunea dorită a secţiunii (drag & drop). În figura de mai sus este ilustrat acest proces şi
forma pe care o ia mouse-ul când atinge marginea secţiunii.
FORMULARE ŞI RAPOARTE 77
• apăsând butonul din dreapta al mouse-ului atunci când acesta este poziţionat pe
selectorul formei şi alegând din meniul contextual opţiunea Properties;
• apăsând butonul din bara de instrumente după ce în prealabil am dat un clic cu
mouse-ul în secţiunea exterioară formularului din zona de proiectare;
• apăsând butonul din dreapta al mouse-ului atunci când acesta este poziţionat în
secţiunea exterioară formularului activând meniul contextual şi alegând opţiunea
Properties;
• apăsând succesiv View → Properties după ce în prealabil am dat un clic cu mouse-ul
în secţiunea exterioară formularului din zona de proiectare.
Un formular conţine o serie de obiecte care fac posibilă manipularea datelor din tabele
sau interogări, afişarea unor explicaţii referitoare la date şi evidenţierea acestora astfel încât 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). Oricând 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 modificărilor făcute. Trecerea între cele două modalităţi de
vizualizare se face prin apăsarea primului buton din partea stângă a barei specifice formelor aşa
cum se vede în imaginea următoare:
FORMULARE ŞI RAPOARTE 79
Pointer – Obiect de control care se activează în mod automat atunci când este afişată
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 săgeată.
Etichetă (label) – Obiect de control care creează o casetă cu text. Acest text nu poate fi
modificat la momentul execuţiei.
Casetă de text (text box) – Obiect de control care creează o casetă în care se afişează şi pot
fi actualizate valorile din câmpurile tabelelor, interogărilor sau alte valori introduse de
utilizator. Acest obiect este însoţit de o etichetă în care este prezentată la execuţie
denumirea câmpului sau a variabilei a cărei valoare este afişată.
Grup de opţiuni (option group) – Obiect de control ce creează o casetă în care pot fi
amplasate mai multe obiecte, în general de acelaşi fel: butoane de opţiune, 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ă stări,
corespunzătoare valorilor Da(Yes) / Nu(No), şi permite utilizatorului să selecteze una dintre
ele.
Listă derulantă (combo box) – Obiect de control realizat din combinaţia 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 „vrăjitorului” specializat.
Listă (list box) – Obiect de control care conţine o listă de valori din care poate fi aleasă una.
Buton de comandă (command button) – Obiect de control care atunci când este apăsat
execută o comandă sau o succesiune de comenzi.. Este indicat să fie creat cu ajutorul
„vrăjitorului” specializat deoarece acesta oferă spre alegere cele mai frecvent întâlnite
acţiuni pe care le putem asocia butonului. „Vrăjitorul” va scrie în locul nostru procedura în
limbaj VBA asociată evenimentului On Click. Putem vedea conţinutul procedurii fie din
fereastra de proprietăţi a controlului, apăsând butonul (…) după ce în prealabil am selectat
evenimentul On Click, fie selectând Build event din meniul contextual al controlului.
Imagine (image) – Obiect de control care permite afişarea unui fişier grafic cu extensia
.bmp, .ico, .gif, etc. Acest fişier 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 afişarea în
formular a unui obiect (document, grafic, multimedia) importat dintr-o altă aplicaţie
Windows (Word, Excel, Paint, Sound Recorder).
Obiect cadru legat (bound object frame) – Obiect de control care permite afişarea în
formular a unui obiect memorat într-un câmp de tip OLE Object al unei tabele.
Delimitator de pagină (page break) – Obiect de control care împarte formularul în mai
multe pagini. Nu este afişat pe formular la execuţie dar determină imprimanta să facă salt la
pagină nouă în cazul tipăririi formularului.
Control de tip tab (tab control) – Obiect de control care permite gruparea celorlalte
controale amplasate în formular pe pagini asemănătoare cu cele ale unei agende. Trecerea
de la o pagină la alta şi vizualizarea controalelor acesteia se face apăsând indexul din partea
de sus care conţine un text explicativ despre conţinutului paginii.
Linie (line) – Obiect de control care permite amplasarea unei linii în formular. Poate avea
culori şi grosimi diferite, fiind folosită la evidenţierea 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 afişarea altor controale (mai
rar utilizate) înregistrate în Access.
FORMULARE ŞI RAPOARTE 81
Dacă în timpul proiectării dorim să selectăm un obiect vom executa un clic cu mouse-ul
deasupra acestuia. Dacă dorim să selectăm mai multe obiecte simultan, acest lucru se face ţinând
apăsată tasta Shift în timp ce cu mouse-ul dăm clic deasupra obiectelor dorite. Deselectarea se
face ţinând tasta Shift apăsată şi dând clic cu mouse-ul deasupra obiectului care este deja
selectat. Având mai multe obiecte selectate simultan, le vom putea muta, redimensiona sau seta
acele proprietăţi 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 proprietăţi şi evenimente la care pot reacţiona. Proprietăţile
specifice controalelor sunt vizibile în fereastra de proprietăţi atunci când obiectul respectiv a fost
selectat. Principalele proprietăţi ale controalelor ce pot fi amplasate într-un formular sunt:
• Control Source – poate fi un câmp dintr-o tabelă sau dintr-o interogare sau poate fi o
expresie de calcul construită cu ajutorul „vrăjitorului” specializat (expresion builder).
O expresie este întotdeauna precedată de semnul =;
• Input Mask – indică formatul folosit la introducerea datelor (numai pentru câmpul
casetă de text);
• Default Value – specifică o valoare implicită pe care o va avea iniţial controlul;
• Validation Rule – specifică o condiţie 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).
82 Lector univ. drd. Mihai Gavotă - Baze de date
Proprietăţi care se referă la evenimente ce pot avea loc în legătură cu obiectele de control:
Pentru fiecare eveniment se pot specifica acţiunile care vor fi executate atunci când el se
produce. Acţiunile sunt descrise folosind instrucţiuni în limbajul Visual Basic for Applications.
• Name – specifică denumirea controlului. Fiecare control are un nume unic. Acest
nume este atribuit automat la crearea obiectului dar poate fi modificat astfel încât să
fie cât mai sugestiv.
• Status Bar Text – specifică un text care va fi afişat la execuţie în bara de status atunci
când controlul este accesat;
• Control Tip Text – conţine mesajul afişat la execuţie atunci când se întârzie cu
mouse-ul deasupra controlului, fără a apăsa 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 relaţie „unu la mulţi”.
Formularul principal afişează o înregistrare din prima tabelă iar subformularul afişează
toate înregistrările relaţionate cu aceasta din cea de-a doua tabelă..
În cazul actualizării simultane a mai multor tabele relaţionate, trebuie ţinut seama că un
formular principal poate conţine oricâte subformulare dar un subformular poate conţine la rândul
său un singur subformular (pot exista maxim trei niveluri de formulare).
Un obiect subformular se poate crea cu ajutorul „vrăjitorului” specializat. Este necesar ca
înainte de a crea un subformular să fie create tabelele şi să se stabilească relaţia între câmpurile
acestora (cheia primară a unei tabele şi cheia externă din cealaltă tabelă).
Să urmărim în continuare modul de creare a unui subformular în care se actualizează
deplasările pe care le fac persoanele angajate la o firmă. Tabelele relaţionate pe care dorim să le
actualizăm sunt Date angajaţi şi Deplasări angajaţi. Considerând tabela de bază ca fiind Date
angajaţi, între tabele poate exista o relaţie “unu la mulţi”, adică unui angajat îi corespund
niciuna, una sau mai multe deplasări.
Legătura dintre cele două tabele se face prin câmpul cod persoana care în prima tabelă
este cheie primară iar în a doua tabelă este cheie externă. Nu este obligatoriu să avem acelaşi
nume pentru câmpurile corespondente din cele două tabele dar acest lucru uşurează procesul.
Formularul principal de actualizare a tabelei Date angajaţi a fost prezentat anterior. Deschidem
acest formular în modul proiectare (design) şi amplasăm în el un control de tip subformular.
FORMULARE ŞI RAPOARTE 83
Dacă este activat butonul „vrăjitor” din fereastra de instrumente, va intra în execuţie
asistentul specializat care va afişa următoarea fereastră de dialog:
Dacă există rapoarte create anterior, numele acestora vor fi afişate în continuare.
Iată macheta de proiectare vizuală şi caseta Toolbox a unui raport, obţinute în urma
selectării opţiunii Create report in Design View:
86 Lector univ. drd. Mihai Gavotă - Baze de date
În acest sens vom selecta opţiunea Create report by using wizard, care va determina
parcurgerea următoarei succesiuni de dialoguri:
1.
FORMULARE ŞI RAPOARTE 87
2.
3.
4.
88 Lector univ. drd. Mihai Gavotă - Baze de date
5.
6.
Se observă:
• titlul raportului Date angajati scris într-un control Text box în secţiunea Report
Header,
• capul de tabel în secţiunea Page Header,
• conţinutul tabelului in secţiunea Detail,
• data ( =Now( ) ) şi numărul de pagină Page … în Page Footer.
O altă facilitate puternică a rapoartelor Access este Sorting and Grouping care oferă
posibilitatea grupării informaţiilor afişate în raport.
Să presupunem că ni se solicită afişarea raportului anterior cu numele persoanelor şi
informaţiile aferente acestora (adresa şi telefonul) grupate după data angajării. Forma de
raport solicitată este:
90 Lector univ. drd. Mihai Gavotă - Baze de date
Acest raport va fi obţinut în urma unor modificări minime făcute în modul de lucru
Design View asupra machetei de proiectare a raportului anterior. Va fi necesară o nouă secţiune:
data angajarii Header şi o grupare crescătoare (ascending) după acest câmp (data angajării).
Apelând meniul contextual prin clic pe butonul drept al mouse-ului vom obţine:
Alegând opţiunea Sorting and Grouping din meniul contextual, va apărea următorul
dialog în care vom alege câmpul data angajării ca primă cheie de grupare, Ascending ca ordine
de sortare crescătoare şi vom schimba în Yes valoarea câmpului Group Header:
Nu am setat la valoarea Yes şi opţiunea din câmpul Group Footer pentru că nu dorim să
scriem nimic atunci când se termină un grup de persoane angajate la aceeaşi dată. De obicei în
secţiunile de sfârşit ale grupurilor se afişează totaluri ale valorilor câmpurilor pentru fiecare
grupă.
Pentru a afişa data angajării îngroşat (bold) şi în formatul Medium Date este necesar să
fie schimbate proprietăţile acestui control. Apelând meniul contextual al controlului şi solicitând
opţiunea Properties vom avea acces la proprietăţi:
92 Lector univ. drd. Mihai Gavotă - Baze de date
• XML (Extensible Markup Language) o extensie limbajului HTML care face posibilă
păstrarea atributelor de formatare ale documentului iniţial. Access 2000 foloseşte 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 afişare specială a unor seturi de date şi lansare în execuţie a unor
script-uri cu ajutorul browser-ului din calculatorul client.
• DAP (Data Access Pages) permite distribuirea în internet a datelor din formulare,
interogări şi tabele Access, în formatul DHTML.
• ASP (Active Server Pages) este o aplicaţie oferită de browser-le Internet Explorer
începând 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 funcţii ale limbajului Visual Basic for Applications (VBA) care este
limbajul de programare al Access-ului şi al majorităţii programelor din MS Office 2000.
Codurile VBS pot fi incluse în paginile Web pentru a seta proprietăţile controalelor
ActiveX.
Câteva dintre cele mai importante produse program tip client internet sunt:
• Internet Explorer este în prezent browser-ul cel mai utilizat pentru navigare în internet.
Începând cu versiunea 5.0 oferă facilităţi pentru lucrul cu paginile DAP în Access 2000.
Este compatibil cu standardele HTML, DHTML, XML, ActiveX.
• NetMeeting este un program util pentru colaborarea în reţea. Permite comunicarea vocală
şi organizarea de conferinţe şi videoconferinţe în internet.
• Windows Media este un player pentru fişierele de sunet şi cele video. Poate furniza
conţinut multimedia live şi la cerere prin internet şi intranet.
• Frontpage este un program util pentru crearea de pagini Web şi întreţinerea 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.
Începând cu anul 1997, firma Microsoft şi-a reconsiderat poziţia în privinţa software-ului
pe care îl producea. În acel an a apărut pachetul de programe de birou MS-Office 97 care
conţinea multe îmbunătăţiri faţă de versiunile anterioare. A apărut clientul de e-mail Outlook,
programul Word putea încărca ş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 conţinutul unor obiecte în format ASP şi HTML. De asemenea era
disponibil un toolbar special pentru navigaţia în internet. Aceste facilităţi reflectau o evidentă
deschidere a firmei către 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, facilităţi şi
96 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 îmbunătăţiri: posibilitatea lucrului cu hiperlegături, generarea
paginilor Web din tabele şi interogări, 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 câteva dintre acestea.
Se observă cele două câmpuri noi (adresa e-mail şi adresa web / CV) în care sunt
încărcate câteva date adecvate tipului hyperlink.
Printr-un clic dat pe butonul din dreapta al mouse-ului când suntem plasaţi pe un câmp
hyperlink, Access-ul deschide un meniu contextual care prin opţiunea Hyperlink prezintă un
submeniu ce oferă următoarele posibilităţi (Edit Hyperlink …, Open, Open in New Window,
Copy Hyperlink, Add to Favorites, Display Text, Remove Hyperlink):
98 Lector univ. drd. Mihai Gavotă - Baze de date
Alegând Edit Hyperlink se va lansa un dialog care face posibilă încărcarea datelor de
hiperlegătură:
În mod similar s-au încărcat şi datele din câmpul adresa web / CV unde în locul adresei
e-mail au fost introduse adresele Web ale angajaţilor (exemplu: www.moresoft.ro).
LUCRUL CU HIPERLEGĂTURI ŞI GENERAREA PAGINILOR WEB 99
Dacă a fost introdusă o adresă Web dialogul de încărcare a datelor de hiperlegătură va fi:
CV Dan Vasilescu.doc#Studii
Este de remarcat caracterul # care desparte numele fişierului de numele secţiunii sau
cuvântul dorit. În acest caz secvenţa din dialogul de hyperlink este:
100 Lector univ. drd. Mihai Gavotă - Baze de date
• 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
utilizând „vrăjitorul” specializat.
• Edit Web page that already exists – modificarea unor pagini Web ce au fost realizate
anterior. Acestea pot fi fişiere HTML create cu Access sau cu alte produse. Opţiunea
pune la dispoziţia proiectanţilor un instrument vizual de lucru care rivalizează cu multe
alte produse performante din aceeaşi 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 interogări) pagina internet ce va conţine câmpurile necesare pentru consultare sau
actualizare. Totodată utilizatorului din internet sau din intranet îi va fi pus la dispoziţie un set de
instrumente pentru navigarea în cadrul colecţiei de date disponibile:
nume persoana, adresa, adresa e-mail, adresa web / CV, data angajării, telefon şi
observaţii.
LUCRUL CU HIPERLEGĂTURI ŞI GENERAREA PAGINILOR WEB 101
Pentru acesta, după ce dăm dublu-clic pe opţiunea Create data access pages by using
wizard va apărea următorul dialog prin intermediul căruia vor fi selectate din tabela Date
angajaţi câmpurile dorite:
După apăsarea butonului <Next> va apărea un alt dialog care permite opţional gruparea:
102 Lector univ. drd. Mihai Gavotă - Baze de date
Următorul 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
afişarea înregistrărilor în ordine alfabetică:
Nu mai rămâne decât de apăsat butonul <Finish> şi pagina este gata. Ea va fi prezentată
în modul de lucru Design View pentru a putea fi operate eventuale modificări (dacă se consideră
necesar). Va apărea o machetă de proiectare foarte asemănătoare celor folosite pentru crearea
formularelor:
Diferenţa este că aşa cum pagina este văzută sub programul Internet Explorer lansat de
pe calculatorul local, tot aşa ea va fi văzută 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 conţine baza de date este instalat un server Microsoft de exemplu
PWS (Personal Web Server) şi numele server-ului este moresoft, şi dacă fişierul
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 încât să asigure facilităţi de lucru în
reţea. Majoritatea dintre ele pot funcţiona în regim multiutilizator şi oferă deschidere către
internet. De aceea, securitatea bazelor de date este un domeniu ce nu mai poate fi ignorat. Pe
lângă performanţele de conectivitate, de acces la date, de asigurare a integrităţii acestora,
posibilităţile de import / export, instrumentele de dezvoltare oferite, elementele de securitate
constituie de asemenea criterii importante atunci când se alege un tip sau altul de bază de date.
Access 2000 este un sistem de gestiune a bazelor de date modern la proiectarea căruia pe
lângă toate celelalte elemente de performanţă s-au avut în vedere ca priorităţi şi posibilităţile de
compactare, recuperare şi reparare a datelor în cazul apariţiei 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
• procesări greşite ale datelor de către programele de aplicaţie
• alocări defectuase ale spaţiului 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 priorităţi. În ceea
ce priveşte asigurarea securităţii datelor, Access pune la dispoziţie:
cauzate de imposibilitatea reparării şi refacerii corecte a bazei de date „corupte” în urma unor
incidente nedorite.
Literatura de specialitate recomandă câteva reguli legate de crearea copiilor de siguranţă:
Pentru a deschide o bază de date în modul Exclusiv trebuie încărcat mai întâi programul
Access şi apoi deschidem baza de date aleasă activând de sub meniul File opţiunea Open
(deschide). Va apărea un dialog Open specific programului Access care va oferi posibilitatea
alegerii modului de lucru dorit:
ADMINISTRAREA ŞI ASIGURAREA SECURITĂŢII BAZELOR DE DATE ACCESS 109
Setarea parolei bazei de date (Set Database Password) devine disponibilă după
încărcarea acesteia în modul Exclusiv (Open Exclusive) şi alegerea opţiunii Security a meniului
Tools:
Opţiunea Set Database Password lansează un dialog prin intermediul căruia va putea fi
setată parola:
Criptarea / decriptarea unei baze de date Access se pot realiza foarte simplu prin
intermediul meniului Tools şi submeniul Security alegând opţiunea Encrypt/Decrypt Database:
Între cele mai importante sarcini ale administratorului bazei de date se numără crearea şi
întreţinerea sistemului de securitate al bazei de date. Pe parcurs el poate adăuga grupuri noi de
utilizatori sau poate şterge grupuri existente. Administratorul poate adăuga nume noi de
utilizatori şi poate modifica drepturile acestora asupra obiectelor bazei de date. Aceste operaţiuni
sunt disponibile prin intermediul aceluiaşi submeniu Security prezentat în subcapitolele
anterioare.
După apăsarea butonului Browse va apărea un dialog clasic de navigare printre foldere şi
de selectare a fişierului dorit. Vom selecta fişierul SYSTEM.MDW aflat în folderul unde se află
aplicaţia noastră.
112 Lector univ. drd. Mihai Gavotă - Baze de date
Dacă legătura cu noul fişier de securitate s-a realizat corect atunci Access-ul ne va
informa cu următorul mesaj:
Pentru a acorda o parolă utilizatorului iniţial implicit Admin, din submeniul Security va
fi aleasă opţiunea User and Group Accounts care va afişa următorul dialog:
Pentru a alege o nouă parolă va trebui ales panoul Change Logon Password care va
afişa:
Date angajati:
Nume câmp 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 câmp 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 câmp Tip date Memorie rezervată
cod functie Number Integer
denumire functie Text 50
cod categorie functie Number Byte
Nomenclator studii:
Nume câmp Tip date Memorie rezervată
cod studii Number Byte
denumire studii Text 50
ANEXA 1 – STRUCTURA TABELELOR UTILIZATE ÎN EXEMPLE. RELAŢIILE DINTRE TABELE 115
Reguli de normalizare
Problema 1
Presupunând că se doreşte crearea unei baze de date în care se va ţine evidenţa literaturii
şi sunt de interes următoarele informaţii:
Titlul cărţii
ISBN
Preţul cărţii
Autorii cărţii (autor1, autor2, autor3)
Numele editurii
Anul apariţiei
Categoria cărţii (beletristică, ştiinţifică, SF, etc)
Adresa editurii (oraş, str., nr., sector, cod)
Tabele
Problema 1
Creaţi tabela Date angajaţi având o structură conform anexei 1. Adăugaţi un câmp foto
de tip OLE object în care se vor memora fişierele digitizate ce conţin fotografiile persoanelor
obţinute în urma scanării sau de la un aparat foto digital. Încercaţi inserarea unei imagini şi apoi
consultarea acesteia. Utilizaţi în acest sens meniul contextual al celulei respective.
Problema 2
Consultaţi tabela Date angajaţi în modul Datasheet View. În timpul acestei consultări:
Problema 3
Adăugaţi în tabela Date angajaţi un câmp 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). Creaţi o tabelă nouă numită Nomenclator stări prezenţă care să conţină
aceste stări. Creaţi în Relationships relaţia corectă dintre tabele.
Problema 4
Legaţi la baza de date curentă o tabelă externă, dintr-o altă bază de date.
Importaţi o tabelă externă în baza de date curentă.
Exportaţi datele din tabela Date angajaţi într-un fişier Excel (.xls) apoi într-un fişier
HTML.
Problema 5
Utilizând mecanismul Clipboard (copiere şi lipire) copiaţi conţinutul unor celule dintr-o
tabelă în alta, apoi dintr-o tabelă Access într-un tabel Word.
Problema 6
Utilizând wizard-ul, creaţi o tabelă având structura modelului students propus de Access
2000.
Interogări
Problema 1
Afişaţi o listă care să prezinte pentru fiecare angajat: denumirea categoriei de funcţie,
denumirea funcţiei şi tipul studiilor. Lista să fie sortată alfabetic după numele angajaţilor.
Problema 2
Creaţi o interogare care să afişeze numele şi numerele de telefon ale angajaţilor care au
primele cifre ale numărului de telefon 093.
Problema 3
Problema 4
Problema 5
Afişaţi o listă care să prezinte locul deplasării şi data deplasării fiecărui angajat. Lista va
fi sortată crescător după numele persoanelor şi după data deplasării.
Problema 6
Creaţi un query care să şteargă înregistrările tuturor persoanele cu studii medii din tabela
Date angajaţi.
Problema 7
Creaţi un query care să prezinte într-un tabel cu dublă intrare, pe orizontală categoriile de
funcţii iar pe verticală denumirile de funcţii. Celulele tabelului vor conţine numărul de angajaţi
pentru fiecare funcţie dintr-o categorie de funcţii.
Problema 8
Transferaţi rezultatul (lista) unui query într-un tabel Word, apoi într-o foaie de calcul
Excel.
Problema 9
Formulare
Problema 1
Problema 2
Utilizând Chart Wizard creaţi o histogramă care să reprezinte grafic numărul de angajaţi
pentru fiecare tip de studii.
ANEXA 2 – PROBLEME PROPUSE 119
Problema 3
Problema 4
Creaţi un formular nou pentru actualizarea unui nomenclator lucrând numai în modul de
proiectare Design.
Problema 5
Rapoarte
Problema 1
Utilizând wizard-ul creaţi un raport numit Date angajaţi care să listeze pentru fiecare
angajat: numele, adresa şi telefonul.
Problema 2
Creaţi un raport care să listeze grupat pentru fiecare categorie de funcţii numele
angajaţilor şi adresele acestora.
Problema 3
Creaţi un raport care să listeze grupat pentru fiecare funcţie numele angajaţilor şi adresele
acestora.
Problema 4
Utilizând Label Wizard creaţi un raport care să afişeze etichete cu numele şi adresele
angajaţilor.
Problema 5
Pagini internet
Problema 1
Salvaţi într-un format HTML o listă obţinută dintr-un query care să afişeze în ordine
alfabetică numele angajaţilor, denumirea categoriei de funcţii, denumirea funcţiei şi tipul
studiilor.
Problema 2
Creaţi o pagină internet activă, care să permită crearea / actualizarea / consultarea datelor
angajaţilor, de la distanţă, prin internet, utilizând ca browser Internet Explorer.
Problema 1
Problema 2
Creaţi un nou grup de utilizatori numiţi manageri, apoi adăugaţi utilizatorii acestui grup.
Atribuiţi acestor utilizatori permisiuni diferite asupra obiectelor bazei de date.
Problema 3
Actualizare – Adăugare, modificare sau ştergere a datelor memorate în tabelele bazei de date.
Valorile actualizate sunt memorate şi salvate în baza de date.
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 funcţie de operaţiunea care este în
execuţie î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 văd î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 gestionării acestora: interogări, formulare, rapoarte, proceduri. În Access toate
acestea se memorează într-un singur fişier cu extensia .mdb a cărui organizare fizică este
asigurată şi optimizată de Microsoft Jet Engine. Există şi baze de date care gestionează separat
aceste obiecte în fişiere independente.
122 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 mulţi utilizatori simultan folosind tehnologia client-server.
Acest tip de bază de date posedă mecanisme de asigurare a sincronizării datelor în mod automat.
Bază de date relaţională – Tip de bază de date în care tabelele sunt relaţionate între ele prin
valorile anumitor câmpuri. Operaţiunile care se execută asupra tabelelor au la bază algebra
relaţională.
Buton de opţiune (option button) – Obiect de control care apare de obicei în formulare pentru a
se putea marca o anumită opţiune. Dacă sunt posibile mai multe opţiuni acestea sunt prezentate
printr-un grup de butoane de opţiuni dintre care numai unul singur poate fi selectat la un moment
dat. Are formă rotundă, iar atunci când 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 când este apăsat (când se face clic cu mouse-ul în el) declanşează
executarea anumitor comenzi.
Câmp (field) – Desemnează o coloană dintr-o tabelă de date care conţine valorile unui atribut. O
înregistrare conţine unul sau mai multe câmpuri.
Cheie externă sau străină (foreign key) – Desemnează una sau mai multe coloane (câmpuri)
dintr-o tabelă de date ale căror valori, luate împreună ca o combinaţie, trebuie să fie egale cu
cheia primară a unei alte tabele cu care se află în relaţie. Cheia externă nu trebuie să fie neapărat
unică, adică într-o tabelă pot exista mai multe înregistrări care să aibă aceleaşi valori în
câmpurile care alcătuiesc cheia străină.
Cheie primară sau principală (primary key) – Desemnează una sau mai multe coloane
(câmpuri) dintr-o tabelă de date ale căror valori, luate împreună ca o combinaţie, 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 câmpurile care compun cheia primară trebuie să conţină o
valoare. Se mai numeşte cheie internă.
Client-server – O aplicaţie scrisă în tehnologia client-server are două componente care de obicei
stau pe două sisteme de calcul diferite legate în reţea. Partea de server a aplicaţiei gestionează
anumite informaţii şi recepţionează cereri de la aplicaţiile client pentru a le „servi” (pe acestea)
cu date. Aplicaţiile client sunt cele care transmit cereri de date către server într-un anumit format,
recepţionează datele cerute şi apoi le prelucrează şi eventual le afişează.
Criteriu – O condiţie simplă sau compusă pe care trebuie să o îndeplinească datele pentru a
participa la o anumită operaţiune.
Definirea datelor – Procesul prin care se stabilesc tabelele componente ale unei baze de date,
câmpurile acestora, cheile primare şi externe, relaţiile dintre tabele, regulile de validare pentru
câmpuri, etc.
Diferenţă - Diferenţa a două tabele include acele înregistrări care există în prima tabelă dar nu
există în cea de-a doua (valorile din câmpurile după care se face diferenţa care există în prima
tabelă dar nu există în cea de-a doua).
ANEXA 3 – DICŢIONAR DE TERMENI 123
Entitate de date – Desemnează un obiect sau o activitate despre care se memorează date într-o
tabelă. Caracteristicile sau atributele obiectelor sau activităţilor se memorează în câmpurile
înregistrării din tabelă.
Etichetă (label)– Tip de obiect care permite afişarea unor texte fără ca acestea să poată fi
actualizate în timpul execuţiei.
Eveniment (event) – În urma unei acţiuni pe care o execută un utilizator asupra unui obiect
Access se declanşează un eveniment. Acţiunile se referă în general la mişcarea mouse-ului,
tastarea unor valori, modificarea datelor, activarea formularelor, etc. Evenimentele specifice
fiecărui tip de obiect sunt enumerate în fereastra de proprietăţi a obiectului respectiv. Pentru
cazul în care au loc anumite evenimente se pot specifica succesiuni de comenzi pe care aplicaţia
le execută în mod automat.
Expresie – O formulă de calcul alcătuită din operanzi (numere, câmpuri de date, variabile sau
funcţii) şi operatori (simboluri reprezentând operaţii matematice) .
Fereastra de prezentare a bazei de date (database window) – Fereastră care apare automat pe
ecran atunci când deschidem o bază de date Access. Aceasta reprezintă un fel de tablou de bord
şi prezintă toate obiectele conţinute de baza de date grupate pe tipuri şi sortate în ordine
alfabetică.
Fereastră de proprietăţi (properties window) – Fereastră care poate fi activată atunci când este
selectat un anumit obiect în modul de lucru proiectare (design). În funcţie de tipul obiectului,
fereastra cuprinde toate proprietăţile şi evenimentele acestuia cu valorile lor curente.
Fereastră de dialog (dialog window) – Fereastră destinată culegerii unor informaţii curente de la
utilizator. Aceasta cuprinde o explicaţie asupra datelor care trebuie completate, câmpuri în care
se introduc aceste date şi butoane de comandă. În general sunt ferestre modale, adică nu permit
efectuarea altor operaţiuni înainte de închiderea ferestrei.
Foaie de calcul (datasheet) – Format de prezentare a informaţiilor 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ă înregistrări, coloanele reprezintă câmpuri şi valorile se introduc în celulele de
intersecţie. În partea superioară a fiecărei coloane este scrisă denumirea câmpului respectiv.
Formular (form) – Obiect Access care prezintă într-o formă convenabilă utilizatorului
informaţiile 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.
Fişier bitmap – Fişier cu extensia .bmp care conţine o imagine grafică. Se poate folosi ca fundal
pentru un formular sau un buton.
Font – Stil de caractere folosit pentru afişarea textului. Pot fi combinate pe un formular sau
raport diferite fonturi, de diferite culori sau dimensiuni pentru a obţine efectul estetic şi de
evidenţiere dorit.
124 Lector univ. drd. Mihai Gavotă - Baze de date
Fundal sau fond (background) – Suprafaţa 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
relaţionale. În urma aplicării celor cinci reguli de normalizare spunem că tabelele bazei de date
se află în prima, a doua, … formă normală.
Front-end – aplicaţii software care asigură utilizatorilor într-o formă prietenoasă, accesul la date
pentru introducerea, actualizarea, regăsirea, consultarea datelor şi listarea situaţiilor finale.
Aplicaţiile sunt realizate de către programatorii de aplicaţii în anumite limbaje de programare
cum sunt: Visual Basic for Applications, C,C++, Java, PHP, PERL etc.
Funcţie (function) – Subprogram apelat dintr-o expresie. Calculează o valoare care este utilizată
pentru calculul expresiei. Exisă funcţii interne Access (built-in functions) puse la dispoziţie de
asistentul („vrăjitorul”) specializat în construirea expresiilor, dar şi funcţii scrise de programatori
într-un limbaj de programare (Visual Basic for Applications pentru Access).
Grilă (grid) – Reţea de linii orizontale şi verticale egal distanţate. Apare pe formulare şi rapoarte
în modul proiectare şi ajută la alinierea obiectelor de control.
Identificator – Nume.
Implicit (default) – Opţiune referitoare la valoarea unei proprietăţi a unui obiect. Marea
majoritate a proprietăţilor obiectelor au iniţial valori implicite care pot fi modificate dacă se
doreşte un efect diferit de cel prefixat. Multe din proprietăţile obiectelor rămân cu valoarea
implicită.
Index – Se asociază tabelelor bazei de date pentru a creşte viteza de căutare. Indexarea se poate
face după unul sau mai multe câmpuri în funcţie de necesităţile de prelucrare. Access utilizează
implicit o indexare internă după câmpurile care alcătuiesc cheile primare şi cheile străine ale
tabelelor.
Integritate referenţială – Set de reguli pe care trebuie să le respecte datele introduse în tabele
pentru a păstra relaţiile definite la proiectarea bazei de date. Integritatea referenţială impune ca
valorile introduse în câmpurile care alcătuiesc cheia externă a unei tabele să se regăsească în
câmpurile corespondente care alcătuiesc cheie primară a altei tabele, cu care prima este
relaţionată.
Interogare (query) – Interogarea unei baze de date presupune regăsirea dintre toate datele
memorate în tabele a acelora care îndeplinesc anumite condiţii (criterii). Acestea sunt apoi
ANEXA 3 – DICŢIONAR DE TERMENI 125
vizualizate, listate sau prelucrate. În Access interogăm o bază de date fie prin comanda Find fie
prin interogările de tip query.
Interogare de selectare (Select Query) – Tip de interogare ce selectează datele care îndeplinesc
anumite condiţii, efectuează calcule şi afişează rezultatele eventual ordonate. Este cel mai utilizat
tip de interogare.
Interogare de adăugare (Append Query) – Tip de interogare care adaugă înregistrări la sfârşitul
unei tabele existente.
Interogare de ştergere (Delete Query) – Tip de interogare folosit pentru ştergerea înregistrărilor
din una sau mai multe tabele. Alegerea înregistrărilor care se şterg se face prin specificarea unui
criteriu (o condiţie).
Interogare de creare a tablelor cu mai multe intrări (Crosstab Query) – Tip de interogare
complexă care sintetizează datele pe linii şi coloane. La intersecţia liniilor şi coloanelor se
afişează numărul de elemente, suma valorilor, media sau alte funcţii statistice.
Intersecţie – Intersecţia a două tabele include acele înregistrări care există în ambele tabele
(câmpurile după care se face intersecţia au valori identice în ambele tabele).
Internet – Reţea formată dintr-un număr foarte mare de reţele de calculatoare, sau de
calculatoare izolate distribuite practic pe întreg globul. Internetul este o reţea eterogenă din punct
de vedere al tipurilor de calculatoare şi al software-ului de reţea. Internetul reprezintă suportul de
comunicaţie pentru Web.
Intranet – Reţeaua de calculatoare a unei instituţii, care admite un mod de lucru similar
internetului fără a fi obligatorie conectarea la acesta.
Înregistrare (record) – O linie dintr-o tabelă a bazei de date formată din câmpuri. O înregistrare
are memorate în câmpurile ei informaţii despre o entitate de date.
Înregistrare curentă – Înregistrarea dintr-o tabelă ale cărei câmpuri 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 înregistrări simultan, înregistrarea curentă este cea în al cărui câmp se află
cursorul şi este semnalată printr-un marcaj.
Listă (list box) – Obiect de control care pune la dispoziţie o listă de elemente dintre care prin
intermediul mouse-ului sau tastaturii, poate fi ales unul.
126 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 apăsând marcajul (un triunghi cu vârful în jos) aflat în
dreapta zonei în care este amplasat controlul. Pentru selectare se foloseşte mouse-ul sau tastatura.
Obiectul listă derulantă, afişând la un moment dat o singură valoare, dar oferind posibilitatea de
a vizualiza toate elementele din listă, ocupă mai puţin spaţiu pe ecran decât listele simple.
Marcaj de redimensionare – Mici dreptunghiuri negre care sunt evidenţiate pe toate laturile
unui obiect atunci când ne aflăm în modul de lucru proiectare directă şi selectăm obiectul
respectiv. Prin drag & drop ne permite să mărim sau să micşorăm dimensiunea obiectului
respectiv.
Meniu (menu) – Set de opţiuni din care este posibilă alegerea uneia. Fiecare dintre opţiuni
corespunde unei operaţiuni care se va executa. Există şi meniuri complexe care au opţiunile
ierarhizate în submeniuri pe mai multe niveluri. Meniurile pot fi cele standard, ale Access-ului,
sau meniuri create de programatori, specifice anumitor aplicaţii.
Modală – Proprietate a unei ferestre care interzice accesul la alte ferestre atâta timp cât aceasta
nu este închisă.
Matrice de culori – Un dreptunghi care conţine mostre de culori aşezate în formă de matrice.
Acesta este afişat atunci când se apelează la asistenţii de stabilire a culorii unor componente ale
obiectelor (fondul, scrisul, bordura, etc).
Multiutilizator (multiuser) – Mod de lucru al unei aplicaţii. Presupune ca mai mulţi utilizatori să
lucreze în acelaşi timp cu aceeaşi bază de date sau cu o aplicaţie.
Nulă (Null) – Valoare pe care o poate avea la un moment dat un câmp de date. Valoarea Null
înseamnă de fapt lipsa unei valori şi nu este acelaşi lucru cu valoarea 0 (zero) pentru câmpurile
numerice sau cu şirul vid pentru câmpurile de tip text.
OLE (Object Linking and Embedded) – Tehnologie specifică Microsoft care pune la dispoziţie
software-ul necesar pentru accesul la obiectele create cu alte produse. Aceste obiecte pot fi
înglobate ca atare în aplicaţia curentă sau pot rămâne ca obiecte independente şi se creează
numai o legătură către ele.
Operand – Valori ale unor câmpuri, constante, variabile sau funcţii cu care se execută calcule în
cadrul unor expresii.
ANEXA 3 – DICŢIONAR DE TERMENI 127
Operatori logici – Operatorii And, Or şi Not care sunt folosiţi în expresii logice a căror evaluare
are ca rezultat valoarea Adevărat (True) sau Fals (False).
Operatori relaţionali – Operatori de comparare a doi operanzi, de exemplu: <, >, =, <>.
Rezultatul comparării poate fi valoarea Adevărat (True) sau Fals (False).
Paleta de culori – Un instrument pus la dispoziţie de Access pentru a putea alege într-o formă
interactivă proprietăţile de culoare pentru obiectele create (formulare, rapoarte, butoane, etichete,
câmpuri de editare etc).
Panou de comandă (switchboard) – Tip de formular care apare pe ecran la lansarea în execuţie
a unei aplicaţii. Conţine de obicei numele aplicaţiei, o scurtă prezentare a acesteia şi o serie de
butoane şi meniuri care permit efectuarea operaţiilor specifice aplicaţiei.
Pictogramă (icon) – Imagine grafică de dimensiuni reduse, sugestivă pentru obiectele pe care le
reprezintă.
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 legătură
cu acesta.
Produs cartezian – Produsul cartezian a două tabele include toate combinaţiile posibile între
înregistrările primei tabele şi cele ale celei de-a doua (pentru fiecare înregistrare din prima tabelă
se creează toate combinaţiile cu toate înregistrările din cea de-a doua, la fel pentru a doua, a treia,
… înregistrare din prima tabelă).
Proiecţie – Determină selectarea unui număr de coloane dintr-un tabel fără însă a impune
condiţii care să limiteze înregistrările selectate.
Proprietarul bazei de date (database owner) – Persoana care a creat iniţial baza de date. Acesta
deţine 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 defineşte modul lui de manifestare.
Setul de proprietăţi diferă în funcţie de tipul de obiect. Există proprietăţi care se referă la
identificarea obiectului (nume, titlu), aspect (dimensiune, formă, culoare), sursa de date a
acestuia (tabela, câmpul de date), evenimentele specifice (încărcarea, selectarea, modificarea) şi
altele.
128 Lector univ. drd. Mihai Gavotă - Baze de date
Raport (report) – Obiect Access utilizat pentru tipărirea la imprimantă sau vizualizarea pe ecran
a datelor din tabelele bazei de date grupate, centralizate, totalizate conform necesităţilor de
informare a utilizatorilor.
Rând (row) – O linie dintr-o tabelă a bazei de date formată din câmpuri. Sinonim pentru
înregistrare.
Relaţie – Legătură care se stabileşte î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
relaţii: unu la unu, unu la mulţi, mulţi la unu.
Reţea locală (LAN) – Reţea de calculatoare formată din sisteme de calcul şi dispozitive
periferice conectate între ele. Acestea rulează software specializat pentru a asigura comunicaţia
în reţea. În cazul unei reţele locale calculatoarele componente sunt dispuse la o distanţă relativ
mică între ele (în interiorul unei instituţii).
Selecţie – Se foloseşte în legătură 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
foloseşte pentru a denumi un set de înregistrări alese după unul sau mai multe criterii pe care le
îndeplinesc toate.
Server – Calculator aflat într-o reţea care pune la dispoziţia calculatoarelor clienţi servicii sau
resurse. Pot exista servere dedicate, acestea gestionează lucrul staţiilor de lucru fără 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 dispoziţia clienţilor resursele acestora.
SQL (Structured Query Language) – Limbaj de interogare destinat prelucrării datelor conţinute
în bazele de date relaţionale. 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.
Staţie de lucru – Calculator client într-o reţea de calculatoare care rulează diferite aplicaţii,
unele dintre ele solicitând date de la un server.
Subformular sau subraport – Obiecte de tip formular / raport conţinute 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 opţiuni care apare pe ecran atunci când este selectată o opţiune dintr-un
meniu. Opţiunile din submeniuri, când sunt selectate, pot determina deschiderea altor submeniuri
de pe nivelul următor.
Sursa de date a înregistrărilor (record source) – Tabelul sau interogarea care stă la baza unui
formular sau raport. Se numără printre proprietăţile unui formular sau raport.
Sursa de date a unui control (control source) – Câmpul dintr-o tabelă sau o interogare de unde
controlul ia datele pe care le afişează şi/sau modifică. Se numără printre proprietăţile obiectelor
care manipulează date.
ANEXA 3 – DICŢIONAR DE TERMENI 129
Tabelă (table)– Obiect component al bazei de date în care sunt memorate datele referitoare la un
obiect sau la o activitate. O tabelă este alcătuită din înregistrări (rânduri) şi câmpuri (coloane).
Tabelă ataşată (link table) – O tabelă care nu este conţinută în baza de date curentă ci se află în
exteriorul acesteia. Tabela ataşată este legată de baza de date şi este vizibilă din cadrul ei. Asupra
tabelei ataşate pot fi efectuate majoritatea operaţiilor care se fac în mod obişnuit asupra tabelelor
proprii.
Tip de date (data type) – Descrie modul de reprezentate internă a informaţiilor care se
memorează în baza de date. Principalele tipuri de date sunt: numeric, text, dată/oră, etc.
Validare – Operaţiune de verificare a datelor care sunt introduse în câmpurile tabelelor bazei de
date. Valorile datelor introduse trebuie să respecte condiţiile impuse de tipul de date al câmpului
(ex: în câmpurile numerice pot fi introduse numere şi nu text) şi condiţiile impuse câmpului prin
regulile de validare.
VBA (Visual Basic for Applications) – Limbaj de programare comun mai multor produse ale
firmei Microsoft. Pentru realizarea unor aplicaţii 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).
Vrăjitor (wizard) – Instrument pus la dispoziţie de Access pentru a crea mai rapid, în mod asistat
(printr-o succesiune de ecrane şi dialoguri) anumite obiecte sau expresii. Fiecare „vrăjitor” este
specializat pentru o sarcină anume.
BIBLIOGRAFIE
Codd, E.F. (1970). A Relational Model of Data for Large Shared Data Banks. Comunications
ACM.
Délobel, C., Adiba, M. (1991). Bases de donée et systèmes relationnels aux systèmes à Objects.
Paris: InterEditions.
Don, Benange. Azam, Mirza. (2001). Visual Studio 6. Bucureşti: Editura Teora.
Jamsa, K. (1999). Programarea Web. Bucureşti: Editura All.
Jennings, Roger. (1996). Utilizare Access 95. Bucureşti: Editura Teora.
Jennings, Roger. (2000). Totul despre Microsoft Access 2000. Bucureşti: Editura Teora.
Sales, Susan. (2000). Utilizare Microsoft Access 2000. Bucureşti: Editura Teora.
Winemiller, Eric. (2000).Visual Basic 6 - baze de date. Bucureşti: Editura Teora.
***. Documentaţia Microsoft Windows.
***. Documentaţia Microsoft Office 2000.
***. Documentaţia Microsoft ACCESS.
***. (1999). Microsoft Access 2000. Microsoft Press.