Sunteți pe pagina 1din 32

GRUP ŞCOLAR DIRECTOR:

PROF

PROIECT DE DIPLOMÃ
PROMOTIA

PROFESOR INDRUM ÃTOR:

ABSOLVENT:

FETESTI 2003

1
TEMÃ:

EVIDENTA STUDENTILOR INTR-O


UNIVERSITATE

2
CUPRINS:

INTRODUCERE.Despre ACCESS..................................pag4

CAPITOLUL 1. CONCEPTE SPECIFICE UNEI BAZE DE


DATE................................................................................pag5

CAPITOLUL 2. PREZENTAREA APLICATIEI...........pag

CAPITOLUL 3. BIBLIOGRAFIE

3
DESPRE ACCESS

Acest proiect acopera principalele caracteristici ale programului


Microsoft Access, produsul Windows pentru proiectarea si utilizarea
bazelor de date.
Access include un mediu de proiectare grafica pentru creearea si
modificarea de tabele, formulare, rapoarte, interogari si macroinstructiuni.
Acest mediu grafic ne permite sa mutam obiecte dintr-o zona in alta prin
tehnica drag-and-drop (deplasare si inserare), sa asociem doua sau mai
multe tabele desenand o linie intre campurile comune,precum si sa mutam
si sa redimensionam datele in cadrul unui formular sau al unui
raport.Formularele si rapoartele pot contine si imagini – de exemplu, in
cazul nostru, poza cu trenul.Putem, de asemenea, incopora in inregistrari,
obiecte OLE (Object Linking and Embedding/ Legarea si incapsularea
obiectelor), astfel incat un camp dintr-o inregistrare poate contine sunete,
animatie, un document scris intr-un editor text, o foaie de calcul sau o
imagine.
Access ne permite sa lucram cu date existente si sa importam si exportam
date din/in FoxPro, Paradox, text ASCII, foi de calcul si SQL Server.
Putem chiar sa combinam date dintr-o varietate de surse si formate de
fisiere din aceeasi baza de date Access.
Access ofera instrumente puternice de tipul Wizard (Asistent) care
automatizeaza si simplifica procesul de creare a formularelor si rapoartelor
– de la un raport simplu aranjat pe coloane pana la etichete postale. Barele
de instrumente ne permit sa comutam rapid intre proiectarea unui raport, a
unui formular sau a unei tabele, si vizualizarea rezultatelor.
Puten sa creãm macro-uri pentru a realiza operatii repetitive, sau sa
asocien actiuni a unor butoane pe care le plasam in cadrul formularelor.

4
Access ofera, de asemenea, unele facilitati deosebite cum ar fi integritatea
referentialã (controleazã modul in care sunt mentinute inregistrarile din
tabele asociate; aceasta trasatura previne stergerea unei inregistrari din
tabela primara daca aceasta este conectata la o unregistrare din tabela
asociata), auto-asociere (self-join= reprezinta capacitatea de a cãuta date
dintr-un camp in campul cheie al aceleiasi tabele), precum si expresii si
rutine de validare complexe.

CONCEPTE SPECIFICE UNEI BAZE DE DATE

1.1 Concepte de baza

O baza de date (BD) repezinta o colectie de date ce sunt adunate cu un


anumit scop şi sunt organizate intr-o structura specifica. O colectie de
timbre intr-un album, datele angajatilor dintr-un fişet, numerele de telefon
dintr-o agendã telefonicã – fiecare dintre aceste exemple reprezinta o baza
de date.
Un sistem de gestiune a bazelor de date (SCBD) are doua functii
principale: de pãstrare a informatiilor intr-o bazã de date şi respectiv de
furnizare a lor, la cerere; este, dacã vreti, albumul, fişetul sau agenda
telefonicã mai sus mentionate. Un SGBD computerizat este un program ce
prelucreaza datele stocate pe calculator.
Un sistem relatonal de gestiune a bazelor de date (SRGBD) este un sistem
care lucreaza cu informatiile dintr-o baza de date prin intermediul unor
relatii bine definite; baza de date gestionatã de un astfel de sistem se va
numi deci, implicit, bazã de date relationalã (BDR).
Microsoft Access este un SRGBD; prin intermediul produsului Microsoft
Access,metodele de introducere, de organizare şi de prelucrare a datelor
sunt foarte flexibile si usor de implementat, putandu-se stabili relatii intre
categorii diferite de informatii.
Pentru exemplificare, vom modul de organizare a unei baze de date
relationale teoretice. Sã presupunem cã tineti informatiile necesare
companiei dumneavoastrã in mai multe locuri di birou: lista cu adresele
clientilor se afla intr-un document pe calculator, lista cu facturile companiei

