You are on page 1of 78

BAZE DE DATE

note de curs Prof. dr. Adrian COJOCARIU

CUPRINS
I. INFORMAIA OBIECT AL PRELUCRRII ...................................................................................................... 2 I. INFORMAIA OBIECT AL PRELUCRRII ....................................................................................................... 3 1.1. RELAIA DATE INFORMAII CUNOTINE N CONTEXTUL SOCIETII INFORMAIONALE ................................... 3 1.2. DATE ....................................................................................................................................................................... 3 1.3. INFORMAII ............................................................................................................................................................. 4 1.4. CUNOTINE ........................................................................................................................................................... 5 II. ORGANIZAREA DATELOR .................................................................................................................................... 7 2.1. METODE I TEHNICI DE ORGANIZARE A DATELOR.................................................................................................... 7 2.1.1. Fiiere............................................................................................................................................................ 7 2.1.1.1. Modul de organizare a fiierelor ................................................................................................................ 8 2.1.1.2. Modul de acces la fiiere ............................................................................................................................ 9 2.1.1.3. Integrarea fiierelor ................................................................................................................................. 10 2.1.2. Baze i bnci de date ................................................................................................................................... 10 2.2. SUPORTURI DE NREGISTRARE A DATELOR ............................................................................................................ 11 III. NOIUNI ELEMENTARE LEGATE DE BAZE DE DATE .............................................................................. 13 3.1. DEFINIREA BAZEI DE DATE .................................................................................................................................... 13 3.2. STOCAREA BAZELOR DE DATE ............................................................................................................................... 14 3.3. ARHITECTURA UNEI BAZE DE DATE ....................................................................................................................... 14 IV. ELEMENTE DE MODELARE I PROIECTARE A BAZELOR DE DATE ................................................... 16 4.1. MODELAREA DATELOR ......................................................................................................................................... 16 4.2. MODELE DE BAZE DE DATE ................................................................................................................................... 17 4.3. ELEMENTE DE PROIECTAREA FIZIC A BAZELOR DE DATE RELAIONALE .............................................................. 19 4.4. MODUL DE LUCRU CU O BAZ DE DATE RELAIONAL.......................................................................................... 20 V. ELEMENTE DE ADMINISTRAREA I PROTECIA BAZELOR DE DATE................................................. 22 5.1. SISTEMUL DIRECTOR/DICIONAR DE DATE ............................................................................................................ 22 5.2. FUNCII PRINCIPALE ALE SISTEMULUI DIRECTOR/DICIONAR DE DATE ................................................................. 22 5.3. PROTECIA DATELOR ............................................................................................................................................ 23 VI. BAZE DE DATE ACCESS..................................................................................................................................... 24 6.1. PREZENTAREA APLICAIEI MICROSOFT ACCESS ................................................................................................. 24 6.2. FEREASTRA DATABASE ......................................................................................................................................... 24 6.3. CREAREA UNEI BAZE DE DATE ............................................................................................................................... 25 6.4. UTILIZAREA FORMULARELOR................................................................................................................................ 26 6.5. ADMINISTRAREA DATELOR PRIN INTERMEDIUL INTEROGRILOR .......................................................................... 27 6.6. REALIZAREA RAPOARTELOR ................................................................................................................................. 28 6.7. GENERATOARELE DE MACROINSTRUCIUNI I MODULE ........................................................................................ 29 VII. PREZENTAREA APLICAIEI MICROSOFT ACCESS, TABELE ................................................................. 31 7.1. LANSAREA N EXECUIE A APLICAIEI MICROSOFT ACCESS ................................................................................. 31 7.2. CREAREA UNEI BAZE DE DATE ............................................................................................................................... 32 7.3. MENIUL APLICAIEI MICROSOFT ACCESS .............................................................................................................. 34 7.3.1. Meniul File .................................................................................................................................................. 34 7.3.2. Meniul Edit .................................................................................................................................................. 35 7.3.3. Meniul View................................................................................................................................................. 36 7.3.4. Meniul Insert ............................................................................................................................................... 36 7.3.5. Meniul Tools................................................................................................................................................ 36 7.3.6. Meniul Window............................................................................................................................................ 37 7.3.7. Meniul Help ................................................................................................................................................. 37 7.4. CREAREA UNUI TABEL ........................................................................................................................................... 37 7.5. FEREASTRA DATASHEET ......................................................................................................................................... 41 7.6. CMPURI CU SURS DE VALORI ............................................................................................................................. 43 VIII. RELAII NTRE TABELE, INTEROGRI ..................................................................................................... 46

8.1. CREAREA RELAIILOR ........................................................................................................................................... 46 8.2. CREAREA INTEROGRILOR DE DETALIU PE BAZA UNUI TABEL............................................................................... 47 8.3. CREAREA INTEROGRILOR DE DETALIU PE BAZA MAI MULTOR TABELE ................................................................ 49 8.4. CREAREA INTEROGRILOR DE SUMARIZARE ......................................................................................................... 50 IX. FORMULARE.......................................................................................................................................................... 53 9.1. CREAREA UNUI FORMULAR PE BAZA TABELELOR .................................................................................................. 53 9.2. CREAREA UNUI FORMULAR PE BAZA UNEI INTEROGRI ......................................................................................... 56 9.3. SORTAREA I FILTRAREA ....................................................................................................................................... 57 X. RAPOARTE............................................................................................................................................................... 60 10.1. CREAREA UNUI RAPORT SIMPLU PE BAZA UNUI TABEL ........................................................................................ 60 10.2 CREAREA UNUI RAPORT CU SORTARE ................................................................................................................... 63 10.3 CREAREA UNUI RAPORT CU GRUPARE................................................................................................................... 64 XI. MACROINSTRUCIUNI....................................................................................................................................... 70 11.1. INSTRUCIUNI ..................................................................................................................................................... 70 11.2. CREAREA I UTILIZAREA MACROINSTRUCIUNILOR ............................................................................................ 73

I. INFORMAIA OBIECT AL PRELUCRRII


1.1. RELAIA DATE INFORMAII CUNOTINE N CONTEXTUL SOCIETII INFORMAIONALE Orice activitate uman este caracterizat, ntotdeauna, prin entiti faptice exprimate fie numeric, fie printr-o percepie sau o observaie nenumeric. Aceste entiti se numesc date. Datele supuse unui proces de prelucrare oarecare devin informaii. Informaiile derivate din alte informaii, pe baz de raionamente, devin cunotine (Figura 1.1.).
Aplicaii Date
Prelucrare Informaii Calculatoare pn la generaia a-IV-a, inclusiv Calculatoare de generaia a-V-a, inclusiv CunoRaionamente tine

Figura 1.1. Relaia dat informaie - cunotin

n acest context se poate afirma c aceeai dat poate avea utiliti diferite pentru observatori diferii, aceasta depinznd de gradul cunoaterii anterioare i de poziia observatorului fa de obiect, adic informaia prezint interes doar dac poate fi utilizat [Nichi, Racovian, 1996]. O serie de autori mpart ultimul secol n: - societatea industrial: n care baza o reprezint producia industrial, sau resursa cea mai important este capitalul; - societatea post industrial sau informaional: n care producia de baz este cea intelectual, iar resursa cea mai important este informaia. Astfel, ntre cele dou exist o diferen clar, ca de exemplu ntre o ntreprindere productoare de bunuri materiale, de la nceputul secolului, n care resursa strategic era una material, resursa informaional neavnd o pondere prea mare i o societate bursier sau o banc de azi, care are resursa de baz informaia. n general, noiunile de dat i informaie sunt considerate sinonime, ele n realitate deosebindu-se esenial. Aceasta poate fi cauza unui management ineficient, cnd nu se face distincia ntre cele dou noiuni i deci managementul manevreaz prea mult date i prea puine informaii. Deci, problema informaiei devine una strict necesar pentru orice manager. Actul managerial se materializeaz prin decizii, adic procesul prin care managerul identific problemele organizaionale i dorete s le rezolve [Barthol, 1991]. Baza material a deciziilor o constituie informaia care, la rndul ei, are la baz date. Pe baza informaiilor se creeaz noi cunotine, constituindu-se astfel suportul sistemului decizional. 1.2. DATE n informatic, prin dat se desemneaz un model de reprezentare a informaiei, accesibil unui anumit proces (U.C., program, om etc.). Dup modul de prelucrare, cu calculatorul, al datelor acestea se clasific n: a) date elementare; b) structuri de date. Datele elementare se definesc din punct de vedere logic, adic la nivelul unui procesor uman, ca un triplet de forma: D = (I, A, V) sau exprimat n notaia BNF (Backus-Naur-Form):

<dat>:=<identificator><atribute><valoare> Identificatorul reprezint simbolul sau numele asociat datei, prin care se distinge de alte date. Atributul este proprietatea datei care determin modul n care data va fi tratat n procesul de prelucrare. Cel mai important atribut este tipul datei, care definete apartenena ei la o anumit clas de date (real, logic, numeric, alfa-numeric etc.). Valoarea datei se poate preciza prin enumerare sau printr-o proprietate. Dac pe tot parcursul prelucrrii data pstreaz aceeai valoare, ea se numete constant. n caz contrar, data este o variabil. Din punct de vedere fizic, adic la nivelul calculatorului, modelul corespunztor informaiei este o zon de memorie situat la o adres absolut n care este memorat valoarea datei. O structur de date este un mod de memorare a datelor ntr-o form organizat [Thro, 1990]. Cu alte cuvinte, o structur de date reprezint o mulime de date elementare pentru care s-a definit un mecanism de selecie n identificarea elementelor componente i asupra creia se pot efectua o serie de operaii. Principalele structuri sunt: irul, lista, arborele, tabloul, articolul etc. Structurile de date pot fi stocate n memoria intern (structuri interne), sau n memoria extern (fiiere). Asupra structurilor de date se pot efectua o serie de operaii cum ar fi: Crearea operaia prin care se stocheaz structurile de date pe suportul de memorie intern sau extern; Actualizarea reprezint modificarea strii unei structuri de date i const n: - adugarea de noi elemente; - modificarea valorii unor elemente deja existente; - tergerea unor elemente. Consultarea este operaia prin care se realizeaz accesul la elemente n scopul vizualizrii sau prelucrrii lor; Sortarea adic ordonarea elementelor unei structuri dup anumite criterii. Din punct de vedere managerial, cel mai important criteriu de clasificare a datelor este cel al originii acestora. Datele pentru o organizaie provin din surse externe i surse interne. Datele externe se refer la: - clieni cerine, preferine, posibiliti de plat etc.; - canale de distribuie existena lor, posibilitatea lor de a se informa etc.; - furnizori starea livrrilor, relaiile financiare etc.; - colaboratori i competitori dac exist, colaborarea cu ele etc.; - cunotine i ndemnri tehnico-economice i tehnologice n englez know-how. Datele interne se bazeaz pe anumite cuantificri de fapte, observaii, msurri etc. Exist o varietate de activiti de rutin ca: inventare, contabilitate, controlul stocurilor, al produciei, personalului etc., care asigur corectitudinea reprezentrii tranzaciilor unei organizaii n datele legate de aceasta. Alturi de aceste date interne mai apar o serie de date legate de: - cultura intern a organizaiei, adic stilul de lucru, organizarea i eficiene fluxului informaional intern etc.; - deprinderi manageriale legate de interpretarea informaiei i de responsabilitate; - management internaional i macroeconomic, adic cunoaterea altor culturi manageriale, rezultatele acestora etc. 1.3. INFORMAII Unul din cele mai prestigioase dicionare de specialitate Oxford, n 1991, definete informaia ca fiind: formal, o colecie de simboluri. Acesta este sensul de prelucrare a informaiilor
4

, tehnologia informaional sau teoria informaiilor. Simbolurile pot fi definite ca forme prin care se pstreaz sensul i care astfel servesc ca o definiie alternativ a informaiei. Informaia poate fi privit din trei puncte de vedere: din punct de vedere al percepiei umane care presupune legarea informaiei de efectele ce pot aprea n urma acestei receptri; din punct de vedere analitic, lingvistic, informaia poate fi descris n termeni ce se refer la sensul sau structura sa; din punct de vedere fizic, informaia poate fi descris n termenii manifestrilor sale fizice mediul de pstrare, rezoluia sau acurateea cu care se emite, recepioneaz etc. Informaia prezint trei aspecte eseniale: 1. aspectul sintactic; 2. aspectul semantic; 3. aspectul pragmatic. 1. Aspectul sintactic se refer la sistemul de semne i regulile de reunire a acestora n construcii sintactice utilizate pentru reprezentarea informaiei n procesul culegerii, transmiterii i prelucrrii acesteia. Acestui nivel i corespunde conceptul de dat, adic materia prim din care se obin informaiile o constituie datele. 2. Sub aspect semantic, informaia poate fi caracterizat ca semnificaia intern a datelor, adic, corespondena dintre o dat i obiectul real sau situaia pe care o reprezint aceast dat. 3. Aspectul pragmatic este cel care raporteaz informaia la scopurile observatorului. Pragmatica include, ntr-o anumit msur, problemele de conducere. Procesul de conducere este cel prin care informaia se transpune n aciune prin intermediul deciziilor. n acest fel, procesul conducerii este determinat de sistemul informaional, care constituie baza pentru luarea deciziilor. Pentru ca o informaie s fie util scopurilor propuse, ea trebuie s fie: consistent - adic s fie suficient de cuprinztoare; relevant adic s poat furniza cunotine care lipsesc pentru realizarea deciziei; exact adic s reflecte situaia real (acurateea informaiei); oportun adic s existe un decalaj corespunztor ntre momentul obinerii informaiei i momentul lurii deciziei (apropierea ct mai mult de timpul real); accesibil adic modul de prezentare a informaiei are o importan deosebit; complet adic trebuie s acopere aria dorit de decident; concis trebuie s aib nivelul de agregare necesar procesului de luare a deciziilor. Exist un numr mare de criterii dup care sunt clasificate informaiile. Dintre acestea amintim: - dup surse interne, externe, primare etc.; - dup natur cantitative, calitative, formale etc.; - dup nivel strategic, tactic, operaional; - dup frecven anuale, lunare, zilnice etc.; - dup form scris, oral, vizual etc.; - dup tip sumare, detaliate, agregate etc. 1.4. CUNOTINE Dup 1990 [Beyond] nivelul dat-informaie este considerat un prim nivel n informatica economic. La aceasta se adaug un al doilea, acela al informaiilor rezultate din alte informaii pe baz de raionamente. Acest nivel este considerat a fi nivelul cunotinelor.

Watters definea (1992) cunotinele astfel: Cunotina include capacitatea de a evalua Definirea informaia ntr-un anumit sens sau scop. A avea cunotine sau abilitatea de a efectua sarcini cunotinelor cere complexe, presupune mai mult dect a avea o list de instruciuni sau informaii necesare; se abilitatea manipulrii informaiilor sau a sarcinilor. Trebuie subliniat faptul c nu orice dat sau informaie creeaz cunotine. Astfel, unele informaii sunt deja ntre cunotinele receptorului i deci nu genereaz informaii noi. Pe de alt parte, unele informaii s-ar putea s nu aib semnificaie pentru receptor, n sensul c nu se integreaz n cunotinele lui. De exemplu, acelai specialist care nu este interesat de informatic i consider c poate lucra fr calculator, informaiile din prezentul curs nu au relevan i nu se constituie n cunotine. n acest context, cunotinele reprezint totalitatea informaiilor dobndite anterior, cu privire la obiectul considerat. Mulimea cunotinelor formeaz un tezaur la care trebuie raportat rezultatul oricrui proces de informare. Este posibil ca rezultatul unui proces de informare s fie nul, dac informaia respectiv face deja parte din tezaurul observatorului, adic a devenit o cunotin.

II. ORGANIZAREA DATELOR


2.1. METODE I TEHNICI DE ORGANIZARE A DATELOR Obiectivul general al oricrui sistem bazat pe prelucrarea automat a datelor este acela de a eficientiza o activitate deservind-o prin informaii de calitate. Una din problemele de principiu de care trebuie s in cont orice metod i/sau tehnic de organizare a datelor este c acestea au fost introduse pentru realizarea de informaii, prin pregtirea i prelucrarea datelor n vederea valorificrii maxime. Informaia este o resurs care tinde tot mai mult s devin dominant. Volumul i structura informaiei ce intr i/sau se genereaz ntr-un sistem i frecvena acestor intrri i/sau generri determin principalele caracteristici tehnice i de exploatare ale sistemului de prelucrare automat a datelor i caracteristicile sistemelor informatice, n general. Evoluia metodelor i tehnicilor de organizare a datelor a fost influenat de o serie de factori cum ar fi: - creterea continu a complexitii diverselor activiti; - modul de utilizare a resursei timp, factor esenial; - dezvoltarea deosebit a tehnicii de calcul. Pe fondul unei varieti relativ mari de metode i tehnici de organizare a datelor, se desprind dou ca fiind principale: fiierul i baza de date. 2.1.1. Fiiere Fiierul a fost conceput i utilizat n sistemele de prelucrare manual a datelor. Sistemele de prelucrare automat au preluat aceast form de organizare, fr a-i aduce perfecionri de fond. Fiierul reprezint o colecie de date omogene din punct de vedere al semnificaiei acestora i al cerinelor de prelucrare, stocat pe un suport fizic de date. Toate elementele constitutive ale unui fiier au aceeai structur i sunt organizate sub o anumit form. Din punct de vedere logic, fiierul este tratat ca o colecie de articole. Articolul reprezint o entitate n cadrul fiierului, fiind alctuit dintr-o mulime de date asociate, numite cmpuri. Cmpurile conin un numr de caractere, cuvinte, coduri tratate mpreun. Articolele pot fi de lungime fix, variabil sau nedefinit. Din punct de vedere fizic, fiierul trebuie privit ca o mulime de articole fizice sau nregistrri, stocate pe un suport de memorie extern. Articolul fizic sau nregistrarea sau blocul, reprezint unitatea de transfer dintre suportul de memorie extern i memorie intern. Un articol fizic poate conine unul sau mai multe articole logice. n acest sens, din punct de vedere semantic [French, 1990], fiierele sunt fizice i logice. Fiierul fizic este legat strict de suportul de memorie extern i este alctuit dintr-o mulime de nregistrri, fiecare nregistrare putnd fi tratat ca un tot unitar, deci nu are entiti corespunztoare cmpurilor. Fiecrui fiier fizic i corespunde un fiier logic, alctuit dintr-o mulime de articole, fiecare articol putnd fi tratat ca o entitate, la nivel de cmp. Cu alte cuvinte, un fiier trebuie privit din punctul de vedere al calculatorului i din punctul de vedere al utilizatorului uman. Articolul fiind o structur de date, toate operaiile menionate deja pot fi efectuate i asupra fiierelor, dar execuia acestor operaii este condiionat de existena unor elemente speciale: cheie de protecie sau atribut, care indic ce operaii se pot efectua asupra fiierului (readonly, read-write, hidden etc.); cheie de acces utilizator (parol) - pentru a se putea executa o anumit operaie cheie de acces a utilizatorului trebuie s fie n anumit relaie cu cheia de protecie;

