Proiect Baze de Date - Licenta 2010

52
UNIVERSITATEA VALAHIA TÂRGOVIŞTE Departamentul D.I.D.F.C. Specializarea Informatica - Slatina, Olt PROIECT Coordonator:

Transcript of Proiect Baze de Date - Licenta 2010

Page 1: Proiect Baze de Date - Licenta 2010

UNIVERSITATEA VALAHIA TÂRGOVIŞTE Departamentul D.I.D.F.C.

Specializarea Informatica - Slatina, Olt

PROIECT

Coordonator:

Cursant :

2010

Page 2: Proiect Baze de Date - Licenta 2010

PROIECT BAZE DE DATE

2

Page 3: Proiect Baze de Date - Licenta 2010

CUPRINS

CAPITOLUL I. SGBD – ASPECTE FUNDAMENTALE

1.1. Conceptul de SGBD ………..……………………………………………………….. 4

1.2. Obiectivele unui SGBD ……..………………………………………………………. 5

1.3. Funcţiile unui SGBD ……..…………………………………………………………. 8

1.4. Clasificarea SGBD …………………………………………………………………. 10

1.5. Arhitecturi de SGB …………………………………………………………………. 11

CAPITOLUL II. ACCESS – PROGRAMUL MICROSOFT OFFICE PENTRU BAZE DE DATE

2.1. Caracteristici generale ………………………………………………………………. 13

2.2. Arhitectura Microsoft ACCESS ……………………………………………………….. 13

2.3. Tabele (tables) ………………………….………………………………..………… 14

2.4. Interogările (Queries) ………………….…………………………………………… 17

2.5. Formulare (Forms) …………………….…………………………………………… 18

2.6. Rapoartele (Reports) …………………….………………………………………….. 20

2.7. Macroinstrucţiunile (Macros) ……….……………………………………………... 20

2.8. Modul (Modules) …………………….…………………………………………….. 21

CAPITOLUL III. SITUAŢIA ŞCOLARĂ A ELEVILOR DIN CLASA a XI-a A GRUPUL ŞCOLAR AGRICOL - BALŞ

3.1. Analiza structurală ………………..….…………………………………………… 22

3.2. Crearea şi popularea bazei de date …….………………………………………….. 25

CAPITOLUL IV. CONCLUZII …………….………….……………………………….. 33

BIBLIOGRAFIE …………………………………….………………………………………… 34

3

Page 4: Proiect Baze de Date - Licenta 2010

CAPITOLUL I.

SGBD – ASPECTE FUNDAMENTALE

1.1. Conceptul de SGBD.

Pentru a înţelege noţiunea de SGBD (Sistem de Gestiune a Bazelor de Date, în engleză – DataBase Management System), în contextul unui SBD (Sistem de Bază de Date), vom studia definirea, rolul şi evoluţia SGBD-urilor.

a) Definirea unui SGBD

SGBD este un ansamblu complex de programe care asigură interfaţa între o bază de date şi utilizatorii acesteia.

SGBD este componentă software a unui sistem de bază de date care interacţionează cu toate celelalte componente ale acestuia, asigurând legătura şi interdependenţa între elementele sistemului (vezi arhitectura unui SBD)

b) Rolul unui SGBD

Rolul unui SGBD într-un context de sistem de bază de date este de a:1. defini şi descrie structura bazei de date, care se realizează printr-un limbaj propriu specific,

conform unui anumit model de date;2. încărca/valida datele în baza de date respectând nişte restricţiile de integritate impuse de

modelul de date utilizat;3. realiza accesul la date pentru diferite operaţii (consultare, interogarea, actualizare, editare

situaţii de ieşire), utilizând operatorii modelului de date4. întreţine baza de date cu ajutorul unor instrumente specializate (editoare, utilitare - shells,

navigatoare – browsers, convertoare etc);5. asigura protecţia bazei de date subaspectul securităţii şi integrităţii datelor.

c) Evoluţia SGBD-urilor

Evoluţia SGBD-urilor este legată, în principal, de modelul de date pe care-l implementează. Organizarea datelor în memoria externă în baze de date se face conform unui model de date.Etapele în evoluţia SGBD-urilor sunt următoarele:1. Până în anii şaizeci datele erau organizate doar în fişiere, gestionate de programe scrise în

diferite limbaje de programare universale (exemple: Cobol, Fortran etc.).2. La sfârşitul anilor şaizeci a apărut modelul arborescent de organizare a datelor şi primele

SGBD-uri care erau ierarhice şi implementau acest model (exemplu: IMS).3. La începutul anilor şaptezeci a apărut modelul reţea de organizare a datelor şi SGBD-urile

reţea ce implementau acest model (exemple: IDMS, SOCRATE).SGBD-urile arborescente şi reţea fac parte din prima generaţie şi ele constituie pionieratul în

domeniu.4. La sfârşitul anilor şaptezeci, începutul anilor optzeci a apărut modelul relaţional de

organizare a datelor şi ulterior s-au realizat SGBD-urile relaţionale ce implementau acest model (exemple: Oracle, Informix, DB2, SQLServer, Visual Foxpro, Access etc.). Este generaţia a doua de SGBD, care prin simplitate, interactivitate şi neproceduralitate domină piaţa actuală.

5. La sfârşitul anilor optzeci, începutul anilor nouăzeci a apărut modelul orientat obiect de organizare a datelor şi SGBD-urile orientate obiect ce implementau acest model (exemple: Gemstone, O2, Jasmine etc.). Aceasta este generaţia a treia de SGBD care este în plină dezvoltare acum.

4

Page 5: Proiect Baze de Date - Licenta 2010

În acest moment, în lume, cea mai mare parte a bazelor de date sunt realizate cu SGBD relaţionale, o foarte mică parte cu SGBD de generaţia întâi şi câştigă tot mai mult teren cele realizate cu SGBD orientate obiect.

1.2. Obiectivele unui SGBD

Obiectivul general al unui SGBD este de a furniza suportul software complet pentru dezvoltarea de aplicaţii informatice cu baze de date. Fiind un mediu specializat, SGBD satisface cerinţele informaţionale ale utilizatorului într-un mod optim. Astfel, el asigură minimizarea costului de prelucrare a datelor, reduce timpul de răspuns (timp util), asigură flexibilitate şi deschidere mari aplicaţiei, asigură protecţie ridicată a datelor.

Pentru ca un produs software să atingă performanţele de mai sus şi să fie un SGBD, el trebuie să asigure un set minim de obiective, aceste obiective sunt prezentate în continuare:

1.2.1 Asigurarea independenţei datelor

Se spune că o aplicaţie informatică depinde de date, dacă modificarea structurii de memorare a datelor sau a strategiei de acces la date afectează şi aplicaţia.

Independenţa datelor faţă de aplicaţie poate fi:- fizică, adică modul de memorare a datelor şi tehnicile fizice de memorare (strategia de acces),

pot fi schimbate fără a rescrie programele (exemplu, se poate face acces secvenţial, apoi se poate indexa şi face un acces direct);

- logică, adică structura de date poate fi schimbată (deoarece este păstrată în dicţionarul bazei de date) fără a rescrie programele (exemplu, se poate adăuga în structură un nou câmp).

Necesitatea asigurării independenţei datelor faţă de programele de aplicaţie, de către SGBD, este dată de următoarele aspecte:

• diferite aplicaţii au nevoie de viziuni diferite ale utilizatorului asupra celorlalte date. O bază de date este realizată pentru o gamă largă de utilizatori, care au la dispoziţie un volum

mare de date. SGBD-ul trebuie să-i permită la un moment dat unui utilizator să “vadă (să-şi construiască o viziune) doar o parte din baza de date şi anume numai acele date care îl interesează;

• administratorul bazei de date trebuie să aibă libertatea de a schimba structura de memorare sau strategia de acces, ca răspuns la cerinţele noi apărute, fără a modifica aplicaţiile existente (sistem deschis). După darea în folosinţă a unei baze de date pot apare schimbări de standarde sau norme, se pot modifica priorităţile aplicaţiei, se pot modifica unităţile şi modul de memorare ale datelor etc. Cu alte cuvinte, dinamica lumii reale înconjurătoare va genera modificări în baza de date. SGBD-ul va permite aplicaţiei informatice să funcţioneze cu programele existente şi să convertească datele;

Baza de date existentă la un moment dat, precum şi programele de aplicaţie care au fost folosite o perioadă de timp, reprezintă o investiţie majoră la care nu trebuie să se renunţe prea uşor.

Cheltuielile pentru realizarea unei baze de date sunt mari, iar ele trebuie recuperate integral şi adus un beneficiu.

1.2.2. Redundanţă minimă şi controlată a datelor

Spre deosebire de sistemele clasice (cu fişiere) de prelucrare automată a datelor, stocarea informaţiilor în bazele de date se face astfel încât datele să nu fie multiplicate. Cu toate acestea, uneori, pentru a realiza performanţe sporite, în ceea ce priveşte timpul de răspuns se acceptă o anumită redundanţi a datelor. Aceasta va fi însă controlată pentru a se asigura coerenţa (corectitudinea datelor) bazei de date.

Exemplul tipic de redundanţă controlată acceptată este cea apărută la proiectare bazelor de date relaţionale prin tehnica de normalizare.

1.2.3. Facilităţi de utilizare a datelor

Această facilitate presupune ca SGBD-ul să aibă nişte componente specializate pentru diferite operaţii de utilizare:

- Folosire datelor de către mai mulţi utilizatori în diferite scopuri.

5

Page 6: Proiect Baze de Date - Licenta 2010

- De cele mai multe ori, o bază de date nu este realizată izolat. Mai ales în cazul realizării unor aplicaţii informatice cu baze de date care fac parte dintr-un sistem integrat, dar nu numai, datele de la o aplicaţie trebuie să poată fi utilizate în alte aplicaţii. Acest lucru reduce spaţiul de memorare necesar şi efortul de încărcare / validare a datelor.

- Accesul cât mai simplu al utilizatorilor la date, fără ca ei să fie nevoiţi să cunoască structura întregii baze de date, acest lucru rămânând în sarcina administratorului bazei de date.

Utilizatorul final sau intensiv (neinformaticienii), care este beneficiarul aplicaţiei cu baze de date, are puţine noţiuni de informatică. De aceea pe el nu îl interesează structura bazei de date, ci numai o utilizare cât mai uşoară. Pentru acest lucru SGBD-ul trebuie să ofere instrumente specializate pentru dezvoltarea de programe de aplicaţie cât mai prietenoase, care să dirijeze şi să ajute beneficiarul în utilizarea bazei de date.

- Existenţa unor limbaje performante de regăsirea a datelor care permit exprimarea interactivă a unor cereri de regăsire a datelor şi indicarea unor reguli pentru editarea informaţiilor solicitate.

Regăsirea datelor este una din operaţiile cele mai folosite într-o bază de date. Fie că este folosită pentru actualizare sau pentru consultare, sub forme diferite, regăsirea datelor este realizată la cererea tuturor tipurilor de utilizatori ai bazei de date. Din acest motiv SGBD-urile sunt puternice în ceea ce privesc facilităţile de regăsire. Acestea au atins performanţe ridicate în sistemele relaţionale, multe din facilităţile de regăsire de aici fiind preluate în generaţia a treia de SGBD-uri.

- Spre deosebire de sistemul clasic de prelucrare pe fişiere, unde există un singur criteriu de adresare (cel care a stat la baza organizării fişierului) în cazul bazelor de date, sistemul de gestiune trebuie să ofere posibilitatea unui acces multicriterial. În timp ce modificarea criteriului la fişierele clasice implică reorganizarea lor, la bazele de date schimbarea criteriului nu afectează cu nimic datele. SGBD-ul stochează datele în entităţile bazei de date şi permite mai multe căi de acces. Pentru diferite moduri de adresare SGBD creează dinamic, la momentul execuţiei, o serie de fişiere anexe (de index etc.) care lasă neschimbate entităţile bazei de date.