5
intr-un tabel, informatiile despre produse intr-un fişet si numerele de
telefon ale furnizorilor intr-o agenda, langã telefon.
Impreuna, toate aceste informatii formeaza o baza de date relationalã.
Fiecare grup de informatii deserveste un scop diferit, insa se pot combina
informatiile din doua sau mai multe grupuri pentru a rezolva anumite
probleme. Elementul cheie, care face sistemul sa functioneze, este felul in
care dumneavoastrã cunoasteti relatiile dintre categorii.
Sã presupunem cã decideti sa utilizati un calculator pentru a va gestiona
datele. In cazul in care nu utilizati un SRGBD, veti putea crea o singurã
tabelã, incapsulatã in baza de date, ce va contine toate informatiile nesare –
numere de telefon, facturi, informatii despre produse etc. Cu timpul, baza
dumneavoastrã de date va contine o multime de informatii redundante,
pentru cã, de exemplu, de fiecare datã cand introduceti un nou produs,
introduceti si numarul de telefon al furnizorului, insã daca ati cumparat
zece produse de la acelasi furnizor, adãugati de zece ori acelasi numar de
telefon, ceea ce va necesita maimult spatiu de stocare. In cazul in care o
informatie trebuie actualizata, ea va fi modificatãpeste tot in tabela, poate in
sute de locuri, ceea ce va necesita o multime de timp pentru a realiza
actualizarea; cu cat trebuie actualizate mai multe date, cu atat pot aparea
mai multe erori in procesul de modificare. Dacã se doreste modificarea
structurii – adaugarea numerelor de fax, sau gruparea produselor pe
categorii – veti fi nevoit sa munciti mai mult si ineficient pentru a reface
structura tabelei bazei de date.
Spre deosebire de o bazã de date non-relationalã, o bazã de date Microsoft
Access poate avea mai multe tabele ce contin informatii diferite, asemenea
locurilor din birou unde se aflã datele necesare companiei, din exemplul de
mai sus mentionat. Intr-o astfel de bazã de date se pot implementa relatii
intre tabele, astfel incat fiecare informatie va fi stocata intr-un singur loc.
Astfel, se reduce spatiul de inmagazinare a informatiilor prin eliminarea
copiilor. Reactualizarea unei informatii este mai rapidã şi mai sigurã pentru
cã se face mult mai uşor, şi se pot adauga noi tabele fãrã a le modifica pe
cele existente.
In capitolul ce va urma vom analiza structura unei baze de date Microsoft
Access, formata din urmatoarele tipuri de obiecte: tabele (table), interogari
(query), formulare (form), rapoarte (report), comenzi macro (macro) şi
module (module).

6
1.2 Modelul relational al bazelor de date

In acest capitol voi discuta pe marginea notiunilor, conceptelor si


operatiilor de modelare a datelor, rãmanand strict in domeniul
relationalului.
Primul pas in construirea unui model logic este dezvoltarea diagramei
entitate-relatie. O astfel de diagrama este compusa din trei blocuri
constructive principale: entitati, atribute şi relatii. Sugestia este sa privim
aceastã diagrama ca fiind un limbaj grafic cu ajutorul cãruia reprezentam
vizual propozitii ce descriu activitatile esentiale ale afacerii pe care o
modelam.

1.2.1 Diagrama enitate-relatie

Daca sunteti familiarizat cu un sistem de baze de date relational, atunci stiti


ca tabela este componenta de bazã a unui astfel de sistem. Tabelele sunt
organizate pentru a organiza si stoca informatia, o tabela fiind organizatã la
randul ei pe coloane si linii continand date. Fiecare linie contine un set de
„fapte” numite coloane (campuri) ale tabelei.
Intr-un sistem relational toate valorile datelor trebuie sã fie atomice, ceea ce
inseamna cã fiecare celulã poate contine doar un singur fapt. Exista insa
relatii intre tabele ce compun o bazã de date. Fiecare astfel de relatie este
reprezentata de RDBMS ca o partajare a una sau mai multe coloane intre
doua tabele. Tabelele care fac parte din modelul fizic alunei baze de date
relationale au drept echivalent logic „entitatea”, iar coloanele sunt
identificate logic ca „atribute” ale entitatii.

7
Entitatile sunt reprezentate grafic in chenare dreptunghiulare ce contin
numele entitatii. Utilizand in mod constant substantive pentru identificarea
entitatilor, se asigura o „numire/botezare” standardizata care faciliteaza
citirea diagramelor sub forma unor instructiuni declarative ce caracterizeazã
instantele entitatilor.
Relatiile dintre tabele sunt componente vitale ale bazelor de date
relationale. Ele reflectã modul de utilizare a cheilor partajate: fapte dintr-o
tabela care refera, sau sunt asociate cu fapte din alta tabelã. Statuarea unei
relatii intre doua entitati presupune cã faptele din tabela „parinte” sunt in
asociere cu faptele din tabela „fiu”.

1.2.2 Entitati si atribute

Cand ne gandim la entitati e bine sa facem analogia cu oameni, locuri,


evenimente, concepte despre care dorim sã pãstrãm informatii. Foarte
concis, o entitate este o colectie de instante.
Fiecare instanta reprezinta un set de fapte referitoare la entitatea de care
apartine. Intr-un model logic, aceste proprietãti, care identificã fapte se
numesc atribute. Fiecare atribut pastreazã o singurã informatie despre
entitate şi apartine unei singure entitati.
Daca doriti o definitie a notiunii de atribut iata una: un atribut reprezinta
tipul unei caracteristici sau proprietãti asociate unui set de lucruri reale sau
abstracte.

1.2.3 Relatii logice

Relatiile reprezintã conexiuni, legaturi sau asocieri, intre entitãti. Relatiile,


fiind reguli usor de inteles, permit beneficiarilor sã valideze constrangeri
referitoare la date şi chiar sã identifice cardinalitatea unei relatii. Cele mai
comune relatii sunt cele de tip one-to-many, ele exprimand faptul cã o
entitate este legata, conectata, la mai multe instante ale celei de-a doua
entitati. Intr-o astfel de relatie, entitatea aflata la capatul cu cardinalitate 1
(one) se numeste entitate pãrinte, iar cea aflata la capatul cu cardinalitate n
(many) se numeste entitate fiu.