utilizare exclusiv sau partajat fiierul poate fi utilizat de ctre un singur utilizator, respectiv de mai muli utilizatori; tabele de descriere a fiierului (TDF) ce asigur posibilitatea efecturii operaiilor asupra fiierelor. Orice operaie poate fi efectuat asupra unui fiier doar dup ce fiierul respectiv a fost deschis, moment n care TDF ul se ncarc n memoria intern. Operaia prin care TDF ul se stocheaz pe suportul de memorie extern i se terge din memoria intern este nchiderea fiierului. Dup aceast operaie nu se mai pot efectua nici un alt fel de operaii cu elementele fiierului. Exist mai multe criterii de clasificare a fiierelor, care de fapt precizeaz modul de organizare a lor i modul de acces la articolele coninute. 2.1.1.1. Modul de organizare a fiierelor Prin organizarea unui fiier se nelege forma n care se face stocarea fiierului pe suportul de memorie extern. De aceasta depinde modul n care se va face tratarea nregistrrii la nivel fizic. Se utilizeaz trei moduri de organizare: - organizarea secvenial; - organizarea relativ (selectiv); - organizarea secvenial-indexat. Modul de organizare secvenial se caracterizeaz prin faptul c articolele nu au o identitate, deci pentru a ajunge la articolul i trebuie parcurse cele i 1 articole precedente. Orice fiier secvenial are un ultim articol special EOF (End Of File). Pentru tergerea unui articol trebuie rescris tot fiierul. De asemenea, adugarea de articole se face, de obicei, la sfritul fiierului sau n unele cazuri prin inserare cu rescrierea fiierului de la acel articol, dar cu un consum mare de timp. Fiierele secveniale pot fi create pe orice tip de suport de memorie extern. Fiierele secveniale pot avea articole de lungime fix, variabil sau nedefinit, dar toate trebuie s fie de acelai fel ntr-un fiier (Figura 2.1.). Modul de organizare relativ presupune gruparea articolelor n casete, aceasta fiind unitatea adresabil n fiierele relative. Ele pot fi stocate doar pe suporturi de memorie extern adresabile (discuri magnetice). Articolele sunt de obicei de lungime fix. Fiecrei casete i se asociaz un numr, iar corespondena dintre articole i numrul de caset se face printr-un algoritm de randomizare.
Articol curent Articol precedent Articol urmtor Antet fiier A1 Ai 1 Ai A1 + 1 An EOF

Zona util

cmpuri
cmp de tergere cmp cu lungimea articolului

Figura 2.1. Structura unui fiier secvenial

Cutarea unui articol se face dup numrul de caset, iar n interiorul casetei secvenial. n acest sens fiecrui articol i se asociaz dou elemente: - adresa casetei (numrul); - cheia articolului care l deosebete de celelalte articole din caset (Figura 2.2.).

Caseta 0 Sinonim

Caseta i coliziune Sinonim

Caseta n

zona principal

zona de depire

Figura 2.2. Structura unui fiier selectiv

Sinonimele apar cnd algoritmul de randomizare nu este suficient fundamentat i rezultatul su este acelai pentru unul sau mai multe articole. Articolele sinonime sunt trecute n zona de depire, motiv pentru care este necesar reorganizarea fiierului. n cazul n care o caset corespunde cu un articol, articolul sinonim este nscris (stocat) peste articolul din caseta respectiv. Modul de organizare secvenial-indexat preia avantajele celor dou metode prezentate (fiierele secveniale utilizeaz bine suportul de memorie extern, dar au un timp de rspuns necorespunztor, iar fiierele relative nu utilizeaz corespunztor discul, dar au un timp de rspuns bun). Fiierului secvenial-indexat i se ataeaz un index. Indexul [Oxford, 1991] este un ansamblu de legturi care se poate utiliza pentru a localiza articolele ntr-un fiier de date. De exemplu, cartea de telefon conine la nceputul fiecrei pagini un grup de litere cu care ncep numele din pagina respectiv. n acest mod, nu trebuie cutate toate numerele secvenial, ci se va cuta pagina cu primul grup de litere i doar n cadrul ei se va cuta secvenial numele dorit. Cu o astfel de organizare cutarea este mai rapid i se economisete i suport, fiierul rmnnd secvenial. Prin index [Nichi, Racovian, 1996] se nelege, deci, o informaie auxiliar pe baza creia se poate determina mai repede informaia dintr-un fiier. Indexarea se realizeaz prin ataarea la fiier a unui tabel sau fiier de indeci. Indexul conine cheia articolului i adresa articolului. Cheie poate fi un cmp din fiier dup care se dorete indexarea (Figura 2.3.). Fiierele cu organizare indexat pot fi stocate doar pe suport de memorie extern magnetic. A1 A2 An zona fiier

C1
adr.

C2
adr.

tabela de indeci

Figura 2.3. Structura unui fiier secvenial indexat

2.1.1.2. Modul de acces la fiiere Prin acces la fiiere se nelege modul n care se poate localiza un anumit articol. Exist trei tipuri de acces principale: - acces secvenial; - acces direct; - acces prin cheie sau index. Accesul secvenial permite parcurgerea articolelor de la 1 la n n ordinea n care sunt dispuse. Accesul secvenial poate fi utilizat la orice tip de fiier, la orice mod de organizare a acestora. La organizarea secvenial accesul se face articol cu articol; la organizarea selectiv accesul se face n ordinea casetelor, iar la organizarea secvenial-indexat accesul se face n ordinea indexului.

Accesul direct permite localizarea articolelor din fiierele organizate secvenial, respectiv organizate relativ. Fiierele secveniale pot fi accesate direct dac articolele sunt de lungime fix, pe baza numrului de ordine al articolului. Fiierele relative au ca i mod specific accesul direct. Se caut caseta ce conine articolul i n cadrul casetei se face cutarea secvenial. Fiierele indexate nu pot fi accesate direct. Accesul prin cheie sau indexat se face cu ajutorul unei expresii logice asupra valorilor cheilor de cutare. Se caut dup index articolul care satisface relaia indicat. De fapt, prima cutare se face n tabela de indeci. Dac s-a gsit, se face prelucrarea indicat i apoi se caut urmtorul care satisface condiia. 2.1.1.3. Integrarea fiierelor n cadrul procesului decizional, unicitatea coleciei de informaii se impune net ca o soluie, din urmtoarele motive: - permite prelucrarea pe calculator, realizndu-se suportul informaional eficient; - permite ca pentru fiecare informaie s existe o singur surs. n cadrul aplicaiilor informatice ce utilizeaz fiiere, diferitele articole, respectiv nregistrri, se structureaz n funcie de necesitile de prelucrare. Astfel, inevitabil, va exista neunicitatea datelor att din exteriorul sistemului, ct i din interiorul acestuia. Aceast metod prezint mai multe dezavantaje. Redundana: informaiile provenite dintr-o surs unic sunt multiplicate n mai multe fiiere, ceea ce duce la o slab utilizare a suporturilor de memorie extern, ct i la probleme legate de actualizarea fiierelor aceleai date trebuie utilizate la mai multe fiiere. Absena unor relaii logice: n cazul unor aplicaii complexe, numrul de relaii dintre diferitele grupuri de date poate fi foarte mare, ceea ce duce fie la creterea excesiv a timpului de prelucrare, fie la creterea excesiv a numrului de fiiere. Flexibilitatea: este extrem de redus la aceste sisteme, orice nou prelucrare dorit duce fie la apariia unui nou fiier, fie la reorganizarea celor existente. Aceste inconveniente pot fi nlturate dac se renun la organizarea coleciei de date n fiiere destinate diferitelor aplicaii i se nlocuiete cu un sistem complex de elemente de date, n fiiere integrate. Avantajul acestei metode este acela c datele, fiind organizate conform relaiilor lor logice intrinseci (independent de o aplicaie sau alta), pot, n mod virtual, satisface nevoile oricrei operaii de prelucrare. Aceast metod st la baza unui tip superior de organizare a datelor i anume bazele, respectiv bncile de date, care depete dezavantajul utilizrii fiierelor integrate, acela c nu a rezolvat probleme independenei programelor de aplicaii fa de modul de organizare a datelor. Aceasta este o necesitate evident, odat cu creterea complexitii sistemelor informatice i deci odat cu creterea cerinelor de a organiza noi tipuri de fiiere, de a modifica structura fiierelor existente, fr a modifica programele de aplicaii existente deja n exploatare. 2.1.2. Baze i bnci de date Una din problemele de principiu pe care bazele i bncile de date o rezolv este aceea c aceast form de organizare a datelor este pentru informaii, pentru pregtirea i prelucrarea informaiei n vederea unei valorificri, respectiv revalorificri maxime. Abordarea organizrii datelor n baze i bnci de date nu rspunde, astfel, numai cerinelor tehnice impuse de echipamentele de prelucrare a datelor. Banca de date reprezint un sistem de organizare i prelucrare a datelor, constituit din urmtoarele elemente: 1. o colecie de date aflate n interdependen;

10

2. descrierea datelor i a relaiilor dintre ele; 3. un sistem de programe pentru gestiunea datelor, care asigur independena programelor de aplicaii fa de modul de organizare i structurare a datelor [Pescaru, 1976]. Noiunea de baz de date se utilizeaz pentru a defini primele dou elemente, deci baza de date are sens numai ca element al bncii de date. Componenta a treia poart denumirea de sistem de gestiune al bncii de date. O serie de autori, de obicei cei mai moderni, consider c banca de date este, de fapt, o baz de date cu informaii refereniale. Vom accepta ideea dup care, bazele de date dau informaii directe, pe cnd bncile de date dau informaii refereniale, adic indic de exemplu, cartea i pagina la care este descris noiunea. n continuare, prin baz de date vom nelege un sistem integrat, coerent i partajat de fiiere [Miranda, 1984]. O baz de date se caracterizeaz prin: - structura datelor este independent de programele de aplicaii; - utilizatorii vd diferite date din baza de date administratorul bazei este un utilizator special, singurul care cunoate ntreaga structur, ceilali utilizatori au diferite viziuni asupra bazei, n funcie de specificul problemelor pe care trebuie s le rezolve; - accesul se realizeaz centralizat, prevenind astfel redundana, incoerena datelor; - gestiunea datelor se execut corelat etc. Bazele de date sunt deservite de un Sistem de Gestiune al Bazei de Date (SGBD). Un element esenial al SGBD urilor l constituie faptul c pe lng realizarea structurilor de date, acesta trebuie s asigure posibilitatea modelrii datelor, adic descrierea relaiilor existente ntre fiierele componente ale bazei de date. Tendina actual n domeniul metodelor de organizare a datelor este realizarea bazelor de date distribuite. Necesitatea de implementare a sistemelor informatice distribuite, din punct de vedere teritorial, a determinat dezvoltarea bazelor de date distribuite, avnd ca suport tehnic reelele de calculatoare, cel mai elocvent exemplu fiind INTERNET ul. 2.2. SUPORTURI DE NREGISTRARE A DATELOR Orice colecie de date trebuie stocat pe o memorie extern, pe de o parte datorit volumului mare de date coninut, pe care o memorie intern nu o poate memora n ntregime i, pe de alt parte, datorit caracterului volatil al memoriei interne la dispoziia utilizatorului. Cu alte cuvinte, memoria extern este de capacitate mare i ofer posibilitatea de stocare permanent a datelor (pn la uzura fizic a purttorului de informaie). ntotdeauna, memoria extern este legat de suportul tehnic, care trebuie organizat n vederea stocrii datelor i de echipamentul periferic care va realiza operaiile de citire/scriere de pe/pe suport. Din punct de vedere al accesului la datele stocate pe suport, acesta devine adresabil dac permite accesul direct la oricare unitate de suport, respectiv secvenial n caz contrar. Din punct de vedere al utilizrii lor, suporturile sunt nereutilizabile i reutilizabile. Suporturile nereutilizabile sunt acele suporturi care pot fi utilizate o singur dat pentru nregistrarea datelor, dar care pot fi citite de mai multe ori. De exemplu, hrtia de imprimant, banda de hrtie, cartelele etc., sunt suporturi nereutilizabile. Suporturile reutilizabile sunt acele suporturi care pot fi utilizate de mai multe ori pentru scrierea datelor. Toate suporturile magnetice sunt reutilizabile. n cazul suporturilor nereutilizabile, trebuie avut n vedere unele elemente ca: - dimensiunea suportului trebuie adaptat la mrimea fiierului; - fiierele, odat nscrise pe suport, nu mai permit modificarea lor; - aceste suporturi nu sunt adresabile;

11

- cnd informaia este vizibil, nu mai sunt necesare informaii de control ca: etichete de volum, de fiier etc. n cazul suporturilor reutilizabile, acestea se consider pe unitile fixe numite volume. Ele conin etichete de volum, de fiier etc. Ele sunt adresabile (discurile magnetice), respectiv secveniale (banda magnetic).

12

III. NOIUNI ELEMENTARE LEGATE DE BAZE DE DATE


3.1. DEFINIREA BAZEI DE DATE Resursa esenial pentru orice sistem managerial este informaia. Pentru ca aceasta s se realizeze, s aib calitate, trebuie s existe o anumit form de organizare. ntrebarea care se nate firesc este, de ce o ntreprindere trebuie s-i aleag ca metod de organizare a datelor baza de date? Rspunsul direct este acela c baza de date ofer sistemului managerial, la toate nivelurile, un control eficient asupra tuturor datelor cu care se opereaz. Avantajele ce rezult din acest control centralizat sunt: - reducerea sau chiar eliminarea redundanei datelor; - creterea consistenei datelor; - baza de date poate fi eficient partajat (accesul simultan a mai multor utilizatori la datele din baza de date), noile aplicaii pot folosii datele existente; - se asigur o securitate i o integritate a datelor deosebite etc. O baz de date reprezint un ansamblu unitar, organizat i structurat de date i care corespunde, ca i cerine informaionale, aplicaiilor informatice pentru diverse activiti dintr-un domeniu. Ea este alctuit din una sau mai multe colecii de date (ansambluri de date omogene) mpreun cu descrierea datelor i a relaiilor dintre ele, adic: B= k1 , k2 , k i ,kn , i N

unde, ki reprezint o colecie de date. Baza de date trebuie s ndeplineasc o serie de condiii dintre care amintim: - structura bazei trebuie astfel conceput nct s asigure datele/informaiile necesare i suficiente cerinelor de interogare; - s asigure o redundan minim a datelor stocate; - s permit accesul rapid la date pe baza unor mecanisme ct mai simple; - s permit securitatea deplin a datelor. O baz de date poate fi privit din dou puncte de vedere: fizic i logic. Din punct de vedere fizic, baza de date este stocat pe suport de memorie extern, deci o reprezentare pe suport a datelor, atributelor i a relaiilor dintre ele. Din punct de vedere logic, baza de date reprezint date, atribute i relaii independente de modul n care datele i relaiile sunt stocate ntr-o baz de date fizic. ntotdeauna o baz de date are asociat un sistem de gestiune al bazei de date (S.G.B.D.), sau n limba englez, Data Base Managament System (D.B.M.S.). S.G.B.D.-ul este definit ca fiind software-ul de creare, ntreinere i manipulare a bazei de date. Acesta trebuie s ndeplineasc urmtoarele funcii principale: de descriere care permite definirea structurii datelor, a relaiilor dintre acestea i a condiiilor de acces la date; de manipulare presupune diverse operaii de prelucrare a datelor, cum sunt: crearea, actualizarea, sortarea etc. de utilizare care permite comunicarea ntre utilizatori i baza de date, sub aspectul asigurrii unor interfee. Un alt element de definire a unui sistem de baz de date este administratorul bazei de date care face parte din categoria utilizatorilor, ns datorit sarcinilor deosebite pe care le are, vis--vis de organizarea structurii bazei, comparativ cu ceilali utilizatori apare ca unul special. Practic, o baz de date nu poate existe n afara suporturilor de memorie extern. Volumele de memorare discuri, dischete, benzi magnetice, mpreun cu echipamentele periferice
13

corespunztoare, unitile de control, canalele respective i calculatorul, formeaz hardware ul unui sistem baz de date. Aceste trei elemente (software, hardware, utilizatori) sunt implicate n realizarea unei baze de date (Figura 3.1.). Soft B.D
S.G.B.D Aplicaii

Utilizatori Hard
Figura 3.1. Schema unui sistem baz de date

3.2. STOCAREA BAZELOR DE DATE Stocarea bazelor de date se face, de regul, pe suporturi de memorie extern de mare capacitate. Prelucrarea datelor coninute se face n memoria intern, dar numai asupra unei pri a bazei la un moment dat, existnd un permanent schimb memorie intern (M.I.) memorie extern (M.E.). Practic, o baz de date este alctuit din unul sau mai multe fiiere. Aceasta deoarece gestionarea datelor pe un suport de memorie extern de ctre sistemele de operare actuale se face la nivel de fiier. Elementele componente ale unui fiier sunt nregistrrile. Fiecare nregistrare conine datele necesare caracterizrii unui obiect de tipul celor pentru care s-a proiectat fiierul. Fiecrei date i corespunde un tip, un domeniu de valori, o lungime i o poziie n nregistrare, adic formeaz un cmp al nregistrrii. Sub aceast form sunt stocate datele componente ale unei baze de date pe o memorie extern. Unitatea de transfer dintre M.I. i M.E. este blocul, ce poate conine una sau mai multe nregistrri. Asupra nregistrrilor se pot face o serie de operaii de prelucrare, dar care, de cele mai multe ori, se reduc la patru tipuri principale: adugare, tergere, modificare i consultare. 3.3. ARHITECTURA UNEI BAZE DE DATE Din cele prezentate putem concluziona c o baz de date conine informaii relativ la obiectele ce intervin ntr-o mulime de aplicaii, relaiile logice ntre informaii i tehnicile de prelucrare corespunztoare. O baz de date poate fi privit din mai multe puncte de vedere: - punctul de vedere al utilizatorului, care lucreaz cu anumite pri componente ale bazei de date numite VEDERI. Vederile sunt descrise prin subscheme n sublimbaje de descriere a datelor, reprezentnd, de fapt, viziunea utilizatorului. Un utilizator va fi interesat, n general, numai de o anumit poriune a bazei de date. Vederea utilizatorului individual se numete vedere extern. - punctul de vedere al administratorului bazei de date, care integreaz toate vederile referitoare la baza de date, ntr-un singur model numit schem conceptual. Cu alte cuvinte, vederea conceptual este o reprezentare a ntregii informaii coninute de baza de date. - punctul de vedere al implementatorului bazei de date, care privete baza de date ca pe o colecie de fiiere memorate pe suporturi de memorie extern. Vederea implementatorului numit vedere intern este descris cu ajutorul schemei interne, adic totalitatea fiierelor utilizate pentru stocarea bazei de date i modul de operare cu ele. De exemplu: o baz de date pentru evidena studenilor:
14

- vederea intern fiiere student, cadre didactice, discipline, sli etc.; - vederea conceptual fiierul student conine informaii despre un tip de entitate student; fiecare student are un numr matricol, cod facultate, cod specializare, an studiu, grup, note/ani etc.; - vederea extern numr matricol, note/ani etc. Cele trei puncte de vedere asupra unei baze de date coincid cu cele trei nivele ale bazei de date (Figura 3.2.):
Utilizator 1 Utilizator 2 Nivel extern Utilizator 3 ... Utilizator n

Nivel conceptual Nivel intern (baza)

Administrator

Implementator

Figura 3.2. Arhitectura unei baze de date

Primele dou nivele sunt descrise prin planuri ce constau n enumerarea tipurilor de entiti ce apar n baza de date i relaiile ntre acestea Aceste planuri reprezint scheme externe, pentru primul nivel, respectiv scheme conceptuale pentru al doilea nivel. Prin scheme interne sau fizice se reprezint descrierile la nivel fizic, de fapt singurul nivel existent efectiv. Aceste scheme vor fi alctuite din vederile corespunztoare.

15

IV. ELEMENTE DE MODELARE I PROIECTARE A BAZELOR DE DATE