1.2.4. Protecţia datelor

În sistemele de bază de date, protecţia datelor se asigură sub două aspecte: securitatea şi integritatea.

Securitatea (confidenţialitatea) datelor semnifică faptul că accesul la date se face numai printr-o autorizare corespunzătoare şi doar controlat (sarcina administratorului bazei de date cu ajutorul SGBD.

În acest sens, SGBD-ul permite: autorizarea şi controlul accesului la date, utilizarea viziunilor, realizarea unor proceduri speciale, criptarea datelor.

a) Autorizarea şi controlul accesului la date este realizat de SGBD prin intermediul parolelor. Acestea identifică clasele de utilizatori, cu anumite drepturi de acces, la anumite date.Clasele de utilizatori pentru care se poate autoriza accesul la baza de date sunt:- Utilizatorii obişnuii care nu au în proprietate obiecte şi nu au alte privilegii decât cele date de

administratorul BD.- Proprietarii de obiecte (tabele, viziuni, proceduri etc) sunt utilizatorii care îşi creează anumite

obiecte. Implicit proprietarul unui obiect are toate privilegiile asupra acestuia, putând să le revoce sau să le transmită altor utilizatori.

- Administratorul BD este utilizatorul care are implicit toate drepturile asupra datelor şi dreptul de a revoca sau stabili privilegii pentru ceilalţi utilizatori.

Privilegiile diferiţilor utilizatori sunt gestionate de SGBD astfel: un anumit subiect (utilizator) poate realiza anumite acţiuni, asupra anumitor obiecte, în limita anumitor restricţii (condiţii suplimentare). Profilul utilizator este dat de nume (NAME), parola (PASS), nume grup, număr nivel de acces.

b) Utilizarea viziunilor (view) este asigurată de SGBD pentru reprezentarea schemelor externe ale bazei de date. Cu ajutorul viziunilor, SGBD-ul permite să se definească partiţii logice ale bazei de date, definite pentru diferiţi utilizatori, în raport cu cerinţele acestora de acces la date. Securitatea

6

Page 7: Proiect Baze de Date - Licenta 2010

datelor este asigurată de SGBD prin definirea tuturor drepturilor necesare unui utilizator pentru o viziune şi revocarea drepturilor pentru obiectele iniţiale.

c) Realizarea unor proceduri speciale de acces asupra datelor este permisă de SGBD. Aceste proceduri scrise în LMD se păstrează în formă precompilată, iar anumitor utilizatori li se va acorda dreptul de execuţie şi li se va interzice accesul direct la obiectele bazei de date.

d) Criptarea este asigurată de SGBD prin oferirea unor rutine de criptare (codificare) a datelor apelate automat sau la cerere şi prin existenţa unor instrumente care permit utilizatorului să realizeze propriile rutine de criptare. Criptarea şi decriptarea se realizează după algoritmi specifici, cu o cheie (parolă) de acces la rutină.

Componentele unui sistem de criptare sunt:- Algoritmul de criptare este o rutină care transformă datele iniţiale într-o formă cifrată

(codificată);- Cheia de criptare este o valoare secretă (parola) care permite intrarea în algoritmul de criptare;- Algoritmul de decriptare este o rutină care transformă datele din forma criptată în cea iniţială;- Cheia de decriptare este o parolă de intrare în algoritmul de decriptare.

Integritatea datelor se referă la corectitudinea (coerenţa) datelor şi este asigurată prin protejarea acestora împotriva unor incidente intenţionate sau neintenţionate

Componentele SGBD-ului asigură integritatea datelor tratând separat cauzele care pot altera baza de date: integritatea semantică, controlul accesului concurent, salvarea / restaurarea.

a) Integritatea semantică este asigurată prin operaţii efectuate de SGBD asupra datelor şi a prelucrărilor. Aceste operaţii alcătuiesc un set de reguli numit restricţii de integritate. SGBD-ul asigură astfel de restricţii implicite (rezultă din modelul de date implementat) şi explicite (proceduri incluse în programele de aplicaţie).

b) Accesul concurent asigură coerenţa datelor şi este un obiectiv al SGBD-ului care se pune cu acuitate mai ales la baze de date distribuite. În acest sens SGBD-ul are o unitate distinctă de prelucrare a datelor numită tranzacţie, care este constituită dintr-o secvenţă de operaţii marcată de puncte de început şi sfârşit. Tranzacţia poate fi controlată de SGBD implicit, când punctele de început şi de sfârşit sunt automat definite, sau explicit, când punctele de început ţi de sfârşit sunt definite prin comenzi specifice.

La execuţia concurentă a tranzacţiilor SGBD-ul trebuie să asigure blocarea datelor utilizate la un moment dat. Aceasta înseamnă că se interzice accesul celorlalte tranzacţii concurente la aceleaşi date, până se termină tranzacţia curentă.

Tehnica de blocare utilizată de SGBD se poate aplica la nivelul întregii baze de date, a unui fişier, a unei înregistrări sau chiar a unui câmp.

Ea poate fi pentru citire (partajabilă) sau pentru scriere (exclusivă).Cele mai multe SGBD-uri realizează blocarea la nivel de înregistrare şi fişier, prin diferite

metode: setarea unui bit pentru resursa respectivă, construirea unei liste cu resursele blocate, menţinerea resurselor blocate într-o zonă specială etc.

Interblocarea este situaţia în care două tranzacţii blochează anumite resurse, apoi solicită fiecare resursele blocate de cealaltă. La nivelul de SGBD trebuie să existe facilitatea de prevenire sau rezolvare a interblocării.

- Prevenirea interblocării presupune că programele blochează toate resursele de care au nevoie încă de la începutul fiecărei tranzacţii (greu de precizat).

- Soluţionarea interblocării presupune că există nişte mecanisme pentru detectarea şi eliminarea interblocării (de exemplu graful dependenţelor proceselor de executat).

c) Salvarea / restaurarea (backup/recovery) ca facilitate a SGBD-ului permite refacerea consistenţei datelor care au fost alterate fizic din diferite motive.

Salvarea datelor este un proces de stocare prin realizarea de copii de siguranţă şi prin jurnalizarea tranzacţiilor şi a imaginilor. SGBD-ul poate asigura salvarea automat sau la cererea administratorului bazei de date.

Jurnalul tranzacţiilor este un fişier creat şi întreţinut de SGBD, în care se memorează informaţiile despre tranzacţiile efectuate asupra bazei de date. Aceste informaţii sunt: codul tranzacţiei,

7

Page 8: Proiect Baze de Date - Licenta 2010

momentul începerii tranzacţiei, identificatorul utilizatorului care a lansat tranzacţia, actualizările efectuate pe BD. Jurnalul imaginilor se deosebeşte de cel al tranzacţiilor prin aceea că nu conţine descrierea operaţiilor efectuate asupra BD ci efectul acestora.

Există următoarele variante:- Jurnalul cu imaginea înregistrărilor după actualizare (after image), ce conţine copia fiecărei

înregistrări în forma de după efectuarea unei actualizări asupra ei.- Jurnalul cu imaginea înregistrărilor înainte de efectuarea unei actualizări (before image), ce

conţine copia fiecărei înregistrări în forma de dinaintea efectuării unei actualizări asupra ei.- Jurnalul mixt ce conţine atât imaginea înregistrărilor dinainte de actualizare cât şi după

actualizare.

Restaurarea porneşte de la colecţii de date stocate prin salvare şi reface consistenţa bazei de date, minimizând prelucrările pierdute.

Restaurarea este asigurată automat de SGBD, dar se poate realiza şi manual.- Restaurarea automată a BD este realizată de SGBD cu ajutorul fişierelor jurnal. Pentru a se

putea realiza acest lucru, SGBD realizează o paginare a BD şi la o cerere de regăsire transferă o astfel de pagină în memoria internă. Aici are loc prelucrarea ei şi abia după ce această prelucrare s-a terminat complet, se face transferul paginii înapoi pe disc. Sincronizarea memoriei interne cu baza de date şi fişierele jurnal, se realizează prin diferite tehnici: algoritmi specifici, executarea unor puncte de verificare (check point) la intervale de timp sau la cerere etc.La nivelul SGBD-ului pot exista o serie de parametri de configurare care influenţează procesul de restaurare automată. Aceşti parametri se referă la: intervalul de restaurare, indicatorul de restaurare (ce informaţii vor fi scrise în fişierul de erori) etc.

- Restaurarea manuală a BD implică intervenţia administratorului pentru refacerea bazei de date de pe un suport tehnic care a fost distrus. Cea mai recentă copie de siguranţă efectuată pentru o BD afectată este încărcată şi se reiau prelucrările efectuate din momentul copierii până la producerea defecţiunii. Restaurarea manuală se face prin deconectarea tuturor utilizatorilor de la BD, încărcarea copiei şi reluarea lucrului.

1.2.5. Partajabilitatea datelor

Partajabilitatea datelor se referă nu numai la aspectul asigurării accesului mai multor utilizatori la aceleaşi date, ci şi la posibilitatea dezvoltării unor aplicaţii fără a se modifica structura bazei de date.

Problema partajabilităţii se pune la un nivel superior pentru SGBD-urile care permit lucrul în reţea.

1.2.6. Legăturile între date

Legăturile între date corespund asocierilor care se pot realiza între obiectele unei aplicaţii informatice. Orice SGBD trebuie să permită definirea şi descrierea structurii de date, precum şi a legăturilor dintre acestea, conform unui model de date. Fiecare tip de model de date permite anumite legături între date. Un SGBD, care implementează un anumit model de date, va trebui să asigure şi realizarea legăturilor dintre datele corespunzătoare în conformitate cu schema conceptuală.

1.2.7. Performanţele globale

Performanţele globale ale aplicaţiei sunt influenţate de SGBD. Acesta trebuie să gestioneze un volum mare de date de o complexitate ridicată, într-un anumit timp de acces rezonabil pentru diferiţi utilizatori. Pentru toate aceste lucruri SGBD-ul foloseşte diferite metode de acces, tehnici de optimizare, tipuri de date. Implementarea lor se face în componente specializate ale SGBD-ului.

1.3. Funcţiile unui SGBD

Realizarea obiectivelor prezentate anterior este asigurată de sistemele de gestiune a bazelor de date printr-o serie de componente ce permit efectuarea unor operaţii specifice. În funcţie de natura lor şi scopul urmărit, operaţiile pot fi grupate pe activităţi. Activităţile acceptă şi ele o grupare pe funcţii astfel încât, una sau mai multe activităţi, relativ omogene, vor realiza o anumită funcţie.

8

Page 9: Proiect Baze de Date - Licenta 2010

1. Descrierea datelor

SGBD-ul, prin această funcţie, permite definirea structurii bazei de date cu ajutorul limbajului de definire a datelor (LDD). Definirea datelor poate fi realizată la nivel conceptual, logic şi fizic. Se descriu atributele (câmpurile) din cadrul structurii bazei de date, legăturile dintre entităţile bazei de date sau dintre atributele aceleiaşi entităţi, se definesc eventualele criterii de validare a datelor, metodele de acces la date, aspectele referitoare la asigurarea integrităţii datelor.

Concretizarea acestei funcţii este schema bazei de date, memorată în cod intern. Memorarea se face într-un fişier, ceea ce permite afişarea şi actualizarea structurii bazei de date, în orice moment.

Această funcţie a fost mult automatizată în timp, LDD având acum puţine comenzi. LDD este specific fiecărui SGBD, dar el întotdeauna realizează descrierea datelor conform elementelor modelului de date pe care îl implementează SGBD-ul respectiv. Astfel se realizează definirea şi descrierea entităţilor şi a caracteristicilor lor, definirea legăturilor dintre obiecte (asocierile) şi a regulilor de integritate specifice modelului de date.