8
Cardinalitatea unei relatii trebuie inteleasã insã ca raportul dintre numarul
instantelor entitatii pãrinte şi numarul instantelor entitatii fiu. Altfel spus,
cardinalitatea specificã numãrul instantelor entitatii dependente.
Relatiile in care sunt implicate doar doua entitãti, pãrinte şi fiu, se numesc
relatii binare.

 Relatiile „many-to-many”

Relatiile de acest tip, adesea numite si relatii nespecifice, reprezintã


situatiile in care o instantã a unei entitãti se leaga de una sau mai multe
instante ce apartin unei alte entitãti. Acest tip de relatie este folosit doar
in stadiile preliminare ale dezvoltãrii, urmand ca la un anumit moment al
procesului de modelare sã fie complet explorate. De regula in spatele
unei astfel de relatii se ascund reguli de afaceri sau restrictii care trebuie
scoase la iveala, iar adesea relatia este descompusa in doua relatii one-to-
many intre cele doua entitati. Dacã insã, din diverse motive este utilã
pãstrarea unor informatii legate de data, ora, comentarii etc., corelate cu
instante din cele doua entitati, descompunerea unei relatii many-to-many
se realizeazã prin introducerea unei noi entitati care sã includã aceste
fapte ca atribute.

1.2.4 Modelul bazat pe chei

Totdeauna cand propunem o noua entitate intr-un model e bine sã ne


punem urmãtoarea intrebare: Cum voi putea identifica unic o instantã a
acestei entitãti? Mai mult, trebuie subliniat cã este esential sã rãspundem la
aceasta intrebare pentru a putea dezvolta un model logic corect. Din aceasta
perspectiva, vom numi chei acele elemente ale modelului de date care sunt

9
folosite pentru identificarea unicã a instantelor unei entitãti şi care
implementate intr-un model fizic asigurã accesul la date. Grafic, entitãtile
sunt impartite, de regula, in doua zone: sus – zona cheilor; jos – zona
atributelor obisnuite; zonele sunt delimitate printr-o linie orizontala in
cadrul casutei.

 Cheia primara

Numim cheie primara a unei entitati setul de atribute folosit pentru a


identifica unic instantele acesteia. Cheia primara poate fi inteleasa ca
unul sau mai multe atribute cu conditia ca atributele alese sã formeze un
identificator unic pentru fiecare instanta a entitãtii.
Alegerea cheii primare pentru o entitate este un pas important care cere
luarea in calcul a catorva aspecte. De regula exista mai multe atribute,
sau seturi de atribute, care pot fi alese cheie primara. Pe toate acestea le
numim chei candidat la cheia primara. O cheie candidat trebuie sã
respecte cateva cruterii si anume:
- sa identifice unic instantele;
- sa nu contina valori nule, pãrti goale sau care lipsesc;
- sa nu-si modifice valoarea in timp; daca ea se schimba avem de-a face
cu o noua instanta;
- sa fie cat mai scurta posibil, facilitand astfel indexarea şi regãsirea;
dacã folositi chei combinate asigurati-vã cã toate partile componente
adera fiecare in parte, la toate regulile de mai sus.
O practica curenta in alegerea acestor chei este propunerea unei chei
surogat, un nou atribut de tip numeric, care este asignat in mod unic unei
instante tocmai in acest scop. Adesea, o astfel de cheie surogat este cea
mai buna alegere, cel putin din urmatoarele motive: este micã ca
dimensiune (octeti), asigurã identificarea unicã a instantelor şi nu in
ultimul rand, poate fi generatã automat de sistem de o manierã care sã
asigure numerotarea secventialã şi eliminarea gaurilor.

10
Observatie :cheia primara aleasa in modelul logic poate sa nu fie
neaparat cheia primara pentru a accesa eficient o tabela din modelul
fizic. De aceea ea poate fi modificatã in orice moment in functie de
cerintele modelului fizic.

 Chei alternative si intrari inverse

O buna practicã recomandã marcarea in modelul logic a cheilor candidat


care nu au fost selectate pe post de cheie primarã, ca si chei alternative.
Motivul este cã aceste chei alternative pot indica ulterior ce indecşi
putem construi pentru a optimiza accesul la date. Totodata necesitãti ale
afacerii impun adesea utilizarea unor atribute care nu au valori unice, dar
care sunt folosite frecvent la cãutarea de informatii relative la o entitate.
Aceste atribute se numesc intrãri inverse. Cu alte cuvinte, intrãrile
inverse sunt acele atribute sau grupuri de atribute pe care le vom folosi
in mod obisnuit pentru a accesa o anumita entitate chiar daca, nefiind
chei primare, vor fi intoarse ca rezultat mai multe instante.

 Chei strãine şi entitãti dependente

O metodã obisnuitã pentru reprezentarea relatiilor este folosirea de chei


partajate. Se spune ca aceste chei migreazã de la parinte la fiu: in
entitatea pãrinte ele joacã rol de cheie primarã iar in entitatea fiu, rol de
cheie straina. Orice cheie strainã este, deci , o intrare inversã. Pe masurã
ce dezvoltãm un model, putem constata cã unicitatea instantelor unei
entitãti depinde de valoarea unui atribut de tip cheie-strainã. Pentru

