SUPORT DE CURS
Primul modul are ca scop prezentarea conceptelor fundamentale din domeniul bazelor de date,
familiarizarea studenţilor cu mediul Microsoft Access 2016 şi formarea deprinderilor de exploatare a
sistemelor de gestiune a bazelor de date. Tot în acest modul studenții vor învăța cum să creeze baze de date
în Microsoft Access, cum să adauge tabele și să introducă date.
Al doilea modul urmărește familiarizarea studenților cu obiectele de tip interogare (Query) și cu limbajul
standard de interogare (SQL). Cursanții vor învăța cum să obțină informațiile de care au nevoie dintr-o
bază de date folosind interogările și limbajul SQL.
2
Al treilea modul urmărește familiarizarea studenților cu obiectele de tip formular și raport. Cursanții vor
învăța cum să creeze ecrane pentru introducerea datelor, cum să folosească ecranele pentru a vizualiza
înregistrările și cum să elaboreze situații de ieșire (rapoarte) în Microsoft Access.
Ultimul modul urmărește familiarizarea studenților cu obiectele de tip macro și module. Cursanții vor
învăța cum să creeze comenzi macro, cum să folosească comenzile macro în cadrul formularelor și cum
creeze proceduri simple în Visual Basic prin intermediul modulelor.
De asemenea, la finele fiecărui modul sunt indicate lucrările practice care trebuiesc realizate de către
studenţi.
Cele patru lucrări practice, vor fi transmise prin email (veronica.rus@tbs.ubbcluj.ro) cu specificarea clară
a numelui studentului şi a numărului lucrării practice realizate (LP1, LP2, LP3, LP4).
Temele de control trebuie predate conform următoarelor planificări, nefiind acceptate derogări de
la aceste perioade:
Nepredarea lor la timp, atrage după sine pierderea punctajului acordat, conform politicii de notare!
3
studenţi a unei baze de cunoştinţe pe care le pot acumula din bibliografia recomandată pentru
fiecare unitate de studiu în parte. Materialele bibliografice se găsesc la Biblioteca Centrală
Universitară sau la Biblioteca Facultăţii de Business.
Pe lângă aceasta, se poate consulta orice bibliografie în format tipărit sau electronic, legată de
temele abordate în cadrul cursului cât şi exploatarea aprofundată a help-ului aferent aplicației
Microsoft Access.
Pentru eficientizarea acestor întâlniri, este indicat să fie parcurse, în prealabil, de către studenţi, materialele
aferente unităţilor studiate, pentru ca aceştia să fie capabili să ridice probleme, întrebări concrete, legate
de noţiunile abordate în suport.
Ulterior fiecărei întâlniri de curs şi seminar, studenţilor li se vor recomanda şi teme suplimentare care să
ajute la clarificarea şi fixarea cunoştinţelor dobândite.
Întâlnirile cu studenţii vor avea loc la sediul facultăţii, după o programare prealabil anunţată; prezentările
şi aplicaţiile practice în laboratoarele de informatică ale facultăţii.
Cerinţele pentru cele patru lucrări practice pot fi găsite în suportul de curs, la finalul fiecărui modul.
Informații suplimentare privind modul de evaluare vor fi furnizate de către cadrul didactic în cazul
întâlnirilor față în față și ulterior pe platforma de învățământ la distanță.
Rezultatele obţinute la această disciplină se vor anunţa la final, după susţinerea examenului, prin
comunicarea directă a notei finale, cât şi prin afişarea notelor (pe baza numărului matricol) pe platforma
4
ID (https://portal.portalid.ubbcluj.ro). Fiecare student poate solicita un feedback suplimentar prin
contactarea titularului de curs şi/ sau a tutorilor prin intermediul adresei de email.
5
II. Suportul de curs
Modulul I
Scop
Acest modul are ca scop prezentarea conceptelor fundamentale din domeniul bazelor de date,
familiarizarea acestora cu mediul Microsoft Access 2010 şi formarea deprinderilor de exploatare a
sistemelor de gestiune a bazelor de date. Tot în acest modul studenții vor învăța cum să creeze baze de
date în Microsoft Access, cum să adauge tabele și să introducă date.
Obiective
Evidențierea avantajelor utilizării bazelor de date;
Definirea bazelor de date, a sistemelor de gestiune a
bazelor de date;
Prezentarea principalelor funcții ale SGBD-urilor;
Prezentarea evoluţiei SGBD-urilor;
Identificarea elementelor mediului Microsoft Access 2010;
Utilizarea principalelor opţiuni din submeniurile sistemului Microsoft Access
2010.
Proiectarea structurii unei baze de date;
Recunoaşterea principalelor obiecte ale unei baze de date Access;
Crearea bazelor de date în Microsoft Access prin metodele prezentate;
Crearea și lucrul cu tabelele în Microsoft Access 2010.
Concepte de bază: date, integritatea datelor, redundanţa datelor, inconsistenţa datelor, partajarea
datelor, sistem de gestiune a bazelor de date, bază de date, tabele, câmpuri, înregistrări, interogări,
formulare, rapoarte, comenzi macro, module, pagini web, tipuri de date, chei, chei primare, chei
candidat.
6|
UNITATEA 1
CONCEPTE GENERALE
Un sistem de baze de date este un sistem computerizat de păstrare a înregistrărilor al cărui scop
principal este să stocheze informaţiile şi să permită utilizatorului să consulte şi să actualizeze
la cerere aceste informaţii [Date, 2004].
Un sistem de baze de date este format din patru componente principale: date, hardware,
software şi utilizatori [Date, 2005].
Programe
de aplicaţie
7|
Tema de reflecție nr. 1
Care este diferenţa dintre date şi informaţii? Daţi exemple de date şi informaţii.
În domeniul bazelor de date este important să se facă o distincţie clară între noțiunile de dată
și informație [Dollinger&Andron, 2004]:
1. Datele, materia primă a sistemelor informatice, sunt „fapte culese din lumea reală pe
bază de observaţii şi măsurători”. Datele pot lua mai multe forme: date alfanumerice
(formate din litere, cifre şi caractere speciale), date de tip text (propoziţii şi fraze folosite
în comunicarea scrisă), date de tip imagine (forme grafice şi figuri geometrice) şi date
audio (vocea umană şi alte sunete). In sistemele informatice datele sunt stocate în baze
de date.
2. Informaţia este rezultatul interpretării datelor de către un anumit subiect şi conferă
acestuia capacitatea de a lua decizii. Datele devin informaţii doar în momentul în care
acestea interacţionează cu un sistem capabil să le interpreteze. Informaţia are un
caracter subiectiv deoarece aceeaşi dată poate fi interpretată diferit de către subiecţi
diferiţi. Informaţiile sunt date prelucrate şi prezentate într-o formă (context) care să aibă
o anumită semnificaţie pentru utilizatorul final şi reprezintă ieşirile sistemului
informatic. În concluzie, se poate afirma faptul că sistemele informatice prelucrează
date nu informaţii.
Informaţia reprezintă produsul final al sistemelor informatice şi, în funcţie de cele patru
dimensiuni, timp, conţinut, forma de prezentare şi locaţie, aceasta trebuie să îndeplinească
următoarele cerinţe pentru a fi utilă:
B. În funcţie de conţinut:
să reducă gradul de incertitudine: cu cât informaţiile fac referire mai clară asupra
unui fenomen, cu atât viziunea de ansamblu şi de amănunt a decidenţilor asupra
respectivului fenomen va fi mai bună şi, pe cale de consecinţă, decizia va fi luată în
cunoştinţă de cauză.
să fie corectă: informaţia nu trebuie să conţină erori; trebuie să facă referiri exacte
asupra oricărui fenomen fără doze de relativism.
să fie pertinentă: informaţiile trebuie să facă referire la un anumit fapt, situaţie,
eveniment şi în acelaşi timp să descrie realitatea de facto;
să fie relevantă: informaţia trebuie să satisfacă nevoile de informare ale
utilizatorului cu privire la o anumită situaţie.
8|
să fie necontradictorie sau noncontradictorie – informaţiile descriptive care fac
referire la o anumită situaţie trebuie să aibă aceeaşi valoare de adevăr în acelaşi
moment temporal.
să fie neredundantă sau nonredundantă: de obicei o informaţie face referire la un
anumit aspect. Dacă aceeaşi informaţie se repetă ea nu aduce nimic nou în raport
cu aspectul descris.
să fie completă: informaţia trebuie să conţină toate elementele de care utilizatorul
are nevoie;
să aibă caracter succint: vor fi furnizate doar acele informaţii de care este nevoie
într-o anumită situaţie decizionala;
Definiţii:
„Baza de date este o colecţie de date persistente, care sunt folosite de către sistemele de aplicaţii
ale unei întreprinderi” [Date, 2005].
9|
Prin persistenţă înţelegem intuitiv că datele din baza de date diferă, ca tip, de alte date efemere,
cum ar fi datele de intrare, datele de ieşire, rezultatele intermediare, şi în general, orice date
care sunt de natură trecătoare. Se poate spune că datele din BD persistă deoarece, odată ce au
fost acceptate de SGBD pentru introducerea în BD „ele nu pot fi şterse din baza de date numai
printr-o cerere explicită adresată sistemului SGBD”. Termenul întreprindere desemnează orice
organizaţie independentă de natură comercială, ştiinţifică, tehnică sau de alt tip. Întreprinderea
poate fi o singură persoană sau o întreagă corporaţie. Exemple: un hotel, o fabrică, o bancă, o
facultate, etc. Exemple de date persistente: date despre clienţi, date despre conturi, date despre
studenţi, date despre rezervări, etc. [Date, 2005].
„Baza de date este un ansamblu structurat de date coerente, fără redundanţă inutilă, astfel încât
acestea pot fi prelucrate eficient de mai mulţi utilizatori într-un mod concurent”. [Popescu,
2001]
Baza de date este un sistem integrat, coerent și partajat de fișiere [Nitchi et al., 2007].
Integrat: unificare a mai multor fișiere distincte;
Partajat: parți distincte din BD pot fi folosite de către mai mulți utilizatori;
Coerent: se asigura caracterul neredundant și coerent al datelor.
Sistemul de baze de date oferă întreprinderii un control centralizat asupra datelor sale.
Centralizarea datelor prezintă o serie de avantaje, cum ar fi [Dollinger&Andron, 2004]:
Reducerea redundanţei datelor memorate: în situaţia în care fiecare aplicaţie
informatică folosește fişiere proprii pentru stocarea datelor sale e posibil ca aceleaşi
date să apară de mai multe ori în fişiere diferite aparţinând unor aplicaţii diferite. Dacă
acea dată este modificată într-un fișier aceasta trebuie modificată și în restul fișierelor
pentru a nu apărea diferențe. Este recomandabil ca aplicaţii diferite având aceleaşi date
să utilizeze, în comun, un singur fişier pentru memorarea acestora. Redundanţa este
proprietatea unor date de a se repeta fără să fie necesar.
Evitare inconsistenţei datelor: atunci când există mai multe copii ale aceleaşi date
este posibil, prin actualizarea doar a unora dintre ele, să avem valori diferite pentru una
şi aceeaşi dată, ceea ce atrage după sine inconsistenţa bazei de date.
Posibilitatea partajării datelor: se referă la posibilitatea utilizării în comun a datelor
de către mai multe aplicaţii precum şi la posibilitatea dezvoltării unor aplicaţii noi
folosind datele deja existente în baza de date.
Încurajarea introducerii standardelor: administratorul bazei de date poate impune
alinierea la anumite standarde, ceea ce are un rol important la transferul datelor de la o
bază de date la alta.
10 |
Posibilitatea aplicării constrângerilor de securitate: administratorul bazei de date
poate introduce verificări de autorizare a accesului la date. Se pot impune restricţii
diferite pentru fiecare tip de acces la date, pentru fiecare dată, pentru fiecare utilizator
Menţinerea integrităţii datelor: integritatea datelor reflectă cerinţa ca baza de date să
conţină date corecte. Aceasta presupune atât consistenţa datelor cât şi plauzibilitatea lor
prin introducerea unor proceduri de validare corespunzătoare.
Oferă suport pentru tranzacţii: tranzacţia este o unitate logică care presupune mai
multe operaţii în baza de date, in particular, o serie de operaţii de actualizare. Ex:
transferul unei sume de bani din contul A in B.
Deoarece datele sunt reprezentate în calculator sub forma de biţi iar utilizatorii bazelor de date
lucrează cu concepte mai mult sau mai puțin abstracte se impune utilizarea unor nivele de
abstractizare. Pentru asigurarea independenței fizice şi logice a datelor se impune adoptarea
unor arhitecturi de baze de date organizate pe trei nivele:
Nivelul intern: este nivelul care se află cel mai aproape de mediul de stocare fizică, se
referă la modul în care sunt stocate datele în sistem;
Nivelul extern: este nivelul aflat cel mai aproape de utilizatori, se referă la modul în
care sunt vizualizate datele de către utilizatori;
Nivelul conceptual: este un nivel intermediar dintre cele două.
Nivelul extern
Nivelul conceptual
Nivelul intern
Prin utilizarea vederilor se asigură securitatea bazelor de date prin limitarea accesului la date
a anumitor categorii de utilizatori. Utilizatorii au acces doar la parţi bine definite din BD,
existând posibilitatea ascunderii anumitor parţi din baza de date pe care utilizatorii nu au voie
sa le vadă. Un utilizator poate avea diferite drepturi de acces definite în cadrul a mai multe
vederi. Prin unele vederi poate avea doar drept de consultare, in timp ce prin altele ar putea
avea şi drepturi de modificare. Prin vederi se oferă utilizatorilor o viziune individualizată şi
simplificata asupra bazei de date. Fiecare vedere externă este definită prin intermediul unei
scheme externe.
Exemple: baza de date cu clienții unui hotel. Vârsta clienților este o informație care poate fi
folosita pentru realizarea unor statistici, etc. Daca se memorează in baza de date vârsta clienților
atunci acest câmp trebuie sa fie actualizat zilnic, de aceea se va crea o vedere in care apare
12 |
definit conceptul de vârsta calculat ca diferență dintre data curentă si data nașterii. Într-o bază
de date cu studenți se va defini conceptul bursier.
13 |
1.5. Sistemul de gestiune a bazelor de date
Sistemul de gestiune a bazelor de date (SGBD) – este software-ul care tratează toate cererile
de acces la baza de date.
Scopul general al unui SGBD este de a furniza interfaţa cu utilizatorul pentru sistemul de baze
de date. Interfaţa cu utilizatorul poate fi definită ca o graniţă a sistemului, dincolo de care totul
este invizibil pentru utilizator. Cele mai cunoscute SGBD-uri la ora actuală sunt: Oracle,
Microsoft Sql Server, Visual FoxPro, DB2, dBase, MySql (opensource), PostgreSQL.
Microsoft Access 2010 face parte din pachetul de programe Microsoft Office şi este inclus în
ediţiile Microsoft Office Professional Plus 2010 și Microsoft Office Professional 2010.
Principalele caracteristici ale sistemului de gestiune a bazelor de date Access 2010 sunt:
este un sistem de gestiune a bazelor de date relaţional;
are interfața grafică prietenoasă (Microsoft Office Fluent);
poate fi instalat pe sistemul de operare Windows: versiunile Windows XP cu Service Pack
(SP) 3, Windows Vista cu SP1, Windows 7, Windows Server 2003 cu SP2 şi MSXML 6.0
(doar Office pe 32 de biți), Windows Server 2008 sau mai recent, pe 32 sau pe 64 de biți;
cerinţe hardware pentru instalare sunt următoarele - computer cu procesor de 500 MHz
sau mai mult, cu minim 256 MB RAM, cel puţin 2 GB spaţiu disponibil pe hard disk,
monitor cu o rezoluție de minim 1024x576, placă grafică DirectX 9.0 cu memorie video
de 64 MO sau mai mult.
comunică cu alte sisteme de gestiune a bazelor de date dintre care amintim dBase şi SQL
Server;
permite realizarea unor aplicaţii complexe pentru afaceri prin utilizarea limbajului
Microsoft Visual Basic for Applications 7.0;
conţine instrumente tip wizard care permit utilizatorului crearea facilă a obiectelor bazei
de date;
conţine exemple de baze de date care contribuie la o mai bună înţelegere a modului de
construire a tabelelor, formularelor, rapoartelor, interogărilor, relaţiilor dintre tabele. Baza
de date Northwind are un număr mare de înregistrări şi poate fi folosită pentru a crea
propriile rapoarte, formulare, interogări.
pune la dispoziția utilizatorului șabloane de baze de date;
permite vizualizarea legăturilor dintre tabelele bazei de date prin intermediul unei interfeţe
grafice – fereastra Relationships;
permite comunicarea cu celelalte aplicaţii incluse în pachetul Microsoft Office: Word,
Excel, etc. prin operaţii de import/export.
suportă două limbaje standard de interogare: SQL (Structured Query Language) şi QBE
(Query By Example).
15 |
La rularea programului Microsoft Access 2010, va apărea pe ecran o fereastră care pune la
dispoziţie următoarele opţiuni:
1. Crearea unei baze de date vide (Blank Database);
2. Crearea unei baze de date folosind un șablon de bază de date;
3. Deschiderea unei baze de date existente. In panoul din partea stângă a ferestrei sunt
afișate cele mai recent utilizate baze de date (Recent). Daca baza dorită nu se afla printre
acestea, executând clic pe Open se poate naviga prin structura de directoare în căutarea
fişierului dorit.
Fereastra de bază a aplicaţiei Access are acelaşi aspect general folosit în celelalte aplicaţii
Office 2010 şi conţine următoarele elemente:
File de comenzi
Help
Panoul de navigare
Bara de stare
Fereastra de lucru
Fig. 3. Fereastra de bază a aplicaţiei Microsoft Access
16 |
Tema de reflecție nr. 5
Deschideţi aplicația Microsoft Access 2010. Explicaţi efectul tuturor comenzilor din
filele: Home, Create, External Data, Database Tools. Pentru rezolvarea acestui
exerciţiu vă puteţi folosi de Help.
Care sunt opţiunile disponibile în Backstage View?
17 |
2.2. Arhitectura Microsoft Access
O baza de date reprezintă o modalitate de stocare a unor date pe un suport extern (mediu de
stocare), cu posibilitatea regăsirii rapide a acestora. Baza de date este „o colecţie de date
înrudite, care se referă la un anumit subiect sau obiectiv, împreună cu instrumentele folosite
pentru manipularea acestor date” [Harkins et al., 1999:11]. Pentru a interacţiona cu datele
cuprinse în baza de date, Access se foloseşte de obiecte: interogări, rapoartele, formularele,
controale. Toate elementele din Access, cu excepţia datelor din înregistrări, sunt obiecte. O
bază de date Access este o colecţie de obiecte: tabele (table), interogări (query), formulare
(form), rapoarte (report), comenzi macro (macro) şi module (module).
Tabelul (TABLE) este “un obiect definit de utilizator în care sunt stocate datele primare
(expresia modelului relaţional)” [Năstase et al., 1999:51]. Mai precis, un tabel este o colecţie
de date "legate" între ele, care sunt stocate pe linii şi coloane. Coloanele reprezintă câmpurile
(fields) care se descriu prin nume, tip şi alte atribute ale acestora. Fiecare câmp trebuie să fie
legat de destinaţia tabelului din care face parte. Fiecare linie a tabelului conţine o înregistrare
(record) cu date corespunzătoare coloanelor şi reprezintă o entitate completă de date. De
exemplu, atunci când creaţi un tabel pentru stocarea datelor referitoare la clienţi puteţi avea
câmpuri pentru cod client, nume, prenume, adresa, cod poştal, număr de telefon, data naşterii,
etc. În acest caz, o înregistrare va consta din toate aceste informaţii pentru un anumit client. O
bază de date poate conţine unul sau mai multe tabele independente sau legate între ele.
Câmpuri (fields)
Interacţiunea cu datele stocate în tabele nu se face în mod direct. De regulă, fiecărui tabel îi
sunt asociate alte obiecte (formulare, rapoarte, interogări), iar atunci când utilizatorul are
nevoie de anumite date va apela un formular sau un raport care va găsi datele şi le va afişa pe
ecran în forma cerută.
Interogarea (QUERY) 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” [Năstase et al.,
1999:52]. Este un instrument foarte util pentru analiza datelor stocate în tabele. De exemplu,
puteţi folosi o interogare pentru a genera o listă cu adresele clienţilor sau pentru a determina
suma încasată de la clienţi, de asemenea, puteţi obţine date din mai multe tabele legate între
ele. Practic, numărul întrebuinţărilor care se pot da acestor obiecte este nelimitat:
puteţi vizualiza înregistrările care îndeplinesc o anumită condiţie prin intermediul
interogărilor de selecţie (Select Query);
18 |
puteţi modifica, adăuga şi chiar şterge date din tabele folosind tipurile de interogări
specifice acestor operaţii: Update, Append şi Delete Query;
puteţi sorta înregistrările după câmpuri sau grupuri;
puteţi efectua calcule pe grupuri de înregistrări;
puteţi combina datele din mai multe tabele sau interogări.
Interogarea este, în esenţă, o întrebare sau o cerere stocată. Aşa cum datele sunt stocate în tabele
(table) şi cererile sunt stocate în obiecte de tip Query. Odată creată, o interogare poate fi apelată
de ori câte orie este nevoie [Harkins et al., 1999: 11].
Formularul (FORM) este „un obiect care permite introducerea datelor, afişarea acestora sau
controlul întregii aplicaţii” [Năstase et al., 1999:51]. Formularul constituie interfaţa dintre
utilizator şi datele stocate în baza de date, de aceea va fi folosit foarte frecvent. Formularele
simplifică vizualizarea, introducerea şi modificarea datelor. Modul de completare al datelor în
formularul Access este asemănător cu completarea unui formular pe hârtie, numai că datele
introduse pe ecran vor fi stocate în unul sau mai multe tabele şi pot fi folosite ulterior la
întocmirea diferitelor situaţii. Prin intermediul formularelor se pot realiza diverse operaţii cum
ar fi: sortarea, căutarea, actualizarea unor date dar pot fi folosite şi ca parte a interfeţei aplicaţiei
dumneavoastră. Folosind butoanele de comandă puteţi deschide alte formulare sau rapoarte
atunci când este nevoie.
Raportul (REPORT) este „un obiect care permite formatarea şi tipărirea informaţiilor obţinute
în urma consultării bazei de date sub formă de documente.” [Năstase et al., 1999:52]. Cu toate
că formularele reprezintă un instrument potrivit pentru introducerea şi afişarea datelor pe ecran,
rapoartele sunt principalele situaţii de ieşire in Access. Rapoartele pot fi previzualizate pe ecran,
tipărite la imprimanta, vizualizate într-un navigator Internet (browser), etc. Sunt foarte uşor de
creat şi sunt instrumente puternice de prezentare a datelor. Puteţi crea cu ajutorul acestor
obiecte diverse situaţii de ieşire pentru aplicaţia dumneavoastră, de exemplu, lista clienţilor
firmei pe localităţi sau judeţe.
Macrocomanda (MACRO) reprezintă un „obiect care conţine o definiţie structurată a uneia sau
mai multor acţiuni pe care Access le realizează ca răspuns la un anumit eveniment” [Năstase et
al., 1999:52]. Aceste obiecte sunt foarte utile deoarece permit automatizarea diverselor
evenimente fără ca realizatorul aplicaţiei să trebuiască să cunoască limbajul VBA (Visual Basic
for Applications).
Modulul (MODULE) reprezintă „un obiect care conţine proceduri definite de utilizator şi scrise
în limbajul de programare Visual Basic” [Năstase et al., 1999:52]. Codul procedurii se
introduce într-un modul şi poate fi apelat prin intermediul unor obiecte eveniment sau prin
intermediul altor proceduri.
19 |
3. se selectează (prin clic pe ) unitatea de disc unde va fi salvata noua bază de date
şi formatul bazei de date;
2. se introduce
numele BD
3. se selectează
directorul în care
4
va fi salvată BD
Fig. 4. Crearea unei baze de date vide
Crearea unei baze de date folosind şabloane de baze de date este mult mai simplă şi rapidă dar
prezintă dezavantajul de a nu fi aşa de flexibilă. Utilizatorul poate alege dintre mai multe baze
de date predefinite, destinate fie utilizării în scop personal, fie utilizării în cadrul unei firme.
Şabloanele sunt salvate local sau pot fi descărcate de pe site-ul Microsoft Office. În urma
selectării unui şablon se generează toate tabelele, formularele şi rapoartele necesare pentru
realizarea anumitor funcţii.
Tema de reflecție nr. 6
Să se creeze o baza de date pentru marketing (folosind șabloanele existente în
Access 2010) şi să se salveze în directorul personal
1. Introduceți în baza de date:
a. detalii referitoare la 3 proiecte;
b. 2 angajaţi;
c. 3 vânzători.
2. Vizualizaţi rapoartele generate de aplicație.
3. Deschideţi tabelele bazei de date şi observaţi modul în care datele au fost
stocate în tabele.
4. Observați legăturile dintre tabele bazei de date.
5. Alegeți un alt șablon şi generați o nouă bază de date. Introduceţi înregistrări
în baza de date.
20 |
UNITATEA 3
TABELE
Modul cel mai eficient de creare a tabelelor îl reprezintă utilizarea ferestrei de proiectare. În
urma selecţiei comenzii Table Design pe ecranul monitorului va apărea fereastra de proiectare
a tabelului. În această fereastră se introduc: denumirile câmpurilor – în coloana FIELD NAME,
tipul de date – în coloana DATA TYPE şi opţional o descriere a câmpului respectiv –
DESCRIPTION.
21 |
În Access există patru modalităţi de vizualizare a tabelelor:
Design View: este modul de vizualizare în care se defineşte
structura tabelului bazei de date (modul care permite introducerea
câmpurilor cu tipul de data asociat şi descrierea corespunzătoare).
Datasheet View: permite introducerea de date (articole) în tabel.
Pivot Table View
Pivot Chart View
De exemplu dacă avem un tabel Judeţe cu următoarele câmpuri: cod – text(2) şi denumire-
text(30), suprafaţă – numeric, long integer - acesta va putea fi afişat în două moduri:
22 |
3.2. Caracteristicile câmpurilor
Numele: numele câmpului poate să fie format din mai multe cuvinte, de exemplu
“Nume client”.
Tipul de date: stabileşte modul în care datele sunt înregistrate pe suportul de memorare
şi modul în care acestea sunt interpretate şi prelucrate. Tipurile de date disponibile
pentru câmpuri în Access 2010 sunt:
23 |
Tip de date Descrierea tipului de date
Tip de date
Access
În câmpurile de tip attachments pot fi ataşate imagini,
documente, foi de calcul tabular, fişiere arhivate. În
funcţie de setările făcute asupra câmpului, fişierele
ataşate pot fi vizualizate şi modificate. Spre deosebire
Ataşamente ATTACHMENTS
de tipul de date OLE OBJECT, tipul de date
ATTACHMENTS foloseşte mult mai eficient spaţiul
de stocare deoarece nu creează o imagine bitmap a
fişierului original.
Tabel 1. Tipuri de date disponibile în Ms. Access
Dacă din lista Data Type se alege Lookup Wizard se va crea un câmp a cărui valori pot fi
încărcate dintr-o listă derulantă. Elementele listei pot fi valori tastate de utilizator sau valori
conţinute într-un câmp al unui tabel sau interogare existentă.
Proprietăţile câmpurilor
1. Field size: în această zonă se introduce dimensiunea maximă permisă pentru câmpul
respectiv, în funcţie de tipul de date al acestuia. Putem crea un câmp de tip text cu
dimensiune fixă introducând în celula Field Size valoarea corespunzătoare lungimii fixe
dorite (un număr de la 1 la 255).
2. Format: formatul în care sunt afişate datele. În Access fiecare tip de date are mai multe
opţiuni predefinite de afişare. De exemplu, o dată de tip dată/oră poate fi afişată în mai
multe forme:
24 |
5. Caption: permite asocierea unor etichete (nume) câmpurilor unui tabel, etichete care vor fi
afişate în cadrul rapoartelor, formularelor, tabelelor.
6. Default value: este valoarea atribuită automat atunci când utilizatorul nu introduce nici o
valoare în acel câmp.
7. Validation rule: testează prin intermediul unui criteriu (expresie Access) valorile introduse
în câmpurile bazei de date şi nu lasă introducerea de date care nu respectă acel criteriu. De
exemplu, regula 0 permite doar introducerea numerelor pozitive, iar = 10 AND 100
permite introducerea numerelor cuprinse între 10 şi 99.
8. Validation text: Conţine textul care va apărea pe ecran în cazul în care valoarea introdusă
în câmp nu respectă criteriul impus de regula de validare.
9. Required: se stabileşte dacă prin introducerea unei noi înregistrări în cadrul tabelei este
obligatorie şi completarea respectivului câmp.
10. Indexed: dintr-o listă derulantă se poate alege între un index care admite valori duplicat
sau unul care cere ca fiecare valoare a câmpului să fie unică.
Cheile principale (primary keys) reprezintă o componentă esenţială a oricărei baze de date
relaţionale. Pentru a se încadra în modelul relaţional fiecare tabel al bazei de date trebuie să
aibă un identificator unic. Asigurarea unicităţii se poate realiza prin desemnarea unei chei
primare – o coloană sau un set de coloane care identifică în mod unic un rând din tabel.
O cheie primară poate fi formată dintr-o singură coloană – cheie simplă, sau poate fi formată
din mai multe coloane – cheie compusă (multiplă).
Într-un tabel pot exista mai multe coloane (sau set de coloane) ce pot conţine valori unice.
Aceste coloane sunt chei candidat. Din aceste chei candidat se alege o cheie primară, aceasta
trebuie să conţină un număr minimal de coloane şi să fie stabilă. De exemplu într-un tabel
Angajati cu următoarele câmpuri: CNP (codul numeric personal), Nume, Prenume,
Data_angajării, Salar avem două chei candidat - CNP şi cheia compusă din câmpurile Nume,
Prenume. Codul numeric personal este unic pentru fiecare persoana, deci, el ar poate asigura
unicitatea înregistrărilor. Singura problemă este că pentru angajaţii străini cod numeric
personal are alt format. Cea de-a doua cheie îndeplineşte condiţia de cheie primară atât timp
cât nu există în baza de date doi angajaţi cu acelaşi nume şi prenume. Când apar două persoane
cu acelaşi nume şi prenume, pentru a se asigura unicitatea, se poate adăuga câmpul data
angajării la cheia primară, dar atunci numărul câmpurilor din componenţa acesteia este prea
mare. Câmpul numele nu este un câmp stabil pentru că, în cazul angajatelor, acesta se poate
schimba prin căsătorie, de aceea nu e bine să intre în componenţa cheii primare. Deoarece nu
am putut găsi o cheie primară naturală trebuie să creăm o cheie artificială, o cheie derivată.
Putem adăuga un câmp Cod Angajat de tip AutoNumber care să îndeplinească rolul de cheie
principală.
Definiție: se numește cheie a unui tabel un subset de coloane care îndeplinesc următoarele
condiții:
1. valorile coloanelor care compun cheia identifică în mod unic fiecare rând din tabel.
25 |
2. subsetul de coloane este minimal, în sensul că eliminarea oricărei coloane din cheie
duce la nerespectarea primei condiţii.
Cheia primară are un rol deosebit de important în implementarea strategiilor de căutare şi de
regăsire a datelor. Este folosită de SGBD pentru identificarea unică a înregistrărilor. Câmpul
marcat cu PRIMARY KEY nu permite introducerea valorilor duplicat. Asupra cheii primare a
SGBD -urile impun restricţii :
nu sunt admise valorile nedefinite (NULL) pentru atributele unei chei primare, orice
altă cheie a unei relaţii poate avea valori nedefinite pentru unele din atributele sale;
nici o valoare a unui atribut dintr-o cheie primară nu poate fi modificată în cadrul
operaţiilor de actualizare.
Stabilirea cheii primare se poate face prin două modalităţi, după cum urmează:
1. se selectează câmpul (sau câmpurile);
Pentru a ilustra modul de creare a structurii unui tabel vom lua ca exemplu tabelul InfoClienţi,
din baza de date Clienți, care va conţine informaţii referitoare la clienţii persoane juridice.
Tabelul are următoarea structură:
I. Se creează baza de date Clienţi astfel: se porneşte aplicaţia Microsoft Access - Start->All
Programs->Microsoft Office->Microsoft Access;
1. se selectează opţiunea Blank Database din fereastra Microsoft Access;
2. se selectează directorul unde va fi salvată baza de date ( ), iar în lista File Name se
introduce numele Clienti după care se activează butonul Create.
II. Pentru a crea tabelul InfoClienţi:
1. selectaţi opţiunea Design view din fila Home, grupul View.
2. pe ecran va apărea o fereastra Save As în care veţi introduce denumirea tabelului.
26 |
3. în fereastra de proiectare a tabelului veţi introduce denumirile câmpurilor, tipul
acestora şi o scurtă descriere după cum urmează:
3. Se introduce o
scurtă descriere.
4. Se selectează
mărimea câmpului
Se repetă cei patru paşi pentru fiecare câmp în parte. În secţiunea Field Properties se pot
introduce informaţii legate de câmpuri, reguli de validare, valori implicite ale datelor ce vor fi
introduse în tabel.
După ce aţi introdus toate categoriile trebuie să stabiliţi o cheie primară pentru tabelul creat.
Cheia trebuie să identifice în mod unic fiecare înregistrare din tabel şi să prevină apariţia
duplicatelor, în cazul nostru câmpul care îndeplineşte condiţiile de cheie primară este Cod_cl.
IV. Pentru a adăuga articolele în tabelul pe care l-aţi creat, se salvează modificările efectuate şi
se selectează butonul Datasheet View ( ) din fila Design.
27 |
Cod Cod Data
Nume Prenume Adresa Localitate Jud Telefon
client postal nasterii
1 Opriș Radu Str. Republicii Nr. 6 Cluj-Napoca CJ 23451 0264/552302 02/04/1968
2 Popescu Adriana Str. Horea Nr. 4 Cluj-Napoca CJ 23780 0264/440016 03/05/1974
3 Plesan Sorin Str. Sibiului Nr 45 Medias SB 34758 0269/667980 08/09/1959
4 Sitaru Adela Str. Cernei Nr.3 Cluj-Napoca CJ 34214 0264/418788 06/09/1962
5 Pascu John Str. Alverna Nr 45 Cluj-Napoca CJ 34561 0275/938566 04/02/1976
Rezumat
Un sistem de baze de date este un sistem computerizat de păstrare a înregistrărilor.
Componentele principale ale unui sistem de baze de date sunt: datele, elementele hardware,
elementele software şi utilizatorii.
Baza de date este un sistem integrat, coerent şi partajat de fişiere.
Sistemul de gestiune a bazelor de date (SGBD) – este software-ul care tratează toate cererile
de acces la baza de date.
Microsoft Access 2010 este sistemul de gestiune a bazelor de date inclus în pachetul Microsoft
Office 2010 Professional.
Obiectele bazelor de date Access sunt: tabelele (tables), interogările (query), formularele
(forms), rapoartele (reports), comenzile macro (macros) şi modulele (modules).
Tabelul este o colecţie de date specifice unui anumit subiect, stocate pe linii şi coloane. O bază
de date conţine unul sau mai multe tabele independente sau legate între ele.
Coloanele tabelului reprezintă câmpurile (fields) care se descriu prin nume, tip de date şi alte
atribute ale acestora.
Liniile tabelului conţin înregistrări (records) cu date corespunzătoare coloanelor.
Interogarea (QUERY) este un obiect care permite obţinerea informaţiilor din unul sau mai
multe tabele şi/sau alte cereri de interogare.
Formularul (FORM) este un obiect folosit la introducerea datelor, afişarea acestora sau
controlul întregii aplicaţii.
Raportul (REPORT) permite formatarea şi tipărirea, sub formă de documente, a informaţiilor
obţinute din baza de date.
Comenzile Macro (MACRO) sunt folosite la automatizarea diverselor evenimente.
Modulul (MODULE) conţine proceduri definite de utilizator şi scrise în Visual Basic.
Tipul de date: este o caracteristică ce stabileşte modul în care datele sunt înregistrate pe
suportul de memorare şi modul în care acestea sunt interpretate şi prelucrate.
Cheia primară (Primary Key) - o coloană sau un set de coloane care identifică în mod unic
fiecare înregistrare din tabel.
Cheia primară se alege dintre cheile candidat ale tabelului astfel încât aceasta să conţină un
număr minimal de coloane şi să fie stabilă.
28 |
Tema de reflecție nr. 1. De exemplu dacă avem o dată de tip numeric - numărul 10, daţi
exemple de informaţii care derivă din această dată.
ClientID – AutoNumber;
Nume – text – 30 caractere
Prenume – text – 30 caractere
DN – data naşterii – de tip dată calendaristică
LN – locul naşterii – text, 30
Cetăţenia – text 50
Sex – text – 1 caracter ( M sau F)
Adresa – adresa clientului – de tip text – 100 caractere (în format Strada, Număr, Ap.)
Localitate – text, 50
Indicativ_judet – text, 2 (SB – Sibiu, BN – Bistriţa Năsăud, etc.)
CodTara – numeric – Long Integer, (1 – Romania, 2 – Ungaria, 3 – Moldova, 4 – Bulgaria, 5
– Germania, 6 – Italia)
Telefon – text – 15 caractere
TipActID – numeric – Long Integer (1 - Buletin identitate, 2 - Carte de identitate, 3 – Paşaport,
4 – Carnet de şofer)
NrActID – text - 15 caractere
Emitent – text, 30
DataExp – data expirării actului de identitate– data calendaristică
Email – text, 50
De asemenea, să se facă setări astfel încât să nu se poată introduce alte valori înafara celor
din listă.
4. Câmpul SEX va conţine valoarea M pentru masculin sau F pentru feminin. Să se introducă
regula de validare corespunzătoare.
5. Câmpul TipActID să permită introducerea unor valori cuprinse între 1 şi 4. Valorile pentru
acest câmp se vor alege dintr-o lista (Lookup). În cazul în care se introduc valori in afara
intervalului să se afişeze următorul mesaj: „Introduceţi valori între 1 şi 4!”.
29 |
6. Introduceţi o regulă de validare pentru adresa de email. Adresa de email trebuie să conţină
caracterul @ şi caracterul punct.
7. Să se introducă 11 clienţi din Romania şi 3 din afara ţării. Clienţii vor fi din localităţi
diferite.
8. Să se ordoneze înregistrările crescător după câmpul Nume.
9. Să se ordoneze înregistrările descrescător după câmpul CodTara.
10. Modificaţi structura bazei de date prin adăugarea unui nou câmp Cod_postal – text (20),
după câmpul adresa.
11. Să se completeze câmpul introdus cu informaţiile corespunzătoare pentru fiecare client.
12. Introduceţi la final o înregistrare cu datele dumneavoastră.
30 |
Modulul II
Scop
Acest modul urmărește familiarizarea studenților cu obiectele de tip interogare (Query) și cu limbajul
standard de interogare (SQL). Cursanții vor învăța cum să obțină informațiile de care au nevoie dintr-o
bază de date folosind interogările și limbajul SQL.
Obiective
Definirea noţiunilor de cheie candidat şi cheie străină;
Clasificarea relaţiilor între două tabele;
Crearea relațiilor între două sau mai multe tabele;
Definirea integrității referenţiale;
Identificarea tipurilor de interogări existente în Access;
Utilizarea interogărilor pentru a obţine diverse informaţii din bazele de date;
Proiectarea interogărilor folosind grila QBE;
Prezentarea principalelor instrucţiuni ale limbajului SQL;
Utilizarea instrucţiunilor SQL în Microsoft Access.
Concepte de bază: Chei candidat, Chei străine, relaţii, integritate referențială, asociere (Join),
Interogări (Queries), funcţii, Interogări cu câmpuri calculate, Interogări cu parametru, Interogări de tip
totaluri, Interogări de sinteză, Interogări de acţiune, SQL, instrucţiuni DDL, instrucţiuni DML, Create,
Alter, Drop, Insert, Update, Delete şi Select.
31 |
UNITATEA 4
În cadrul unei baze de date nu este obligatoriu ca între toate tabelele să existe relaţii. Este
posibil ca în cadrul unei aplicaţii să utilizăm şi tabele independente şi/sau de lucru (tabele
temporare). Între două tabele dintr-o bază de date există o relaţie atunci când unul sau mai
multe câmpuri cheie dintr-un tabel se potrivesc cu unul sau mai multe câmpuri cheie din celălalt
tabel. De obicei câmpurile corespondente din ambele tabele au acelaşi nume, tip de date şi
mărime.
32 |
4.2. Integritatea referențială
Integritatea referențială: se referă la un set de reguli care protejează datele prin stabilirea de
restricţii pentru adăugarea şi ştergerea de înregistrări din tabelele relaţionate:
1. fiecare valoare a cheii externe trebuie să se găsească printre mulţimea valorilor cheii
candidat corespondente, cu alte cuvinte nu putem adaugă înregistrări în tabelul copil
fără ca acestea să aibă corespondent în tabelul părinte;
2. nu putem şterge o înregistrare din tabelul părinte dacă există înregistrări corespondente
în tabelele copil.
Pentru a realiza legături între tabelele Access se alege opţiunea Relationships din fila
Database Tools, grupul Relationships.
2. Se selectează fiecare tabel pe care doriţi să-l includeţi în relaţie şi se activează butonul
Add şi apoi se închide fereastra Show Table.
33 |
Cheie primară
Cheie externă
3. O relaţie între două tabele se realizează prin operaţia drag and drop de la cheia primară
a tabelului principal la cheia externă a tabelului secundar. În fereastra Edit
Relationships se selectează opţiunea Enforce Referential Integrity pentru a se asigura
integritatea referenţială.
În Access opţiunea Enforce Referential Integrity poate fi selectată numai daca se îndeplinesc
condiţiile:
a. Câmpul selectat din tabelul primar are atributul de cheie primară;
b. Câmpurile puse în corespondenţă au acelaşi tip de date;
c. Cele două tabele sunt memorate în aceeaşi bază de date.
Dacă selectaţi opţiunea Cascade Update Related Fields atunci când veţi actualiza cheia primară
din tabelul “1” (tabelul părinte), Access va actualiza automat toate cheile externe
corespondente din tabelul “n” (tabelul copil). Dacă dezactivaţi această opţiune, Access nu vă
permite să schimbaţi valoarea câmpului cheie principală din tabelul părinte atâta timp cât există
înregistrări corespondente în tabelul copil.
34 |
selectată, Access nu va permite ştergerea înregistrării ce conţine cheia primară din tabelul
părinte atâta timp cât există înregistrări corespondente în tabelul/tabelele copil.
În cazul în care relaţia a fost definită în mod corect în fereastra Relationships va apărea o linie
care leagă cele două tabele după cum se poate vedea în figura de mai jos.
Relaţia dintre două tabele poate fi modificată prin dublu-click asupra liniei care leagă cele două
tabele. Editarea ulterioară mai poate fi făcută şi alegând opţiunea Edit Relationship din meniul
contextual (clic dreapta pe linia de asociere). Pentru ştergerea unei relaţii se selectează linia de
asociere şi se apasă tasta DEL. Se poate folosi şi opţiunea Delete din meniul contextual.
Relaţiile dintre tabele pot fi tipărite selectând opţiunea Print Relationships din meniul File.
Tema de reflecție nr. 8
Creaţi baza de date Clienţi şi tabelul InfoClienţi respectând indicaţiile de mai sus.
Să se creeze un nou tabel cu numele Plăţi în baza de date CLIENTI (Error!
Reference source not found.). Tabelul va avea următoarea structură:
Cod_cl - Numeric, întreg
Data_platii - Data calendaristică
Suma_platită - Currency
Data_scadenta - Data calendaristică
a) Să se stabilească cheia primară.
b) Să se creeze o relaţie de tip 1:n între tabelul Infoclienţi şi tabelul Plăţi. Să se forţeze
integritatea referenţială.
c) Să se introducă 8 articole în tabelul Plăţi.
35 |
UNITATEA 5
INTEROGĂRI
Esenţa oricărui SGBD constă în selecţia datelor din tabele şi prezentarea acestora în diferite
forme prin intermediul interogărilor sau al rapoartelor. Orice firmă îşi construieşte o bază de
date pe care lucrează şi elaborează diferite rapoarte sub diverse forme de prezentare. O bază de
date este creată pentru a fi interogată.
Se realizează folosind o grilă de proiectare în cadrul căreia sunt adăugate tabele şi câmpuri.
Acest procedeu este cunoscut sub numele de “Query By Example” (QBE). Pe baza informaţiilor
depuse în grilă programul ACCESS generează o instrucţiune în limbajul de interogare al datelor
SQL (Structured Query Language).
36 |
Se salvează interogarea cu un anumit nume (Quick Access Toolbar ->Save). Pentru a
vizualiza rezultatele interogării se selectează opţiunea Run din meniul Query.
Se pot specifica criterii de selecţie după un anumit text care, dacă va conţine spaţii, trebuie
introdus între ghilimele. În interiorul textului se pot folosi caractere generice "?" (orice în
poziţia în care apare) ,"*" (orice în poziţia în care apare şi în următoarele) și "#" (pentru
caractere numerice).
5.3. Operatori
37 |
\ Împărţire fără rest (doar câtul)
Mod Restul împărţirii unui număr
+ la altul
Adunare
- Scădere
Operaţia Funcţia
SUM Suma valorilor unui câmp.
AVG Media aritmetică
MIN Valoarea minimă
MAX Valoarea maximă
COUNT Numărul de valori dintr-un câmp
STDEV Varianta valorilor unui câmp
FIRST Prima valoare din câmp
LAST Ultima valoare din câmp
38 |
5.4. Funcţii
Tipuri de funcții:
de conversie;
pentru date calendaristice;
funcții financiare;
matematice;
pentru șiruri de caractere.
UCase() – transformă literele mici din cadrul unui șir de caractere în litere mari
UCase(“Cluj Napoca”) returnează “CLUJ NAPOCA”.
Month(): extrage luna din data specificata. Month(Now()) are ca rezultat 03 dacă suntem în
luna martie.
39 |
Year(Date()) returnează 2008
DateDiff(): calculează diferența dintre doua date calendaristice. Diferența poate fi exprimata
in zile – “d”, săptămâni – “ww”, luni – “m”, ani –”yyyy”, trimestre –”q”
DateDiff(“d”, Date(), #02/04/92#)
DateDiff(“yyyy”, Date(), #02/04/92#)
DateDiff(“q”, Date(), #02/04/92#)
Functii financiare:
DDB() - Depreciation double-declining balance: calculează amortizarea unui mijloc fix prin
metoda balanței dublu-regresivă.
DDB(Cost_Initial, Valoare_reziduala, durata_de_viata, perioada)
NPV() - Net Present Value: returnează valoarea prezentă actualizată pentru o investiție (flux
de venituri/cheltuieli).
NPV(dobândă, valoare1, valoare2, …)
Valorile trebuie să fie echidistante în timp si să fie valori plătite/ încasate la sfârșitul fiecărei
perioade. Dobânda - reprezintă dobânda anuală.
Funcția NPV este asemănătoare cu PV, valorile utilizate de PV trebuie să fie constante, iar PV
acceptă valori fie la începutul, fie la sfârșitul perioadei. Al doilea argument este negativ pentru
că reprezintă o cheltuială.
FV(): Future Value – calculează valoarea viitoare pentru o serie de încasări/ plăti egale, făcute
într-un număr de perioade, cu o anumită dobândă fixă.
FV(dobândă, perioada, plată, valoarea_prezenta, tip)
Dobânda trebuie sa aibă aceeași unitate de măsura ca si perioada. Daca se cunoaște dobânda
anuala si incasabile/plățile sunt făcute lunar atunci dobânda trebuie sa se împartă la 12.
Valoarea prezentă este un argument opțional, este suma care se investește/ împrumută in
momentul inițial. Val implicita e 0.
Tip - 0 daca plățile se fac la sfârșitul perioadei sau 1 daca plățile se fac la începutul perioadei.
Valoare implicita 0.
Banii plătiți sunt reprezentați prin numere negative, iar cei încasați sunt reprezentați prin
numere pozitive.
PV – Present Value: calculează valoarea prezentă a unui flux de încasări/ plăti viitoare.
PV (dobândă, perioada, plată, vv, tip)
Argumentul vv reprezintă valoarea viitoare, obținută după efectuarea ultimei plăti/încasări.
Tema de reflecție nr. 9
O persoană își permite să plătească 200 EUR pe lună în următorii 4 ani. Dobânda
curentă de piață este de 9%. Cât de mare este împrumutul pe care i-l poate oferi
banca?
40 |
PMT- Periodic Payment for an annuity calculează suma care trebuie achitată periodic pentru
un împrumut/economie, pentru o anumita dobânda cunoscând numărul perioadelor de plată.
PMT (dobândă, Perioada, vp, vv, tip)
Tema de reflecție nr. 10
Exemple: Ce sumă trebuie plătită lunar pentru un împrumut de 10000 EUR cu o
dobândă anuală de 9%, care trebuie achitat în 8 luni.
Calculați suma pe care cineva trebuie să o primească lunar,dacă a împrumutat 5 000
EUR cu o dobândă anuală de 10% pe o perioadă de 5 luni.
O persoană dorește să strângă 50 000 $ în 18 ani prin economisirea unei sume lunare
constante. Dobânda anuală este de 6%.
SLN (Straightline depreciation) - calculează amortizarea liniara a unui mijloc fix pe o perioada
data
SLN(cost_initial,val_reziduala,dur_amortizarii)
Funcții matematice:
Abs(): returnează valoarea absoluta a unui număr
Ex. Abs(-1) returnează 1, Abs(1) = 1.
41 |
Mid(“abcdefgh”,3,4) returnează “cdef”
ASC (şir_de_caractere): returnează codul primului caracter din şirul de caractere specificat.
numele câmpurilor care conţin spatii (ex: data nașterii) se vor introduce intre paranteze
drepte ([data nasterii]). Expresiile - sunt construite cu ajutorul operanzilor si
operatorilor, respectând o anumita sintaxa.
42 |
5. Interogări de acţiune: au ca efect localizarea şi modificarea datelor. Există patru
interogări de tip acţiune:
a. Interogarea MAKE TABLE: Folosind opțiunea Make Table Query din meniul
Query putem crea ușor un tabel nou pe care sa-l populam cu date din unul sau
mai multe tabele existente. Acest tabel poate fi stocat in baza de date curenta
sau intr-o alta baza de date.
b. Interogarea APPEND: este folosită pentru adăugarea unor înregistrări într-un
tabel existent în baza de date.
c. Interogarea DELETE: şterge înregistrări din una sau mai multe tabele. Prin
utilizarea unei interogări delete nu puteți șterge doar conținutul unui câmp ci se
șterg înregistrări întregi.
d. Interogarea UPDATE: modifică conţinutul câmpurilor dintr-un tabel specificat.
In general opţiunea Update Query din meniul Query este folosită pentru
actualizarea unui număr mare de înregistrări care se află în unul sau mai multe
tabele. Dacă aveți de actualizat un număr mic de înregistrări dintr-un singur
tabel atunci aceste modificări se pot face direct în foaia de date.
6. Interogări SQL (SQL QUERY): necesită pentru interogarea datelor comenzi SQL.
Interogările specifice SQL sunt: UNION, PASS-THROUGH, DATA-DEFINITION,
SUBQUERY. Interogările din această categorie nu pot fi create folosind grila de
proiectare a interogării, fiind necesara tastarea directa, intr-o fereastra de proiectare a
diferitelor instrucțiuni SQL.
a. Union: Combină doua sau mai multe interogări clasice de tip select într-o
singura interogare, articolele livrate de aceste interogări vor fi amestecate.
Deoarece articolele unei interogări Union sunt returnate sub forma unui set de
articole fiecare instrucțiune select din combinație trebuie să genereze același
număr de câmpuri. Câmpurile puse in corespondență trebuie sa aibă același tip
cu o singură excepție: pot fi puse in corespondenţă câmpuri de tip numeric si
câmpuri de tip text.
b. Pass–Through: permite transmiterea instrucţiunilor SQL direct spre un
calculator server de tip ODBC – de exemplu SQL Server; cu ajutorul
interogărilor de acest tip se lucrează direct cu tabele memorate pe calculatorul
server.
c. Interogările de definire a datelor (Data Definition): permit crearea tabelelor și a
indecșilor, modificarea structurii tabelelor, ștergerea tabelelor sau a indecșilor
prin intermediul instrucțiunilor SQL Create table, Create Index, Alter table,
Drop Table şi Drop index.
7. Cereri de interogare imbricate: Scrierea unei interogări in cadrul alteia duce la apariția
unei subinterogări - setul de rezultate obținut de la o interogare va constitui argument
pentru o alta.
43 |
Tema de reflecție nr. 11
Creaţi o bază de date pentru o agenţie imobiliară. Baza de date va stoca informaţii
despre agenţii imobiliari, despre imobile şi proprietarii acestora. Structura tabelelor
este următoarea:
AGENTI PROPRIETARI
Cod_a – numerotare Cod_p – numerotare
automată automată
Nume – text(30) Nume – text(30)
Prenume – text(30) Prenume – text(30)
Adresa – text(50) Adresa – text(50)
Telefon – text(15) Telefon – text(15)
IMOBILE
Cod_imobil – numerotare automată
Cod_p – numeric
Cod_a – numeric
Localitate – text(30)
Cartier – text(30)
Tip_imobil –text(2) – se vor introduce numai valorile AP, G, C
Nr_camere - numeric, intreg
Suprafaţa – numeric, zecimal
Confort – text(4) – se vor introduce numai valorile I, II, III, CS
Adresa – text(60)
Pret_solicitat – unitati monetare, EUR
Pret_vanzare – unitati monetare, EUR
Data_vanzarii – data calendaristica
Interogări de selecție
1. Lista apartamentelor cu 2 sau 3 camere, cu prețul cuprins între 55000 Eur și 75000 Eur.
Lista va conține următoarele informații: cartierul, numărul de camere, confortul, prețul
solicitat.
2. Lista garsonierelor confort I din cartierul Grigorescu care au prețul mai mic de 50000 Eur.
Lista va cuprinde următoarele câmpuri: camere, adresa,preț solicitat, cartier.
44 |
Cereri de interogare utilizând mai multe tabele
Ofertă de imobile, ordonată după tip apartament si număr de camere. Interogarea va conţine
următoarele câmpuri: Numele si prenumele proprietarului, Tip imobil, Localitate, Cartier,
Număr de camere, Preţ solicitat.
2. Să
se
45 |
Interogări de acțiune: se creează la fel ca și interogările de selecție. După ce au fost
adăugate câmpurile care fac parte din lista se selectează din meniul Query tipul de
interogare corespunzător.
1. Make table query: In baza de date agenție imobiliara să se creeze un nou tabel vânzări
care să conţină apartamentele vândute.
3. Delete query : să se șteargă din tabelul imobile toate imobilele vândute, din cartierul
Mănăștur.
4. Crosstab
query : să se
creeze o situație de sinteză cu prețul mediu solicitat pentru fiecare tip de imobil/cartiere.
Situația va avea următoarea formă:
46 |
Exemple de subinterogări
1. Numele proprietarului cu prețul maxim solicitat pentru un apartament cu 3 camere.
Rezolvare: se vor crea două interogări – prima pentru aflarea prețului maxim solicitat pentru
un apartament cu trei camere, iar a doua pentru determinarea numelui proprietarului.
UNITATEA 6
47 |
LIMBAJUL SQL
6.1. Caracteristici
Limbajul SQL (întâlnit şi sub numele de SEQUEL) este limbajul de interogare al SGBD Sysem
R dezvoltat în cadrul laboratorului de cercetare din San Jose al firmei IBM. In paralel firma
IBM a scos pe piaţă produse cu baze de date relaţionale, bazate pe System R dar cu un limbaj
puţin diferit de SEQUEL. Astfel că l-a botezat SQL, eliminând vocalele din Sequel şi trecând
la pronunţia "es-qu-el". Expresiile din SEQUEL seamănă cu propoziţiile din limba engleză,
fiind desigur mai structurate.
SQL are o sintaxă apropiată de limba engleză aşa cum arată şi denumirea limbajului (SQL sau
SEQUEL – Structured English Query Language). Această sintaxă este mai adecvată
programării pe computer şi totodată mai uşor de asimilat de către utilizatori. La ora actuală
SQL este una din cele mai răspândite interfeţe pentru SGBD-urile relaţionale.
In 1979, Oracle introduce prima implementare a SQL în variantă comercială. Din anul 1986,
SQL a devenit standard ANSI (Institutul National American de Standarde) pentru limbajele de
interogare ale bazelor de date relaţionale. Organizaţia Internaţională de Standarde (ISO) a
adoptat de asemenea SQL ca limbaj standard pentru RDBMS. Toate RDBMS-urile suportă
unele forme de SQL şi toţi vânzătorii de astfel de sisteme s-au aliniat sau intenţionează să se
alinieze la standardele ANSI. Asta nu înseamnă că nu mai apar diferenţe. Chiar şi la produsele
aceleaşi firme, Microsoft Access şi SQL Server, pot fi semnalate diferenţe în implementarea
limbajului.
Caracteristici
SQL, ca şi majoritatea limbajelor de programare, foloseşte cuvinte din limba engleză.
In mod special cuvintele select, insert, delete ca elemente ale setului de comenzi.
SQL este un limbaj neprocedural: specifică care sunt informaţiile dorite, nu cum se
obţin acestea. Cu alte cuvinte, SQL nu cere să fie specificată metoda de acces la date.
Execuţia comenzilor SQL asupra înregistrărilor nu se poate face decât secvenţial,
asupra câte unei singure înregistrări. Setul de înregistrări fiind văzut ca set de linii ale
unui tabel.
SQL poate fi folosit de un şir de utilizatori, incluzând administratorul bazei de date,
programatorii de aplicaţii, personalul de management şi multe alte tipuri de utilizatori.
SQL include comenzi pentru o varietate de sarcini, incluzând:
- selecţia unor date;
- inserarea, extragerea şi ştergerea rândurilor dintr-un tabel;
- crearea, modificarea şi ştergerea obiectelor de tip bază de date;
- controlul accesului la baza de date şi la obiectele de tip bază de date;
- verificarea - garantarea consistenţei bazei de date;
Instrucţiunea CREATE
CREATE DATABASE
CREATE DATABASE nume_baza_de_date;
48 |
Ex: CREATE DATABASE vanzari;
CREATE TABLE
CREATE TABLE nume_tabel
(câmp1 tip_data [constrangere] ,
câmp2 tip_data [constrangere] ,
câmp3 tip_data [constrangere],….);
Instrucţiunea DROP
• DROP TABLE nume_tabelă;
• DROP DATABASE nume_baza_de_date;
Instrucţiunea INSERT
INSERT INTO NUME_TABEL
(prima_coloana, ...ultima_coloană)
VALUES (prima_valoare, ...ultima_valoare);
Instrucţiunea UPDATE
UPDETE nume_tabel
SET nume_coloana 1 = valoare_noua1 [nume_coloana 2 = valoare_noua2 …]
WHERE nume_coloana OPERATOR valoare [and/or nume_coloana OPERATOR valoare];
Instrucţiunea DELETE
DELETE FROM nume_tabel
WHERE nume_coloana1 OPERATOR valoare1 [and/or nume_coloana2 OPERATOR
valoare2];
Instrucţiunea SELECT
– Cereri de introgare simple:
SELECT [ALL | DISTINCT | DISTINCTROW] coloana1 [, coloana 2…]
FROM tabel1 [, tabel2 …]
[WHERE conditii]
[ORDER BY lista_coloane [ASC|DESC]];
49 |
– Cereri de introgare complexe:
SELECT [ALL | DISTINCT | DISTINCTROW] [functie agregata (nume_camp) AS alias]
[coloana1] [, coloana 2…]
FROM tabel1 [, tabel2 …]
[WHERE conditii]
[GROUP BY lista_coloane]
[HAVING conditii]
[ORDER BY lista_coloane [ASC|DESC]];
– Asocierile
SELECT [DOMENIU] coloana1 [, coloana 2…]
FROM tabel1 [, tabel2 …]
[WHERE criteriu de asociere]
[ORDER BY lista_coloane [ASC|DESC]];
Tema de reflecție nr. 12
Creaţi o nouă bază de date. Creaţi câte o interogare de definire a datelor (Data
Definition) pentru instrucţiunile SQL prezentate mai sus, folosindu-vă de exemplele
date. Salvaţi şi rulaţi interogările.
Rezumat
Intr-o bază de date pot exista tabele independente sau tabele legate între ele. Între două tabele
dintr-o bază de date există o relaţie atunci când unul sau mai multe câmpuri cheie dintr-un tabel
se potrivesc cu unul sau mai multe câmpuri cheie din celălalt tabel. De obicei câmpurile
corespondente din ambele tabele au acelaşi nume (nu este condiție obligatorie), tip de date şi
mărime.
În Access există trei tipuri de relații între tabele.
Relaţia One to One - fiecărei înregistrări din tabelul A îi corespunde o singură înregistrare în
tabelul B, şi invers.
Relaţia One to Many - o înregistrare din tabelul A poate avea mai multe înregistrări asociate în
tabelul B, și invers.
Relaţia Many to Many –unei înregistrări din tabelul A îi sunt asociate mai multe înregistrări în
tabelul B, și invers.
Integritatea reverențială: un set de reguli care protejează datele prin stabilirea de restricţii
pentru adăugarea şi ştergerea de înregistrări din tabelele relaţionate.
Asocierea (Join) determină modul în care legătura dintre două tabele afectează rezultatul unei
interogări care conține informații din ambele tabele.
Interogările sunt obiectele bazei de date prin intermediul cărora utilizatorul poate extrage
informații din tabele. Crearea interogărilor se realizează folosind o grilă de proiectare în cadrul
căreia sunt adăugate tabele şi câmpuri. Pe baza informaţiilor introduse în grilă programul
ACCESS generează o instrucţiune SQL (Structured Query Language).
SQL este limbajul standard de interogare al bazelor de date relaţionale.
50 |
I. Să se creeze o baza de date având denumirea HOTEL. Să se copieze în această bază de date
tabelul InfoClienti creat în cadrul Lucrării Practice 1. Să se adauge un nou tabel - Rezervari
care să conţină date referitoare la rezervările camerelor unui hotel. Structura tabelului
Rezervari este următoarea:
RezervareID – AutoNumber;
ClientID – numeric, Long Integer;
DataRezervare – dată calendaristică;
DataSosire – dată calendaristică;
DataPlecare – dată calendaristică;
NumarCamere – numeric, întreg;
NumarAdulti – numeric, întreg;
NumarCopii – numeric, întreg;
TipCamera – text – 15 caractere;
Status_anulare – yes/no.
51 |
13. numele şi prenumele clienţilor născuţi în luna ianuarie;
14. numele şi prenumele clienţilor care au făcut rezervări înainte de luna mai sau după luna
octombrie anul curent;
15. numele, prenumele şi vârsta clienţilor;
16. numele, prenumele, ziua, luna, anul naşterii şi data naşterii;
17. numele şi prenumele clienţilor români dint-un anumit judeţ. Indicativul judeţului se va
introduce ca şi parametru;
18. lista clienţilor al căror nume începe cu o anumită literă. Litera se va introduce ca şi
parametru;
19. vârsta medie, minimă şi maximă a clienţilor;
20. numărul clienţilor străini;
21. numărul de clienţi din fiecare tară;
22. numărul clienţilor din România;
23. numărul rezervărilor anulate;
24. perioada medie pentru care s-au făcut rezervări;
25. numărul de rezervări pentru fiecare tip de cameră;
26. lista clienţilor care au mai mult de o rezervare;
27. lista clienţilor care nu au rezervări.
VII. Să se creeze un nou tabel cu numele CheckIn_info, pe baza datelor din tabelul Rezervări
folosind interogările Make Table. Tabelul va conţine următoarele câmpuri RezervareID,
DataSosire, DataPlecare, NumarAdulti şi NumarCopii.
VIII. Să se creeze un tabel cu numele Copie care să conţină toate înregistrările din tabelul
Rezervări.
IX. Să se şteargă din tabelul Copie toate rezervările anulate.
X. Să se şteargă din tabelul Copie rezervările care au fost făcute în luna august.
XI. În tabelul Copie să se dubleze numărul de camere rezervate pentru tipul de camera
apartament.
XII. În tabelul Copie să se anuleze rezervările făcute pentru tipul de camera single.
XIII. Să se creeze un tabel de sinteză prin care să se afişeze pentru fiecare dată calendaristică
numărul total de camere rezervate, detaliat pe fiecare tip de cameră.
XIV. Să se creeze un tabel de sinteză cu repartiţia clienţilor după vârsta, sex şi cetăţenie.
Comprimaţi (arhivaţi) baza de date HOTEL cu utilitarul WinRAR şi transmiteţi arhiva pe email
la adresa veronica.rus@tbs.ubbcluj.ro. Arhiva va avea numele format din numele si prenumele
dumneavoastră urmat de textul LP_2 (ex: pop_ana_LP_2). În subiectul mesajului introduceţi
numele arhivei. Predarea lucrării se face conform specificaţiilor din secţiunea „Formatul
și tipul activităților implicate de curs”, partea 1 a materialului.
52 |
2. ***, Microsoft, Crearea, editarea sau ștergerea unei relații,
http://office.microsoft.com/ro-ro/access-help/crearea-editarea-sau-stergerea-unei-
relatii-HA010341606.aspx?CTT=1.
3. ***, Microsoft, Introducere în interogări, http://office.microsoft.com/ro-ro/access-
help/introducere-in-interogari-HA102749599.aspx?CTT=1.
4. ***, Microsoft, Interogări I: Obținerea de răspunsuri cu ajutorul interogărilor,
http://office.microsoft.com/ro-ro/access-help/interogari-i-obtinerea-de-raspunsuri-cu-
ajutorul-interogarilor-RZ001077757.aspx?CTT=1.
5. ***, Microsoft, Exemple de criterii de interogare, http://office.microsoft.com/ro-
ro/access-help/exemple-de-criterii-de-interogare-HA010341674.aspx?CTT=1.
6. ***, Microsoft, Introducere în SQL pentru Access, http://office.microsoft.com/ro-
ro/access-help/introducere-in-sql-pentru-access-HA010341468.aspx?CTT=1.
7. Avram-Niţchi, R., Ghișoiu, N., et al., Elemente de baze de date și programare
aplicate în economie, Ed. Risoprint, Cluj-Napoca, 2007.
8. Dollinger, Robert - Baze de date, Universitatea Tehnică Cluj-Napoca, 1994.
9. Harkins, S.S., Hansen, K., Gerhart, T., Utilizare Microsoft Access 2000, Teora,
Bucureşti, 1999.
10. Kovács, Sándor, Access 2000 – Implementarea bazelor de date, Editura Albastră,
Cluj-Napoca, 2003.
11. Năstase, P., Mihai, F., Bărbulescu, B., Şova, R.A., Stanciu, A., Covrig, L., Baze de
date în Microsoft Access 2000, Teora, Bucureşti, 1999.
12. Rus, Rozalia Veronica, Baze de date în administrarea afacerilor, Risoprint, Cluj-
Napoca, 2013.
13. Teodorescu Alexandru, Lecţii de Access, Editura Albastră, Cluj-Napoca, 2002.
14. Mediul Internet.
53 |
Modulul III
Unitatea 7. Formulare
Unitatea 8. Rapoarte
Scop
Acest modul urmărește familiarizarea studenților cu obiectele de tip formular și raport.
Cursanții vor învăța cum să creeze ecrane pentru introducerea datelor, cum să folosească
ecranele pentru a vizualiza înregistrările și cum să elaboreze situații de ieșire (rapoarte) în
Access.
Obiective
Precizarea rolului ecranelor in vizualizarea si/sau
modificarea datelor;
Proiectarea formularelor în Access;
Crearea subformularelor;
Utilizarea controalelor;
Precizarea rolului rapoartelor în cadrul sistemelor
informatice;
Proiectarea rapoartelor folosind Microsoft Access 2010;
Sortarea şi a gruparea datele în cadrul rapoartelor;
Combinarea rapoartele (Rapoarte/Subrapoarte).
Concepte de bază: formulare, cutii cu text, etichete, liste combinate, butoane radio, butoane
de validare, butoane de comandă, ferestre de dialog, rapoarte, gruparea datelor, sortarea datelor,
controale.
54 |
UNITATEA 7
FORMULARE
Formularele reprezintă interfaţa principală între utilizator şi o aplicaţie Microsoft Access, fiind
obiecte ale bazei de date ce permit introducerea şi afişarea datelor într-o manieră atractivă şi
prietenoasă. În cadrul unei aplicaţii, formularele pot îndeplini mai multe funcţii:
1. Afişarea şi editarea (corectarea) datelor – este cea mai des întâlnită formă de
utilizare a formularului. De fapt, formularul permite afişarea datelor în forma dorită
de proiectantul aplicaţiei. De asemenea, datele afişate în cadrul formularelor pot fi
modificate sau chiar şterse.
2. Controlul operaţiilor realizate de aplicaţie – se pot proiecta formulare care,
împreună cu comenzi macro sau cu proceduri Visual Basic, să realizeze afişarea
automată a anumitor date sau executarea automată a unui şir de operaţii cum ar fi
deschiderea unui subformular dintr-un formular.
3. Introducerea de date.
4. Afişarea de mesaje – formularele pot furniza informaţii privind modul în care
aplicaţia poate fi utilizată sau despre operaţiile ce urmează a fi executate.
5. Tipărirea informaţiilor – formularele pot fi folosite si pentru tipărirea de informaţii
la imprimantă.
Un formular este compus din cinci părţi (zone): antetul de formular, antetul de pagină, zona de
detaliu, subsolul de pagină și subsolul de formular.
55 |
Opţiunile pentru crearea formularelor pot fi găsite în fila Create grupul Forms.
formular. Din lista Available Fields se aleg câmpurile care vor apărea în formular.
Câmpurile selectate sunt afişate în lista Selected Fields.
2. Trecerea de la o etapă a alta a Wizard-ului se face prin intermediul butonului Next. În
următoarea fereastră se va selecta modul de aranjare a câmpurilor în cadrul formularului:
pe coloane (columnar), tabelar (tabular), foaie de date (datasheet) sau între margini
(justify).
56 |
3. În ultimul ecran introduce denumirea formularului şi se alege modul de afişare. Prin
alegerea butonului Finish se va încheia crearea formularului.
57 |
Crearea formularului în fereastra de lucru
1. Se selectează opţiunea Form Design din fila Create, grupul Forms.
Trusa cu instrumente
Pe ecran va apărea fereastra de proiectare a formularului, lista câmpurilor (Field List) şi trusa
cu instrumente. Principale controale care pot fi folosite în cadrul formularelor sunt:
Buton Descriere
Etichetele - Label : obiecte care afişează date de tip text,
sunt folosite pentru descrieri.
Casete cu text - Text Box: permit afişarea datelor din
tabele, introducerea şi editarea acestora.
Butoane de comanda - Command button: butoane care
au asociate o serie de acţiuni.
Casete de validare - Check Box: au doua stări Off si On
Butoane de opţiune - Option button – se creează cu
ajutorul lor grupuri de butoane de opţiune. Utilizatorul
nu se poate selecta decât un singur buton din cadrul
grupului (o singură opţiune), la un moment dat.
Liste - List Box: afişează o listă de elemente
Liste ascunse – Combo Box: obiecte combinate format
dintr o caseta de text şi o lista.
Tab Control
Hyperlink
Subform /Subreport
Line
Rectangle
58 |
2. Zona de antet şi subsol de formular se va adăuga din meniul contextual – opţiunea Form
Header/Footer. În antetul de formular se poate introduce un titlu, se poate adăuga o
imagine sau data şi ora curenta (fila Design, grupul Header/Footer. Dacă formularele vor
fi listate la imprimantă se poate adăuga şi un antet şi un subsol de pagină.
3. Din lista de câmpuri se selectează, cu ajutorul mouse-ului (Dublu Click), câmpurile care
vor intra în componenţa formularului. Câmpurile mai pot fi adăugate în formular şi prin
drag-and-drop.
4. Formatarea formularului – fila Design->Themes;
5. Salvarea formularului - Quick Access Toolbar->Save;
6. Vizualizarea formularului: fila Design->Form View.
7.2. Subformulare
59 |
Se introduce numele subformularului
60 |
UNITATEA 8
RAPOARTE
Vizualizarea datelor dintr-o bază de date se poate face pe ecran sau hârtie (la imprimantă) prin
intermediul foilor de date, formularelor şi situaţiilor finale. Ultima reprezintă cea mai potrivită
variantă de prezentare a datelor pe hârtie. O situaţie finală (REPORT) este o grupare de date
prezentate într-un anumit format şi o structură de pagină în funcţie de necesităţile utilizatorilor
şi care servesc diverselor scopuri de subtotaluri (după anumite criterii), subformulare grafice
şi obiecte de tip OLE.
Sursa de date a unui raport o constituie în principal cererile de interogare sau tabelele. Dacă
datele ce trebuie introduse în situaţia finală au ca sursă mai mult de un tabel, se creează mai
întâi o cerere de interogare (care reuneşte datele din tabele) şi apoi situaţia finală bazată pe
aceasta. Elementele de legătură între sursa de date şi situaţiile finale sunt controalele, zonele
de text (pentru datele numerice şi alfanumerice), cadrele (pentru imagini şi grafice) şi
etichetele.
Din punct de vedere al formei de prezentare, situaţiile finale sunt de trei feluri:
1) Pe o singură coloană simplă;
2) Gen tabel – cu posibilităţi de a genera mai multe grade de totaluri;
3) Etichetă poştală.
61 |
Trusa instrumente
62 |
Câmpurile calculate:
Se introduc în subsolul de grup (Group Footer) sau în subsolul raportului (Report
Footer);
Se introduc cu ajutorul obiectului Text Box;
Sintaxa: =functie([camp])
Se pot adăuga mai multe nivele de grupare. Pentru introducerea antetului de grup se va extinde
lista opțiunilor (More) și se selectează with a header section.
Rezumat
Formularul este un obiect care permite introducerea datelor, afişarea acestora într-o manieră
atractivă şi prietenoasă sau controlul întregii aplicaţii.
Formularul constituie interfaţa dintre utilizator şi datele stocate în baza de date.
Formularele simplifică vizualizarea, introducerea şi modificarea datelor.
Prin intermediul formularelor se pot realiza diverse operaţii cum ar fi: sortarea, căutarea,
actualizarea unor date.
Rapoartele sunt obţinute pe baza prelucrării datelor din tabele şi sunt create pentru a fi afişate
pe ecran sau tipărite la imprimantă.
Utilizatorul foloseşte formularele pentru a introduce datele intr-o aplicaţie informatica şi
rapoartele pentru a genera situaţii de ieşire.
În cadrul rapoartelor datele pot fi ordonate şi grupate după diverse criterii iar la nivelul
grupurilor se pot efectua diverse calcule.
În cadrul formularelor şi a rapoartelor pot fi adăugate diverse controale: etichete, cutii cu text,
liste, butoane de comandă, casete de validare, butoane radio, liste ascunse, etc.
63 |
Recomandări și comentarii cu privire la temele de reflecție
-
64 |
opţiunii Vizualizare/Modificare rezervări se va deschide formularul de la punctul 2 iar la
selecţia celui de-al treilea buton se va vizualiza interogarea 25. Ultimul buton va avea ca
efect închiderea formularului.
11. creaţi un formular de navigare cu tab-uri orizontale în care să adăugaţi formularele create anterior.
12. setaţi formularul de navigare anterior ca formular de afișare implicit (formular de pornire) pentru
baza de date.
13. generați un raport sub formă tabelară pentru InfoClienţi.
14. generaţi folosind instrumentul Report Wizard un raport cu următoarele câmpuri: numele,
prenumele și numărul de telefon. Grupaţi datele după prima literă a câmpului nume.
Numerotaţi înregistrările din raport la nivel de grup.
15. generaţi folosind instrumentul Report Wizard un raport cu titlul “Lista clienţilor din fiecare
Ţară/Oraş”. Raportul va conţine informaţii din câmpurile: nume, prenume, cod ţară şi
localitate. Grupaţi datele după valorile din câmpurile cod ţară şi localitate şi sortaţi datele
alfabetic după numele şi prenumele clienţilor. Alegeţi pentru acest raport layout-ul Outline
și orientarea Portrait.
16. generaţi etichete poştale pe baza câmpurilor din tabelul InfoClienţi.
17. generaţi un raport cu titlul “Situație rezervări” cu datele despre clienţi care să aibă în
componenţă un subraport creat pe baza datelor din tabelul Rezervări.
18. creaţi un raport cu situaţia rezervărilor pentru fiecare tip de cameră. Afişaţi numărul total
de camere rezervate pentru fiecare tip de cameră şi procentul din totalul camerelor
rezervate.
19. creaţi un raport cu următoarele câmpuri: Nume, Prenume, CodTară, Localitate,
RezervareID, DataRezervare, NumarCamere, TipCamera grupate după tipul camerei şi
ordonate după câmpul DataRezervare. Afişaţi pentru fiecare tip de cameră numărul de
rezervări, numărul total de camere rezervate iar la finalul raportului calculaţi numărul total
de rezervări.
20. creaţi un raport cu numele, prenumele clientului, codul ţării, data sosirii, data plecării şi
numărul de nopţi. Să se grupeze raportul după codul ţării. Să se calculeze, pentru fiecare
ţară, numărul de turişti şi numărul de înnoptări. La finalul raportului să se calculeze numărul
minim, maxim şi mediu de nopţi pentru care s-au făcut rezervări. Să se adauge în antetul
raportului o imagine cu un hotel.
21. creaţi un raport cu următoarele câmpuri Rezervare ID, DataSosire, DataPlecare,
NumarCamere, NumarAdulti, NumarCopii, TipCamera, grupate după data sosirii (după an
şi lună) cu afişarea numărului de rezervări şi a numărului de camere rezervate pe lună, şi a
numărului maxim şi minim de camere rezervate pe an. La finalul raportului calculaţi
numărul total de persoane (adulţi şi copii) şi numărul total de înnoptări.
22. realizaţi un grafic cu coloane care să reprezinte numărul de camere rezervate pentru fiecare
tip de cameră.
65 |
23. adăugaţi un raport care sa redea, pentru o perioada cuprinsă între două date calendaristice,
lista clienţilor care şi-au făcut rezervări pentru intervalul specificat (pe baza unei interogări
cu parametru).
24. realizaţi un raport pentru clienţii români care să conţină următoarele câmpuri: nume,
prenume, adresa, localitate şi indicativ_judeţ. Raportul va fi creat prin intermediul
instrumentului Report Wizard, datele vor fi grupate după câmpul județ, și vor fi ordonate
alfabetic după câmpul nume. Alegeţi pentru acest raport Layout-ul Stepped, orientarea
Landscape.
66 |
Modulul IV
Unitatea 9. Macro
Unitatea 10. Module
Scop
Acest modul urmărește familiarizarea studenților cu obiectele de tip macro și module. Cursanții
vor învăța cum să creeze comenzi macro, cum să folosească comenzile macro în cadrul
formularelor și cum creeze proceduri simple în Visual Basic prin intermediul modulelor.
Obiective
Identificarea acţiunilor care pot fi efectuate prin
intermediul comenzilor Macro;
Crearea și rularea comenzilor Macro în Microsoft Access
2010;
Exportul şi importul datelor;
Publicarea datele pe Internet prin intermediul obiectelor
Pages;
Editarea modulelor în Microsoft Access 2010;
Prezentarea principalelor elemente ale limbajului Visual Basic;
Utilizarea instrucţiunilor pentru introducerea şi afişarea datelor,
Utilizarea instrucţiunilor IF, While, Select, Do, For în cadrul modulelor.
Concepte de bază: comenzi Macro, Module, import, export, Pagini web, Visual Basic,
variabile, funcţii, instrucţiuni secvenţiale.
67 |
UNITATEA 9
MACROURI
Aplicaţiile realizate în Microsoft Access conţin un număr mare de obiecte: interogări, rapoarte,
formulare. Obiectele aplicaţiei sunt legate între ele, de exemplu din cadrul unui formular pot fi
deschise anumite rapoarte, interogări, formulare. Acţiunile a utilizatorului (click, dublu click)
asupra controalelor incluse în formular determină realizarea anumitor operaţii (deschiderea
unuia formular, raport, rularea unor interogări, etc.). Automatizarea aplicaţiilor realizate în
Access se poate face prin utilizarea modulelor (scrise în limbajului Visual Basic for
Applications – VBA) sau prin utilizarea comenzilor MACRO.
Comenzile macro se creează în cadrul ferestrei de proiectare. Selectați fiecare acțiune dintr-o
listă verticală, apoi completați informațiile necesare pentru fiecare acțiune.
68 |
Fig. 10. Fereastra de proiectare a comenzilor macro
Exportul datelor
Datele pot fi exportate în fişiere Word (.rtf), Excel, HTML, XML, Access, fişiere text, baze de
date ODBC, dBASE şi liste SharePoint. Pentru a efectua un export de date dintr-o tabel vom
folosi grupul de comenzi Export din fila External Data.
Datele pot fi importate din fişiere Excel, baze de date Access, ODBC, dBASE, fişiere text,
HTML, XML, liste SharePoint sau foldere Outlook. Pentru a efectua un export de date dintr-o
tabel vom folosi grupul de comenzi Import&Link din fila External Data.
69 |
UNITATEA 10
MODULE
În Access, prin programare înţelegem procesul de adăugare de funcționalități la obiectele bazei
de date prin intermediul macrocomenzilor sau a limbajul Visual Basic for Applications (VBA).
Limbajul Visual Basic pentru aplicaţii (VBA) este un limbaj orientat obiect. Obiectele sunt
caracterizate prin metode şi proprietăţi. Starea unui obiect poate fi schimbată prin intermediul
metodelor.
În pachetul Microsoft Office 2010 este inclus Visual Basic for Applications 7.0. Modulele din
Access sunt obiecte ale bazei de date care permit scrierea procedurilor/funcţiilor în Visual Basic
pentru aplicaţii. Modulele pot conţine una sau mai multe proceduri.
În Access există următoarele tipuri de module [Teodorescu, 2005:223]
Module asociate formularelor – la crearea unui nou formular se generează automat şi
modulul acestuia care conţine toate procedurile de eveniment ale formularului şi a
controalelor incluse în formular.
Module asociate rapoartelor – sunt similare modulelor asociate formularelor;
Module care conţin definiri de noi obiecte;
Module standard.
Procedurile în Access pot fi: subrutine sau funcţii. Funcţia este “o procedură prin care se
calculează o valoare ce se atribuie numelui acesteia.” [Teodorescu, 2005:224].
70 |
În cazul în care dorim să modificăm un modul existent: se selectează din panoul de navigare
modulul dorit, urmat de selecţia opţiunii Design View din meniul contextual (sau dublu-click
pe modulul dorit)
Pentru ştergere se selectează modulul şi se utilizează apoi tasta DEL sau se selectează opţiunea
Delete din meniul contextual.
Scrierea rutinelor VBA se face în editorul Visual Basic. Editorul VBA are o serie de facilităţi:
colorare a unor cuvinte, declaraţii sau fraze scrise eronat, liste cu funcţii, etc.
71 |
SINGLE Număr memorat pe 32 de biţi, virgulă mobilă. Valori de la –3,4*1038 pâna
la +3,4*1038
CURENCY Număr memorat pe 64 de biţi. Valori posibile : -922337203685477,5808
până la 922337203685477,5808
BYTE Număr întreg pe 8 biţi. Valori posibile 0-255.
INTEGER Număr întreg pe 16 biţi. Valori posibile : -32768 pâna la 32767.
LONG Număr întreg pe 32 de biţi. Valori posibile : -2147483648 până la
217483647.
BOOLEAN Conţine 2 valori logice : TRUE (adevărat –1) sau FALSE ( fals 0)
DATE Conţine date calendaristice şi timp. Se utilizează între diez(#)
STRING Şir de caractere. Poate conţine maxim 2 la puterea 31 caractere. Se
utilizează între ghilimele.
VARIANT Tip de date generic.
OBJECT Tip de date care referă un obiect.
Execuţia unui modul VBA se face alegând opţiunea RUN SUB/USERFORM din meniul
principal.
Structuri alternative
1. instrucţiunea IF
2. instrucţiunea SELECT… CASE
72 |
1. Instrucţiunea IF
IF <condiţie> THEN
<secvenţa_instrucţiuni_1>
ELSE
<secvenţa_instrucţiuni_2>
ENDIF
Se evaluează condiţia, dacă aceasta este adevărată se execută secvenţa de instrucţiuni 1, altfel
se execută secvenţa de instrucţiuni 2.
Se evaluează expresia şi daca e egală cu una din lista de valori se execută secvenţa de
instrucţiuni corespunzătoare, altfel se execută secvenţa de instrucţiuni n.
Structuri repetitive
1. instrucţiunea WHILE….WEND
2. instrucţiunea DO…LOOP
3. instrucţiunea FOR…NEXT
1. Instrucţiunea WHILE
WHILE <condiţie>
secvenţa_ instrucţiuni
WEND
Se evaluează condiţia şi, atât timp cât e adevărată, se execută secvenţa de instrucţiuni. Dacă
este falsă, se execută prima instrucţiune de după WEND.
2. Instrucţiunea DO…LOOP
DO WHILE|UNTIL <condiţie>
<secvenţa_instrucţiuni>
EXIT DO
<secvenţa_instrucţiuni>
LOOP
73 |
În cazul instrucţiunii DO WHILE…LOOP se repetă secvenţa de instrucţiuni atâta timp cât
condiţia este adevărată. EXIT DO se foloseşte pentru ieşirea forţată din structură.
Dacă se utilizează DO UNTIL… LOOP se repetă secvenţa de instrucţiuni până când condiţia
devine adevărată.
O altă variantă a instrucţiunii este următoarea:
DO
<secvenţa_instrucţiuni>
EXIT DO
3. Instrucţiunea FOR…NEXT
Rezumat
Formularul este un obiect care permite introducerea datelor, afişarea acestora într-o manieră
atractivă şi prietenoasă sau controlul întregii aplicaţii.
Formularul constituie interfaţa dintre utilizator şi datele stocate în baza de date.
Formularele simplifică vizualizarea, introducerea şi modificarea datelor.
Prin intermediul formularelor se pot realiza diverse operaţii cum ar fi: sortarea, căutarea,
actualizarea unor date.
Rapoartele sunt obţinute pe baza prelucrării datelor din tabele şi sunt create pentru a fi afişate
pe ecran sau tipărite la imprimantă.
Utilizatorul foloseşte formularele pentru a introduce datele intr-o aplicaţie informatica şi
rapoartele pentru a genera situaţii de ieşire.
În cadrul rapoartelor datele pot fi ordonate şi grupate după diverse criterii iar la nivelul
grupurilor se pot efectua diverse calcule.
În cadrul formularelor şi a rapoartelor pot fi adăugate diverse controale: etichete, cutii cu text,
liste, butoane de comandă, casete de validare, butoane radio, liste ascunse, etc.
74 |
Lucrarea practică 4 și modalitatea de evaluare
6. Adăugaţi un nou tabel în baza de date şi creați legătura între cele două tabele. Adăugaţi 3
înregistrări
75 |
Comprimaţi (arhivaţi) baza de date Asigurari cu utilitarul WinRAR şi transmiteţi arhiva pe
email la adresa veronica.rus@tbs.ubbcluj.ro. Arhiva va avea numele format din numele si
prenumele dumneavoastră urmat de textul LP4 (ex: pop_ana_lp_4). În subiectul mesajului
introduceţi numele arhivei. Predarea lucrării se face conform specificaţiilor din secţiunea
„Formatul și tipul activităților implicate de curs”, partea 1 a materialului.
1. Avram-Niţchi, R., Ghișoiu, N., et al., Elemente de baze de date și programare aplicate în
economie, Ed. Risoprint, Cluj-Napoca, 2007.
2. Dollinger, Robert - Baze de date, Universitatea Tehnică Cluj-Napoca, 1994.
3. Harkins, S.S., Hansen, K., Gerhart, T., Utilizare Microsoft Access 2000, Teora, Bucureşti,
1999.
4. Kovács, Sándor, Access 2000 – Implementarea bazelor de date, Editura Albastră, Cluj-
Napoca, 2003.
5. Năstase, P., Mihai, F., Bărbulescu, B., Şova, R.A., Stanciu, A., Covrig, L., Baze de date
în Microsoft Access 2000, Teora, Bucureşti, 1999.
6. Rus, Rozalia Veronica, Baze de date în administrarea afacerilor, Risoprint, Cluj-Napoca,
2013.
7. Teodorescu Alexandru, Lecţii de Access, Editura Albastră, Cluj-Napoca, 2002.
8. Mediul Internet.
76 |