După realizarea funcţiei de descriere, într-un SGBD, entităţile bazei de date există create deja ca fişiere, dar nu conţin datele propriu-zise, ci numai structura bazei de date (schema bazei de date).

2. Funcţia de manipulare a datelor

Funcţia de manipulare este cea mai complexă şi realizează actualizarea şi regăsirea datelor din baza de date, cu ajutorul limbajului de manipulare a datelor (LMD).

Sunt realizate următoarele activităţi: încărcarea, actualizarea, prelucrarea şi regăsirea datelor.a) Încărcarea datelor în baza de date se realizează prin operaţii automatizate sau programate ce

asigură şi criteriile de validare necesare.b) Actualizarea bazei de date constă în operaţii de adăugare, modificare şi ştergere de

înregistrări. La operaţiile de adăugare şi de modificare se păstrează aceleaşi criterii de validare care s-au folosit şi la activitatea de încărcare a datelor. Actualizarea se realizează numai autorizat, prin asigurarea unei protecţii corespunzătoare a datelor, pentru a se păstra coerenţa bazei de date.

c) Prelucrarea datelor se realizează prin operaţii de selecţie, ordonare, interclasare (compunere) şi ventilare (descompunere) efectuate asupra entităţilor bazei de date. Acestea sunt, de obicei, operaţii pregătitoare activităţii de regăsire a datelor. Multe din operaţiile de prelucrare sunt realizate cu ajutorul operatorilor din modelul de date pe care îl implementează SGBD-ul.

d) Regăsirea (interogarea) datelor constă în operaţii de vizualizare (afişare pe ecran, imprimare pe hârtie), răsfoire, editarea unor situaţii de ieşire. Situaţiile de ieşire pot fi intermediare sau finale şi se pot obţine pe diferiţi suporţi tehnici de informaţie (ecran, hârtie, mediu magnetic, mediu optic). Ele pot avea cele mai diferite forme (punctuale, liste, rapoarte, grafice, imagini, sunet, video) şi se pot obţine după cele mai diferite criterii de regăsire.

3. Utilizarea bazei de date

Funcţia de utilizare asigură mulţimea interfeţelor necesare pentru comunicarea tuturor utilizatorilor cu baza de date . Pentru a realiza această funcţie SGBD-ul trebuie să asigure facilităţi pentru mai multe categorii de utilizatori ai bazei de date: neinformaticienii, specialişti (informaticieni), administratorul.

a) Utilizatorii neinformaticienii reprezintă principala categorie a beneficiarilor de informaţii (utilizatori finali şi intensivi) din baza de date. SGBD-ul le oferă acestora limbaje neprocedurale şi alte facilităţi de interogare (generatoare, utilitare etc) a bazei de date într-o formă simplă şi interactivă. Aceşti utilizatori nu trebuie să cunoască structura bazei de date şi nu trebuie să ştie să programeze, SGBD-ul ajutându-i interactiv în utilizarea bazei de date. În acest sens SGBD-ul oferă: meniuri cu opţiuni sugestive, ferestre, şabloane pentru diferite forme, asistenţi tip Wizard, autodocumentarea (help-uri, mesaje/ferestre explicative).

b) Utilizatorii specialişti în informatică creează structura bazei de date şi realizează proceduri complexe de exploatare a bazei de date. SGBD-ul oferă acestor utilizatori limbajul de descriere şi limbajul de manipulare a datelor precum şi interfeţe cu limbaje universale. Acestea sunt de complexitate şi putere diferită, de la un SGBD la altul, oferind atât elemente neprocedurale cât şi

9

Page 10: Proiect Baze de Date - Licenta 2010

procedurale specialistului în informatică. Cu aceste elemente el descrie schema bazei de date şi asigură manipularea complexă a datelor.

Pentru realizarea bazei de date SGBD-ul oferă specialistului şi elemente de CASE (Computer Aide Software Enginering). Acestea îl ajută în diferitele activităţi care intervin în etapele de proiectare a bazei de date.

c) Administratorul bazei de date, care este un utilizator special şi are un rol hotărâtor în ceea ce priveşte funcţionarea optimă a întregului sistem. Datorită importanţei acestei categorii de utilizatori, SGBD-ul are o funcţie distinctă în acest sens.

4. Funcţia de administrare

Funcţia de administrare este complexă şi de competenţa administratorului bazei de date.Administratorul, care are o bogată experienţă de analiză, proiectare şi programare, organizează

şi administrează baza de date în toate etapele de realizare a acesteia. Astfel, el organizează baza de date conform unei anumite metodologii, realizează schema (conceptuală) bazei de date, coordonează proiectarea bazei de date. Pentru toate aceste lucruri SGBD-ul oferă o serie de elemente de CASE, precum şi o serie de utilitare specializate.

În etapa de exploatare a bazei de date, administratorul are rolul de a autoriza accesul la date (acordă conturi, parole etc.), de a reface baza de date în caz de incidente (prin jurnalizarea, copii), de a utiliza eficient spaţiul de memorie internă şi externă (prin organizare, rutine de optimizare), de a realiza o serie de analize statistice din baza de date (număr şi tip de utilizatori, număr de accese, număr de actualizări etc.). Pentru fiecare din aceste activităţi SGBD-ul oferă instrumente şi tehnici de lucru.

În cazul lucrului în reţea de calculatoare cu baze de date distribuite, SGBD-ul are dezvoltate foarte mult componentele destinate administratorului. Acest lucru este determinat de faptul că baza de date este, în acest caz, de mare complexitate, datele sunt distribuite pe calculatoarele din reţea, iar utilizatorii sunt de toate tipurile şi în număr mare.

În principal pentru funcţia de administrare, dar parţial şi pentru celelalte funcţii, SGBD-ul asigură protecţia bazei de date. Aici vor fi prezentate aspectele esenţiale, urmând ca în continuare la fiecare tip de SGBD să se precizeze prin exemple şi aspectele specifice ce apar.

1.4. Clasificarea SGBD-urilor

Diversitatea de SGBD-urilor, care au fost şi care sunt în exploatare pe diferite calculatoare şi sub diferite sisteme de operare, impune o clasificare a lor după diferite criterii.

1) După sistemele de calcul pe care se implementează

- SGBD pentru calculatoare mari se folosesc pentru baze de date foarte complexe şi foarte mari (exemple: Oracle, DB2, IMS).

- SGBD pentru minicalculatoare se folosesc pentru baze de date complexe şi mari şi au cunoscut o dezvoltare puternică în anii ‘80 (exemplu: Oracle).

- SGBD pentru microcalculatoare se folosesc pentru baze de date de complexitate şi de mărime mici şi medii. Au o mare răspândire în momentul actual (exemple: FoxPro, Oracle, Acces).

Tendinţa actuală este ca SGBD-ul să fie compatibil pe cât mai multe sisteme de calcul sub cât mai multe sisteme de operare. Acest lucru este dictat de noua tehnologie de realizare de aplicaţii tip sisteme deschise, lucru de care ţine cont şi noua generaţie (a treia) de SGBD-uri.

2) După limbajul de programare utilizat

- SGBD-ul cu limbaj gazdă este cel care are un limbaj de manipulare a datelor bazat pe unul de nivel înalt (universal). Limbajul gazdă poate fi chiar un limbaj universal (Cobol, Pascal) sau o extensie (adaptare) a unui astfel de limbaj. Avantajul acestei soluţii este acela că se pot dezvolta proceduri complexe de program, se pot realiza interfeţe om-maşină foarte bune, se valorifică experienţa de programare din limbajele de nivel înalt (toate rezultă din avantajele programării procedurale).

10

Page 11: Proiect Baze de Date - Licenta 2010

Dezavantajul major este acela că formularea cererilor de regăsire se face mai greu, de multe ori într-un mod inaccesibil utilizatorilor finali. Acest lucru este suplinit de SGBD prin alte componente specifice: generatoare, utilitare etc. (exemplu Oracle).

- SGBD-ul cu limbaj propriu (autonom) este cel care are un limbaj de manipulare a datelor specific. Acest limbaj de programare propriu este procedural şi are marele avantaj că permite implementarea tuturor facilităţilor oferite de SGBD. În el se pot programa proceduri complexe şi interfeţe puternice ca într-un limbaj universal, dar în plus se realizează un acces uşor şi optimizat la baza de date. Dezavantajul este că un astfel de limbaj nu poate fi utilizat decât de specialiştii în informatică (exemplu limbajul din Visual FoxPro).

Tendinţa actuală este ca SGBD-ul să aibă implementat, pe lângă un limbaj procedural, şi un limbaj de regăsire neprocedural, care să permită formularea de cereri de regăsire uşor, de către toţi utilizatorii bazei de date. În acest sens, majoritatea SGBD-urile pentru microcalculatoare au implementat, parţial sau total, limbajul SQL, care este şi standardizat internaţional.

3) După modelul logic de date implementat

- SGBD ierarhice sunt cele care implementează modelul de date arborescent (ierarhic) şi au fost primele care s-au utilizat pentru gestionarea bazelor de date. Ele au o serie de avantaje pentru domenii precise din lumea reală înconjurătoare, de exemplu tehnologia construcţiei de maşini, dar au limite pentru alte domenii (exemplu: IMS).

- SGBD reţea sunt cele care implementează modelul de date reţea şi care au eliminat multe din limitele celor ierarhice. Ele au o largă aplicabilitate pentru numeroase probleme din lumea reală, dar sunt dificil de utilizat datorită complexităţii ridicate (exemplu: IDMS).

- SGBD relaţionale sunt cele care implementează modelul de date relaţional şi au aplicabilitate în majoritatea domeniilor din lumea reală. Ele pot fi folosite de o gamă largă de utilizatori datorită facilităţilor oferite (generatoare, limbaj neprocedural etc.) (exemple: Oracle, Visual FoxPro, Paradox, Acces, Informix, Progres).

- SGBD orientate obiect sunt cele care implementează modelul de date orientat obiect. Ele se pretează bine la problemele foarte mari, de complexitate ridicată, precum şi pentru tipurile noi de aplicaţii (proiectarea asistată, multimedia, sisteme deschise) (exemple: O2, Orion, Jasmin).

Majoritatea SGBD-urilor actuale au implementate, în ultimele versiuni, facilităţi de tratare a obiectelor (exemple: Oracle, Visual FoxPro).

Tipurile de mai sus de SGBD-uri, având drept criteriu modelul de date implementat, sunt de bază (fundamentale). Pornind de la acestea, prin extensia tehnologiei informatice, există şi alte tipuri de SGBD-uri: deductive, distribuite, multimedia, spaţiale etc.

Există, de asemenea, tipuri de SGBD-uri (ca de exemplu cele funcţionale) care se bazează pe alte modele de date decât cele de mai sus. Acestea însă, au o răspândire mai restrânsă având performanţe doar pentru domenii bine precizate.

4) După localizarea bazei de date

- SGBD centralizate sunt cele care gestionează datele amplasate într-o singură bază de date centrală. La acestea au acces toţi utilizatorii autorizaţi pentru a efectua diferite operaţii de manipulare a datelor. Toate calculatoarele care nu sunt legate în reţea şi lucrează cu baze de date au instalat un SGBD centralizat.

Tot un SGBD centralizat, dar cu facilităţi de lucru în reţea, trebuie instalat şi în reţelele de calculatoare care au plasată baza de date pe un singur calculator (de obicei pe server).(exemplu: Visual FoxPro, Access)

- SGBD distribuite sunt cele care gestionează datele amplasate pe mai multe calculatoare dintr-o reţea tratându-le ca un tot unitar. Complexitatea acestor SGBD-uri este ridicată, având componente speciale pentru realizarea conexiunilor şi tratarea distribuită a datelor (exemplu: Oracle, DB2, Informix).