11
aceste entitãti, cheia strãinã trebuie sã facã parte din cheia primarã a
entitãtii fiu. In termeni relationali, o astfel de entitate, in care unicitatea
instantelor depinde de un atribut cheie-strãina se numeşte entitate
dependentã şi este reprezentatã grafic printr-o cãsutã cu colturile
rotunjite. Aceasta dependentã poate fi clasificatã astfel: dependentã
existentialã, cand entitatea fiu nu poate exista fãrã ca entitatea pãrinte sã
existe anterior si dependentã de identificare cand entitatea dependentã nu
poate fi identificatã fãrã a utiliza cheia entitãtii pãrinte. Cateva
exemplificãri sunt sugestive in acest caz. Sã luãm in primul caz entitãtile
Echipa ca entitate pãrinte şi Jucãtor ca entitate fiu ce contine şi cheia
straina idEchipa. In acest caz dependenta este de identificare, nefiind o
dependentã existentialã:jucãtorii pot exista chiar dacã momentan nu fac
parte dintr-o echipã. In schimb, in cazul unuio model, pentru evidenta
comenzilor,cand o comandã poate contine mai multe linii care detaliazã
ce produse/servicii vor compune comanda, entitatea LinieComanda este
dependentã existential de entitatea Comanda.
Entitatile care pentru identificare nu depind de nici o altã entitate se
numesc entitãti independente şi se reprezintã grafic in cãsute cu colturi
ascutite.

12
1.2.5 Cardinalitatea

Putem folosi cardinalitatea pentru a defini exact cate instante din entitatea
fiu si cate din cea parinte sunt implicate intr-o relatie. Sã precizãm pentru
inceput cã „many” dintr-o relatie one-to-many nu implicã obligativitatea de
a exista mai mult de o instantã fiu conectatã la pãrinte.

1.2.6 Integritatea referantialã

Prncipala caracteristicã a unui sistem relational este cã implementarea


relatiilor se bazeazã pe valorile datelor stocate. Dacã, de exemplu,
modificãm o valoare a cheii primare intr-o tabelã pãrinte, fãrã ca aceastã
modificare sã reflecte si in tabelele dependente, in mod cert o parte din
aceste date vor deveni inaccesibile. Scenarii similare pot fi imaginate in
general pentru comenzi de genul delete, insert, update in tabela parinte şi
altele care initiaza lantul modificãrilor in baza de date dinspre tabelele fiu
(dependente).
Pentru a prevedea astfel de aspecte, incã din faza de modelare, la definirea
relatiilor care contribuie cu chei strãine la alte entitãti, pot fi definite
actiunile care trebuie efectuate in fiu la operatii de update,delete, insert in
parinte, precum şi actiunile „inverse” efectuate in entitatea pãrinte la
aparitia aceloraşi operatii in fiu. Practic, nu facem altceva decat sã stabilim
niste reguli asociate relatiilor, numite si reguli(mecanisme) de integritate
referentiale.
Principalele actiuni de integritate referentialã sunt urmãtoarele: cascade
(C), restrict (R),set null (SN), set default (SD) şi none. Sa le luam pe rand
si sã le explicãm pentru cazul particular al operatiei de stergere delete:
- Cascade – de cate ori este stearsã o instantã din entitatea pãrinte,
instantele din entitãtile fiu legate de aceasta trebuiesc şterse la randul
lor;
- Restrict – interzice stergerea unei instante in pãrinte atat timp cat
existã o instantã legatã de ea intr-o instantã pãrinte;
- Set Null – la ştergerea unei instante in entitatea pãrinte, atributele chei
strãine ale instantelor legate de aceasta sunt setate pe „Null”;

13
- Set Default – similar cu Set Null, cu deosebirea cã valorile atributelor
sunt setate la o valoare implicita;
- None – nici o actiune de integritate referentialã nu este necesarã.

Citirea regulilor de integritate referentiala(IR)variaza in functie de locul


unde acestea sunt plasate(langa parinte sau fiu) si de actiunea ce urmeaza
a fi implementata in baza de date: Insert(I), Update(U) si Delete

1.2.7 Normalizarea

Procesul prin care modelul relational al unei baze de date este facut sa
respecte regulile propuse de E.F.Codd pentru baze de date relationale se
numeşte normalizare.Urmand aceste reguli poate fi controlat procesul de
eliminare a redundantelor datelor si a structurilor de date care permit
accesarea unui fapt unic pe mai multe cãi.Scopul normalizarii este de a
asigura ca existã doar o singura cale de a ajunge un „fapt” stocat in baza de
date.Sloganul de baza este: ”Un fapt ocupã un singur loc!”
Cunoasterea definitiilor principalelor forme normale ne va ajuta sa
intelegem procesul de normalizare:
- Dependenta functionala. Date fiind o entitate E si doua atribute A si B
ale sale, spunem ca B este dependent functional de A dacã si numai
dacã fiecare valoare a lui B se afla in asociere recisa cu valoarea
corespunzatoare din A.
- Dependenta complet functionala. Date fiind o entitate E, si atributul B
al entitatii E este complet dependent functional de alt set de atribute
A, daca B este dependent functional de A si nu este dependent
functional de orice subset al lui A.
- Prima forma normala (1NF).O entitate E este in 1NF daca si numai
daca toate valorile elementare contin doar valori atomice. Orice grup
repetitiv trebuie eliminat.
- A doua forma normala(2NF). O entitate E este in 2NF, daca E este in
1NF şi fiecare atribut a lui E, care nu este cheie este complet
dependent functional de cheia primarã. Altfel spus, nu existã
dependente de chei partiale – dependenta este fatã de intreaga cheie K
a entitãtii E şi fatã de un subset particular al lui K.