4.1. MODELAREA DATELOR Baza de date este un model al lumii reale i nu poate reprezenta dect un numr limitat de caracteristici ale ei, necesare unei aplicaii. Cu alte cuvinte, de o importan deosebit este studiul sistemului ce urmeaz a fi reflectat n baza de date. Sistemul trebuie privit unitar i nu ca o alturare a componentelor sale. Trebuie creat un model informaional n care s fie cuprinse principalele funciuni i fluxul de informaii din sistem. Modelarea conceptual este una din cele mai puternice metode de a stabilii i a menine controlul asupra datelor. Un model conceptual de date este o reprezentare riguroas a semnificaiei datelor ntr-un anumit domeniu de interes. Acesta reprezint, de fapt, entiti, atribute i relaii. n acest caz, modelul cel mai utilizat este modelul entitate relaie, n cadrul creia: entitatea-este definit ca un lucru, un concept, o persoan, un eveniment din lumea real ce poate fi unic determinat; atributul-definete o latur a entitii, care poate lua valori ntr-un domeniu asociat; relaia-definete o asociere ntre entiti. De cele mai multe ori se lucreaz cu relaii binare, de forma: - unu-la-unu - caz n care fiecrui element dintr-o entitate i corespunde un element dintr-o alt entitate i invers; - unu-la-mai-muli - caz n care fiecrui element dintr-o entitate i pot corespunde mai multe elemente dintr-o alt entitate, dar fiecrui element din a doua entitate i corespunde un element din prima; - mai-muli-la-mai-muli - caz n care fiecrui element dintr-o entitate i pot corespunde mai multe elemente dintr-o alt entitate i invers. Informaiile privind structura unei vederi pot fi sintetizate grafic ntr-o diagram entitate relaie (DER). De exemplu:
Amfiteatru

STUDENT CURS C.D. SAL MAT. DID.

Entitile ce intervin se reprezint prin dreptunghiuri. Atributele asociate vor fi reprezentate prin elipse, iar relaiile dintre entiti se vor reprezenta prin sgei (cu vrful dublu ctre entitatea pentru care pot aprea mai multe elemente n relaie cu un element din cealalt entitate). Modelarea datelor prin DER prezint caracteristicile i structura datelor independent de modul n care acestea sunt memorate. Modelul conceptual al datelor, redat sub forma DER, st la baza proiectrii fizice a bazelor de date. Se consider c modelarea conceptual a datelor comport cel puin 4 DER [ Oprea, 1999]: 1. DER care s acopere datele necesare aplicaiei proiectului; 2. DER pentru aplicaia ce va fi nlocuit (nu la proiecte complet noi); 3. DER pentru ntreaga baz de date, din care noua aplicaie i va extrage datele; 4. DER pentru ntreaga baz de date, din care aplicaia curent i extrage datele (nu la proiecte complet noi). Modelarea logic a datelor este n strns legtur cu modelarea conceptual a datelor, aceasta nsemnnd reprezentarea modului de organizare a datelor. De fapt, prin modelarea logic a datelor se urmrete atingerea a trei obiective [ Oprea, 1999]:

16

structurarea performant a datelor; obinerea unui model logic al datelor din care s se poat realiza proiectul bazei de date fizice; realizarea unui model al datelor care s rspund cerinelor actuale de date, regsite n formulare i rapoarte. Modelarea logic este un proces ascendent (BOTTOM-UP, de jos n sus). Este un proces complex. n fiecare etap a ciclului de via al sistemelor, se gsete cte o activitate specific datelor. n procesul de modelare logic exist patru faze eseniale: 1. realizarea unui model logic al datelor, din perspectiva utilizatorului, privind aplicaia; 2. contopirea tuturor perspectivelor utilizatorului, ntr-un model logic consolidat al datelor; 3. transformarea modelului conceptual al datelor (entitate - relaie), ntr-un set de relaii normalizate; 4. compararea modelului logic al datelor cu modelul transformat al entitii relaie i realizarea unui model logic final al datelor aplicaiei. 4.2. MODELE DE BAZE DE DATE n general, este unanim acceptat ideea dup care, o baz de date are n vedere mai multe tipuri de structuri de reprezentare a informaiilor, dintre care amintim: modelul relaional; modelul reea; modelul arborescent sau ierarhic; modelul orientat pe obiecte. Modelul relaional are la baz noiunea de relaie, definit ca o submulime a produsului cartezian a unei liste finite de mulimi, numite domenii. Elementele unei relaii se numesc tupluri, iar numrul de domenii din produsul cartezian se numete aritatea relaiei. De exemplu: a 1, a 2, , a k unde a i Di , i = 1, , k (unde Di - domeniu) reprezint un tuplu al unei relaii de aritate k, n care a i este al i lea element al tuplului. De obicei relaiile sunt reprezentate sub forma unor tabele n care fiecare rnd reprezint un tuplu i fiecare coloan reprezint valorile tuplurilor dintr-un domeniu dat al produsului cartezian. Relaiile sunt, de fapt, o mulime de funcii definite pe o mulime de atribute cu valori n reuniunea unor domenii, cu restricia ca valoarea corespunztoare fiecrui atribut s se afle n domeniul asociat acelui atribut. Modelul relaional presupune existena a dou nivele, unul cu organizare tabelar i cellalt cu organizare arborescent, adic datele sunt memorate n structuri tabelare, iar acestea organizate ntrun arbore alctuit pe baz de relaii ntre tabelele respective. n tabele coloanele sunt cmpuri, liniile sunt nregistrri, iar fiecare tabel este un fiier. De obicei n cadrul bazelor de date relaionale exist un tabel conductor restul tabelelor fiind legate de acesta, direct sau indirect prin intermediul unui alt tabel. Acesta este mecanismul de funcionare al bazelor de date relaionale, redus de fapt, la lanuri de tabele, legate ntre ele. La nivel fizic modelul relaional este uor de transpus. Relaiile sunt implementate prin fiiere cu nregistrri; o nregistrare este un tuplu, iar un atribut este un cmp din nregistrare.

17

NIVEL 1 Cod student 4125 Cod student 4125 Cod student 4125 Cod student 4125 Nume/Prenume Pop Gh. An1
N1 10.00 D1 E 207 ...... Nn Dn N1 D1

Facultate

Specializare

tiine Economice Finane Contabilitate TABELE COMPONENTE A1 A2 A3 A4 A5 A6

Situaia colar abs. lic. 1 Mgen. Mlic.

Vrst Sex Data naterii 24 M 09.07.1982 An2


......

Adres Timioara
Nn Dn

Cod disciplin E 207

Denumire disciplin Baze de date

O 1

Tip disciplin F Op.

Figura 4.1. Niveluri n modelul relaional

n procesul de analiz a cerinelor unui sistem pentru care se construiete o baz de date, pot fi identificate punctele de vedere ale unei mulimi de utilizatori, care deseori sunt de ordinul zecilor sau sutelor, fiecare avnd n vedere anumite date din baz.
T1 4125 T2 Selectare automat Selectat de utilizator Selectare automat Tabel conductor Figura 4.2. nlnuirea tabelelor n modelul relaional NIVEL 2 T3

... ...

Se pune problema proiectrii modelului conceptual al datelor, pentru reprezentarea datelor ct mai natural i complet, n cea mai simpl form i cu cea mai mic redundan posibil. n acest sens se ridic problema modului n care ar trebui combinate datele elementare pentru a forma relaii. O relaie nseamn un tabel de date ceea ce duce la concluzia c bazele de date relaionale sunt cldite pe un grup de tabele legate ntre ele. Pentru a deosebi anumite caliti ale unor relaii, s-a introdus clasificarea n forme normale. O relaie este ntr-o form normal dac satisface o mulime dat de constrngeri. Transformarea unei relaii ntr-o mulime de relaii de un anumit tip, se numete normalizare, adic procesul de analiz al dependenelor funcionale dintre atribute. Scopul normalizrii este de a reduce complexitatea vederilor utilizatorilor la seturi de structuri mai mici i mai stabile. De asemenea, eliminarea unor redundane, eliminarea unor anomalii de actualizare, realizarea unui proiect care s reprezinte ct mai fidel modelul real etc., sunt principalele obiective ale normalizrii. O relaie este nenormalizat dac exist unul sau mai multe grupuri de date care se repet. Se spune c o relaie este n prima form normal (1NF) dac fiecrui atribut i corespunde o valoare indivizibil, deci orice valoare nu poate fi o mulime sau un tuplu cu valori n anumite domenii i nu
18

pot s apar grupuri repetitive. De exemplu: pentru o relaie n 1NF care conine atributul data naterii, se consider valoarea asociat sub forma zz ll aa, care nu se poate descompune dup ziua, luna sau anul corespunztor valorii respective. O relaie este n a doua form normalizat (2NF), dac ea se afl deja n prima form i dependenele funcionale pariale i-au fost extrase. n a treia form normalizat (3NF) o relaie se gsete dac ea este n 2NF i nu conine dependene tranzitive. n Figura 4.3. este redat un exemplu de proces de normalizare. n acest model, de exemplu, dac nu s-ar face normalizarea, ar putea interveni urmtoarea situaie: se nscriu cinci studeni la o disciplin opional; ei sunt exmatriculai la un moment dat; din baza de date va disprea disciplina respectiv. n cazul normalizrii, dup 3NF, aceast situaie este eliminat.
Cod Nume/ Facultatea stud. prenume Spec. Situaie colar
absolvent liceniat

Medii anuale An I An II D N D ... Adres

Cod stud.

Nume/ prenume 1 NF

Vrst

Sex

Data naterii

Cod stud.

N1

D1

An I ...... 2 NF

Dn

Dn

...

Cod disciplin

Denumire disciplin 3 NF

Tip disciplin

Titular

Figura 4.3. Exemplu de proces de normalizare

n mod normal este suficient ca relaiile s fie reprezentate n 3NF pentru a putea spune c sunt concepute cu atenie i c anomaliile nu-i mai fac apariia. Cu toate acestea, n anumite condiii anomaliile nc i mai fac simit prezena, ceea ce a dus la continuarea pailor normalizrii este vorba de 4NF i 5NF. 4.3. ELEMENTE DE PROIECTAREA FIZIC A BAZELOR DE DATE RELAIONALE Proiectarea fizic a bazelor de date relaionale i propune s treac de la descrierea logic a datelor la cea fizic, de fapt de stocare a acestora, concretizndu-se n specificaii tehnice folosite ulterior de programatori prin crearea bazelor de date. Proiectarea bazelor de date are dou obiective: a) transpunerea relaiilor dintr-un model de reprezentare logic a datelor ntr-un proiect. Acest proiect va conine formatele sub care vor fi reprezentate atributele, modul de grupare a acestora, alegerea modului de organizare a fiierelor etc., b) selectarea tehnologiilor folosite pentru stocarea datelor, ce include funcii ale sistemului de operare, numite metode de acces i sistem de gestiune al bazelor de date. Informaiile necesare n vederea proiectrii fizice a bazelor de date pot fi grupate n: relaii normalizate;
19

definirea atributelor; specificarea momentului i a locului utilizrii datelor; timpul de rspuns; descrierea tehnologiilor de creare a bazelor de date.

Pe baza acestor informaii vor fi luate o serie de decizii cu implicaii directe n eficiena aplicaiei pentru care se proiecteaz bazele de date. Aceste decizii se refer la: tipul datelor, ce presupune stabilirea limitelor maxime i minime, ca valoare, i ali parametrii, avndu-se n vedere minimizarea spaiului de stocare i maximizarea integritii datelor; structura nregistrrilor, ce presupune gruparea optim a atributelor din modelul logic, n nregistrri; organizarea fiierelor i protecia informaiilor; selectarea suporturilor pentru stocarea datelor, ce va determina modul de organizare al fiierelor i modul de acces la datele coninute. Un punct important n proiectarea fizic l reprezint stabilirea structurii nregistrrilor. Cmpul este cea mai mic unitate de reprezentare a datelor. De regul, fiecare atribut va fi reprezentat de unul sau mai multe cmpuri. Cmpurile vor conine: 1. Numele cmpului, cuvnt utilizator pentru identificarea unic a unui cmp. 2. Tipul datei, modalitate de codificare detaliat pentru reprezentarea datelor n memorie. De exemplu: DECIMAL (m,n) reprezentarea numerelor prin m cifre n total i n cifre la partea zecimal; DATE reprezentarea datei calendaristice sub diverse forme etc. Mai multe cmpuri stocate n zone adiacente de memorie formeaz o nregistrare. nregistrrile nu vor constitui zone continue pe memoria extern. Unitatea de schimb M.I. M.E. este blocul de nregistrri sau pagina. nregistrrile pot avea lungime fix sau variabil. n cazul lungimii fixe a nregistrrilor, se apeleaz la tehnici speciale de poziionare, att la plasarea pe suport ct i la regsirea lor. n al doilea caz (lungimea variabil), nu se mai poate discuta despre o regul att de riguroas de plasare a nregistrrilor pe suport. Se recomand descompunerea relaiilor obinute n urma proiectrii logice, n dou pri: una care s reuneasc cmpurile de lungime fix i una cu cele de lungime variabil. Din punct de vedere fizic, un fiier este o zon alocat pe un suport de memorie extern pe care se stocheaz nregistrrile fizice ntre care exist legturi. n funcie de tipul datelor stocate, de fapt, de gradul lor de meninere n timp, fiierele pot fi: fiiere permanente; fiiere variabile; fiiere de stare, fiecare dintre ele pstrnd datele care le dau numele. n acest context, baza de date este un set fiiere intercorelate. Legturile respective sunt reprezentate prin intermediul legturilor dintre relaii, redate sub forma modelelor conceptuale i logice a datelor. 4.4. MODUL DE LUCRU CU O BAZ DE DATE RELAIONAL Prima operaie ce trebuie efectuat n realizarea unei baze de date este crearea acesteia, practic crearea fiierelor componente. Crearea unui fiier presupune memorarea structurii tabelului aferent n zona rezervat antetului: Antet de fiier
20

Date

Odat fiierul creat, asupra sa se pot efectua diverse operaii, dup care fiierul trebuie nchis. Dac exist mai multe tabele, este necesar deschiderea simultan a tuturor fiierelor, executarea operaiilor dorite i, n final, nchiderea lor. Deschiderea i nchiderea fiierelor se realizeaz prin comenzi specifice S.G.B.D. ului corespunztor. n momentul deschiderii S.G.B.D. ul aloc o zon de M.I. pe care o va folosi pentru controlul operaiilor executate (zon de lucru, work area). Accesul la date se face la nivel de nregistrare, ntotdeauna o nregistrare fiind curent. Aceasta este localizat prin intermediul indicatorului de nregistrare, adic o zon de memorie care conine numrul nregistrrii curente. Acest indicator (variabil asociat tabelei) exist att timp ct fiierul este deschis. Indicatorul de nregistrri poate fi modificat prin comenzile S.G.B.D. ului. Operaia de creare se execut o singur dat, atunci cnd se stabilete de fapt structura tabelului. Realizarea structurii presupune precizarea fiecrui cmp dintr-o nregistrare i anume: numele cmpului identificator, prin care se va realiza accesul la valoarea coninut; tipul cmpului, adic tipul de dat ce va fi stocat n cmpul respectiv; lungimea cmpului, ce semnific numrul de caractere pe care l poare ocupa data; numrul de zecimale pentru cmpurile de tip numeric. Dup stabilirea structurii se poate face ncrcarea cu date. n ambele situaii operaia se termin odat cu nchiderea fiierului. Odat creat baza de date, se poate trece la lucrul cu aceasta. Sunt considerate operaii de baz consultarea i actualizarea bazei de date. Consultarea const n preluarea unor date din baz i utilizarea acestora (diverse operaii matematice, afiarea la imprimant, indexri, sortri etc.). Actualizarea bazei (aducerea la zi) const n operaii de: adugare - prin care se pot aduga date n baz (la nivel de nregistrare); modificare prin care se poate schimba coninutul diverselor cmpuri; tergere prin care pot fi eliminate date din baz, prin tergerea nregistrrilor corespunztoare. Desigur, toate aceste operaii sunt posibile ntre momentele deschiderii, respectiv nchiderii bazei de date.

21

V. ELEMENTE DE ADMINISTRAREA I PROTECIA BAZELOR DE DATE


5.1. SISTEMUL DIRECTOR/DICIONAR DE DATE Din totalul cheltuielilor generate de sistemul informaional al unei ntreprinderi, o mare parte revine administrrii i proteciei bazelor de date incluse. Aceste operaii ncep odat cu instalarea sistemului. Un instrument important pentru administrarea i protecia bazelor de date este sistemul director/dicionar de date (D/D). Un sistem D/D este utilizat n scopul controlrii accesului la date, n vederea stabilirii costurilor pentru dezvoltarea i meninerea bazelor de date i a prevenirii efectelor datorate modificrilor n configuraia hard i n soft ul aferent. Un sistem D/D conine o baz de date numit director/dicionar i conine metadate, definite ca date despre date. Metadatele descriu utilizatorii care au acces la date (pentru a controla accesul). Metadatele controleaz calitatea datelor prin procesele care la manipuleaz. De asemenea controleaz schimbrile care au loc la nivel hard i soft. De un sistem D/D pot beneficia direct cel puin ase tipuri de utilizatori utilizatori administratori de date, administratorii bazelor de date, analitii de sistem i programatorii, operatorii i auditorii de date. Structura logic a unui sistem D/D poate fi reprezentat folosind entiti, atribute i relaii. Fiecare entitate poate fi descris de numeroase atribute, care caracterizeaz tipul entitii. Un D/D tipic conine, n general, entitile ce descriu: o structura bazei de date fizice; o structurile fiierelor; o activiti: interogri, rapoarte etc.; o utilizatori; o echipament: calculatoare, linii de comunicaie etc.; o programe. De asemenea, ntr-un astfel de model ar mai trebui adugate cele trei tipuri de scheme: conceptual, intern i extern. Sistemele D/D au un mare potenial ca i instrumente pentru gestionarea resursei dat. Sistemele actuale nu sunt folosite la ntreaga lor posibilitate ntruct ele nu ofer toate funciile posibile i utilizatorii nu folosesc toate facilitile. Posibilitatea de a gestiona metadate este la fel de important ca i gestionarea datelor, n sensul obinerii independenei, integritii, accesibilitii, partajabilitii, securitii, performanei i administrrii resursei dat. 5.2. FUNCII PRINCIPALE ALE SISTEMULUI DIRECTOR/DICIONAR DE DATE Un D/D are trei funcii principale: a) glosar; b) catalog; c) controler. a) Glosarul suport att planificarea datelor, ct i dezvoltarea datelor. Un glosar: - ncarc i actualizeaz coninutul unui D/D; - raporteaz coninutul unui D/D. Aceast raportare poate conine toate tipurile de nregistrri dintro mulime de baze de date; - analizeaz coninutul unui D/D, depistnd efectele schimbrii ntr-o parte a sistemului fa de celelalte pri; - creeaz, menine i raporteaz noile structuri D/D, atunci cnd se folosete extensibilitatea.
22