11

Page 12: Proiect Baze de Date - Licenta 2010

1.5. Arhitecturi de SGBD

De la apariţia lor şi până în prezent, SGBD-urile au cunoscut o mare varietate. Aşa cum reiese şi din clasificarea SGBD-urilor, acestea sunt de diferite tipuri conform diferitelor criterii de grupare.

Din acest motiv este dificil de dat o arhitectură unică, valabilă pentru toate SGBD-urile, apărând particularităţi de la un sistem la altul. Există preocupări de standardizare a arhitecturii sistemelor de gestiune a bazelor de date care caută să definească un cadru general al lor.

Dintre acestea, sunt două arhitecturi de referinţă a unui SGBD propuse de grupul de lucru CODASYL şi respectiv ANSI/SPARC [VELU00].

În ultimul timp, arhitectura de SGBD a evoluat spre o configuraţie cu trei categorii de componente (nucleul, interfaţa, instrumentele), situaţie întâlnită la ultimele versiuni de sisteme comerciale (arhitectura unui SGBDR).

O altă tendinţă este dată de arhitecturile distribuite şi orientate obiect de SGBD, care sunt tot mai des utilizate în contextul de reţea de calculatoare şi noile tipuri de aplicaţii informatice ( SGBD distribuite şi respectiv orientate obiect).

Deoarece arhitectura pe componente (niveluri) reflectă tendinţa actuală de structurare a SGBD-urilor, o vom prezenta în continuare.

Arhitectura pe componente (niveluri) a unui SGBDNu orice software care gestionează date în memoria externă este un SGBD:- In primul rând, produsul software trebuie să fie un sistem, adică un ansamblu de programe

intercorelate între ele care lucrează pentru un scop comun.- Mai departe, sistemul de programe trebuie să gestioneze date în memoria externă.- Datele nu pot exista oricum, ci organizate conform unui model de date într-o bază de date

(trebuie urmărite obiectivele unei baze de date).- În sfârşit, dacă sistemul de programe gestionează o bază de date şi în plus îndeplineşte

funcţiile specifice, atunci acel sistem este un SGBD.Rezultă că SGBD-ul conţine o serie de componente care sunt instrumente software ce au scopul

de a realiza funcţiile specifice:

Fig.1.6. Arhitectura pe componente a unui SGBDMajoritatea arhitecturilor actuale de SGBD pot fi aduse la forma de mai sus, pe trei niveluri. Diferitele componente din diferitele SGBD (fiecare tip a venit cu una sau mai multe propuneri

de arhitecturi) pot fi încadrate (uneori discutabil) în unul dintre cele trei niveluri.Nivelurile din arhitectura de mai sus, pot conţine următoarele componente ale unui SGBD:• Nucleul (motorul) conţine limbajul de descriere a datelor (LDD), limbajul de manipulare a

datelor (LMD), componente obligatorii în kit-ul minim de SGBD. Componenta este destinată analiştilor, programatorilor şi administratorilor BD.

• Interfeţele sunt formate din: generatoarele de diferite tipuri (de meniuri, de videoformate, de rapoarte etc.), elementele de CASE (Computer Aidede Software Engeenering), interfeţe cu limbaje de programare universale, interfeţe cu alte sisteme etc. Componenta este destinată tuturor categoriilor de utilizatori: finali, intensivi, specialişti.

12

Page 13: Proiect Baze de Date - Licenta 2010

• Instrumentele sunt formate din: editoarele, navigatoarele (browsers), utilitarele (shells) de diferite tipuri. Componenta este destinată, în principal, administratorului bazei de date, dar şi altor categorii de utilizatori.

Arhitectura pe niveluri este simplă dar completă:- Arhitecturile standardizate (CODASYL şi ANSI) pot fi aduse pe cele trei niveluri;- Noile tehnologii de baze de date (de exemplu tehnologia orientată obiect) au determinat

apariţia unor noi tipuri de SGBD. Arhitecturile propuse pentru acestea, pot fi adaptate pe cele trei niveluri;

- Noile tehnologii informatice (de exemplu multimedia, Internet etc.) au interferat cu tehnologia bazelor de date rezultând SGBD-uri derivate corespunzătoare. Pentru acestea s-au propus arhitecturi care, însă, pot fi adaptate la structurarea pe trei niveluri.

CAPITOLUL II.

ACCESS – PROGRAMUL MICROSOFT OFFICE PENTRU BAZE DE DATE

2.1. Caracteristici generale

Microsoft Access este un program pentru crearea şi administrarea bazelor de date şi beneficiază de toate facilităţile Microsoft Windows. Este integrat în Microsoft Office permiţând schimbul de informaţii cu alte aplicaţii din Office.

De asemenea, permite folosirea datelor memorate în diferite baze de date sau create cu alte sisteme de gestionare a datelor.

Access prezintă şi un mod de lucru asistat, cu multe ferestre de dialog ce uşurează mult munca utilizatorului.

Microsoft ACCESS îmbină modelul relaţional cu cel orientat spre obiecte, adică organizează relaţional datele şi este orientat spre obiecte care au asociate evenimente sau proprietăţi. Access-ul delimitează baza de date şi tabelul.

Principalele sale caracteristici sunt: este relaţional şi lucrează sub sistemul de operare Windows; este deschis comunicării cu alte Sisteme de Gestiune a Bazelor de Date cum ar fi FoxPro sau Paradox; este compatibil cu tehnologia ActiveX, care permite realizarea aplicaţiilor client/server; permite realizarea unor aplicaţii complexe prin utilizarea limbajului Visual Basic; permite accesul la baze de date din reţeaua Internet, fiind un instrument util pentru publicarea

informaţiilor în paginile Web; este autodocumentat prin help, apelabil contextual sau la cerere; conţine instrumente Wizard care permit utilizatorului crearea într-o manieră foarte simplă a obiectelor

bazei de date; permite crearea de comenzi rapide (shortcuts) în vederea accesării obiectelor Access; permite crearea de grupuri de obiecte definite de utilizator în cadrul bazei de date; permite personalizarea bazei de date; permite utilizarea obiectelor Access din cadrul altor aplicaţii rulate sub sistemul de operare Windows; pe baza facilităţii de compactare, se minimizează dimensiunea bazei de date Ia închidere; se permite crearea de aplicaţii care să utilizeze baze de date stocate în SQL Server, în cadrul unei reţele

de calculatoare. Access 2003 acceptă o varietate de formate de date, inclusiv Extensible Markup Language (XML),

OLE, Open Database Connectivity (ODBC) şi Microsoft Windows® SharePoint™ Services. oferă posibilitatea de a lega tabele, astfel încât să putem accesa concomitent informaţii din mai multe

baze de date în cadrul formularelor, rapoartelor şi al paginilor de acces la date din Access 2003. Se pot lega tabele din alte baze de date Access, foi de calcul Microsoft Excel, surse de date ODBC, baze de date Microsoft SQL Server™ şi din alte surse de date.

oferă posibilitatea de a încorpora în soluţiile Access date bazate pe Microsoft SQL Server. Se poate

13

Page 14: Proiect Baze de Date - Licenta 2010

utiliza Stored Procedure Designer pentru a crea şi a modifica proceduri simple stocate în SQL Server, fără să fie necesară cunoaşterea Transact-SQL.

2.2. Arhitectura Microsoft ACCESS

O bază de date Access poate fi definită ca o colecţie de obiecte: tabele, interogări, formulare, rapoarte, pagini Web, macro comenzi şi module.

Tabela este un obiect definit de utilizator în care sunt stocate dateleprimare (expresia modelului relaţional).

Formularul este un obiect care permite introducerea datelor, afişarea acestora sau controlul întregii aplicaţii.

Interogarea este un obiect care permite vizualizarea informaţiilor obţinute prin prelucrarea datelor din una sau mai multe tabele şi/sau alte cereri de interogare.

Raportul este un obiect care permite formatarea şi tipărirea informaţiilor obţinute în urma consultării bazei de date sub formă de documente.

Pagina Web de accesare a datelor reprezintă un obiect care include un fişier HTML şi alte fişiere suport în vederea furnizării accesului la date prin intermediul browser-elor Internet.

Macro comanda reprezintă un obiect care conţine o definiţie structurată a uneia sau mai multor acţiuni pe care Access Ie realizează ca răspuns la un anumit eveniment.

Modulul reprezintă un obiect care conţine proceduri definite deutilizator şi scrise în limbajul de programare Visual Basic.

Trebuie subliniată diferenţa majoră care există între Microsoft Access şi alte sisteme de gestiune a bazelor de date. Astfel, în Visual FoxPro, prin baze de date (database) se înţeleg doar acele fişiere în care sunt stocate datele.

Funcţiile SGBD-ului Microsoft Access sunt următoarele:- funcţia de descriere a datelor este realizată cu limbajul de descriere a datelor pentru definirea

structurii tabelelor şi a relaţiilor dintre acestea ;- funcţia de manipulare a datelor este realizată cu limbajele de manipulare a datelor în cele trei

variante QBE, SQL, şi VBA ;- funcţia de securitate a datelor şi lucru în regim utilizator este realizată prin parole şi drepturi de

acces ;- funcţia de import şi export de date permite importul şi exportul de date între baze de date

diferite ale sistemului ;- funcţia de menţinere a integrităţii datelor reduce riscul erorii de definire sau înregistrare a

datelor indiferent de volumul acestora prin intermediul unor reguli.Putem concluziona că Access îndeplineşte cerinţele unui sistem profesional de gestiune a

bazelor de date relaţionale, reprezentând un instrument important de dezvoltare a aplicaţiilor ce gestionează colecţii de date.

Privit sub aspectul performanţelor în funcţionare, menţionăm că acestea scad o dată cu creşterea volumului bazei de date (când numărul înregistrărilor depăşeşte ordinul sutelor de mii, viteza de lucru este sub nivelul celei oferite de sisteme de gestiune a bazelor de date, cum ar fi ORACLE sau INFORMIX).

Access poate fi instalat în versiune completă sau conform opţiunilor utilizatorului.

2.3. Tabele (tables)

Fiecare bază de date, indiferent dacă este nouă sau goală, sau este gata concepută, deţine un fel de centrală de navigaţie în care obiectele separate ale bazei de date, cum sunt tabelele, interogările, formularele pot fi amplasate. O bază de date Access conţine aşa cum am amintit şapte tipuri de obiecte: tabele, interogări, formulare, rapoarte, pagini, macro comenzi, module. Dacă se execută clic pe simbolul unei grupe de obiecte, în partea dreapta a ferestrei (la versiunile începând cu Office 2000) vor fi prezentate toate obiectele grupei prezentate.

14

Page 15: Proiect Baze de Date - Licenta 2010

Tabele (tables) - toate datele pe care le stocam în Acces se vor păstra în tabele. Fiecare coloană a tabelului se numeşte câmp, iar fiecare rând al tabelei se numeşte înregistrare. Fiecărui câmp îi este asociat un tip de date şi o dimensiune exprimată în octeţi.

În cadrul unui tabel se pot adăuga câmpuri noi, iar alte câmpuri pot fi şterse. Structura tabelului poate fi de asemenea modificată. În cazul în care s-au creat deja interogări şi rapoarte care folosesc datele din tabel s-ar putea să fie necesară reproiectarea tabelului.

Alte operaţii ce se mai pot executa într-un tabel sunt:- navigarea prin înregistrări folosindu-se bara de navigare situată în partea de jos a ferestrei

tabelului;- adăugarea înregistrărilor noi care se poate realiza doar la sfârşitul tabelului, pe linia unde este

situat caracterul”*”. Poziţia cursorului se poate schimba între diferite câmpuri cu ajutorul tastelor direcţionale, prin