14
- A treia formã normalã(3NF). O entitate E este in 3NF este in 2NF şi
nici un atribut non-cheie nu este complet dependent de celelalte
atribute non-cheie. Altã formulare echivalentã: „Entitatea E este in
3NF daca E este in 2NF si fiecare atribut non-cheie este tranzitiv
dependent de cheia primara”.
Deşi dincolo de acest nivel de normalizare mai existã incã trei forme
normale: Boyce-Codd, 4NF şi 5NF, a treia forma normala este cea
standard.Cu toate acestea cand se trece la implementarea fizica a
structurii de date, deseori, din motive de performanta se efectueaza o
serie de denormalizari se introduc redundante in stuctura de date,
eficienta sistemului poate creste semnificativ.
Majoritatea problemelor cu care se confrunta proiectantii sunt legate de
violari ale formelor normale.Cele mai des intalnite astfel de probleme
sunt urmatoarele:grupuri de date repetitive, multiple utilizari ale unui
atribut, multiple aparitii ale unui fapt, fapte aflate in conflict, atribute
derivate, informatii lipsã, unificari.

2.1 Sisteme de gestiune a bazelor de date

Fiind un sistem relational de gestiune a bazelor de date, primul lucru


pe care il putem face cu Microsoft Access este un fisier cu extensia
MDB ce contine mai multe obiecte: tabela-pentru introducerea si
stocarea datelor, interogarea-pentru interogarea bazelor de date,
formularul-destinat introducerii datelor pe ecran, afisarii si editarii
datelor, raportul-pentru operatii de iesire (datele fiind dirijate de obicei
catre o imprimanta), comenzile macro - o secventa de actiuni care
trebuie repetatã la cererea utilizatorului, module-recipiente pentru
subrutine si functii.La dechiderea fisierului toate obiectele care formeazã
baza de date sunt afişate intr-o fereastra numita Database.Pentru a uşura
munca celui care construieste baza de date, Microsoft Access pune la
dispozitia dezvoltãtorilor, programe ”vrajitor”(Wizard), care creaza
tabele, interogari, formulare, rapoarte in functie de rãspunsurile la
anumite intrebãri.Cu toate acestea, efortul initial pentru crearea bazei de
date este mai mare decat acela pentru realizarea unei foi de calcul

15
tabelar, dar la extragerea informatiilor din baza de date se va vedea cã
acest efort merita. Baza de date va permite gãsirea rapidã a unei
informatii, interogãri asupra unor anumite categorii din date si tiparirea
cu uşurinta a catelor dorite.
Lucrand cu o baza de date, adãugand şi ştergand date, creand şi
distrugand obiecte, aceasta incepe sa se fragmenteze fiind nevoie de o
compactare .Microsoft Access are o functie de compactare a bazei de
date, dar pentru a putea compacta o baza de date trebuie inchisa fereastra
Database lãsand sistemul Access deschis.Din cand in cand s-ar putea ca
baza de date sa se defecteze, iar pentru repararea ei Microsoft Access
pune la dispozitie un utilitar-Repair Database, care in timpul reparãrii
bazei de date creaza obiecte temporare, fiind indicata o compactare dupa
terminarea operatiei de reparare.
Microsoft Access ofera şi posibilitati de protectie a bazei de date prin
folosirea grupurilor şi a utilizatorilor, baza de date putand fi accesata
doar de anumite grupuri (de utilizatori) şi/sau de cãtre anumiti utilizatori,
in functie de drepturile fiecãruia.

Ca orice SGBD serios, Microsoft Access are inclus un limbajde


programare-Access Basic. Datorita faptului ca Microsoft Access are
inclus un limbaj de programare putem sa creãm aplicatii.

2.1.1 Tabele

Tabelele reprezintã blocurile de constructie ale Access-ului. Ele


stocheaza datele cu care lucrãm. Fiecare tabelã este impãrtitã in
inregistrãri; fiecare inregistrare contine informatii despre un singur
element. Inregistrãrile, la randul lor, sunt constituite din campuri,
unitãtile individuale care stocheazã informatiile la nivelul cel mai de jos.
Observatie: pentru a deplasa un camp la o nouã locatie,efectuãm click in
caseta din stanga numelui campului, apoi efectuãm click şi tragem
campul in noua pozitie.

16
2.1.2 Formulare

Formularele reprezinta ecrane care ne permit sã afişãm informatii şi sa


editãm date intr-un mod de prezentare specificat de noi. Formularele pot
consta dintr-un singur ecran sau o parte a unui ecran, sau pot cuprinde
mai multe ecrane. Pentru o mai mare uşurintã ,putem crea formulare
personalizate pentru introducerea de date.
Observatie: pentru a crea un formular de introducere rapidã a datelor,
selectãm o tabelã, apoi selectãm butonul New Object de pe bara de
instrumente. Access va crea pentru campurile din tabela selectatã un
formular implicit ce contine un camp pe un rand.

Subformulare

Subformularele sunt formulare incluse in alte formulare. In general, se