b) Un catalog genereaz instruciuni n limbajul de definire a datelor i logica standard de manipulare a datelor. Aceast funcie este determinant n controlul efectelor modificrilor i al costurilor dezvoltrii n mediul de date. Cataloagele sunt utile, deci, pentru dezvoltarea i meninerea sistemelor. c) Controler ul direcioneaz execuia programelor. De asemenea, transform cererile de date din forma schemei externe n forma schemei conceptuale i apoi n forma schemei interne i invers. Controlerele sunt valabile, mai ales, ntr-o reea de calculatoare cu mai multe baze de date. Administrarea i protecia bazelor de date sunt funcii complexe, care revin administratorului bazei de date. Astfel, el organizeaz baza de date dup anumite metodologii, realizeaz schema conceptual i coordoneaz proiectarea bazei de date. SGBD urile, la care se adaug sistemul D/D, ofer instrumentele i utilitarele necesare. De asemenea, administrarea are rolul de a autoriza accesul la date, de a reface baza de date n caz de incidente, de a realiza o serie de analize statistice etc. 5.3. PROTECIA DATELOR Protecia datelor reprezint, de fapt, un ansamblu de msuri necesare pentru asigurarea integritii i securitii datelor. Msurile necesare sunt asigurate n mare parte de SGBD plus sistemul D/D, dar i prin alte instrumente construite de proiectantul bazei de date i administratorul acestuia. Protecia i securitatea datelor presupune luarea unor msuri pentru reconstituirea datelor precedente sau prelucrate eronat, precum i interzicerea accesului neautorizat prin criptare. Reconstituirea datelor este asociat, de cele mai multe ori, cu existena fiierelor de tip back up (copii de siguran), dar exist i posibilitatea reconstituirii fr acest tip de fiiere. Reconstituirea pe baza back-up-urilor este denumit reconstituire nainte (forward recovery). Reconstituirea nainte se realizeaz, de obicei, automat atunci cnd se execut unele operaii de salvare. Reconstituirea fr fiiere back-up este denumit reconstituire napoi (backward recovery). n acest caz se apeleaz la fiiere cu rol special care conin un istoric, n ordine cronologic, al schimbrilor i accesrilor efectuate asupra bazelor de date. Fiierele back-up i cele speciale, numite probe de auditare, vor servi la reconstituirea fiierelor distruse i la verificarea corectitudinii operaiilor de actualizare. Criptarea datelor se refer la asigurarea transformrii datelor ntr-o form neintelegibil pentru toi receptorii, excluzndu-l pe cel autorizat. Criptografia este tiina scrierii secrete. Exist dou tipuri de scrieri: prin coduri i prin cifruri. ntr-un cod, un simbol sau un ir de simboluri poate avea semnificaia unui mesaj complet. ntr-un cifru exist o coresponden unu-la-unu ntre simbolurile mesajului original i simbolurile formei echivalente din scrierea secret. Criptarea poate fi realizat prin componente speciale ale SGBD urilor i chiar a sistemelor de operare.

23

VI. BAZE DE DATE ACCESS


6.1. PREZENTAREA APLICAIEI MICROSOFT ACCESS Programul ACCESS este o component a pachetului de programe MICROSOFT OFFICE i este destinat crerii i gestionrii bazelor de date puternice i flexibile. n general, se poate considera o foaie de calcul tabelar ca fiind o baz de date, deoarece coloanele devin cmpuri, liniile devin nregistrri, iar ntregul tabel devine un fiier exemplu EXCEL. De fapt, aa ncepe proiectarea unei baze de date. Superioritatea evident a bazelor de date este dat de implementarea sistemului de relaii. ntro baz de date relaional, elementele cheie ale datelor dintr-un tabel sunt relaionate cu elemente corespunztoare din alte tabele. O astfel de legare a tabelelor permite bazelor de date s asigure mai multe caliti dect orice foaie de calcul obinuit, cum ar fi asigurarea integritii datelor introduse i actualizarea dinamic a datelor (modificarea datelor ntr-un tabel determin modificarea corespunztoare a datelor din tabelele componente ale bazei de date). Spre deosebire de foaia de calcul tabelar, pentru a pstra relaiile dintre toate tabelele bazei de date, trebuie transferat cmpul care conine cheia n toate tabelele componente (de exemplu, COD STUD.). Acest mod de lucru a dat i numele bazelor de date relaionale cu care se ocup programul ACCESS. Extensii de fiiere utilizate sub incidena aplicaiei ACCESS: mdb baz de date ACCESS; Idb fiier index al unei baze de date ACCESS, generat automat; mda baz de date sistem ACCESS (informaii de securitate); mde aplicaie de baze de date ACCESS, compilat; mdz ablon ACCESS. 6.2. FEREASTRA DATABASE Dup lansarea n execuie a aplicaiei ACCESS afieaz o fereastr de deschidere n vederea unui dialog cu utilizatorul, ce apare n zona de lucru a ferestrei ACCESS, specific WINDOWS: bara de titlu; bara de meniuri; bara cu unelte standard; zona de lucru; bara de stare. n zona de lucru se va afia fereastra Database cel mai des utilizat instrument pentru crearea i administrarea bazelor de date. Aceast fereastr conine urmtoarele butoane pentru, modul de lucru Database; Tables (Tabele) cuprinde tabelele bazei de date n care vor fi stocate datele cu nregistrri, care corespund liniilor tabelului. Queries (Interogri) reprezint cererile adresate tabelului pentru extragerea sau organizarea datelor sub o form anumit i afiarea acestora. Aceste cereri sunt proiectate de obicei prin intermediul unei interfee grafice. Forms (Formulare) reprezint o interfa pentru introducerea datelor n bazele de date sau pentru vizualizarea acestora pe ecran. Formularele sunt folosite ca principal interfa cu utilizatorul, prin mascarea (maparea) tabelelor cu informaii brute. Reports (Rapoarte) asigur posibilitatea extragerii datelor din tabele i de formatare, pentru afiarea la imprimant.

24

Macros (Macroinstruciuni) conin o serie de comenzi pentru a creea meniuri utilizator i pentru a executa operaii de prelucrare simple. Modules (Module) conin una sau mai multe subrutine sau funcii (elaborate n VBA Visual Basic for Applications care este limbajul de programare pentru toate aplicaiile MS OFFICE). Acionarea oricrui buton va determina afiarea pe ecran a listei cu toate obiectele existente, de tipul respectiv. Prin selectarea unuia se poate ncepe lucrul utiliznd butoanele din partea dreapt (verticale) a ferestrei. Open deschiderea obiectului selectat, adic vizualizare, pentru formulare, tabele i rapoarte, rulare (execuie) pentru macroinstruciuni sau interogri. Design editarea obiectului selectat. New crearea unui obiect nou de tipul utilizat. 6.3. CREAREA UNEI BAZE DE DATE Modul de creare a oricrui tip de obiect nou este unul simplu, prin intermediul ferestrei Database sau alte instrumente. Crearea unei baze de date - Tables New Table Wizard (program expert pentru crearea tabelelor) Sample Tables (tabele model) presupune alegerea unui model de tabel din cele peste 20 oferite de ACCESS, model ce corespunde cerinelor noii baze de date. n lista Sample Fields (cmpuri model) se vor selecta cmpurile dorite n tabel. Terminarea aplicaiei se va face prin intermediul butonului Finish. Afiarea pe ecran a noului tabel marcheaz terminarea operaiei de creare; nchiderea tabelului va determina apariia acestuia n lista Tables. O alt posibilitate pentru crearea unei baze de date este prin intermediul programului expert Database Wizard (File New Databases); programul afieaz o list cu bazele de date predefinite, din care se poate selecta oricare (sau prin selectarea din caseta de dialog MS ACCESS se selecteaz Database Wizard Ok). Cea mai simpl modalitate de creare a unui tabel este utilizarea modului de afiare Design (Tables Design ). Se afieaz o fereastr ce conine grila de cmpuri (Field Grid) unde se vor introduce numele i tipul cmpurilor din nregistrare. n partea de jos va apare panoul pentru proprietile cmpurilor (Field properties) ce permite modificarea proprietilor fiecrui cmp din tabel. Tipurile de date utilizate n ACCESS sunt: Text ir de caractere (maxim 50); Memo ir de caractere, dar cu lungime nelimitat; Number (numeric) un numr ntreg sau fracionar (virgul flotant); Date/Time dat calendaristic sau ora n diverse formate; Currency (monetar) un numr formatat cu dou zecimale, care folosete virgula ca separator ntre ordinele de mrime i paranteze ce ncadreaz valorile negative; Auto Number un numr ntreg ce este incrementat automat pe msur ce sunt introduse noi nregistrri n tabel; Yes/No dat de tip boolean pentru a marca valoarea logic adevrat/fals; OLE Object un alt tip de dat cum ar fi o imagine, sunet, de obicei altceva dect texte i numere; Hiperlink (hiperlegturi) o referin la un obiect extern, care atunci cnd este selectat, deschide fiierul corespunztor n modul de afiare corespunztor; Lookup Wizard iniiaz o interogare n vederea extragerii unei valori dintr-un alt tabel.

25

Pentru fiecare tip de dat (cmp), pot fi modificate proprietile utiliznd opiunile prevzute n caseta Field Properties, butonul General. Se mai pot utiliza i alte programe expert pentru crearea bazelor de date: Datasheet View este un tabel gol pentru introducerea de date. Dac tipul de date nu a fost precizat prin Design, ACCESS le intuiete singur; Design View este o gril n care pot fi selectate definiiile datelor dintr-o list (nu se introduce nici o valoare); Import Table ofer posibilitatea importului unui tabel dintr-un fiier ACCESS sau o alt aplicaie de baze de date; Link Table la fel ca opiunea anterioar, dar datele externe rmn n fiierul extern. Un rol important n cadrul bazelor de date i de care trebuie inut cont nc de la creare, l au cmpurile cheie i index. Cele dou sunt diferite. Ele simplific extragerea datelor din baza de date. Datele dintr-un cmp cheie trebuie s fie unice (distincte) n toate nregistrrile. Prin aceasta baza de date nu poate confunda nregistrrile ntre ele. Definirea unui cmp cheie se face prin modul Design asupra tabelului i cu ajutorul csuei din stnga numelui cmpului, dup care se acioneaz butonul Primary Key. Se pot utiliza cheile compuse, alctuite din dou sau mai multe cmpuri, determinnd construcii unice. Un index dintr-o baz de date are acelai rol ca un index dintr-o carte. El este o referin ncruciat ntre datele din anumite cmpuri i locaiile lor din tabel, asigurnd astfel accelerarea procesului de cutare a nregistrrilor. Utilizarea unui index se justific dac tabelul este foarte mare sau calculatorul gazd este mai lent. Cmpurile cheie sunt indexate automat i n majoritatea cazurilor acest lucru este suficient. Stabilirea cmpurilor index se realizeaz n modul Design, cu butonul Indexes ce afieaz o fereastr de dialog n care se vor specifica cmpurile i ordinea de sortare (cresctoare sau descresctoare). O problem foarte important la crearea bazelor de date este stabilirea sistemului de relaii ntre tabele ce se realizeaz prin opiunea Relationships din meniul Tools. Vor fi specificate relaiile dorite prin trasarea sgeilor corespunztoare. Relaiile ce pot fi stabilite sunt de trei tipuri: 1.One-to-many (unu-la-mai muli) cheia din tabelul principal poate s apar de mai multe ori n tabelul secundar; 2.One-to-one (unu-la-unu) cheia din tabelul principal poate s apar o singur dat n tabelul secundar; 3.Many-to-many (mai muli-la-mai muli) dou tabele au o relaie de tip one-to-many cu un al treilea tabel, stabilind astfel ntre ele o relaie many-to-many. Un instrument foarte util, recomandat spre a fi folosit dup creare bazei de date, este programul expert Table Analyzer Wizard. El are rolul de a analiza structura bazei de date i de a face recomandri pentru corectarea acesteia. Se lanseaz n execuie prin selectarea elementului Analyze din meniul Tools. 6.4. UTILIZAREA FORMULARELOR Formularele sunt utilizate pentru introducerea, vizualizarea etc., a datelor ntr-o baz de date. Ele pot fi imaginate ca nite ecrane plasate n faa tabelelor. Aceste ecrane permit vizualizarea unor elemente ale tabelelor din fundal, n momentul i sub forma stabilit de proiectantul formularului. Formularele ACCESS sunt compuse din seciuni i controale care reprezint obiectele vizuale de pe formular. Formularele pot avea una pn la cinci seciuni: Detail (Detalii) este seciunea n care apar datele pentru fiecare nregistrare a bazei de date;

26

Form Header (Antetul formularului) apare n partea de sus a formularului i va conine informaii ce nu se modific de la o nregistrare la alta sau instruciuni despre modul de utilizare al formularului; Form Footer (Subsolul formularului) apare n partea de jos a formularului i va conine informaii despre data i ora de creare a formularului, totaluri etc.; Page Header (Antetul de pagin) apare sub antetul formularului i este foarte util la rapoarte pentru informaii ce trebuie s apar n partea de sus a ecranului, pe fiecare pagin dintr-un formular mai lung; Page Footer (Subsolul de pagin) este similar cu Form Footer, dar cu informaii referitoare la pagin. Aspectul seciunilor pe ecran depinde de modul n care conlucreaz datele i formularul. Crearea unui formular se realizeaz prin acionarea butonului FORMS, dup care NEW. Pe ecran va apare o caset de dialog pentru specificarea metodei dorite. Aceste metode sunt: Design Wiew (modul de afiare Design) - pe ecran apare un formular necompletat i ofer butoane pentru controale i diverse funcii speciale. Form Wizard (program expert pentru formulare) ofer un set de casete de dialog cu privire le proveniena datelor, modul de aranjare n formular, imagine grafic pentru fundal etc. Auto Form (formular automat) creeaz un formular simplu corespunztor unui singur tabel sau unei singure interogri. Chart Wizard (program expert pentru reprezentri grafice) se utilizeaz pentru reprezentarea grafic a datelor ce vor fi specificate ntr-o serie de casete de dialog. Pivot Table Wizard (program expert pentru tabele pivot) permite transformarea unui tabel ntr-o foaie de calcul EXCEL. Controalele au la baz programe scrise n Visual Basic. Ele sunt acele elemente din formulare prin intermediul crora acestea devin funcionale. Exist aproximativ 12 controale principale utilizate n proiectarea formularelor, dar pot fi utilizate i altele. Controalele se pot realiza n modul de afiare Design cu opiunea: Database View Toolbox. Va aprea o caset cu instrumente corespunztoare controalelor posibile ce pot fi plasate pe formular (etichet, grup de opiuni, caset combinat, dreptunghi, linie etc.) Exist posibilitatea creri unui formular principal (switchboard) ce uureaz ajungerea la seciunile bazei de date din care se dorete vizualizarea i utilizarea unor informaii fr s se poat modifica obiecte i informaii ce ar afecta integritatea bazei de date. ntr-un formular principal pot fi incluse toate opiunile de navigare i utilitarele necesare utilizatorilor aplicaiei. Realizarea unui astfel de formular se poate face prin opiunea Switchboard manager din meniul Tools. n concluzie, formularele din ACCESS permit proiectanilor de baze de date s construiasc o alt fa pentru ceea ce se gsete n fundal, cu alte cuvinte, un mod mai plcut de a introduce sau a afia informaii dintr-o baz de date. 6.5. ADMINISTRAREA DATELOR PRIN INTERMEDIUL INTEROGRILOR Prin intermediul programului ACCESS, utilizatorul are la dispoziie o serie de metode de actualizare i extragere a informaiilor dintr-o baz de date. Aceste metode au la baz conceptul de interogare (query); interogrile sunt programe care comand (realizeaz) extragerea, actualizarea datelor dintr-un tabel. Interogrile pot fi independente sau incluse n formulare i /sau rapoarte, toate ns, fiind construite, n general, n acelai mod. Interogarea reflect mecanismul bazei de date, o cerin de prelucrare a utilizatorului fiind executat ori de cte ori ea este formulat. Interogarea poate extrage date dintr-un tabel i creeaz obiecte similare tabelului (ca aspect i funcionare). Pot fi utilizate mai multe tipuri de interogri:

27

Interogri Select (de selectare) au ca rezultat, n majoritatea cazurilor, subtabele din care sunt selectate datele. Interogri Delete (de tergere) i interogri Update (de actualizare) aceste interogri permit tergerea, respectiv modificarea unei anumite nregistrri dintr-un tabel existent. Interogri Append (de adugare de nregistrri) i Make-Table (de creare tabel) aceste interogri permit adugarea de noi nregistrri n tabelul specificat, respectiv creeaz tabele noi genernd nregistrri pentru acestea. Interogri Crosstab (ncruciate) centralizeaz datele extrase din tabele, combinnd datele din mai multe cmpuri surs n unul sau mai multe cmpuri destinaie (de ieire). ACCESS stocheaz i rezolv problema interogrilor n dou moduri: a) prin grila QBE Query By Example; b) prin intermediul limbajului SQL Structured Query Language. Ambele moduri se refer la aceleai interogri, dar n forme total diferite. Primul mod, QBE (interogare prin exemplu) reprezint formatul implicit ACCESS pentru crearea interogrilor. n fereastra Database se acioneaz butonul Queries, dup care New, rezultatul fiind afiarea pe ecran a casetei de dialog New Query ce conine cteva opiuni pentru crearea interogrilor. Se selecteaz opiunea Design View Ok pentru a deschide caseta de dialog Show Table (afieaz tabel) i a afia grila QBE. ACCESS ateapt selectarea sursei de date care poate fi: tabele, ct i interogri existente n baza de date. Dup selectarea sursei de date caseta de dialog Show Table poate fi nchis. Grila QBE este format din dou seciuni: n partea de sus seciunea destinat sistemului de relaii, Table Relationships; n partea de jos seciunea destinat grilei interogrii, Query Grid. n prima seciune, Table Relationships, apare sistemul de relaii al sursei de date relatate anterior. Ea va fi goal dac nu s-a selectat nimic. n orice moment pot fi adugate noi surse de date. Grila interogrii conine ase rnduri. Pot fi completate direct toate rndurile, unele opernd ca nite casete derulante cu diverse valori, iar altele pot fi completate cu ajutorul generatorului de expresii (Expression Builder). Rndurile din gril sunt utilizate astfel: Field (cmp) intrarea n fiecare celul din acest rnd reprezint numele unui cmp din sursa de date selectat, care va fi luat n considerare. Table (tabel) este sursa de date n care se gsesc cmpurile specificate din Field; poate fi un tabel sau o alt interogare. Sort (sortare) reprezint modul n care vor fi sortate nregistrrile ce vor rezulta din interogare (cresctor/descresctor). Show (afiare) rndul este valid automat indicnd c datele din cmpul selectat trebuie afiate ca parte a rezultatului interogrii. Criteria (criterii) un ir de caractere introdus indic faptul c, cmpul corespunztor trebuie s fie identic cu irul introdus pentru ca datele s fie incluse n rezultat. Or (sau) orice ir de caractere introdus face parte din criteriile de selecie pentru cmpul corespunztor. Pentru executarea unei interogri create se acioneaz butonul Run de pe bara cu unelte standard. Rezultatul execuiei apare ntr-o fereastr, n modul de afiare Datasheet. 6.6. REALIZAREA RAPOARTELOR

28