clic cu mouse-ul sau cu ajutorul tastei <Tab>;- ştergerea înregistrărilor presupune ca în prealabil înregistrările care se doresc a fi şterse să fie

marcate. Marcarea acestora se realizează cu ajutorul câmpului de marcare din stânga înregistrării. Ca rezultat întreaga înregistrare va apare pe un font de culoare neagră, înregistrarea marcată va

fi ştearsă fie apăsând tasta <Delete> de pe tastatură fie selectând opţiunea Delete Record din meniul File.

În cazul în care se doreşte ştergerea simultană a mai multor înregistrări acestea vor fi selectate cu ajutorul mouse-ului ţinând tasta <Shîft> apăsată. O dată cu ştergerea unei înregistrări va dispărea şi cheia primară a acesteia.

- modificarea datelor existente într-un tabel se realizează simplu prin editarea noului text în câmpul de date corespunzător. Modificarea dimensiunii caracterelor poate fi realizată cu ajutorul opţiunii Font din meniul Format, ce va deschide următoarea fereastră de dialog în pot fi stabilite tipurile de caractere, mărimea acestora precum şi culoarea prin executarea unui clic pe opţiunea aleasă.

Dimensiunile celulelor din tabel pot fi modificate simplu cu ajutorul opţiunilor Row height şi Column width. Lăţimea coloanelor mai poate fi reglată şi prin procedeul Drag and drop aplicat liniilor care separă capetele de coloane.

- deplasarea înregistrărilor se realizează în mod analog deplasării blocurilor de texte în aplicaţiile Office, adică folosind opţiunile Cat şi Paste din meniul Edit, după ce în prealabil înregistrările de mutat au fost selectate.

- inserarea unei noi înregistrări presupune selectarea înregistrării înaintea căreia dorim inserarea unei înregistrări şi alegerea opţiunii New Record din meniul Insert.

- ştergerea unui câmp se realizează cu ajutorul opţiunii Delete Column din meniul Edit după ce câmpul ce urmează a fi îndepărtat a fost selectat;

- inserarea unui câmp presupune selectarea câmpului înaintea căruia dorim inserarea noului câmp şi alegerea opţiunii Lodkup field din meniul Insert.

- tipărirea tabelei de date se realizează cu ajutorul opţiunii Print din meniul File respectiv din bara de butoane.

- importarea unui tabel dintr-o altă bază de date se realizează cu ajutorul opţiunii Preluare Date Externe Data - Import din meniul File.

Astfel, aplicaţia Access permite importarea datelor din alte baze de date realizate cu diferite SGBD-uri precum FoxPro, Paradox, dBase (III,IV,V) dar şi din alte aplicaţii precum Word, Excel, Lotus, etc.

În Microsoft Access există două metode de a crea o tabelă. Se poate crea o tabelă goală (empty) pentru a introduce singuri datele sau se poate crea o tabelă folosind datele existente într-o altă sursă de date.

Tipuri de date

La alegerea tipului de date pentru un câmp se va ţine cont de următoarele: Ce tipuri de date doresc să fie admise în câmp? Spre exemplu, nu se va putea memora text într-un câmp cu tipul de date Number. Cât spaţiu doresc să folosesc pentru memorarea valorilor din câmp?

15

Page 16: Proiect Baze de Date - Licenta 2010

Ce tipuri de operaţii doresc să se execute cu valorile din câmp? Spre exemplu, Microsoft Access poate aduna valorile din câmpurile Number sau Currency, dar nu şi valorile din câmpurile Text sau OLE Object. Doresc sortarea sau indexarea unui câmp? Câmpurile Memo sau OLE Object nu pot fi sortate sau indexate. Doresc folosirea unui câmp pentru a grupa articolele din cereri şi rapoarte? Câmpurile Memo sau OLE Object nu se pot folosi pentru a grupa articolele. Cum doresc să sortez valorile dintr-un câmp? într-un câmp Text, numerele sunt sortate ca şiruri de caractere (1, 10, 100, 2, 20, 200 s.a.m.d.), nu ca valori numerice. Pentru a sorta numerele ca valori numerice se folosesc câmpurile Number sau Currency. De asemenea, multe formate de date calendaristice nu se vor sorta corect. Dacă se introduc într-un câmp Text; pentru a fi sortate corect se introduc numai într-un câmp Date/Time.

Următorul tabel prezintă toate tipurile de date admise în Microsoft Access, modul lor de folosire şi dimensiunea de memorare.

Tipul datei Utilizare Spaţiul de memorie necesar

Text Text sau combinaţie de text şi numere, cum ar

fi adresele. De asemenea, numere ce nu necesită

calcule, cum ar fi numerele de telefon, numerele

de partidă sau codurile poştale.

Până la 255 caractere. Microsoft Access

memorează numai caracterele introduse în

câmp; nu se memorează caractere „spaţiu”

pentru poziţiile nefolosite. Pentru a controla

numărul maxim de caractere ce pot fi

introduse se setează proprietatea FieldSize.

Memo Texte şi numere foarte lungi, cum ar fi notiţe

sau descrieri.

Până la 64,000 caractere.

Number Date numerice folosite pentru calcule

matematice, cu excepţia calculelor ce impun

valori monetare. Pentru a defini un anumit tip

Number setaţi proprietatea FieldSize.

1, 2, 4 sau 8 bytes (16 bytes numai pentru

Replication ID).

Date/Time Date calendaristice şi timpi. 8 bytes.

Currency Valori monetare. Se va folosi tipul de date

Currency pentru a preveni rotunjirea pe timpul

calculelor. Precizia tipului este de 15 cifre la

partea întreagă şi 4 cifre la partea zecimală.

8 bytes.

AutoNumb

er

Numere în secvenţă unică (din 1 în 1) sau

aleatoare care sunt automat inserate atunci când

se adaugă un articol.

4 bytes (16 bytes numai pentru Replication

ID).

Yes/No Câmpuri care vor conţine numai una din două

valori, cum ar fi Yes/No, True/False, On/Off.

1 bit.

OLE

Object

Obiecte (cum ar fi documente Microsoft

Word, foi de calcul Microsoft Excel, imagini,

sunete sau alte date binare) create în alte

programe folosind protocolul OLE, ce pot fi

Pâna la 1 GB (limitat de spaţiul disc).

16

Page 17: Proiect Baze de Date - Licenta 2010

înlănţuite sau încapsulate într-o tabelă

Microsoft Access. Trebuie să se folosească un

cadru de obiect legat într-o machetă sau raport

pentru a afişa obiectul OLE.

Lookup

Wizard

Crearea unui câmp care permite alegerea unei

valori dintr-o altă tabelă sau dintr-o listă de

valori folosind o casetă combo. Alegând această

opţiune, se lansează un Wizard care dirijează

crearea listei.

Acelaşi spaţiu ca şi câmpul cheii primare

folosit pentru a executa examinarea, în mod

obişnuit 4 bytes.

În general o bază de date conţine mai multe tabele care de regulă sunt asociate, adică au o relaţie între ele.

Alegerea cheii primare

Cheia primara identifică în mod univoc fiecare înregistrare dintr-un tabel şi leagă introducerea unei valori multiple intr-un câmp al cheii primare.

Alegerea cheii primare se face din fereastra Table prin alegerea unui câmp (care urmează a fi cheia primară) şi executarea unui clic pe simbolul cu acelaşi nume din bara de butoane sau prin intermediul opţiunii Primary Key din meniul Edit.

Ca rezultat va apare simbolul cheii în stânga denumirii câmpului. Executarea unui nou clic pe acelaşi simbol îndepărtează cheia primară.

Crearea relaţiilor între tabele

Pentru stabilirea unei relaţii între 2 tabele este nevoie ca acestea să aibă un câmp comun. Există 3 tipuri de relaţii:

1. Relaţie unu la unu sau biunivocă în care fiecărei înregistrări din tabela A îi corespunde cel mult o înregistrare în tabela B. Acest tip de relaţie se obţine punând acelaşi câmp în ambele tabele, sau cheia primara din unul va fi preluată drept cheie externă în cel de-al doilea.

2. Relaţie unu la mai mulţi şi în acest caz unei înregistrări din A îi vor corespunde mai multe înregistrări din B.

3. Relaţia mai mulţi Ia mai mulţi adică o înregistrare din A poate fi în relaţie cu mai multe înregistrări din B şi invers.

Pentru stabilirea relaţiilor dintre tabele se foloseşte opţiunea Relationships din meniul Tools. La selectarea acestei opţiuni va apare caseta de dialog Show Table, în care se vor alege tabelele între care se vor stabili legături prin executarea unui dublu clic asupra denumirii acestuia.

Pentru a stabili o legătură între două tabele trebuie parcurse următoarele etape:- Se apasă tasta <Ctrl>;- Se alege câmpul de legătură dintr-o tabelă şi deplasându-ne pe câmpul de legătură din cea de-

a doua tabela eliberăm butonul mouse-ului pentru a deschide caseta de dialog Relationships.În fereastra Relationships se pot stabili câteva opţiuni:- Impunere integritate referenţială impune respectarea unor condiţii la eliminarea sau

modificarea unor înregistrări (previne ştergerea accidentală a unor înregistrări de folos într-o tabelă corelată).

- Actualizare în cascadă câmpuri corelate realizează actualizarea în cascadă a câmpurilor asociate.

- Ştergere în cascadă câmpuri corelate prin care ori de câte ori se vor elimina înregistrări din primul tabel, automat vor fi eliminate şi din tabelul corelat.

Pentru a preciza tipul de legătură se selectează opţiunea Join Tipe:- 1 include toate înregistrările din acele tabele pentru care câmpurile de legătura au valori egale.

17

Page 18: Proiect Baze de Date - Licenta 2010

- 2 include toate liniile din A şi numai pe acelea din B pentru care câmpurile sunt egale.- 3 include liniile din B şi numai pe acelea din A pentru care există egalitatea câmpurilor.

2.4. Interogările (Queries)

Interogările (Queries) reprezintă rezultatul unui procedeu de filtrare, prin care sunt afişate spre vizionare numai anumite date din tabele, în acest caz filtrul este stabilit de către utilizator precum şi ordinea de aşezare a înregistrărilor. Există şi posibilitatea combinării datelor provenite din mai multe tabele asociate precum şi amplasarea rezultatelor interogării într-o singură fereastră.

Programul Access include aplicaţia QBE (Query by Example) grafic. Utilizarea acestei caracteristici oferă o mai mare flexibilitate decât Filter, permiţând alegerea câmpurilor care apar în rezultatul interogării şi crearea unor interogări mult mai complexe, folosind informaţia din tabele principale şi din cele asociate acestora.

Există patru tipuri de interogări: interogări de selecţie (select) - sunt extrase date din unui sau mai multe tabele şi rezultatul este

afişat sub formă de listă. interogări încrucişate (crosstab) - centralizează datele din unui sau mai multe tabele în formatul

unei foi de calcul tabelar Acest tip de interogare este util dacă obiectul îl reprezintă analiza datelor şi crearea de grafice şi diagrame pe baza sumei valorilor din câmpurile numerice ale mai multor interogări.

interogări de acţiune (action) - acest tip de interogare permite adăugarea, modificarea sau ştergerea înregistrărilor dintr-un tabel. Prin aceste interogări sunt create noi tabele în bazele de date sau modificate tabelele existente.

interogări parametrice (parameter) - folosesc în mod repetat o interogare, făcând numai simple modificări ale criteriilor ei. La rularea unei asemenea interogări Access deschide o casetă de dialog în care trebuie furnizată valoarea criteriului de filtrare.

În lista de interogări din fereastra Database pentru fiecare tip de interogare există câte un simbol plasat înaintea denumirii interogării.