utilizeazã pentru a reprezenta partea mai multi a unei relatii de tipul unu-
la-mai multi.
Un subformular este, pur si simplu, un formular mai mic decat intregul
ecran. Ca şi orice alt formular, un subformular este ataşat unei tabele sau
unui set de tabele. Un formular inserat intr-un alt formular este denumit
subformular, dar din punct de vedere tehnic rãmane o unitate de-sine-
statatoare, care poate fi modificatã sepatat.

Pentru a insera un subformular intr-un formular:

1. Afişãm formularul ce va contine subformularul in modul Design.


Acesta se numeşte formularul principal.
2. Afişãm fereastra Database apãsand F11.
3. Efectuãm click pe butonul Form şi marcãm luminos numele
formularului ce va fi folosit ca subformular.
4. Tragem subformularul in formularul principal.

17
Cand un subformular este inclus intr-un formular, il putem edita
direct.Avand formularul in modul Design, efectuãm dublu click pe
subformular şi Access va afişa o fereastra de editare separata pentru
acesta.Salvãm modificarile(selectãm File ►Save din meniul principal)şi
inchidem subformularul, iar modificarile aduse acestuia vor apãrea in
formularul principal.

2.1.3.Rapoarte

Raportele ne permit sã realizam o prezentare a datelor in vederea


tipãririi, sau sã stocãm datele pe disc pentru a fi tipãrite ulterior.Putem crea
rapoarte pentru a lista inregistrãri individuale in ordine sortatã, pentru a
afişa inregistrarile grupate dupa valoarea unui camp sau pentru a totaliza
datele.De exemplu, putem lista toti studentii in ordine alfabeticã, toti
studentii dupa facultate sau sã aflãm numãrul studentilor din fiecare
facultate.
Ca şi in cazul formularelor, Access ne pune la dispozitie un instrument
de tip Wizard, numit Report Wizard, care simplificã procesul de creare a
rapoartelor.
Rapoartele prezintã multe trãsaãturi asemãnãtoare interogãrilor:putem
salva un raport şi sã-l tipãrim din nou; putem sã proiectãm un raport care
sã foloseascã rezultatele unei interogãri şi nu datele dintr-o tabelã. Dacã
vrem sã prezentãm un subset de inrtegistrãri dintr-o tabelã, o interogare este
un mod foarte eficient de afişare care imbunãtãteste performantele
rapoartelor din Acces. Astfel creste viteza de creare a rapoartelor, deoarece

18
interogarile sunt mult mai eficiente in ce priveste selectarea inregistrãrilor
decat rapoartelor.

SUGESTIE: Pentru a crea un raport rapid, selectãm tabela bazã de date sau
interogarea fie din fereastra Database, fie in modul de afişare Datasheet.
Apoi alegem butonul AutoReport din bara de instrumente. Acces va crea un
raport sub formã de coloane.

2.1.3 Interogari

Facilitatea Find din Acces cautã anumite valori dintr-un camp examinand
fiecare inregistrare şi afişand rezultatul cautãrii sub forma unei inregistrãri
la un moment dat.
O interogare (query) este utilizatã pentru a gasi mai multe inregistrari la un
moment dat. In plus, interogarea ne permite sã specificam campurile pe
care vrem sa le vedem in foaia de date, precum şi ordinea acestora. De
asemenea, putem sorta inregistrãrile şi specifica anumite criterii pentru a
selecta in vederea afişãrii numai anumite inregistrãri.
inregistrãrile pot fi afişate in modul Datasheet, un mod de prezentare a
datelor asemanator unei foi de calcul. Ca şi in cazul altor grile, putem sã
inserãm şi sã mutãm coloane, precum şi sã modificãm lãtimea coloanelor
sau inãltimea randurilor. In plus, putem actualiza valorile campurilor dintr-
o interogare pentru orice tabelã implicatã.
Pentru a rula o interogare, trebuie sã informãm programul Acces despre
doua lucruri:
 ce campuri dorim sã fie afişate;
 ce campuri contin valorile pe care le cãutãm sau valorile care impun
limitele cãutãrii; de exemplu, poate dorim sã vedem numai
inregistrãrile care contin datele despre studentii din cadrul unei
facultati.
Cand executãm o interogare, Acces gaseste inregistrãrile cerute şi le
afişeaza. Acest set de inregistrãri poarta denumirea de set dinamic
(dynaset), deoarece este o multime de inregistrãri care se creaza dinamic,
prin procesul de cãutare. Setul dinamic este pur şi simplu o submultime a
inregistrãrilor din tabelã. Spre deosebire de alte programe de baze de date,

19
care creeaza un set dinamic ce poate fi numai afişat, Access ne permite sa
adãugãm, sã editãm şi sã ştergem inregistrãri in modul de afişare Datasheet
al unui set dinamic.
Cu inregistrãrile in modul Datasheet, avem urmãtoarele posibilitãti:
 Sã modificãm interogarea efectuand click pe butonul Design sau
selectand View►Query Design din meniul principal.
 Sã gãsim o anumitã valoare in oricare dintre coloane efectuand click
pe butonul Find, selectand Edit►Find din meniul principal sau
apãsand Ctrl+F.
 Sã schimbãm modul de afişare din Datasheet: sã modificãm fontul,
ordinea coloanelor, lãtimea coloanelor etc.
 Sã salvãm modificãrile in modul de afişare Design in vederea unei
utilizãri ulterioare, selectand File►Save As/Export şi introducand un
nou nume de interogare.

Observatie: pentru a selecta numai primele inregistrãri, efectuãm click