n situaia n care utilizatorul dorete afiarea la imprimant a diverselor date dintr-o baz de date, rapoartele ACCESS ofer instrumentele necesare pentru aezarea n pagin a numerelor i a irurilor de caractere. Acest lucru se realizeaz relativ simplu, avnd la dispoziie o mulime de programe expert i opiuni de formatare automat. n general, informaiile ce vor apare n rapoarte sunt complexe, ridicndu-se problema aranjrii datelor n aa fel nct s fie vizibile n totalitate. Un avantaj, n acest sens, al ACCESS ului, este c majoritatea tehnicilor i controalelor pentru formulare rmn valabile. Rapoartele i formularele sunt asemntoare, astfel c unele formulare de dimensiune mic pot fi inserate direct n rapoarte i invers (click buton drept pe numele formularului sau raportului n fereastra Database Save As Form sau Save As Report din meniu). Pentru a crea un raport nou se poate utiliza instrumentul AutoReport. Acest instrument ofer posibilitatea tipririi (afirii) unor date din sursa de date, ntr-un format organizat, avnd ns un aspect nefinisat, semnnd cu nite schie. Se utilizeaz n cazurile n care timpul avut la dispoziie pentru realizarea unui raport este foarte mic. n fereastra Database Reports New apare caseta de dialog NewReport . Se precizeaz sursa de date, dup care se alege timpul de raport Columnar sau Tabular. n primul caz (afiare pe coloan) cmpurile din sursa de date vor fi aranjate pe o coloan. n al doilea caz (afiare tabelar) numele cmpurilor vor fi afiate pe orizontal n partea de sus a paginii i datele pe coloane. Raportul va fi afiat pe ecran n modul PrintPreview. Un raport cu un aspect mai plcut se poate realiza cu ajutorul programului expert Report Wizard (n fereastra Database Reports New apare caseta de dialog NewReport ReportWizard). Urmeaz apoi etapele de selectare a sursei de date, de specificare a cmpurilor ce vor apare n raport, de determinare a grupurilor de date (n urma sortrii) i de aplicare a unui format de prezentare stabilit. Exist i posibilitatea de a include totaluri (executate automat), informaii de centralizare i de salvare a rezultatelor obinute. Rapoartele pot fi create i manual, n cazul unor rapoarte deosebite (Reports New Design View) Pe ecran va apare o fereastr de proiectare Report care conine o gril. Este de fapt un raport n faza de nceput. Punctele formeaz o gril care ajut la eliminarea, ajustarea sau alinierea controalelor. Dac n noul raport nu este afiat grila, trebuie afiat opiunea View Grid. La dispoziia utilizatorului este o caset de instrumente Toolbox. Aici sunt prezentate cele mai uzuale controale ce pot fi utilizate prin intermediul butonului corespunztor. Ca i formularele, rapoartele conin cele trei seciuni prestabilite: Page Header (antet de pagin), Detail (zona de detalii), Page Footer (subsol de pagin). Zona de detalii va cuprinde controalele de date, iar n antet i subsol pot fi trecute titluri, numere de pagin etc. Un raport mai poate conine dou seciuni opionale: Report Header (antet de raport) i Report Footer (subsol de raport) care pot fi obinute prin View Report Header/Footer. Aceste seciuni apar numai la nceputul respectiv sfritul raportului. Pentru a selecta o surs de date pentru crearea unui raport, ACCESS ofer posibilitatea selectrii acesteia modificnd proprietatea Record Source (View Properties). ACCESS deschide o caset derulant ce conine toate tabelele i interogrile din baza de date curent. 6.7. GENERATOARELE DE MACROINSTRUCIUNI I MODULE Macroinstruciunile reprezint cea mai simpl metod de programare n majoritatea aplicaiilor MS Office, oferind o modalitate de efectuare a unor operaii obinuite ntr-o aplicaie de baze de date, cu minimum de efort din partea utilizatorului. De fapt, n ACCESS se specific un proces (o aciune) care ulterior se va salva ntr-o macroinstruciune. Printr-o macroinstruciune se poate executa o aciune simpl ca: deschiderea unui formular, execuia rapoartelor etc., dar i o succesiune de astfel de aciuni (import-export de tabele, alte obiecte, redimensionri de ferestre etc.).
29

Modulele sunt, de fapt, programe scrise n limbajul VBA. Ele sunt dedicate unor operaii complexe, care presupun parcurgerea mai multor etape sau necesit o secven de cod pentru luarea unor decizii. Dac tabelele, formularele, interogrile i rapoartele reprezint componentele principale ale unei baze de date ACCESS, modulele constituie liantul care le unete. Aceste grupuri de funcii i submulimi asigur funcionalitile unei baze de date; n majoritatea aplicaiilor cu baze de date exist foarte multe aciuni care nu se vd pe ecran: calcule, validare de date, efecte grafice, comunicaia ntre obiecte etc. n general, macroinstruciunile sunt mai lente dect modulele echivalente, deoarece macroinstruciunile sunt interpretate, adic n momentul execuiei sunt citite linie cu linie i transformate n cod main, pe cnd modulele sunt compilate, adic ele sunt deja n cod main. Pentru crearea macroinstruciunilor se procedeaz: Macros New apare fereastra Macro Builder (generatorul de macrouri). Funciile executate de o macroinstruciune sunt numite aciuni; acestea sunt predefinite de ACCESS i efectueaz o serie de operaii, de la cele mai simple (producerea unui semnal sonor) pn la transmiterea unui obiect ACCESS la un destinatar, prin pota electronic. Dezavantajul generatorului este incapacitatea sa de a oferi mecanisme de control ale fluxului. Dup executarea unei aciuni programul trece direct la linia urmtoare; nu se pot face salturi la subrutine i nu se pot executa instruciuni de ciclare. Modulele ACCESS sunt de dou tipuri, dar butonul Modules ofer acces la unul singur. Modulele standard sunt programe de sine stttoare, care au nume i pot exista independent de orice obiect din baza de date. Toate aceste module apar n pagina Modules. Modulele de clas sunt asociate cu alte obiecte din baza de date, cum ar fi controale, formulare, rapoarte. Pentru vizualizarea unui modul de clas: modul de afiare Design View Code. Pentru a crea un modul se utilizeaz fereastra Code Builder, ce conine mai multe seciuni n care se realizeaz programul. Vizualizarea ferestrei: prin deschiderea modului Utility Functions (funcii utilitare) n modul de afiare Design.

30

VII. PREZENTAREA APLICAIEI MICROSOFT ACCESS, TABELE


7.1. LANSAREA N EXECUIE A APLICAIEI MICROSOFT ACCESS Aplicaia Microsoft Access se folosete pentru gestionarea bazelor de date Access i se remarc prin uurina nvrii utilizrii i prin instrumentele puternice, uor de folosit att de dezvoltatorii profesioniti, ct i de utilizatorii mai puin experimentai. Dup instalarea pachetului de aplicaii Office, aplicaia Microsoft Access, se poate lansa prin una din urmtoarele metode: 1. de la butonul Start: selectnd succesiv All Programs Microsoft Office Microsoft Office Access;

2. prin dublu-click pe icoana asociat aplicaiei care se poate gsi pe desktop; 3. deschiznd un fiier cu extensia .mdb (o baz de date existent). Lansarea n execuie are ca rezultat afiarea ferestrei aplicaiei Microsoft Access (vezi Figura 7.1), cu observaia c, dac se folosete cea de a treia metod, se va afia i fereastra bazei de date coninut de fiierul cu extensia .mdb. Fereastra din Figura 7.1. conine elemente ale unei ferestre Windows: - linia de titlu cu textul Microsoft Access i butoanele de minimizare, maximizare/restaurare, nchidere; - linia de meniu cu opiunile meniului principal: File, Edit, View, Insert, Tools, Window, Help i cu o list ascuns prin intermediul creia se pot face cutri n documentaia aferent aplicaiei Microsoft Access; - linia instrumentelor compus din butoane, liste ascunse, texte ajuttoare etc, prin intermediul crora se pot lansa comenzi sau se pot stabili parametrii de lucru; - linia de stare prin intermediul creia se afieaz informaii succinte despre operaia n curs de desfurare sau textul Ready atunci cnd utilizatorul poate lansa comenzi.

Figura 7.1. Fereastra aplicaiei Microsoft Access

31

Implicit, n partea dreapt a zonei de lucru, se afieaz panoul comenzilor n care comenzile sunt grupate astfel: - grupul Microsoft Office Online, dac este disponibil o conexiune la Internet, se lanseaz aplicaia implicit pentru explorarea Internetului, se acceseaz subdomeniul http://office.microsoft.com i se deschide pagina corespunztoare opiunii selectate: Connect to Microsoft Online default.aspx se deschide pagina implicit a documentaiei Microsoft; Get the latest news about using Access - FX010857911033.aspx se deschide pagina cu ultimele tiri despre aplicaia Microsoft Access; Automatically update this list from the Web este o opiune de lucru, care se poate activa pentru ajutor suplimentar n nvarea lucrului cu Access, de exemplu prin accesarea paginii training/CR061829401033.aspx. - grupul Open: se afieaz numele ultimelor fiiere deschise (de ex. Test.mdb, Cduri.mdb) opiunea More pentru deschiderea unei ferestre de explorare prin intermediul creia se poate selecta un fiier existent, stocat pe un suport de memorie extern; opiunea Create a new file pentru crearea unei baze de date noi. Coninutul panoului comenzilor se modific n funcie de ultima comand apelat i/sau contextul de lucru. Panoul comenzilor se ascunde automat dup ce se deschide o baz de date. 7.2. CREAREA UNEI BAZE DE DATE Crearea unei baze de date Access se poate face apelnd comanda de creare a bazei de date prin una dintre metodele de lucru: 1. selectnd opiunea New a meniului File; 2. prin click pe opiunea Create a new file care se gsete n panoul comenzilor; 3. prin click pe butonul .

Figura 7.2. Opiunile pentru crearea unei baze de date noi

Ca urmare a acestui apel, n panoul de lucru, se afieaz lista de opiuni prezentate n Figura 7.2., care se folosesc astfel: - Blank database pentru crearea unei baze de date noi, vide; - Blank data access page pentru crearea unei pagini de acces, eventual printr-o conexiune la o baz de date care va fi sursa de date; - Project using existing data pentru crearea unui proiect folosind baze de date existente; - Project using new data pentru crearea unui proiect simultan cu crearea unei baze de date;

32

- From existing file pentru crearea unei baze de date Access folosind o alt baz de date, un alt proiect sau o alt pagin; - Templates pentru crearea unei baze de date folosind un model existent care poate fi stocat local (On my computer) sau pe site-ul dedicat pachetului de aplicaii Office (Templates on Office Online). Pentru crearea unei baze de date noi, se va selecta opiunea Blank database, apoi folosind fereastra de explorare, se stabilesc directorul i numele bazei de date (vezi Figura 7.3. care prezint un exemplu n care directorul este Biblioteci, iar numele bazei de date este BibliotecaAcasa) i se apas butonul Create care lanseaz comanda de creare a bazei de date.

Figura 7.3. Exemplu pentru crearea unei baze de date noi

Baza de date nou creat va avea o fereastr corespunztoare (vezi Figura 7.4) care va avea titlul compus din numele bazei de date i cuvntul rezervat Database urmat de formatul folosit pentru baza de date, n cazul nostru titlul este: BibliotecaAcasa : Database (Access 2000 file format).

Figura 7.4. Fereastra bazei de date BibliotecaAcasa

33

O baz de date Access poate conine elemente de diverse tipuri grupate n urmtoarele colecii: - Tables colecia tabelelor, un tabel este un obiect Access folosit pentru stocarea datelor; - Queries colecia interogrilor, o interogare se folosete pentru consultarea i/sau actualizarea unui tabel; - Forms colecia formularelor, un formular se folosete ca interfa ntre un utilizator i unu sau mai multe tabele; - Reports colecia rapoartelor, un raport se folosete pentru obinerea informaiilor prin formatarea datelor conform cerinelor utilizatorului; - Pages colecia paginilor, o pagin se poate folosi pentru vizualizarea i editarea datelor chiar dac aparin i unui alt tip de surs de date (cum ar fi Excel); - Macros colecia macroinstruciunilor, o macroinstruciune se folosete pentru gruparea mai multor comenzi care se vor executa prin lansarea n execuie a macroinstruciunii; - Modules colecia de module, un modul poate conine declaraii i definiii de variabile, proceduri i funcii. Obiectele bazei de date se disting prin tip i nume; un nume trebuie s respecte convenia de nume dat de urmtoarele reguli: - un nume poate avea maxim 64 de caractere; - un nume poate include orice combinaie de litere, cifre, spaiu, i alte caractere speciale cu excepia caracterelor: punct, semnul exclamrii, apostrof, ghilimele i a parantezelor ptrate; - un nume poate ncepe cu caracterul spaiu; - un nume poate conine caractere de control (cum ar fi <Tab>, <Enter>). 7.3. MENIUL APLICAIEI MICROSOFT ACCESS 7.3.1. Meniul File New Open

Get External Data Close Save Save As Back Up Database Export File Search Page Setup Print Preview

comand folosit pentru crearea unei baze de date noi; comand folosit pentru deschiderea unei baze de date care exist; permite importarea datelor dintr-o baz de date sau crearea legturilor la o baz de date; se nchide baza de date curent; se salveaz modificrile aduse obiectului deschis n fereastra activ; se creeaz o copie sub un nume nou a obiectului selectat; se salveaz o copie a bazei de date curente; se export datele corespunztoare obiectului selectat sub diverse formate (Access, dBase, Lotus, Excel .a.); determin cutarea fiierelor conform criteriilor specificate referitoare la atributele fiierelor cum ar fi nume, autor, lungime; se stabilesc parametrii pentru tiprirea la imprimant; pentru obiectul selectat, se efectueaz afiarea pe
34

Print Send to Database Properties

Exit

ecran conform modelului stabilit pentru tiprirea la imprimant; se listeaz la imprimant obiectul selectat; se trimite obiectul selectat la un container, de exemplu, de tip email; afieaz proprietile bazei de date curente grupate n mai multe seciuni (vezi Figura 7.5), unele proprieti se pot modifica de ctre utilizator (de exemplu, n Figura 7.5, proprietile seciunii Summary); nchide baza de date curent i, dac nu exist alt baz de date deschis, se nchide i fereastra aplicaiei Microsoft Access.

Figura 7.5. Proprieti ale unei baze de date

7.3.2. Meniul Edit Undo Cut Copy Office Clipboard

Paste Create Shortcut

anuleaz ultima modificare executat; creeaz n clipboard o copie a obiectului/obiectelor selectate i le terge din zona de lucru curent; creeaz n clipboard o copie a obiectului/obiectelor selectate n zona de lucru curent; afieaz memoria clipboard special pentru pachetul de aplicaii Office care poate stoca informaii despre ultimele obiecte memorate prin operaii Cut i Copy; dac este permis, ultimul obiect copiat n clipboard se adaug n zona de lucru a ferestrei active; creeaz o legtur la obiectul selectat; legtura se
35

Delete Rename Groups Add to Group 7.3.3. Meniul View Database Objects Large Icons Small Icons List Details

stocheaz ntr-un fiier cu extensia corespunztoare obiectului pentru care s-a creat (de exemplu, .mat pentru legturi la tabele, .maf pentru legturi la formulare) i poate fi folosit pentru deschiderea direct a obiectelor n mod similar utilizrii icoanelor; se terge obiectul selectat; se redenumete obiectul selectat; permite manipularea grupurilor (adugare, redenumire, tergere); un grup poate conine referine la obiectele bazei de date; permite adugarea ntr-un grup a unei referine noi pentru obiectul selectat.

Arrange Icons

Line Up Icons Properties Object Dependencies Code Task Pane Toolbars Refresh 7.3.4. Meniul Insert

se selecteaz una dintre coleciile bazei de date; obiectele coleciei curente se afieaz sub form de icoane mari; obiectele coleciei curente se afieaz sub form de icoane mici; se afieaz doar numele obiectelor; se afieaz numele obiectelor i informaiile Description (descriere), Modified (cnd a fost modificat obiectul), Created (cnd a fost creat obiectul), Type (tipul obiectului); se stabilete un criteriu de afiare sortat a obiectelor: By Name (dup nume), By Type (dup tip), By Created (dup data crerii), By Modified (dup ultima modificare); dac este posibil, se aranjeaz icoanele obiectelor astfel nct s fie aliniate; se afieaz proprietile obiectului selectat; se afieaz obiectele cu care obiectul selectat se gsete n relaii de dependen; se afieaz fereastra mediului de programare; se afieaz panoul de sarcini; permite ascunderea/afiarea barelor de instrumente; se reactualizeaz fereastra bazei de date.

Este folosit pentru inserarea n baza de date a unui obiect nou n oricare dintre colecii. 7.3.5. Meniul Tools

36

Spelling Speech Online Colaboration Relationships Analyze Database Utilities Security Startup Macro ActiveX Controls Add-Ins AutoCorrect Options Customize Options

se lanseaz instrumentul de verificare gramatical; se lanseaz utilitarul de recunoatere vocal; permite conectarea utilizatorilor la un server special dedicat colaborrilor directe; se deschide fereastra pentru gestionarea relaiilor dintre tabelele bazei de date; se folosete pentru analizarea obiectelor bazei de date i obinerea rapoartelor despre acestea; se folosete pentru apelarea utilitarelor bazei de date cum ar fi compactarea i repararea bazei de date, conversia bazei de date etc.; se stabilesc parametrii securitii bazei de date; se stabilesc opiunile pentru lansarea bazei de date; se gestioneaz procedurile de tip Macro; permite manipularea controalelor de tip ActiveX; se folosete pentru adugarea unor programe prin intermediul crora se pot suplimenta comenzile sau facilitile unei baze de date; se stabilesc textele pentru prescurtrile care se vor nlocui n text n momentul editrii; se personalizeaz barele de instrumente; se stabilesc opiunile pentru mediul de lucru al bazei de date cum ar fi culori folosite, dicionarul activ etc.

7.3.6. Meniul Window Se folosete pentru aranjarea ferestrelor conform unor modele (n cascad, suprapuse); pentru ascunderea ferestrei active, pentru aranjarea obiectelor din fereastra activ .a.m.d. 7.3.7. Meniul Help Se folosete pentru afiarea i cutarea n documentaia ajuttoare a aplicaiei Microsoft Access. 7.4. CREAREA UNUI TABEL Pentru crearea unui tabel vom lucru n modul de lucru Design View. Pentru a crea un tabel se lanseaz comanda de creare a tabelelor prin una dintre metodele: 1. se selecteaz din meniul Insert opiunea Table i, n lista ferestrei de dialog afiat, se selecteaz Design View apoi se apas butonul OK; 2. se selecteaz colecia de tabele i se aps butonul din fereastra bazei de date i, n lista ferestrei de dialog afiat, se selecteaz Design View apoi se apas butonul OK;
37

3. prin dublu-click pe opiunea

din fereastra bazei de date.

Oricare ar fi metoda folosit, se va deschide fereastra structurii de tabel care, n acest moment nu conine nici un cmp (vezi Figura 7.6). Titlul ferestrei se compune din numele tabelului (n cazul nostru Table1) urmat de tipul obiectului deschis n fereastr, Table. Coloana Field name va conine numele cmpurilor din tabel. Numele trebuie s respecte convenia de nume descris n finalul subcapitolului 7.2.

Figura 7.6. Fereastra structurii de tabel

Coloana Data Type conine tipurile cmpurilor. Coloana Description poate conine descrierile cmpurilor; descrierile nu sunt obligatorii. n partea inferioar stnga a ferestrei sunt dou seciuni pentru atributele unui, General i Lookup. Seciunea General (vezi tabelul 7.1) va conine atributele referitoare la subtip/dimensiune, indexare, reguli de validare, valoare implicit etc. Seciunea Lookup (vezi tabelul 7.2) conine atributele necesare unui cmp care poate avea ca surs de valori fie un alt cmp fie o list fix de valori. Numrul i numele atributelor difer n funcie de tipul de dat i/sau tipul de surs de valori.
Tabel 7.1

Atributele seciunii General