Prin urmare, interogările permit acţiunea asupra datelor din mai multe tabele sau asupra datelor dintr-o interogare şi un alt tabel, în general într-o interogare sunt prezente acele înregistrări. sau părţi ale acestora, care respectă anumite criterii de căutare.

Crearea unei cereri de interogare se poate face în mai multe moduri: proiectare pas cu pas în modul Vizualizare proiect; proiectarea cu ajutorul expertului( Wizard); proiectarea în limbajul SQL; crearea unui filtru şi salvarea acestuia ca cerere de interogare.

În continuare vom prezenta realizarea unei interogări pas cu pas în modul Vizualizare proiect. Pentru început se activează opţiunea Interogări în fereastra Bază de date şi se execută clic pe

opţiunea Nou, iar din caseta de dialog Interogare nouă se alege opţiunea Vizualizare proiect. În caseta de dialog AfişareTabel se aleg tabele de unde includem câmpuri în interogare.

Fereastra interogării este împărţită în două panouri, în panoul superior al ferestrei este afişată o listă cu toate tabelele din care trebuie să fie interogate datele.

Dacă se creează o interogare pe baza unor tabele corelate, relaţiile vor apare pe măsură ce amplasăm tabele în panoul superior.

În partea de jos a ferestrei sunt listate toate câmpurile care trebuie să fie afişate în interogare. Fiecare din aceste câmpuri are mai multe proprietăţi ce pot fi modificate.Proprietăţile câmpurilor sunt:

- Câmp: dă numele câmpului;- Tabel: indică tabelul de origine al câmpului;- Sortare: aici putem indica dacă rezultatul interogării se sortează;- Afişare: specifică dacă un câmp va fi afişat sau nu;- Criterii: aceasta constituie probabil cea mai importantă proprietate a unei interogări.

18

Page 19: Proiect Baze de Date - Licenta 2010

Aici trebuie să stabilească utilizatorul după ce criteriu trebuie filtrate datele din întreaga bază de date. Regulile de introducere a criteriilor interogării corespund celor de Ia criteriile filtrelor.

În partea superioară a ferestrei de proiectare a interogării se găseşte o listă care conţine toate câmpurile tabelului de origine.

Executând dublu clic pe o opţiune a acestei liste, câmpul respectiv este adăugat interogării şi va apărea în panoul inferior ca ultima intrare, în partea dreaptă. Câmpurile pot fi mutate din poziţiile lor prin procedeul „drag and drop"(trage şi plasează).

Dacă unele câmpuri trebuie ulterior îndepărtare, se marchează simplu întreaga coloană şi se şterge cu ajutorul tastei <Delete>. Dacă o coloană este importantă pentru o interogare dar la un moment dat nu trebuie vizualizată, aceasta poate fi dezactivată cu ajutorul proprietăţii Afişare.

La închiderea modului Vizualizare proiect suntem atenţionaţi automat în cazul în care nu am salvat modificările. Când interogarea va fi deschisă din nou, ea va prezenta rezultatul sub forma unui tabel.

2.5. Formulare (Forms)

Formulare (Forms) sunt ferestre personalizate pentru introducerea datelor în tabele, pentru afişarea şi editarea datelor pe ecran. Datele pot fi afişate câte o înregistrare o dată sau pot fi afişate în orice ordine, în plus, formularele pot conţine subformulare pentru a afişa date asociate.

Formularele sunt utilizate ca interfaţă între utilizator şi tabele. Acestea sunt alcătuite din elemente sau obiecte de control, cum ar fi: casete de text (sunt folosite la introducerea datelor), etichete (folosite la stocarea numelui câmpurilor) sau cadre de obiect (folosite pentru afişarea graficelor).

Un formular reprezintă o fereastră în care sunt plasate mai multe elemente de control.Formularele se pot clasifică, după aplicaţia la ce se folosesc în baza de date, în trei grupe : formulare pentru procesarea tranzacţiilor - sunt folosite pentru adăugarea unor noi

înregistrări într-un tabel sau editarea celor existente. Este necesar să fie permisă scrierea într-un tabel legat la un astfel de formular.

formulare utilizate în scopul facilitării luării deciziilor - furnizează o serie de informaţii, dar nu permit adăugarea sau modificarea datelor.

formulare pentru întreţinerea bazei de date - asigură crearea tabelelor bazei de date, securitatea prin criptare a informaţiei, compactarea bazelor de date şi salvarea acestora. Acţiunile de întreţinere presupun accesul la toate obiectele unei aplicaţii de baza de date.

Primele două tipuri de formulare sunt esenţiale în cadrul unei baze de date.Un formular permite includerea unui subformular şi a unui subformular într-un alt subformular

(proces denumit imbricare). Sunt permise cel mult trei niveluri de imbricare.Formularele conferă un aspect profesional bazelor de date şi prezintă câteva avantaje:

realizarea unei configuraţii personalizate; formularul poate să cuprindă numai o parte din câmpuri; permit vizualizarea înregistrărilor şi de către alţi utilizatori fără posibilitatea de a interveni

asupra acestora.În concluzie, formularele nu sunt altceva decât tabele pregătite cu o anume grafică, ce servesc

ca mască de ecran pentru introducerea şi observarea mai bună a înregistrărilor. De aceea, formularele sunt generate de regulă după un tabel deja construit. În continuare, vor fi prezentate câteva modalităţi, mai uşoare de obţinere a formularelor folosind modul asistat.

Aplicaţia Access pune la dispoziţia utilizatorilor modalităţi rapide de generare a formularelor. Pentru aceasta se selectează butonul FORMULAR, din fereastra bazei de date şi apoi se execută clic pe butonul Nou.

În fereastra Formular Nou, în secţiunea Alegeţi tabelul sau interogarea de unde provin datele despre obiect, se introduce numele tabelei sau al interogării de unde se vor prelua câmpuri pentru realizarea formularelor urmând a se alege una din următoarele opţiuni:

- Autoformular Coloane;- Autoformular Tabele;- Autoformular Foaie de date;- Autoformular PivotTable;

19

Page 20: Proiect Baze de Date - Licenta 2010

- Autoformular PivotChart.Spre deosebire de autoformulare aplicaţia EXPERT FORMULAR permite preluarea datelor

din mai multe tabele corelate.Astfel, pentru crearea unui tabel folosind EXPERT FORMULAR trebuie parcurşi următorii

paşii:a) Activăm butonul Formular din fereastra bazei de date şi executăm clic pe butonul Nou;b) Selectam opţiunea EXPERT FORMULAR;c) În fereastra EXPERT FORMULAR se stabileşte tabela de unde se vor prelua câmpurile în secţiunea Tabele/Interogari, urmând ca după aceea să fie selectate câmpurile de care avem nevoie din zona Câmpuri disponibile. Într-un formular, în funcţie de utilizare nu trebuie să existe toate câmpurile care stau la baza sa. Fiecare câmp care trebuie să apară în formular este marcat în lista de opţiuni câmpuri disponibile şi preluat în lista câmpurilor selectate.d) În cazul în care s-au selectat date din mai multe tabele se va selecta tipul dorit pentru subformular;e) Se alege stilul dorit pentru formular. La acest pas se poate alege dintre diferite formate de design. Aceste modificări sunt legate numai de aspect şi nu au nici un efect asupra modului de funcţionare al formularului. Cele mai folosite stiluri sunt:

- COLUMNAR ( o coloană): prezintă pe fiecare pagină o singură înregistrare;- TABELAR (sub formă de tabel): prezintă pe fiecare pagină mai multe înregistrări sub formă de listă;- DATASHEET (fişa de date): prezintă pe fiecare pagină mai multe înregistrări sub formă de tabel;- JUSTIFIED (în blocuri); prezintă pe fiecare pagină numai o singură înregistrare câmpurile de date fiind aranjate sub formă de blocuri.

f) Se stabileşte numele formularului şi se execută clic pe butonul Finish.Datele se introduc în câmpurile formularului şi sunt preluate automat în tabelul de bază şi nu

trebuie salvate. În cazul în care mai sunt de făcut anumite modificări se selectează formularul în cauza şi se selectează opţiunea Design View.

2.6. Rapoartele (Reports)

Rapoarte (Reports) sunt asemănătoare din punct de vedere al structurii cu interogările servind la extragerea datelor din tabele sau interogări şi dirijarea acestora către o imprimantă. Orice dorim să tipărim va trebui să ia forma unui raport indiferent dacă este o statistică financiară sau etichetă poştală.

Access pune la dispoziţie mai multe programe Wizard pentru a ajuta la crearea de rapoarte uzuale.

Scopul unei aplicaţii bază de date este generarea unui raport. În cadrul programului Access există, practic, şase tipuri de rapoarte:

rapoarte unicoloană - sunt generate cu ajutorul instrumentului AutoReport şi permit afişarea unei înregistrări pe o coloană, câmpurile şi valorile acestora fiind plasate pe linie. Nu sunt frecvent utilizate, fiind mari consumatoare de hârtie.

rapoarte dispuse pe rânduri - înregistrările sunt afişate pe rânduri, iar câmpurile pe coloană. Dacă pe o pagină nu pot fi induse toate câmpurile, atunci sunt tipărite mai multe pagini până ia terminarea numărului de coloane, apoi se tipăresc următoarele grupuri de înregistrări.

rapoarte multicoloană - informaţiile care nu încap în prima coloană (în rapoartele unicoloană) continuă pe a doua coloană, dar alinierea coloanelor nu corespunde dorinţelor utilizatorului.

rapoarte cu grupare / totalitare - permit sumarea datelor pe grupuri de înregistrări şi realizarea de totaluri generale la sfârşitul raportului. Sunt cele mai frecvent utilizate.

rapoarte multicoloană cu etichete pentru corespondenţă - sunt folosite pentru a tipări în mod grupat informaţii provenite din mai multe câmpuri (exemplu: nume şi adrese). Fiecare grupare de câmpuri semnifică o celulă dintr-o reţea.

rapoarte neasociate - nu sunt asociate unei surse de date, dar includ subrapoarte care au la bază 20

Page 21: Proiect Baze de Date - Licenta 2010

tabele sau interogări ce pot fi independente.Un raport este destinat numai tipăririi. Pentru rapoarte sunt disponibile numai opţiunile Print

Preview (previzualizare) şi Report Design (fereastra de proiectare), fără opţiunea Datasheet View.Din punct de vedere al structurii, rapoartele sunt foarte asemănătoare cu interogările. Ele

reprezintă tot rezultatul unui procedeu de filtrare, prin care sunt reprezentate numai anumite date dintr-un tabel. Diferenţa faţă de interogări constă în aceea că raportul nu este destinat afişării pe ecran, ci tipăririi la imprimantă.

Din acest motiv, raportul nu poate f! deschis şi afişat pe ecran, precum tabelele, formularele sau interogările, fiind posibilă numai o previzualizare a modului cum va arata raportul tipărit.

Ca şi în cazul formularelor Access pune la dispoziţia utilizatorilor o serie de instrumente puternice ce permit obţinerea cu uşurinţă a rapoartelor. Acest tip de rapoarte astfel create reprezintă o alternativă serioasă la rapoartele personalizate create în modul Design.

Ca şi în cazul formularelor, cele mai simple rapoarte şi cel mai uşor de obţinut sunt autorapoartele. Acestea pot fi de două tipuri: autorapoarte pe coloană (Autoraport Coloane) şi sub formă tabelară (Autoraport Tabele).

Pentru crearea unui autoraport se selectează butonul Raport din fereastra bazei de date şi se execută clic pe opţiunea New.

În caseta de dialog Raport Nou ce se va deschide urmează a fi selectate una din opţiunile de realizare a autorapoartelor: Autoraport Coloane, Autoraport Tabele.