cu butonul din dreapta oriunde in interogare, cu exceptia grilei. Efectuãm
click pe butonul Properties din bara de instrumente, sau selectãm
View►Properties. Introducem numãrul de valori (n) pe care vrem sã le
vedem in setul dinamic in proprietatea Top Values, sau utilizãm optiunea
Top Values din bara de instrumente.

2.1.4 Comenzi macro

Comenzile macro apartin categoriei de obiecte care permit manipularea


datelor continute de baza de date. O comandã macro este o secventã de
actiuni programatã sã se desfãşoare la comandã. Pentru cã in Access nu
este permisã crearea de comenzi macro prin inregistrarea unei secvente
de taste apasate, sunt utilizate in general de neprogramatori, care
selecteazã fiecare actiune dintr-o listã derulantã, furnizand detalii asupra
obiectelor implicate de operatia respectivã.
O comandã macro poate fi asociatã unui eveniment, unui buton, unei
apãsãri de tastã sau unui element din meniu.
Pentru a crea o comandã macro, selectand eticheta Macro din fereastra
Database se executã click pe New. In timp ce pe o linie din fereastra

20
principalã se inscrie actiunea de executat, in panoul din partea de jos a
ferestrei se pot introduce argumentele corespunzãtoare actiunii.
Aplicatiile mai simple din Access pot fi scrise folosind comenzi macro.
Deşi comenzile macro sunt bune pentru crearea rapidã de prototipuri de
functii şi pentru dezvoltarea majoritãtii aplicatiilor de bazã, dezvoltarea
unor aplicatii serioiase in Access se face folosind limbajul VBA şi
Access Basic.
Marile avantaje pe care le oferã limbajele de programare mai sus
amintite, fatã de comenzile macro, ar fi :
- implementarea tratãrii erorilor;
- executia procesului tranzactional;
- crearea unor structuri ciclice pentru parcurgerea seturilor de
inregistrãri;
- apelarea functiilor Windows API;
- crearea prin program a obieeectelor bazei de date;
- utilizarea constantelor si a variabilelor;
De asemenea, Access Basic Si VBA uşureaza scrierea bibliotecilor de
functii reutilizabile, precum şi proiectarea si depanarea proceselor
complexe de cãtre programatori. In concluzie, deşi comenzile macro pot
da solutii rapide problemelor simple, limitãrile lor determinã necesitatea
folosirii limbajelor de programare pentru dezvoltarea solutiilor mai
complexe.

2.1.6 Module

Incercand sã depãşeascã limitele comenzilor macro in privinta


manipulãrii datelor stocate in baza de date, Access ne pune la dispozitie
un set de subrutine şi functii ce sunt pãstrate in module. Modulele pot fi
globale sau specifice unui formular sau raport (CBF).
Modulele de program sunt de fapt nişte colectii de proceduri VBA. Spre
deosebire de alte programe, conceptul de procedurã reprezintã o unitate
de program care efectueazã o anumitã operatie şi are prevãzutã o
anumitã interfatã de apel.
In VBA procedura se imparte in subrutine, unde apelul de subrutinã este
asimilat cu notiunea de instructiune dintr-un limbaj de programare, şi in
functie, unde apelul de functie este asimilat cu notiunea de operand intr-
o expresie.

21
Atat subrutinele cat şi functiile sunt supuse la doua faze de lucru:
definita prealabilã şi apelul. Un modul este deci un obiect Microsoft
Access care contine un set de proceduri şi functii. O aplicatie poate
contine unul sau mai multe module, dar este mai convenabil sã aibã mai
multe module, procedurile şi functiilefiind grupate in module dupa
anumite criterii, ca de exemplu procedurile asociate unui formular sau
raport sã fie grupate intr-un modul.Incepand cu versiunea 2. 0, Microsoft
a introdus formulare şi rapoarte cu module in spate, astfel fiecare
formular şi raport are asociat un modul propriu, functiile şi procedurile
din interiorul unui formular, raport putand fi apelate doar din interiorul
raportului formularului, nu şi din celelalte module.Insa in Access `95
functiile şi procedurile din aceste module pot fi folosite şi in alte
module.
O subrutina (sub-procedura) este o rutina care raspunde la aparitia unui
eveniment sau executã o anumita actiune.O functie este un tip special de
rutina, datorita faptului cã poate intoarce o valoare.Aceste subrutine şi
functii sunt pãstrate in module.Modulele furnizeaza o cale de a organiza
procedurile.Cu toate cã toate procedurile pot fi inglobate intr-un singur
modul, este mai convenabil sã le divizãm in grupuri logice, şi fiecare
grup sã-l stocãm in grupuri separate.Modulele pot fi globale sau
specifice unui anumit formular sau raport.Modulele specifice unui
formular sau raport sunt in general anumite coduri din spatele
formularelor (Code Behind Forms – CBF)
Exista douã feluri de rutine, rutinele evenimentelor şi rutine definite de
utilizator.Procedurile evenimentelor sunt create automat atunci cand
scrieti codul evenimentului pentru control.De exemplu, rutina Private
Sub OKButton_Click() este creatã atunci cand plasati instructiuni de cod
in evenimentul Click al butonului numit OKButton.
De asemenea, utilizatorii işi pot crea rutine proprii.Acestea nu sunt
specifice unui anumit obiect sau eveniment.Depinzand de modul şi de
locul in care au fost create, ele pot fi apelate de oriunde din aplicatie sau
numai dintr-un modul individual de cod, formular sau raport.Iata un mic
exemplu de subrutina:
Sub SayHello()
`Subrutina care afişeazã pe ecran textul ” Hello world!, from Access.”
End Sub