Atribut Semnificaie pentru tipul Text, numrul maxim de caractere care pot fi introduse ntr-un cmp; pentru tipurile numerice se specific subtipul valorilor (Byte, Integer, Long Integer, Single, Double, ReplicationID, Decimal modul de obinere a valorilor noi modul de afiare; se pot folosi formate predefinite sau personalizate Numrul de zecimale un model pentru introducerea datelor textul afiat atunci cnd cmpul este utilizat ntr38

Tipuri de dat T, N, A, Y/N A T, M, N, D/T, C, A, H N, C T, N, D/T, C T, M, N,

Field Size New Values Format Decimal Places Input mask Caption

un formular generat Default Value Validation Rule Validation Text Required Allow Zero Length Indexed Unicode Compression IME Mode IME Sentence Smart Tags valoarea implicit regula de validare care este o expresie care poate conine operatori logici, funcii i constante predefinite textul afiat atunci cnd valoarea introdus nu respect regula de validare are valoare Yes dac valorile cmpului trebuie s fie diferite de Null; are valoarea No dac valorile nu sunt necesare specific modul n care sunt (Yes) sau nu sunt acceptate (No) ca valori irurile de caractere vide specific modul n care este indexat cmpul; pentru valoarea Yes (No duplicates) nu se accept apariia de mai multe ori a unei aceeai valori; specific dac se accept comprimarea de tip unicode specific modelul de editare al intrrilor specific tipul de propoziie al modelului de editare al intrrilor specific cuvinte rezervate care pot fi folosite n cadrul unor faciliti oferite de Microsoft Access

D/T, C, A, Y/N, O, H T, M, N, D/T, C, Y/N, H T, M, N, D/T, C, Y/N, H T, M, N, D/T, C, Y/N, H T, M, N, D/T, C, Y/N, O, H T, M, H T, M, N, D/T, C, A, Y/N T, M, H T, M, D/T, H T, M, D/T, H T, M, N, D/T, C, A, H

n tabelul 7.1 s-au folosit prescurtrile pentru tipurile de date astfel: T Text, M Memo, N Number, D/T Date/Time; C Currency, Y/N Yes/No, A Autonumber, O OLE Object, H Hyperlink. n partea inferioar dreapta a ferestrei se va afia cte un text scurt ajuttor n funcie de context, de exemplu, n Figura 7.6, cursorul fiind poziionat pe prima linie din coloana Field Name, textul ajuttor se refer la dimensiunea maxim a unui nume de cmp Un nume de cmp poate fi de lungime pn la 64 de caractere, inclusiv spaiile. Apas F1 pentru ajutor referitor la numele de cmpuri. Pentru construirea structurii de tabel din Figura 7.7, s-au modificat atributele astfel: - pentru cmpul Client, atributul Field Size: 30 - pentru cmpul Numar, atributul Field Size: Integer - pentru cmpul Suma, atributul Format: Euro i atributul Decimal Places: 2

39

Figura 7.7. Structura unui tabel

Figura 7.8. Stabilirea numelui unui tabel

Salvarea modificrilor unei structuri de tabel se face selectnd de la meniul File opiunea Save. Atunci cnd salvarea se face pentru prima dat, trebuie specificat numele tabelului (vezi Figura 7.8) iar, dac nu s-a creat o cheie primar i nici nu se dorete crearea cheii primare implicite, ID de tip AutoNumber, se va rspunde prin apsarea butonului No (vezi Figura 7.9).

Figura 7.9. Mesaj referitor la inexistena cheii primare

Cheia primar se poate defini n timpul crerii sau ulterior crerii unui tabel astfel: se selecteaz cmpul/cmpurile care se vor constitui ca i cheie primar; se selecteaz de la meniul Edit opiunea Primary Key.

Simbolul va marca toate cmpurile cheii primare. Atunci cnd se definete o cheie primar trebuie avut n vedere urmtoarele: cheia primar definete unic o nregistrare; deci, pentru tabelul Terti o cheie primar format din cmpul Denumire nu poate fi valid pentru c poate exista o firm cu numele FamilyExpert n Oradea i una n Radna; n cazul n care cheia primar se definete dup ce s-au adugat nregistrri, dac valorile cheii primare nu sunt unice, se va genera un mesaj (vezi Figura 7.10)

Figura 7.10. Mesaj referitor la cheia primar definit pentru cmpuri care conin valori duplicate

n cazul cmpurilor compuse o valoare a indexului se formeaz prin concatenarea valorilor cmpurilor care compun indexul, de exemplu, pentru tabelul Terti, dac indexul este compus din

40

cmpurile Denumire i Localitate, EximArad este o valoare a indexului, unde Exim este denumirea, iar Arad este localitatea. EximArad este diferit de EximRadna aa c putem considera o cheie primar format din cmpurile Denumire i Localitate. Bineneles c, dac n Radna exist Exim de tip SRL i Exim de tip AF, cheia primar trebuie modificat. Dac se genereaz mesajul din Figura 7.10, trebuie verificate cmpul/cmpurile care compun cheia primar ca s nu conin valori duplicate. Dup salvare, se va nchide fereastra structurii tabelului. n lista tabelelor se va afia numele noului tabel care se poate deschide pentru adugarea, modificare i/sau tergerea nregistrrilor stocate. 7.5. FEREASTRA DATASHEET Coninutul unui tabel se poate modifica prin intermediul ferestrei de date. Aceast metod nu este recomandat pentru tabelele ale cror structur se compune dintr-un numr mare de cmpuri, afiarea acestora pe o linie la un moment dat putnd ngreuna procesul de editare a valorilor. Accesarea coninutului unui tabel, adic deschiderea unui tabel, se face prin una dintre metodele: 1. se selecteaz tabelul n lista tabelelor i se apas butonul 2. prin dublu-click pe numele tabelului. ;

Oricare ar fi metoda folosit, tabelul selectat se va deschide ntr-o fereastr de date. Pentru tabelul Chitante creat cu structura din Figura 7.7, aceast fereastr se prezint n Figura 7.10, cu observaia c tabelul nu conine nicio nregistrare.
Indicatorul nregistrrii Linia numelor cmpurilor

Bara de navigare

Linia unei nregistrri noi

Figura 7.11. Fereastra datasheet pentru un tabel care nu conine nregistrri

Indicatorul nregistrrii marcheaz nregistrarea curent. n cazul situaiei din Figura 7.11 aceast nregistrare e una virtual care nu exist fizic n tabel dar care este util pentru c specific valorile implicite, formatele de afiare a valorilor i alte elemente ajuttoare utilizatorului uman; de exemplu pentru cmpul Suma, cu valoare implicit 0 (zero), formatul de afiare adaug cuvntul lei dup valoarea cmpului. Bara de navigare se compune din: texte explicative (de exemplu Record), cinci butoane i un cmp de editare care se folosesc astfel: pentru deplasare la prima nregistrare; butonul butonul pentru deplasare la nregistrarea precedent celei curente; butonul pentru deplasare la nregistrarea succesiv celei curente; butonul pentru deplasare la ultima nregistrare;

41

butonul pentru deplasare la nregistrarea virtual pregtit pentru crearea unei nregistrri noi; - cmpul de editare care afieaz numrul de ordine al nregistrrii curente i se poate folosi pentru salt la o nregistrare oarecare (se introduce numrul nregistrrii i se apas tasta Enter). - textul explicativ of urmat de numrul de nregistrri din tabel; n Figura 7.10 se observ c pentru un tabel care nu conine nregistrri acest numr este 1, la fel ca i numrul de ordine al nregistrrii curente. Deplasarea n fereastra datasheet se face prin apsarea tastei <TAB>, prin click cu mouse-ul direct n celula de interes i/sau prin folosirea tastelor direcionale. Adugarea Modificarea coninutului unui tabel se face prin adugarea de nregistrri, modificarea celor unei existente i tergerea de nregistrri. Adugarea unei nregistrri se face prin modificarea valorilor nregistrri din celulele liniei nregistrrii virtuale care este marcat cu simbolul (n Figura 7.12 aceast linie este dup nregistrarea curent marcat cu simbolul ). Valorile introduse trebuie s fie n concordan cu tipul cmpului, s respecte eventualele constrngeri i/sau formate de introducere (cum ar fi pentru valorile de tip dat calendaristic ce trebuie s respecte modelul stabilit fie prin opiunile sistemului de operare fie prin atributul Input Mask). n timpul editrii unei nregistrri, . Figura 7.12 prezint tabelul Chitante deschis ntr-o nregistrarea va fi marcat cu simbolul fereastr de date (datasheet) care conine 10 nregistrri.

Figura 7.12. Fereastra datasheet pentru un tabel care conine 10 nregistrri

n timpul editrii unei nregistrri, dac nu se introduc valori corecte se va afia un mesaj eroare care depinde de contextul n care apare eroare. Un exemplu este cel prezentat n Figura 7.13 care se poate traduce astfel Valoarea introdus nu este valid pentru acest cmp. De exemplu, ai introdus text ntr-un cmp numeric sau un numr mai mare dect cel permis prin setarea Field Size.

Figura 7.13. Fereastra datasheet pentru un tabel care conine 10 nregistrri

tergerea unei nregistrri se poate face astfel: se poziioneaz indicatorul de nregistrare la nregistrarea care trebuie tears i se selecteaz din meniul Edit opiunea Delete Record.

42

7.6. CMPURI CU SURS DE VALORI Seciunea Lookup poate fi folosit pentru stabilirea sursei de valori a unui cmp i a modului de afiare a valorilor surs. Implicit aceast seciune conine un singur atribut Display Control care stabilete modul de afiare i de obinere a valorilor unui cmp; cel mai des acest atribut are valoarea Text Box i este modul folosit pn acum n fereastra datasheet n care valorile text, numerice i dat s-au preluat printr-un cmp de editare (vezi Figurile 7.11 i 7.12). Dac atributul Display Control are valoarea List Box sau Combo Box valorile sursei se vor afia ntr-o list sau respectiv ntr-o list ascuns. Pentru oricare dintre aceste dou valori, n seciunea Lookup se vor afia unele dintre atribute specifice prezentate n tabelul 7.2. Dac Row Source Type este Value List atunci prin intermediul atributului Row Source se specific valorile delimitate prin caracterul ; (punct i virgul) ca n urmtoarele exemple: 11;21;34;55 lista conine patru valori i anume 11, 21, 34 i 55; Timioara;Arad;Oradea;Lugoj;Reia lista conine cinci valori i anume Timioara, Arad, Oradea, Lugoj, i Reia;
Tabel 7.2

Atributele seciunii Lookup Atribut


Row Source Type Row Source Bound Column Column Count Column Heads Column Widths List Rows List Width Limit To List

Semnificaie
tipul sursei de date; poate fi Table/Query (pentru cmpul dintr-un tabel sau interogare), Value List (dac se specific o list de valori delimitate prin caracterul ;) sau Field List (dac se dorete utilizarea numelor cmpurilor dintr-un tabel sau interogare) specific sursa de valori care poate fi un tabel (specificat prin nume) sau o interogare (specificat prin nume sau printr-o expresie) specific numrul de ordine al coloanei care va fi folosit ca surs de valori numrul de coloane afiate dac are valoare True, se afieaz denumirile coloanelor conine dimensiunile coloanelor delimitate prin caracterul ; numrul de valori afiate n list limea listei dac este Yes, valorile sunt limitate la cele specificate prin atributul Row Source

Display Control
LB, CB

LB, CB LB, CB LB, CB LB, CB LB, CB CB CB CB

n tabelul 7.2 s-au folosit prescurtrile pentru valorile atributului Display Control: LB List Box, CB Combo Box. Fie baza de date Facturi care conine tabelele Localitati (vezi tabelul 7.3), Terti (vezi tabelul 7.4), AntetFactura (vezi tabelul 7.5), LiniiFactura (vezi tabelul 7.6).

43

Tabel 7.3

Structura tabelului Localitati


Nume cmp Localitate Judet Tip, dimensiune Text, 30 Text, 25

Tabelul Terti va conine date despre societi comerciale, se va impune o constrngere asupra cmpului Localitate: s conin doar nume de localiti din tabelul Localitati. Pentru stabilirea surselor de date, n cazul tabelului Terti, se vor modifica n seciunea Lookup, urmtoarele atribute astfel: - pentru cmpul Localitate: Display Control: Combo Box Row Source Type: Table/Query Row Source: Localitati Limit To List_ Yes - pentru cmpul Tip: Display Control: List Box Row Source Type: Value List Row Source: SRL;AF;SA
Tabel 7.4

Structura tabelului Terti


Nume cmp Cod Denumire Adresa Localitate Telefon Tip Tip, dimensiune Autonumber Text, 25 Memo Text, 30 Text, 15 Text, 5

Tabelul AntetFactura se folosete pentru stocarea datelor din antetul facturilor; sursa de valori pentru cmpul CodTert este cmpul Cod al tabelului Terti.
Tabel 7.5

Structura tabelului AntetFactura


Nume cmp NumarFactura DataFactura CodTert Tip, dimensiune Text, 12 Date/Time Number, Integer

Tabelul LiniiFactura se folosete pentru stocarea datelor din liniile facturii, pentru fiecare produs/serviciu: denumirea, unitatea de msur, cantitatea i preul fr TVA.
Tabel 7.6

Structura tabelului LiniiFactura


Nume cmp NumarFactura Denumire Tip, dimensiune Text, 12 Text, 30

44

UM Cantitate PretFaraTVA

Text, 5 Number, Single, cu 2 zecimale Currency, cu 2 zecimale

Sursa de valori pentru cmpul NumarFactura al tabelului LiniiFactura este cmpul cu acelai nume al tabelului AntetFactura. Atunci cnd se adaug sau se modific nregistrrile tabelului Terti, pentru cmpul Localitate se poate afia lista valorilor coninute de cmpul Localitate al tabelului Localitati (vezi Figura 7.14).

Figura 7.14. Lista de valori pentru un cmp cu surs de valori

n Figura 7.14 se remarc faptul c n lista valorilor pentru cmpul Localitate se afieaz opt valori la un moment dat (pentru c atributul List Rows este 8), iar valoarea cmpului nregistrrii curente este selectat n list. Pentru c atributul Limit to List este Yes, dac se ncearc introducerea unei localiti care nu exist n list (adic i n tabelul Localitati), atunci se va afia mesajul de eroare prezentat n Figura 7.15 care se poate traduce aproximativ Textul introdus nu exist n list. Selectai o valoare din list sau introducei o valoare care se potrivete exact cu una din list.

Figura 7.15. Mesaj de eroare pentru valori care nu aparin unei liste

45

VIII. RELAII NTRE TABELE, INTEROGRI


8.1. CREAREA RELAIILOR Administrarea relaiilor dintre tabele se face prin intermediul unei interfee speciale care se acceseaz selectnd de la meniul Tools opiunea Relationships. Adugarea tabelelor i/sau interogrilor care se vor folosi pentru crearea relaiilor se face folosind fereastra Show Table (vezi Figura 8.1) astfel: se selecteaz numele de interes i se apas butonul Add. Fereastra se nchide prin apsarea butonului Close.

Figura 8.1. Fereastra Show Table

Dup ce s-au selectat tabelele de interes, se vor crea relaiile ntre tabele efectund urmtorii pai: 1. se selecteaz din primul tabel al relaiei cmpul de interes; 2. cu butonul stng al mouse-ului apsat, se deplaseaz cursorul deasupra cmpului de interes din cel de al doilea tabel al relaiei (vezi Figura 8.3) i se elibereaz butonul mouse-ului; 3. n fereastra de dialog afiat (vezi Figura 8.2), se apas butonul Create; 4. rezultatul este prezentat grafic sub forma unei linii dintre cmpurile tabelelor (vezi Figura 8.3).

Figura 8.2. Fereastra Edit Relationships

Figura 8.3. Relaia dintre tabelele AntetFactura i LiniiFactura

Cmpurile implicate ntr-o relaie se mai numesc i cmpuri de legtur i trebuie s fie de acelai tip cu excepia cmpurilor de tip Autonumber care se pot fi legate cu cmpuri de tip Number. Relaiile se terg astfel: se selecteaz linia care marcheaz vizual o relaie i se apas tasta Delete.

46

8.2. CREAREA INTEROGRILOR DE DETALIU PE BAZA UNUI TABEL O interogare se folosete pentru obinerea unei mulimi de nregistrri asupra crora se va aplica unitar una dintre comenzile de selecie, actualizare sau tergere. n cele ce urmeaz vom lua n discuie doar interogrile de selecie pentru care rezultatul este afiat ntr-o fereastr de date (datasheet) i vom folosi baza de date Facturi, tabelele acesteia fiind descrise mai sus. Crearea interogrilor se face, cel mai simplu, cu ajutorul generatorului de rapoarte i se procedeaz prin parcurgerea urmtorilor pai: - (1) se lanseaz comanda de creare a unui raport prin una dintre metodele: prin selectarea din meniul Insert a opiunii Query i n lista fereastrei de dialog afiat se selecteaz Simple Query Wizard apoi se apas butonul OK; prin selectarea coleciei de interogri i apsarea butonului din fereastra bazei de date i n lista fereastrei de dialog afiat se selecteaz Simple Query Wizard apoi se apas butonul OK; prin selectarea coleciei de interogri i apoi prin dublu-click pe opiunea din fereastra bazei de date; - (2) se aleg opiunile referitoare la tabel i cmpuri (vezi Figura 8.3): se selecteaz numele tabelului din lista ascuns (n cazul nostru tabelul Terti;

Lista tabelelor i interogrilor din baza de date

Figura 8.4. Selectarea tabelului i a cmpurilor unei interogri

se selecteaz din lista cmpurilor disponibile (Available Fields) cmpurile de interes; (pentru selectarea unui cmp) i pentru acesta se folosesc butoanele (pentru selectarea tuturor cmpurilor); cmpurile selectate se vor muta n lista Selected Fields fiind afiate n ordinea selectrii; n exemplu cmpurile au fost selectate n ordinea Localitate, Denumire, Cod, Adresa, Telefon, iar cmpul Tip nu a fost selectat; butoanele , se folosesc pentru deselectarea cmpurilor;

47

Figura 8.5. Stabilirea numelui unei interogri

se apas butonul

pentru a se trece la pasul urmtor;

- (3) se selecteaz tipul interogrii i se trece la pasul urmtor; - (4) se specific numele interogrii (vezi Figura 8.5 unde titlul este Terti Query) n fereastra din Figura 8.5 se remarc existena urmtoarelor opiuni: care se activeaz dac se dorete deschiderea interogrii ntr-o fereastr de date (aceast opiune va rmne selectat); care se activeaz dac se dorete deschiderea interogrii n fereastra Design Mode. care se activeaz dac se dorete afiarea documentaiei pentru lucrul cu fereastra datasheet (vezi Figura 8.6).

Figura 8.6. Fereastra documentaiei Microsoft Office

Se apas butonul pentru lansarea crerii interogrii cu opiunile specificate la paii 2, 3 i 4. Dup ce interogarea a fost creat, rezultatul ei se va deschide ntr-o fereastr de date, un rezultat posibil este prezentat n Figura 8.7.

48

Figura 8.7. Fereastra datasheet a unei interogri de selecie

Fereastra datasheet creat pe baza unui tabel se poate folosi pentru modificarea nregistrrilor tabelului dar numai a valorilor cmpurilor selectate pentru crearea interogrii. Se recomand utilizarea interogrilor numai pentru consultare fie n fereastra datasheet fie prin intermediul unui raport. O interogare se poate deschide folosind una dintre metodele: - se selecteaz colecia de interogri, se selecteaz interogarea i se apas butonul - fie prin dublu-click pe numele interogrii. ;

8.3. CREAREA INTEROGRILOR DE DETALIU PE BAZA MAI MULTOR TABELE Interogrile se pot crea i pe baza mai multor tabele ntre care exist relaii. Paii urmai sunt cei descrii n capitolul anterior, deosebirea fiind la pasul 2 cnd se selecteaz tabelele i a cmpurile. Pasul 2 se modific astfel: a) din lista ascuns se selecteaz primul tabel al interogrii i se selecteaz cmpurile de interes; b) din lista ascuns se selecteaz urmtorul tabel al interogrii i se selecteaz cmpurile de interes; dac se selecteaz cmpuri cu acelai nume, acestea vor fi specificate conform sintaxei nume_tabel.nume_cmp c) se repet subpasul b) pentru restul tabelelor interogrii.