Tot în această casetă vom executa clic pe lista derulantă din dreapta textului unde vom alege tabelul sau interogarea ce conţine datele ce urmează a fi preluate în raport.

2.7. Macroinstrucţiunile (Macros )

Macroinstrucţiunile (Macros) sunt secvenţe de comenzi, executate de Access pentru a produce un anumit rezultat, de exemplu rularea unei interogări. Macroinstrucţiunile sunt folosite pentru a crea meniuri personalizate şi a executa comenzi simple în situaţia în care programarea poate fi prea complicată.

Macroinstrucţiunile (numite şi macro-comenzi sau macrouri) din Access reprezintă o modalitate de a executa acţiuni fără ca proiectantul aplicaţiei să aibă cunoştinţe de programare.

Acţiunile macrocomenzii pot fi alese dintr-o listă de acţiuni. De exemplu, Close (închide fereastra), OpenForm (deschide un formular), OpenReport

(deschide un raport), Quit (părăseşte Access), Msgbox(afişează un mesaj). Pentru crearea macrourilor, Access dispune de utilitarul Macro Builder. Acţiunile macroului

vor fi executate la producerea unui anumit eveniment.Pentru un formular existent, ne propunem ca la lansarea sa în execuţie, acesta să se

maximizeze, iar la terminare să afişeze un mesaj folosind macroinstrucţiuni.Evenimentul care va permite maximizarea este încărcarea formularului, deci vom folosi la

evenimentul Onload sau OnOpen macro-ul mcrmaxim, iar pentru macroul de afişare a mesajului (mcrminim) ne vom servi de evenimentul OnUnload sau OnClose.

Pasul 1. Apelăm utilitarul Macro Builder prin Baza de Date-> Macro-> Nou.Utilitarul are propria fereastră de proiectare, care cuprinde pe prima coloană acţiunile care vor

forma macro-instrucţiunea, în a doua coloană - comentarii, iar în partea de jos - anumite atribute asociate ca argumente comenzilor.

Pasul 2. în coloana Action se deschide o listă cu acţiunile care pot fi trecute în macro şi se alege acţiunea.

Pasul 3. Se completează - dacă este necesar - argumentele acţiunii, în cazul nostru, vom scrie chiar mesajul. Pot fi şi acţiuni fără argumente!

Pasul 4. Salvăm.Pasul 5. Se asociază macroul evenimentului dorit în fereastra Properties – a se vedea

imaginea capturată pentru un formular.

21

Page 22: Proiect Baze de Date - Licenta 2010

2.8. Modul (Modules)

Modul (Modules) conţine una sau mai multe subrutine scrise în Visual Basic for Applications, limbaj de programare folosit în cadrul aplicaţiilor Microsoft Office.

CAPITOLUL III.

SITUAŢIA ŞCOLARĂ A ELEVILOR DIN CLASA a XI-a AGRUPUL ŞCOLAR AGRICOL - BALŞ

Definirea problemei.

Crearea unei baze de date pentru evidenţa situaţiei şcolare a elevilor din clasa a XI-a A.

Baza de date trebuie să stocheze notele acordate de profesori elevilor, la fiecare materie la sfârşitul semestrului I.

3.1. Analiza structurală

Identificarea entităţile bazei de date sunt:

- discipline- elevi- note- profesori

Identificarea asocierilor între entităţi este următorul pas. Prin asociere se înţelege o legătura între cele două entităţi bazată pe un câmp al lor.

Stabilirea acestora este o operaţie relativ intuitivă care, în cazul meu entităţile au următoarele asocieri care generează relaţii de tip unu-la-mai mulţi:

22

Page 23: Proiect Baze de Date - Licenta 2010

Un elev are mai multe note, evident, la o materie poţi primi mai multe note, un profesor acordă mai multe note.

Stabilirea câmpurilor se face în funcţie de specificul utilizării bazei de date. O atenţie sporitătrebuie acordată atributelor cheie primară (scrise cu roşu). În cazul meu am preferat, pentru simplificarea codificării datelor, voi folosi tipul de dată AutoNumber.

Elevi:

Discipline:

23

Page 24: Proiect Baze de Date - Licenta 2010

Profesori:

24

Page 25: Proiect Baze de Date - Licenta 2010

Note:

3. 2. Crearea şi popularea bazei de date

S-a creat Baza de date cu ajutorul programului MICROSOFT ACCESS utilizând obţinea “New-Blank Data Base”.S-a salvat baza de date intr-un fişier numit “Proiect Access ”.

3. 2.1. Crearea tabelelor

S-a deschis baza de date nou creată ; s-a selectat obţinea “Table” şi s-au creat patru tabele cu ajutorul opţiuni “Create with Design View”: Elevi, Discipline, Profesori, Note.

În formarea numelui câmpului se recomandă:– să nu se utilizeze caracterul spaţiu; pentru îmbunătăţirea lizibilităţii numelui se poate înlocui spaţiul cu caracterul de subliniere ( _ ) sau se pot utiliza litere majuscule şi minuscule în acelaşi nume;– reducerea lungimii numelui câmpurilor pentru a conserva resursele sistemului şi pentru a scutiutilizatorul de introduceri lungi atunci când se fac referiri la numele câmpului.

S-au creat, în fiecare tabel, mai multe câmpuri descrise mai sus. În tabelul Profesori, pentru câmpul ,, grad didactic" am creat un tip de data cu ajutorul Lookup

Wizard in modul Datasheet View.

25

Page 26: Proiect Baze de Date - Licenta 2010

Tabelele Access se pot salva în mai multe moduri:– din meniul File se alege opţiunea Save;– se execută click pe butonul Save de pe bara cu instrumente de lucru;– se execută evenimentul click pe butonul de închidere a ferestrei de

descriere a tabelei– din meniul de control se alege opţiunea Close.Indiferent de modul de salvare, Access afişează caseta de dialog Save As

care solicită furnizarea unui nume pentru tabelă. Utilizatorul introduce numele tabelei în caseta de text Table Name şi apoi execută click pe butonul OK.

3.2.2. Definirea cheii primare

Orice tabelă trebuie să posede o cheie primară (Primary Key), adică un câmp sau un grup de câmpuri care identifică în mod unic fiecare înregistrare. Dacă utilizatorul nu stabileşte o cheie primară,

Access stabileşte una în mod implicit creând un câmp de tip AutoNumber care va conţine un număr unic pentru fiecare înregistrare.

Cheia primară se defineşte din fereastra Indexes se activează meniul View, opţiunea Indexes.

26

Page 27: Proiect Baze de Date - Licenta 2010

Proprietăţile din fereastra Indexes:• Primary – valoarea Yes indică faptul că indexul este cheie primară;• Unique – valoarea Yes indică faptul că indexul va avea valori unice,

nefiind permis duplicatele; pentru o cheie primară, această proprietate are obligatoriu valoarea Yes.

• Ignore Nulls - valoarea Yes indică faptul că sunt permise valorile Null într-un index; pentru o cheie primară, această proprietate are obligatoriu valoarea No.

Pe lângă modalitatea descrisă anterior, cheia primară a unui tabel se mai poate defini astfel:

– dacă este vorba de o cheie formată dintr-un singur câmp, se poziţionează cursorul în câmpul respectiv, se acţionează click dreapta şi se alge opţiunea Primary Key;

– pentru chei primare formate din mai multe câmpuri, se selectează câmpurile din bordura ferestrei de proiectare şi se acţionează butonul menţionat anterior.

O cheie externă nu se defineşte explicit în Access sub noţiunea de cheie externă, ea fiind stabilită prin definirea relaţiilor dintre tabele. Pentru creşterea performanţelor se recomandă definirea de indecşi pentru fiecare cheie externă.

3.2.3. Adăugarea înregistrărilor

Pentru a efectua aceste operaţii este necesar ca tabela să fie deschisă în modul DataSheet.

27

Page 28: Proiect Baze de Date - Licenta 2010

Dacă tabela este deschisă imediat după creare, Access va afişa o foaie de date vidă, iar pointerul de înregistrare va fi plasat pe prima şi unica linie, pe

butonul ei de selecţie (butonul gri din prima coloană din tabela afişată în modul Datasheet View).

Pentru a introduce date se plasează pur şi simplu cursorul pe câmp şi se introduce o valoare.în timp ce se efectuează această operaţie, pointerul de înregistrare * se transformă într-un creion, ilustrând faptul că se editează o înregistrare. O nouă linie vidă apare dedesubtul primei linii. În loculpointerului de înregistrare figurează un asterisc indicând o nouă înregistrare.

Dacă tabela care se deschide în modul Datasheet View conţine date, pentru a adăuga o nouăînregistrare trebuie plasat cursorul pe ultima linie (al cărei pointer este un asterisc) şi se introducenoua înregistrare. Pentru plasarea cursorului pe ultima linie se execută click pe butonul New Recordde pe bara cu instrumente sau se alege Insert –> Record sau se utilizează tasta săgeata în jos.

S-au introdus date in tabele deschizându-le pe rând.

3.2.4. Definirea legăturilor dintre tabele Definirea legăturilor dintre tabele se realizează din meniul Tools->

Relationships, acestaactivând un panou de editare vizuală a acestora. Prima activare a acestei opţiuni are ca efect şi afişarea unei ferestre cu obiectele bazei de date ce se pot plasa în panou prin dublu-click sau selectarea obiectului şi butonul Add.

Pentru a putea defini o legătură între două tabele, trebuie să existe compatibilitate între tipul de date al cheii primare şi cel al cheii externe corespunzătoare.

După plasarea tuturor tabelelor în panoul de editare, definirea propriu-zisă a unei relaţii se realizează prin drag-and-drop dinspre cheia primară a unei tabele spre cheia externă corespunzătoare sau invers.

28

Page 29: Proiect Baze de Date - Licenta 2010

Dacă o cheie este formată din mai multe câmpuri, acestea se editează corespunzător în panoul Edit Relationship.

Relaţiile sunt:- între tabela Note şi tabela Elevi relaţie de tipul unu-la-mai mulţi- între tabela Note şi tabela Profesori relaţie de tipul-unu-la-mai mulţi- între tabela Note şi tabela Discipline relaţie de tipul unu-la-mai mulţi

3.2.5. Interogările (Queries)

Interogarea datelor din tabele se realizează în două moduri:• în mod grafic prin interfaţa Query By Example (QBE) - interogare prin

exemplu;• prin limbajul SQL sub formă de blocuri de cerere.Access oferă trei posibilităţi pentru definirea interogării şi afişarea

rezultatelor acesteia.– Design View – fereastră sub forma unei grile de interogare, în care se

defineşte interogarea;– Datasheet View – fereastră în care se afişează rezultatele interogării;– SQL View – fereastră în care Access generează automat codul SQL al

interogării QBE; aceeaşi fereastră este folosită şi pentru scrierea directă a unei interogări cu ajutorul instrucţiunilor SQL.

29

Page 30: Proiect Baze de Date - Licenta 2010

În baza de date am creat următoarele interogări:a) Afişarea doar a numelui şi a prenumelui elevilor în ordine

alfabetică.Se de click pe butonul Queries (Interogări) din fereastra Database: şi se alege

opţiunea Create query in Design view. Fereastra Show Table conţine tabelele (afişare implicită), interogările sau combinaţiile dintre acestea, de unde am ales sursa de date pentru interogare curentă.

Selectăm Elevi apoi executăm click pe Add.Se aduc câmpurile din tabel pe grila de interogare într-o ordine dorită de

utilizator. Sunt mai multe posibilităţi pentru a aduce câmpurile pe grila de interogare.

Ne vom referi numai la două dintre acestea:– pentru a aduce câmp cu câmp pe grilă, se execută click pe câmpul din

tabelă şi se trage pe grila de interogare, sau se execută dublu click pe câmp, acesta adăugându-se automat în grilă;