22
Procedurile evenimentelor sunt apelate automat cand are loc un
eveniment pentru un obiect.De exemplu, cand utilizatorul executã click
pe un buton de comandã, este executat codul evenimentului Click pentru
acel buton de comandã.In mod obişnuit, pentru apelarea procedurilor
definite de utilizator, se foloseste cuvantul cheie Call, ca in exemplul
urmãtor: Call SayHello
Apelul se poate face insã şi fãrã cuvantul cheie Call, astfel:
SayHello.Totuşi, aceasta metodã contravine standardelor, deoarece
cuvantul cheie Call indicã faptul cã se apeleazã o rutinã definitã de
utilizator sau o rutinã eveniment.Cuvantul cheie Call face ca
instructiunea sã fie mai clarã şi mai uşor de citit.Deci vã recomãndãm sã
folositi cuvantul cheie Call.
Atat subrutinele cat şi functiile pot primi argumente(parametri), dar
numai functiile pot returna valori.Subrutina din exemplul urmãtor
primeşte doi parametri, txtFirst şi txtLast:

Private Sub sendMsg_Click()


Call Initials (txtFirstName, txtLastName)
End Sub
Sub Initials (sFirst As String, sLast As String)
MsgBox ”Initialele dvs. Sunt”& Left$(sFirst, 1) & Left$(sLast, 1)
End Sub

Codul precedent transmite pur şi simplu valori şi apoi opereazã


cu ele.Exemplul urmãtor ilustreazã folosirea unei functii care intoarce o
valoare:
Private Sub nameFunc_Click()
Dim sInitials As String
sInitials =ReturIni(txtFirstName, txtLastName)
MsgBox „Initialele dvs. Sunt „ & sInitials
EndSub
Function ReturIni = Left$(sFirstName As String, sLastName As String)
ReturIni = Left$(sFirstName, 1) & Left$(sLastName, 1)
End Function

23
CAPITOLUL 2

PREZENTAREA APLICATIEI

Introducere

Plecand de la premiza cã pentru noi, absolventi ai Tehnologiei


Informaticii,proiectul de diplomã marcheazã incheierea unei perioade de
trei ani de studiu in domeniul informaticii ca o activitate orientatã spre
exploatarea bazelor de date, in scopul eficientei unei activitãti, am
considerat cã o aplicatie informaticã mi-ar fi de folos in anii ce vor urma.
Aceastã aplicatie a fost conceputã sã aducã un plus de calitate
activitãtii de secretariat dintr-o unitate de invãtãmant. Pentru aceasta ea
vizeazã indeplinirea obligatiilor de cãtre studenti pe linia activitãtii
presate de ei intr-un an universitar.
Dincolo de utilitatea sa, sistemul este uşor de folosit. El dispune de un
meniu care reflectã fidel cele mai importante faze din activitatea unui
operator de calculator.
Obiectivele pe care aceastã aplicatie le urmãreste sunt organizarea cat
mai eficientã a bazei de date in functie de specificul activitãtii, precum şi
respectarea cu strictete a regulilor generale ale organizãrii datelor, şi
anume:
- timpul de acces la date sã fie minim;
- datele sã aparã o singurã datã in sistem;
- flexibilitatea datelor;

24
- datele sã respecte pe cat posibil toate legãturile dintre obiecte;

Pentru realizarea acestor obiective este indicat ca aceastã aplicatie sã


ruleze pe o bazã de date realã putandu-se astfel observa unele aspecte pe
care proiectantul nu le-a putut anticipa in faza de concepere a aplicatiei.
Exploatarea acestui produs nu necesitã cunostinte anterioare de
informaticã, este uşoarã şi foarte aproape de experienta zilnicã de panã
acum a unei secretare. Ceea ce este nou, este simplitatea şi uşurinta cu
care se rezolvã totul.

Programul este alcãtuit din:


 tabele si anume:
- An
- Grupa
- Studenti
- Facultate
- Sectii
- Swichboard Items,
dupã cum o sã vedem şi in exemplul urmãtor.

25
Exemplul 1.Tabele.

26
Exemplul 2. Tabela Facultate.

27
 16 videoformate:
- An
- Evidentã sectii
- Evidentã studenti
- Facultate
- Facultate 1
- Grupa
- Grupa subform
- Sectii
- Sectii subform
- Sectii subform 1
- Sectii subform 2
- Studenti
- Studenti subform
- Studenti subform 1
- Switchboard
- Variabile,
Dupã cum aratã şi exemplul de mai jos.

Exemplul 3. Videoformate.

28
Exemplul 4.Meniul Switchboard şi videoformatul Facultate 1.

29
Un punct important din realizarea, dar si din functionarea unui
program il reprezintã construirea relatiilor dintre tabele.
In baza noastrã de date, relatiile sunt urmãtoarele:

Exemplul 5. Relatii.

30
Cerinte minime de instalare:

- sistem de operare Windows ’98 sau o versiune mai noua;


- programul Microsoft Access din pachetul Office ’97 sau mai nou;
Recomandare: Pachetul Office XP.

31
BIBLIOGRAFIE:

Programarea Bazelor de Date cu aplicaţii


pentru Access 2000
Autor: Christian Mancaş

Access Database Design & Programming


Autor: Steven Roman

32

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