Figura 8.8. Selectarea tabelelor i cmpurilor unei interogri 49

n Figura 8.8 se observ c a fost selectat cmpul Denumire al tabelului Terti i cmpul Denumire al tabelului LiniiFactura care sunt specificate ca Terti.Denumire respectiv LiniiFactura.Denumire. Un rezultat posibil al interogrii create conform figurii 8.8, este prezentat n Figura 8.9.

Figura 8.9. Fereastra datasheet pentru o interogare pe baza mai multor tabele

Nu se permite adugarea i/sau modificarea nregistrrilor ntr-o fereastr de date a unei interogri multi-tabel. Astfel, n Figura 8.9 se observ c nu mai exist linia marcat cu simbolul , linie pregtit pentru o nregistrare nou. ncercarea de a modifica valoarea unui cmp va eua. Tot n Figura 8.9 se observ c numele coloanelor Denumire sunt compuse din numele tabelului, urmat de caracterul de subliniere _ i de numele cmpului: Terti_Denumire i LiniiFactura_Denumire. 8.4. CREAREA INTEROGRILOR DE SUMARIZARE O interogare de sumarizare este o interogare n care se folosesc urmtoarele funcii de calcul: Sum pentru nsumarea valorilor unui cmp; Avg pentru calcularea mediei valorilor unui cmp; Min pentru determinarea valorii minime a unui cmp; Max pentru determinarea valorii maxime a unui cmp. Crearea interogrilor se face prin parcurgerea urmtorilor pai: - (1) se lanseaz comanda de creare a unui raport prin una dintre metodele deja prezentate n subcapitolul 8.1; - (2) se aleg opiunile referitoare la tabel i cmpuri (vezi Figura 8.10 unde pentru exemplu sau selectat tabelele AntetFactura i LiniiFactura);

50

Figura 8.10. Selectarea tabelelor i cmpurilor

- (3) se selecteaz tipul interogrii i se apas pe butonul ; n fereastra Summary Options se selecteaz, pentru fiecare cmp, funciile de interes (vezi Figura 8.11) dintre Sum, Avg, Min i/sau Max; dac este de interes numrarea nregistrrilor pe baza relaiilor definite n fereastra Relationships, se selecteaz opiunea ; se trece la pasul urmtor; - (4) pentru cmpurile de tip Date/Time, se selecteaz una dintre opiunile de grupare: Unique date/time grupare dup fiecare dat sau timp; Day grupare dup zi (opiune selectat pentru exemplul prezentat); Month grupare dup lun; Quarter grupare dup trimestru; Year grupare dup an. - (5) se stabilete numele interogrii i se apas butonul Finish.

Figura 8.11. Selectarea funciilor de sumarizare

Figura 8.12 prezint un rezultat pentru interogarea construit conform opiunilor selectate (vezi Figura 8.10) pe baza tabelelor AntetFactura i LiniiFactura.

51

Figura 8.12. Fereastra datasheet pentru o interogare de sumarizare

n Figura 8.12 se remarc urmtoarele nume de coloane: DataFactura By Day care este cmpul de grupare dup dat; Sum of Cantitate care este cmpul pentru calcularea sumei cantitilor pentru fiecare denumire la nivel de zi; Avg Of PretFaraTVA care este cmpul pentru calcularea mediei cantitilor pentru fiecare denumire la nivel de zi. Figura 8.13 prezint rezultatul unei interogri de sumarizare pentru care s-au selectat urmtoarele: cmpurile Denumire din tabelul Terti, Cantitate din tabelul LiniiFactura; funcia Sum pentru cmpul Cantitate (pentru care s-a generat cmpul Sum Of Cantitate); opiunea Count records (pentru care s-a generat cmpul Count Of AntetFactura);

Fig. 8.13 Fereastra datasheet pentru o interogare de sumarizare

Din Figura 8.13 putem trage concluzia c pentru: AliEmi exist 4 linii de factur care nsumeaz 74 de uniti; Avinia exist 8 linii de factur care nsumeaz 194 de uniti; Eduardo exist 6 linii de factur care nsumeaz 124 de uniti; .a.m.d

52