– pentru a aduce toate câmpurile tabelului deodată, se execută dublu click pe numele tabelului şi se trag câmpurile pe grilă.

Aducem câmpurile nume_elev, pren_elev. La linia Sort alegem tipul de sortare ascendentă.

Închidem interogarea de la butonul x, se salvează sub numele ordine alfabetică, apoi vizualizăm rezultatul prin deschiderea acesteia din fereastra Database, opţiunea Queries.

b) Am creat o interogare care să calculeze media semestrială a elevilor la obiectele la care susţin teză şi care să afişeze doar numele, prenumele, disciplina, nota1, nota2, nota3, teza şi media acestora.

30

Page 31: Proiect Baze de Date - Licenta 2010

Se de click pe butonul Queries (Interogări) din fereastra Database: şi se alege opţiunea Create query in Design view. Am adus câmpurile nume_elev, pren_elev,den_disciplina, nota1, nota2, nota3 şi teza şi am completat următoarea coloană din grilă cu: Medie: Round((3*(([nota1]+[nota2]+[nota3])/3)+[teza])/4)La linia Criteria alegem în câmpurile nota3 şi teza criteriul’’ >0’’. Închidem interogarea de la butonul x, se salvează sub numele Medie cu teza, apoi vizualizăm rezultatul prin deschiderea acesteia din fereastra Database, opţiunea Queries.

c) Am creat o interogare de selecţie care să afişeze mediile semestriale ale elevilor şi să se specifice elevii corigenţi.

d)

Se de click pe butonul Queries (Interogări) din fereastra Database: şi se alege opţiunea Create query in Design view. Am adus câmpurile nume_elev, pren_elev(din tabelul Elevi), media_semI(din tabelul Note) şi den_disciplina(din tabelul Discipline) şi am completat următoarea coloană din grilă cu:

Rezultat: IIf([Media_semI]<=4;"CORIGENT") Închidem interogarea de la butonul x, se salvează sub numele Corigenţi

promovaţi, apoi vizualizăm rezultatul prin deschiderea acesteia din fereastra Database, opţiunea Queries.

e) Am creat o interogare de selecţie care să afişeze mediile semestriale ale elevilor corigenţi.

Se de click pe butonul Queries (Interogări) din fereastra Database: şi se alege opţiunea Create query in Design view.

31

Page 32: Proiect Baze de Date - Licenta 2010

Am adus câmpurile nume_elev, pren_elev(din tabelul Elevi), media_semI(din tabelul Note) şi den_disciplina(din tabelul Discipline).

La linia Criteria alegem în câmpul media_semI criteriul’’ <=4’’. Închidem interogarea de la butonul x, se salvează sub numele Corigenţii, apoi vizualizăm rezultatul prin deschiderea acesteia din fereastra Database, opţiunea Queries.

f) Am creat o interogare de selecţie care să afişeze elevii cu note scăzute la purtare.

Se de click pe butonul Queries (Interogări) din fereastra Database: şi se alege opţiunea Create query in Design view. Am adus câmpurile nume_elev, pren_elev(din tabelul Elevi), media_semI(din tabelul Note) şi id_disciplina(din tabelul Discipline).

La linia Criteria alegem în câmpul media_semI criteriul’’ <10’’ şi în câmpul id_disciplina criteriul “ purta”. Închidem interogarea de la butonul x, se salvează sub numele Medii scăzute purtare, apoi vizualizăm rezultatul prin deschiderea acesteia din fereastra Database, opţiunea Queries.

g) Am creat o interogare de sintetizare a datelor pentru obţinerea mediei generale a elevilor şi sortarea acestora în ordinea descrescătoare a mediei. Elevii au un număr de 15 discipline.

Rezolvarea problemei se va realiza în două etape:– se va face o interogare de tip total pentru calculul mediei fiecărui elev şi–

interogarea Medie;– se va face o interogare pe baza interogării precedente, Medie, şi a tabelei Elevi, se vor calcula mediile generale– interogarea Medie_generala.Dacă se doreşte afişarea mediei generale doar cu două zecimale vom alege

Properties –> Format –> Fixed pentru câmpul Media al interogării Medie_generala.

Pentru interogarea Medie am ales câmpurile: id_disciplina(din tabelul Discipline), id_elev(din tabelul Elevi) şi media_semI(din tabelul Note).

Pentru interogarea Medie_generala am ales tabelul Elevi şi tabelul Medie creat prin interogarea anterioară. Câmpurile alese sunt nume_elev, pren_elev(din tabelul Elevi) şi am completat următoarea coloană din grilă cu:

media_generala: Sum([media_semI])/14În linia Total alegem opţiunea Group By pentru câmpurile nume_elev,

pren_elev iar pentru câmpul media_generala opţiunea Expresion, precum şi sortarea Descending.

3.2.6. Formulare(Forms)

Access pune la dispoziţia proiectantului o serie de facilităţi în vederea creării unui formular.Astfel se poate alege între:

– generarea automată a unor formulare predefinite (AutoForm: Columnar, Tabular, Datasheet,PivotTable, Pivotchart);

– proiectarea asistată, caz în care utilizatorul este îndrumat de către o serie de asistenţi(Wizards: Form Wizard, Chart Wizard, PivotTable Wizard).

Formularele create sunt:a) Corigenţii1, Media generala şi Medii scăzute la purtare pentru care

am folosit formularele Wizard, folosind ca sursă diferite tabele.Etapele pe care le-am parcurs au fost:

1. se acţionează butonul New din fereastra bazei de date pentru activarea asistentului New Form;

2. se optează pentru varianta Form Wizard;

32

Page 33: Proiect Baze de Date - Licenta 2010

3. se selectează tabela sau interogarea dorită în rubrica derulantă solicitată; prin click pe butonul Ok, sistemul intră în modul Wizard;

4. se selectează câmpurile din sursa de date, ce vor fi afişate în formular; câmpurile accesibile

ale tabelei/interogării selectate sunt afişate în zona Available Fields; câmpurile ce for face parte din formular sunt afişate în zona Selected Fields;

Selectarea câmpurilor se face cu ajutorul butoanelor:– > pe al cărui click se transmite un singur câmp selectat din zona Available

Fields în zona Selected Fields;– >> pe al cărui click se transmit toate câmpurile din zona Available Fields

în zona Selected Fields;– < pentru revenirea unui câmp selectat din Selected Fields în Available

Fields;– << pentru revenirea tuturor câmpurilor selectate din Selected Fields în

Available Fields;

Denumire formular Tabel(sursa de date) Câmp selectat în zona Available Fields

Corigenţii1 Interogarea Corigenţii nume_elev, pren_elev, den_disciplina

Media generala Interogarea Media generala nume_elev, pren_elev,media_generala

Medii scăzute la purtare

Interogarea Medii scăzute la purtare

nume_elev,pren_elevmedia_semI

5.se alege tipul de formular şi anume opţiunile privind forma de poziţionare a datelor din formular; opţiunile sunt: Columnar, Tabular, Datasheet, Justified, PivotTable, PivotChart

6. se stabileşte imaginea de fundal pentru formular (Stone, Standard etc.);7. în ultima etapă se defineşte titlul formularului, precum şi modul în care

va fi deschis formularul

33

Page 34: Proiect Baze de Date - Licenta 2010

Există posibilitatea opţiunii asupra deschiderii noului formular:– Open the form to view or enter information – pentru execuţie;– Modify the form's design – pentru eventuale modificări.

b) Am creat formularul legat Elevi cu formularul Note.Rolul subformularelor este de a actualiza mai multe tabele prin intermediul

unei singure ferestre (formular). Subformularele sunt create în general pentru anumite tabele dependente (tabele în care câmpul comun este cheie externă), din cadrul unei relaţii de tip 1–n.

34

Page 35: Proiect Baze de Date - Licenta 2010

Definirea unui subformular presupune înglobarea (includerea) unui formular în cadrul altui formular, primul devenind subformular, iar al doilea formular principal.

Pentru definirea unui subformular în modul Design se procedează astfel:• se deschide în modul Design, formularul ce se doreşte a fi formular

principal;• se activează fereastra bazei de date;• folosind tehnica drag&drop, se aduce depune formularul, ce se doreşte a

fi subformular, în interiorul formularului principal;• se salvează formularul principal.Sincronizarea formular–subformular se realizează prin intermediul

câmpurilor de legătură cheia primară din sursa de date aferentă formularului principal şi cheia externă din sursa de date aferentă subformularului.

Denumirile acestor câmpuri sunt înscrise automat de Access în proprietăţile Link Master Field şi Link Child Field ale controlului de tip subform din formularul principal.

Am creat un formular cu subformular în modul Form Wizard pentru tabelele Elevi şi Note:

1. se acţionează butonul New din fereastra bazei de date pentru activarea asistentului New Form;

2. se optează pentru varianta Form Wizard;3. se selectează câmpurile din tabela Elevi sau apoi din tabela Note şi tabela

Discipline;4. pentru tabelul Elevi se selectează opţiunea Linched formes;5. se alege un model de prezentare pentru subformular;6. se stabileşte imaginea de fundal pentru formular (Stone, Standard etc.);7. se stabileşte denumirea primului formular (First form) Elevi1 şi a celui de-

al doilea formular (Second form) Note1. În primul formular am inserat cu ajutorul butonului Subform/subreport un alt formular în punctual de inserare, în modul Design Wiev. Formularul introdus este tabelul Medie generala.

35

Page 36: Proiect Baze de Date - Licenta 2010

Acest formular apare ca ecran de prezentare:- meniul Tools şi am selectat Startup- am executat clic pe săgeata listei Display From/Page şi apoi am selectat

formularul Elevi1- am executat OK.

CAPITOLUL IV.

CONCLUZII

În concluzie, putem spune că o bază de date în Access constă din mai multe tabele, din

interogări, formulare şi rapoarte. Comutarea între aceste grupe de obiecte se realizează prin executarea

unui simplu clic pe obiectul în speţă. Astfel în partea dreapta a ferestrei vor putea fi vizualizate toate

obiectele acestei grupe.

În partea de sus a ferestrei se găsesc trei opţiuni al căror rol este:

Deschidere - pentru deschiderea obiectului adică:

- vizualizare sau afişare pentru formulare, tabele, rapoarte;

- rulare pentru interogări sau macroinstrucţiuni.

Proiect - pentru editarea obiectului selectat - proiectarea sa;

Nou - pentru crearea unui obiect nou.

În plus, există câteva comenzi rapide ce ajută la economisirea timpului:

- se executa dublu clic pe orice obiect pentru a-l deschide;

- se execută clic dreapta pe orice obiect pentru a avea acces la meniurile de comenzi rapide.

36

Page 37: Proiect Baze de Date - Licenta 2010

BIBLIOGRAFIE

Botezatu Cornelia – Proiectarea sistemelor informatice. Metode sistemice – Ed. Sylvi, Bucuresti, 2002

Colectivul BDASEIG, Florescu V. coord. “Baze de date”, Ed. InfoMega, Bucureşti, 2000

Gheorghe Popa, Matei Iliescu, Bogdan Vasilciuc, “Baze de date Access”, Ed. Universităţii Titu Maiorescu, 2006

Lungu Ion, Sabau Gheorghe – Sisteme informatice pentru conducere – Editura Siaj, Bucuresti, 1999

Maria Stănescu, Mihail Şerban Voiculescu, Bogdan Gabriel Vasilciuc, “Bazele tehnologiei informatiei”, Ed. Universităţii Titu Maiorescu, Bucureşti, 2005

Poepescu, E, Cordes, M., Cordes D., Vlad, M., Initiere în Excel, Powerpoint şi Access, Editura

ELSE, Craiova 201

Stoian, V., Baze de date - suport de curs, Facultatea de automatică, calculatoare şi electronică, Craiova, 2009.

37