IX. FORMULARE
9.1. CREAREA UNUI FORMULAR PE BAZA TABELELOR Chiar dac un tabel se poate modifica cu uurin prin intermediul unei ferestre de date, formularele sunt instrumente puternice care se folosesc ca o interfa ntre utilizator i tabele. Formularele se caracterizeaz prin interfaa prietenoas care corespunde modului propriu de lucru al utilizatorului. Crearea formularelor se face, cel mai simplu, cu ajutorul generatorului de formulare i se procedeaz prin parcurgerea urmtorilor pai: - (1) se lanseaz comanda de creare a unui formular prin una dintre metodele: prin selectarea din meniul Insert a opiunii Form, n lista ferestrei de dialog afiat se selecteaz Form Wizard i se apas butonul OK; i prin apsarea butonului din prin selectarea coleciei de formulare fereastra bazei de date i, n lista ferestrei de dialog afiat, se selecteaz Form Wizard i se apas butonul OK; prin dublu-click pe opiunea din fereastra bazei de date. - (2) se aleg opiunile referitoare la tabel i cmpuri (vezi Figura 9.1): se selecteaz numele tabelului din lista ascuns (n cazul nostru tabelul Terti; se selecteaz din lista cmpurilor disponibile (Available Fields) cmpurile de interes; pentru acesta se folosesc butoanele (pentru selectarea unui cmp) i (pentru selectarea tuturor cmpurilor); cmpurile selectate se vor muta n lista Selected Fields fiind afiate n ordinea selectrii; n exemplu cmpul Cod nu a fost selectat fiind un cmp de tip Autonumber, iar ordinea selectrii diferit de ordinea cmpurilor din structura de tabel; butoanele deselectarea cmpurilor; se apas butonul , se folosesc pentru

pentru a se trece la pasul urmtor;

Figura 9.1. Generatorul de formulare: selectarea tabelului i a cmpurilor

- (3) se selecteaz planul general (layout) al formularului care poate fi: columnar (Columnar, vezi Figura 9.2);

53

Figura 9.2. Selectarea modelului Columnar

tabelar (Tabular, vezi Figura 9.3);

Figura. 9.3. Modelul Tabular

Figura 9.4. Formular Tabular

fereastr de date (Datasheet, vezi Figura 9.5);

Figura 9.5. Modelul Datasheet

Figura 9.6. Formular Datasheet

Justified (vezi Figura 9.7);

54

Figura 9.7. Modelul Justified

Figura 9.8. Formular Justified

se apas butonul pentru a se trece la pasul urmtor; - (4) se selecteaz stilul formularului adic acea combinaie de culori i fonturi care este cea mai potrivit conform cerinelor utilizatorului; dintre stiluri amintim: Blends, Expedition, Industrial, International, Stone; de exemplu pentru Tabular s-a selectat Standard, iar pentru modelul Justified s-a selectat stilul Industrial; dup ce s-a selectat stilul dorit, se trece la urmtorul pas; - (5) se stabilesc urmtoarele opiuni: titlul formularului care se va folosi i ca nume al formularului; modul de deschidere: deschidere pentru consultarea sau introducerea datelor (Open the form to view or enter information) sau deschidere n mod design (Modify the forms design), se va selecta prima opiune i se va apsa butonul ;

Figura 9.9. Formularul Terti n stil Columnar

Figura 9.9 prezint formularul creat pe baza tabelului Terti, creat cu modelul Columnar. Se observ c, la un moment dat, se afieaz cmpurile unui nregistrri. Cmpul Tip are stabilite proprietile (din seciunea Lookup) cu valorile: Display Control: List Box; Row Source Type: Value List i Row Source: SRL;AF;SA; pentru acest cmp formularul conine o list n care este selectat valoarea corespunztoare valorii cmpului (AF n Figura 9.2). Pentru cmpul Localitate sa generat o list ascuns (pentru c are atributul Display Control are valoarea Combo Box), iar pentru Adresa (cmp de tip Memo) cmpul de editare este mai mare dect celelalte cmpuri de editare folosite pentru cmpurile Denumire i Telefon. Formularul creat cu modelul Tabular este prezentat n Figura 9.4, cel creat cu modelul Datasheet este prezentat n Figura 9.6 iar cel creat cu modelul Justified n Figura 9.8. n Figurile 9.4

55

i 9.8 cmpurile cu surs valori i cu proprietatea Display Control egal cu List Box, valoarea cmpului este selectat n lista pentru cmpul respectiv Tip. Deschiderea unui formular pentru consultarea i/sau modificarea nregistrrilor se poate face prin una dintre metodele: - prin selectare n lista coleciei de formulare i apsarea butonului din fereastra bazei de date; - prin dublu-click pe numele formularului. Un formular se poate crea i pe baza mai multor tabele caz n care formularul se poate folosi numai pentru consultare nregistrrilor. Figura 9.10 prezint formularul creat pe baza tabelelor AntetFactura i LiniiFactura, ntre care exist relaii stabilite n fereastra Relationships, modelul folosit fiind Columnar.

Figura 9.10. Formular creat cu modelul Columnar, pe baza a dou tabele AntetFactura i LiniiFactura

Figura 9.11 prezint creat cu modelul Datasheet, pe baza tabelelor AntetFactura i LiniiFactura.

Figura 9.11. Formular creat cu modelul Datasheet, pe baza a dou tabele AntetFactura i LiniiFactura

Att n Figura 9.10 ct i n Figura 9.11, butonul pentru salt la nregistrarea nou este dezactivat pentru c nu se permite adugarea unei nregistrri noi. 9.2. CREAREA UNUI FORMULAR PE BAZA UNEI INTEROGRI Crearea formularelor pe baza unei interogri se face urmnd aceeai pai descrii n subcapitolul 9.1. Atunci cnd se selecteaz cmpurile (pasul 2) se va constata c, dac interogarea conine cmpuri virtuale (cele create pentru funciile de sumarizare), se pot selecta i acestea (vezi Figura 9.12 n care se prezint pasul 2 al crerii unui formular pe baza interogrii QValoare care are cmpul virtual ValTVA).

56

Figura 9.12. Crearea unui formular pe baza unei interogri

n Figura 9.12 se observ ca unele cmpuri se specific mpreun cu numele tabelelor de care aparin conform sintaxei tabel.cmp (Terti.Denumire, LiniiFactura.Denumire), aceste cmpuri fiind cele care, n absena numelui tabelului, pot genera confuzie avnd aceeai denumire. Deosebirea funcional dintre deschiderea unui formular creat pe baza unui tabel i deschiderea unui formular creat pe baza unei interogri se face simit atunci cnd interogarea s-a creat pe baza mai multor tabele. n acest caz formularele nu permit modificarea valorilor cmpurilor. Valoarea cmpurilor virtuale, care afieaz valori calculate, nu se pot modifica. Dac, atunci cnd se selecteaz tabelele i interogrile pentru un formular, ntre ele nu se pot stabili relaii logice i/sau funcionale corecte, se va afia un mesaj de eroare (vezi Figura 9.13).

Figura 9.13. Mesaj de eroare la crearea unui formular pe baza unor tabele ntre care nu se pot stabili legturi

Mesajul din Figura 9.13 se poate traduce cu aproximaie astfel: Ai selectat cmpuri din surse de nregistrri la care generatorul nu se poate conecta. Trebuie s selectai cmpuri dintr-un tabel sau dintr-o interogare bazat pe un tabel. Dac astfel, ncercai s selectai cmpuri numai dintr-un tabel sau numai dintr-o interogare. 9.3. SORTAREA I FILTRAREA Atunci cnd se deschide un formular pentru consultare/modificare, ordinea de afiare a nregistrrilor se poate modifica prin stabilirea unei ordini de afiare astfel: - se selecteaz cmpul dup care se dorete ordonarea; - se selecteaz din meniul Records opiunea Sort; se observ c aceast opiune este un submeniu care are, la rndul su, dou opiuni: Sort Ascending pentru ordonare cresctoare; Sort Descending pentru ordonare descresctoare. n cazul cmpurilor de tip Text, irurile de caractere care ncep caracterele diferite de litere i cifre preced irurile de caractere care ncep cu cifre (vezi Figura 9.14) unde valoarea primei linii are ca prim caracter caracterul spaiu.
57

Figura 9.14. Crearea unui formular pe baza unei interogri

Dac formularul a fost creat folosind modelul Datasheet, se pot selecta mai multe cmpuri pentru care s se apeleze sortarea. Selecia mai multor coloane se face astfel: se apas pe numele primei coloane; se ine apsat butonul stng al mouse-ului i se deplaseaz mouse-ul spre stnga sau dreapta, peste celelalte cmpuri; cnd s-au selectat toate cmpurile, se elibereaz butonul stng al mouse-ului.

Figura 9.15. Selecia multi-coloan

Figura 9.14 prezint un exemplu n care sunt selectate dou coloane/cmpuri i anume: Tip i Denumire.

Figura 9.16. Sortarea multi-coloan

Figura 9.16 prezint un exemplu de sortare n funcie de dou cmpuri, Tip i Denumire. Se observ c ordinea valorilor cmpului Tip este AF, SA, SRL i, n pentru fiecare valoare, denumirile sunt sortate alfabetic cresctor. Filtrarea se folosete pentru a restrnge numrul de nregistrri care se Filtrarea prelucreaz la un moment dat, n cazul nostru prelucrarea nseamn afiarea ntr-un formular. Cu toate c n exemplele urmtoare se va lucra cu un formular de tip Datasheet, filtrarea se poate aplica i formularelor de tip Column ct i n fereastra datasheet. Una dintre metodele de filtrare este de a

58

limita afiarea nregistrrilor pentru care valoarea unui cmp se potrivete exact cu valoarea de filtrare i se face astfel: se deplaseaz cursorul de editare n cmpul de editare care conine valoarea de interes; din meniul Records se selecteaz opiunea Filter, apoi opiunea . Figura 9.17 prezint un formular n care filtrarea s-a fcut dup valoarea 1 a cmpului CodTert.

Figura 9.17. Sortarea multi-coloan

n Figura 9.17 se remarc n partea dreapt a barei de navigare explicaia Filtered care nseamn c mulimea de nregistrri este filtrat. Un filtru se poate terge selectnd din meniul Records, opiunea Remove Filter/Sort.

59

X. RAPOARTE
10.1. CREAREA UNUI RAPORT SIMPLU PE BAZA UNUI TABEL Crearea rapoartelor se face, cu ajutorul generatorului de rapoarte (Report Wizard) prin parcurgerea urmtorilor pai: - (1) se lanseaz comanda de creare a unui raport prin una dintre metodele: prin selectarea din meniul Insert a opiunii Report i n lista ferestrei de dialog afiat se selecteaz Report Wizard apoi se apas butonul OK; prin selectarea coleciei de rapoarte i prin apsarea butonului din fereastra bazei de date i, n lista ferestrei de dialog afiat, se selecteaz Report Wizard apoi se apas butonul OK; prin dublu-click pe opiunea din fereastra bazei de date; - (2) se aleg opiunile referitoare la tabel i cmpuri (vezi Figura 10.1): se selecteaz numele tabelului din lista ascuns (n cazul nostru tabelul Terti; pentru selectarea cmpurilor de interes (n exemplul din figur acestea sunt Localitate, Denumire, Telefon) se folosesc butoanele i astfel: butonul se folosete pentru trecerea unui singur cmp din lista Available Fields n lista Selected Fields; butonul se folosete pentru trecerea tuturor cmpurilor din lista Available Fields n lista Selected Fields; se apas butonul pentru a se trece la pasul urmtor; - (3) gruparea nregistrrilor momentan nu este necesar gruparea nregistrrilor aa c se trece la pasul urmtor;

Figura 10.1. Selectarea tabelului i a cmpurilor unui raport

- (4) sortarea nregistrrilor momentan nu este necesar sortarea nregistrrilor aa c se apas butonul pentru a se trece la pasul urmtor; - (5) se stabilete formatul general al raportului; acesta poate fi columnar (Columnar, vezi Figura 10.2), tabelar (Tabular, vezi Figura 10.4) aliniat bilateral (Justified, vezi Figura 10.6).

60

Figura 10.2. Modelul Columnar

Figura 10.3. Un raport Columnar

La acest pas, se poate stabili dac toate cmpurile s ncap ntr-o pagin (prin activarea comutatorului ) i dac raportul trebuie generat pentru o tiprire portret sau peisaj .

Figura 10.4. Modelul Tabular

Figura 10.5. Un raport Tabular

Diferenele dintre modelele de rapoarte se fac remarcate n Figurile 10.5, 10.7 i 10.9.

61

Figura 10.6. Modelul Justified

Figura 10.7. Un raport Justified

- (6) se selecteaz stilul raportului din lista care conine urmtoarele denumiri: Bold, Casual, Compact, Corporate, Formal i Soft Gray; un stil se caracterizeaz prin fonturile i culorile Stilurile rapoartelor folosite pentru elementele principale din raport (vezi exemplele din Figurile 10.8 i 10.9) fr grupare n Figurile 10.8 i 10.9 se remarc urmtoarele elemente: Title reprezint titlul raportului (n Figura 10.3. acesta este Terti, n Figura 10.5 este Terti tabelar i n Figura 10.7 este Terti justified; Label above Detail reprezint etichetele folosite pentru informaia detaliat a raportului (n Figurile 10.3, 10.5 i 10.7 acestea coincid cu numele cmpurilor Localitate, Denumire i Telefon); Control from Detail reprezint datele raportului care se preiau din fiecare nregistrare i se afieaz conform modelului ales;

Figura 10.8. Stilul Bold

Figura 10.9. Un raport Soft Gray

- (7) se stabilete titlul raportului (vezi Figura 10.10); acest titlu este folosit i ca nume al raportului n colecia de rapoarte a bazei de date;

Titlul raportului

Figura 10.10. Stabilirea titlului unui raport 62

n Figura 10.10 se remarc urmtoarele opiuni: care se activeaz dac se dorete deschiderea raportului pentru consultare (se recomand s fie selectat); care se activeaz dac se dorete deschiderea raportului ntr-o fereastr de design; se activeaz dac se dorete afiarea comutatorul documentaiei ajuttoare pentru lucrul cu rapoartele. Dup stabilirea titlului se apas butonul i, pentru c opiunea

este activ, se va deschide raportul ntr-o fereastr (vezi Figurile 10.3, 10.5, 10.7) care conine o bar de navigar similar celei din fereastra datasheet. Butoanele barei de navigare se folosesc astfel: butonul pentru deplasare la prima pagin; butonul pentru deplasare la pagina precedent celei curente; butonul pentru deplasare la pagina succesiv celei curente; butonul pentru deplasare la ultima pagin; - cmpul de editare care afieaz numrul de ordine al paginii curente i se poate folosi pentru salt la o pagin oarecare. Crearea unui raport pe baza unei interogri se face urmnd aceeai pai descrii pn acum. Deschiderea unui raport se poate face fie, n lista coleciei de rapoarte, se selecteaz raportul i se apas butonul fie prin dublu-click pe numele raportului. 10.2 CREAREA UNUI RAPORT CU SORTARE Un raport cu sortare este un raport pentru care s-a specificat ordinea de sortare pentru cel puin un cmp atunci cnd este n lucru pasul 4 (vezi Figura 10.11); precedena de sortare este dat de ordinea de selectare a cmpurilor n listele etichetate nu nivelul de preceden 1, 2,3, 4. n raportul exemplu, nti se vor sorta nregistrrile dup valorile din cmpul Localitate apoi dup Denumire. Cuvntul None se poate folosi atunci cnd se dorete renunarea la unul dintre cmpurile de sortare.

Figura 10.11. Stabilirea cmpurilor pentru sortarea nregistrrilor raportului 63

n Figura 10.11 se remarc butoanele Ascending i Descending care sunt de tip comutator i se folosesc pentru stabilirea ordinii de sortare, implicit acestea au textul Ascending ceea ce nseamn c sortarea va fi cresctoare; Dac butonul de sortare se apas cnd textul butonului este Ascending, sensul sortrii se modific devenind descresctor i butonul va avea textul Descending. Figura 10.12 prezint un exemplu de raport creat pe baza unei interogri i sortat dup cmpurile din Figura 10.11.

Figura 10.12. Raport sortat creat pe baza unei interogri folosind modelul Tabular i stilul Casual

n Figura 10.12 se observ c valorile pentru Denumire sunt sortate n ordine cresctoare i, pentru fiecare denumire, valorile ValCuTVA sunt sortate descresctor. 10.3 CREAREA UNUI RAPORT CU GRUPARE Un raport cu grupare este un raport n care se vor crea grupuri de nregistrri dup cmpurile specificate la pasul 3. Figura 10.13 prezint fereastra de dialog pentru stabilirea gruprilor i un exemplu de grupare. Gruparea se specific astfel: 1. n lista stng care conine numele cmpurilor, se selecteaz cmpul de grupare i se apas butonul ; 2. se observ n partea dreapt a ferestrei scoaterea n eviden a cmpului de grupare i desenarea subordonat a restului de cmpuri (vezi Figura 10.14, unde cmpul de grupare este Judet). Se repet paii 1 i 2 pentru fiecare cmp dup care se dorete s se fac gruparea. Dac prioritatea cmpurilor de grupare nu este cea dorit, aceasta se poate modifica astfel: - n partea dreapt a ferestrei de grupare se selecteaz cu un click, cmpul pentru care se dorete modificarea prioritii de grupare;
64

- se apas butonul mic.

pentru creterea prioritii sau butonul

pentru o prioritate mai

Modificarea prioritii are efect i asupra imaginii afiate n partea dreapt.

Figura 10.13. Fereastra pentru stabilirea gruprilor fr nici o grupare

n Figura 10.13 lista din partea stng conine cmpurile unei interogri create pe baza a patru tabele Terti, Localitati, AntetFactura i LiniiFactura.

Figura 10.14. Modelul de grupare dup cmpul Judet

Dup ce s-a stabilit gruparea se poate trece la sortare . Se va remarca faptul c pentru sortare nu se pot folosi cmpurile implicate n grupare. Cnd se ajunge la pasul de stabilire a modelului raportului se va constata c exist alte opiuni dect cele prezentate n subcapitolul 10.1 i sunt prezentate n Tabelul 10.1.
Tabel 10. 1

Modele pentru un raport cu grupare


Numele modelului Vizualizarea modelului

65

Stepped

Block

Outline 1

Outline 2

Align Left 1

66

Align Left 2

Dup apsarea butonului Finish se va crea raportul n conformitate cu toate opiunile selectate; un rezultat posibil este prezentat n Figura 10.15.

Figura 10.15. Un raport cu grupare dup dou cmpuri, Localitate i Denumire

Similar interogrilor, un raport se poate crea i cu opiuni de sumarizare astfel: atunci cnd este afiat fereastra pentru sortare, se apas pe butonul i se deschide fereastra Summary Options (vezi Figura 10.16) n care, pentru fiecare cmp cu valori numerice, se pot selecta funciile de sumarizare, Sum, Avg, Min, Max.

67

Figura 10.16. Fereastra cu opiunile de sumarizare

Fereastra care se deschide seamn cu cea din Figura 8.11, dar conine n plus trei opiuni (vezi Figura 10.16): Detail and Summary dac se selecteaz se vor afia, pentru nregistrrile din grup, att nregistrrile ct i valorile funciilor de sumarizare selectate; Summary Only dac se selecteaz se vor afia, pentru nregistrrile din grup, numai valorile funciilor selectate; Calculate percent of total for sums dac se activeaz, se vor calcula procentele valorilor funciilor la nivel de grup raportat la ntregul raport.

Figura 10.17. Fereastra cu opiunile de sumarizare

Figura 10.17 prezint un raport n care se calculeaz, pentru cmpul Cantitate, toate funciile de sumarizare plus procentul astfel: - suma Sum a valorilor cantitate la nivel de grup (de exemplu pentru grupul AliEmi aceasta este 74); - media Avg a valorilor cantitate la nivel de grup (de exemplu pentru grupul AliEmi aceasta este 18,5);

68

- minimul Min a valorilor cantitate la nivel de grup (de exemplu pentru grupul AliEmi aceasta este 5); - maximul Max a valorilor cantitate la nivel de grup (de exemplu pentru grupul AliEmi aceasta este 44); - procentul Standard al facturilor din totalul facturilor (de exemplu pentru grupul AliEmi aceasta este 15,29);

69

XI. MACROINSTRUCIUNI
11.1. INSTRUCIUNI Una dintre coleciile unei baze de date Access este colecia Macros care conine obiectele de tip macroinstruciune. O macroinstruciune se constituie ca un grup de una sau mai multe aciuni/instruciuni, fiecare aciune executnd o instruciune particular cum ar fi deschiderea unui formular sau tiprirea unui raport la imprimant. Cu toate c, prin gruparea rapid a instruciunilor pentru a fi lansate n execuie, aceast metod de lucru poate fi considerat a fi munc programare, crearea i utilizarea macroinstruciunilor nu necesit cunotine avansate de programare. Utilizarea macroinstruciunilor este util pentru automatizarea aciunilor de complexitate redus i/sau pentru definirea comenzilor rapide asociate tastelor. O aciune este o instruciune autoconinut i este blocul de baz al unei macroinstruciuni. Aciunile se pot combina pentru a forma o macroinstruciune; macroinstruciunile se pot combina pentru a forma un grup de macroinstruciuni. Cnd se execut o macroinstruciune, Microsoft Access ncepe execuia comenzilor de la prima instruciune pn cnd ntlnete o comand de oprire a execuiei sau pn la ultima comand. Cnd se execut un grup de comenzi, Microsoft Access ncepe execuia de la prima aciune sau macroinstruciune, pn ntlnete o comand de oprire a execuiei sau pn ntlnete un alt nume de grup de comenzi sau pn nu mai ntlnete nici o comand sau grup de comenzi. Specificarea unei instruciuni se face mpreun cu specificarea parametrilor de execuie a instruciunii. Unul dintre parametri este clauza Where Condition care se folosete pentru specificarea condiiilor care trebuie ndeplinite de nregistrrile selectate. Clauza poate include restricii folosind controale unui formular conform sintaxa: [nume_cmp] = Forms![nume_formular]![nume_control] Expresia parametrului Where Condition se poate construi cu ajutorul generatorului de din partea dreapt a cmpului de editare pentru expresii care se lanseaz apsnd pe butonul parametrul Where Condition. Fereastra Expression Builder (vezi Figura 11.12) conine butoane pentru operatorii aritmetici , ir de caracter (concatenare), logici i de grupare . Alegerea unui cmp se face prin: selectarea unui obiect din arborele de obiecte ale bazei de date, urmat de selectarea cmpurilor de interes n expresie. Arborele de obiecte se poate folosi i pentru selectarea funciilor predefinite, ale constantelor, operatorilor i expresiilor comune (cum ar fi numrul de pagin). Operatorul Like are semnificaia de asemntor cu i se poate folosi mpreun cu caracterul de mascare *, de exemplu: [LiniiFactura]![Cantitate]*[LiniiFactura]![PretFaraTVA]>200 And [LiniiFactura]![Cantitate]*[LiniiFactura]![Denumire] Like c* nseamn Cantitate* PretFaraTVA este mai mare dect 200 i denumirea ncepe cu litera c. ApplyFilter selecteaz nregistrrile pentru un tabel, raport sau formular printr-un filtru, printr-o interogare. Parametri: Filter Name numele unui filtru sau al unei interogri; Where Condition clauza. Beep se emite un semnal sonor scurt.

70

GoToRecord ntr-un tabel, formular sau mulime de nregistrri rezultat al unei interogri, face nregistrarea specificat ca nregistrare curent ntr-un. Parametri: Object Type tipul obiectului care conine o mulime de nregistrri, dac se lucreaz cu obiectul curent (ultimul deschis) nu se completeaz; Object Name - specific numele obiectului n care se va face saltul la nregistrarea specificat; numele trebuie s existe n baza de date i se poate alege din lista asociat care va fi completat n funcie de valoarea lui ObjectType; Record i Offset selecteaz nregistrarea care va deveni nregistrare curent; poate lua una din urmtoarele valori: Previous se face salt spre prima nregistrare din mulimea de nregistrri, parametrul Offset specific numrul de nregistrri peste care se sare; Next se trece la urmtoarea nregistrare din mulimea de nregistrri; parametrul Offset se ignor; First se face salt la prima nregistrare din mulimea de nregistrri; parametrul Offset se ignor; Last se face salt la ultima nregistrare din mulimea de nregistrri; parametrul Offset se ignor; GoTo se face salt la nregistrarea specificat prin valoarea parametrului Offset; dac nregistrarea nu exist, se genereaz eroare; New se face salt la nregistrarea virtual pregtit pentru o nregistrare nou; dac obiectul este deschis n mod Read Only, se genereaz eroare; parametrul Offset se ignor; CancelEvent ntrerupe evenimentul pe baza cruia se execut o macroinstruciune Close nchide obiectul specificat sau, dac nu e specificat, nchide fereastra activ. Parametri: ObjectType specific tipul obiectului care trebuie nchis, valoarea se poate selecta din lista asociat (i poate fi una dintre valorile: Table, Query, Form, Report, Macro, Module, Data Access Page, Server View, Stored procedure, Function) sau rmne ir vid dac se dorete nchiderea ferestrei active. ObjectName specific numele obiectului care se nchide; trebuie s existe n baza de date i se poate alege din lista asociat care va fi completat n funcie de valoarea lui ObjectType. Save specific modul n care se va executa salvarea obiectului nchis; se poate folosi una dintre urmtoarele valori implicite: - Prompt se va afia o fereastr de dialog; - Save obiectul este salvat cnd este nchis; - No obiectul nu este salvat cnd este nchis. OpenForm deschide un formular. Parametri: FormName numele formularului; formularul cu numele dat trebuie s existe n baza de date; numele se poate selecta din lista asociat parametrului; View modul n care se va deschide formularul; pentru acest parametru se pot folosi valori ce depind de proprietile Default View i View Allowed ale formularului; FilterName - numele unui filtru care se poate aplica nregistrrilor formularului; Where Condition clauza; Data Mode specific modul de acces la nregistrri. Valorile pentru acest parametru sunt aceleai ca i pentru aciunea OpenTable, avnd aceeai semnificaie. Aceast proprietate depinde de proprietile Allow Edits, AllowDeletions, AllowAdditions i DataEntry, valorile acestor proprieti determin modul implicit n care utilizatorul are acces la nregistrri i pot impune restricii asupra parametrului DataMode.
71

WindowMode stabilete modul n care se deschide formularul, se poate folosi una dintre valorile: - Normal - se ine cont de proprietile formularului; - Hidden - formularul este ascuns; - Icon - formularul se va deschide sub form minimizat; - Dialog - formularul de deschide ca fereastr de dialog. Observaii: aciunea de deschidere a unui formular folosind OpenForm este similar celei de deschidere prin intermediul butonului Open al ferestrei bazei de date. Un formular se poate deschide: modal cnd utilizatorul poate aciona doar asupra formularului, orice alt aciune asupra altei ferestre a unei aplicaii Access putnd avea loc doar dup nchiderea formularului deschis modal; nemodal cnd utilizatorul poate aciona i asupra altor ferestre deschide. Open Table deschide un tabel. Parametri: Table Name numele tabelului; tabelul cu numele dat trebuie s existe n baza de date; numele se poate selecta din lista asociat parametrului; View specific modul deschidere a tabelului, se poate folosi una dintre urmtoarele valori implicite: - Datasheet View - coninutul tabelului se afieaz sub form tabelar; - Design View - tabelul se deschide pentru modificarea structurii; - Print Preview - tabelul se deschide i se pregtete pentru tiprire; Data Mode specific modul de acces la nregistrri, se poate folosi una dintre urmtoarele valori implicite: - Add - se permite adugarea de nregistrri noi dar nu permite modificarea celor existente; - Edit - se permite adugarea de nregistrri noi i modificarea celor existente; - Read Only - permite doar vizualizarea nregistrrilor. OpenQuery deschide sau execut o interogare. Parametri: Query Name numele interogrii; interogarea cu numele dat trebuie s existe n baza de date; numele se poate selecta din lista asociat parametrului; View specific modul de deschidere a interogrii, se poate folosi una dintre urmtoarele valori implicite: - Datasheet view - rezultatul interogrii se afieaz sub form tabelar; - Design View - interogarea se deschide pentru modificare; - Print Preview - rezultatul interogrii se deschide i se pregtete pentru tiprire; Data Mode specific modul de acces la nregistrri. Valorile pentru acest parametru sunt aceleai ca i pentru parametrul similar al aciunii OpenTable, avnd aceeai semnificaie. Maximize maximizeaz fereastra activ. Minimize minimizeaz fereastra activ. MsgBox afieaz o fereastr de dialog care va conine un mesaj de eroare sau de informare. Parametri: Message: un ir de caractere care reprezint mesajul care se va afia; Beep dac are valoarea Yes afiarea ferestrei va fi nsoit de emiterea unui sunet scurt; Type specific imaginea afiat n fereastra de dialog n funcie de valoarea selectat din lista asociat, astfel: None nu se afieaz imagine;
72

Critical se afieaz imaginea Warning? se afieaz imaginea Warning! se afieaz imaginea Information se afieaz imaginea

; ; ;

Dac o macroinstruciune este folosit cu valori invalide (cum ar fi un nume inexistent), se afieaz o fereastr de dialog cu informaii minime despre eroarea generat i se ntrerupe execuia macroinstruciunii; un exemplu este afiat n Figura 11.1. Apsarea butonului Halt ntrerupe execuia macroinstruciunii.

Figura 11.1. Mesaj de eroare generat n timpul execuiei unei macroinstruciuni

11.2. CREAREA I UTILIZAREA MACROINSTRUCIUNILOR Crearea macroinstruciunilor se face, prin parcurgerea urmtorilor pai: - (1) se lanseaz comanda de creare a unei macroinstruciuni prin una dintre metodele: prin selectarea din meniul Insert a opiunii Macro; prin selectarea coleciei de macroinstruciuni i prin apsarea butonului ; - (2) n fereastra de definire pentru macroinstruciuni (vezi Figura 11.2) se adaug aciunile de interes astfel: se selecteaz din lista ascuns de pe coloana Action aciunea/instruciunea dorit; dac este nevoie, se adaug un comentariu; se completeaz valorile parametrilor; n multe cazuri aceasta nseamn selectarea dintr-o list a unei valori permise (fie dintr-o list a valorilor predefinite, fie dintr-o list de nume a obiectelor existente) - se repet pasul 2 pentru fiecare aciune de interes; - se salveaz macroinstruciunea i se nchide fereastra de definire.

73

Figura 11.2. Fereastra de definire a unei macroinstruciuni

O macroinstruciune se poate lansa n execuie astfel: direct fie prin selectare n lista coleciei de macroinstruciuni i apsarea butonului fie prin dublu-click pe numele macroinstruciunii; prin intermediul unei alte macroinstruciuni. O macroinstruciune se poate deschide pentru modificarea listei de aciuni astfel: se selecteaz n lista coleciei de macroinstruciuni i se apas butonul . n Figura 11.3 este prezentat o macroinstruciune care se compune dintr-o singur instruciune de deschidere a unui formular, Terti creat pe baza unui tabel.

Figura 11.3. Instruciunea de deschidere a unui formular

n Figura 11.3 se observ urmtoarele: instruciunea folosit este OpenForm; numele formularului, Terti, a fost selectat din lista pentru parametrul Form Name; modul de deschidere este Form ceea ce nseamn c formularul se va deschide n modul definit atunci cnd a fost generat; modul de acces la date, vezi parametrul Data Mode, este Read Only ceea ce nseamn c nregistrrile nu pot fi modificate; numele macroinstruciunii este DeschidereFormular.

74

Figura 11.4. Rezultatul execuiei unei macroinstruciuni

Figura 11.4 prezint rezultatul execuiei macroinstruciunii definite conform figurii 11.3, se observ c nu se pot aduga nregistrri, iar ncercarea de a modifica valorile nregistrrilor existente va eua. Se modific macroinstruciunea adugndu-se instruciunea GoToRecord cu parametrii din Figura 11.5.

Figura 11.5. Instruciunea GoToRecord cu toi parametrii specificai

Pentru c instruciunea GoToRecord se aplic formularului deschis, parametri ObjectType i ObjectName pot lipsi (vezi Figura 11.6).

Figura 11.6. Instruciunea GoToRecord fr parametrii Object Type i Object Name

Rezultatul macroinstruciunii este prezentat n Figura 11.7 (acelai rezultat se obine n cazul ambelor definiii din Figurile 11.5. i 11.6).

75

Figura 11.7. Rezultatul unei macroinstruciuni cu salt la o nregistrare

Dac valoarea parametrului Offset nu este corect (de exemplu este mai mare dect numrul total de nregistrri), se va genera eroarea din Figura 11.8 i execuia macroinstruciunii se va ntrerupe i se va afia fereastra de ntrerupere (pentru exemplu vezi Figura 11.9) n Figura 11.9 se remarc faptul c eroarea a fost generat cnd s-a executat instruciunea GoToRecord cu valorile parametrilor: 2 (adic valoarea numeric pentru tipul Form), Terti (adic numele formularului), Go To (adic tipul de salt) i 11 (adic numrul nregistrrii specificate pentru salt).

Figura 11.8. Eroare generat de un salt la o nregistrare inexistent

Figura 11.9. Fereastra de ntrerupere a execuiei unei macroinstruciuni

n continuare se va construi o macroinstruciune care va deschide tabelul LiniiFactura i va afia doar nregistrrile pentru care cantitatea este mai mare dect 20. Stabilirea parametrilor este prezentat n Figurile 11.10 i 11.11.

Figura 11.10. Parametrii pentru instruciunea OpenTable

Figura 11.11. Parametrii pentru instruciunea Apply Filter

n continuare se va construi o macroinstruciune care va deschide tabelul LiniiFactura i va afia doar nregistrrile pentru care produsul dintre pre i cantitate s fie mai mare dect 100. parametri pentru Open Table sunt cei din Figura 11.10. Pentru calcularea produsului va trebui s construim o expresie, pentru aceasta vom folosi generatorul de expresii. n Figura 8.6 se observ c
76

expresia de calcul conine numele cmpurilor mpreun cu numele tabelului conform sintaxei: [numeTabel]![numeCmp].

Figura 11.12. Fereastra Expression Builder

Dup ce s-a construit expresia i se apas butonul OK din fereastra Expression Buider, parametrul Where Condition are valoarea: [LiniiFactura]![Cantitate]*[LiniiFactura]![PretFaraTVA]>100 Un rezultat posibil al execuiei aceste macroinstruciuni este prezentat n Figura 11.13.

Figura 11.13. Rezultatul aplicrii unui filtru

Rezultatul filtrrii va conine doar acele nregistrri care se potrivesc cu condiia parametrului Where Condition. n Figura 11.13 se observ cuvntul Filtered folosit atunci cnd asupra unei mulimi de nregistrri s-a aplicat un filtru.

77

You might also like