Sunteți pe pagina 1din 130

Lector univ. drd.

Mihai Gavot

BAZE DE DATE

Bucureti - 2001

CUPRINS

CUPRINS ...................................................................................................................................................... 2 1. INTRODUCERE ........................................................................................................................................ 4 2. TERMINOLOGIE I MODELE DE DATE ................................................................................................. 6 2.1. MODELE DE DATE ........................................................................................................................... 7 2.1.1. Modelul relaional........................................................................................................................ 7 3. BAZE DE DATE RELAIONALE.............................................................................................................. 9 3.1. SCURT ISTORIC ............................................................................................................................... 9 3.2. TIPURILE DE RELAII ...................................................................................................................... 9 3.2.1. Relaiile unu la unu................................................................................................................. 10 3.2.2. Relaiile unu la muli ............................................................................................................... 10 3.2.3. Relaiile muli la unu ............................................................................................................... 11 3.2.4. Relaiile muli la muli.............................................................................................................. 12 3.3. REGULI DE NORMALIZARE........................................................................................................... 13 4. ACCESS 2000 ........................................................................................................................................ 17 4.1. DE CE ACCESS? ............................................................................................................................ 17 4.2. CE VOR CONINE CAPITOLELE URMTOARE? ......................................................................... 18 4.3. INSTRUMENTUL SOFTWARE ACCESS 2000 ............................................................................... 19 4.4. O PREZENTARE GENERAL A PRINCIPALELOR OBIECTE ACCESS 2000............................... 23 5. TABELELE I SISTEMUL DE RELAII ................................................................................................. 26 5.1. TIPURILE DE DATE ACCESS 2000................................................................................................ 27 5.2. CREAREA TABELELOR.................................................................................................................. 28 5.3. SALVAREA TABELELOR ................................................................................................................ 34 5.4. PROPRIETILE CMPURILOR.................................................................................................... 34 5.5. IMPORTUL I EXPORTUL DATELOR ............................................................................................ 36 5.6. RELAIILE DINTRE TABELE .......................................................................................................... 38 6. CREAREA I UTILIZAREA INTEROGRILOR ..................................................................................... 43 6.1. INTEROGRILE DE TIP SELECT ................................................................................................... 49 Lucrul cu funcia like....................................................................................................................... 50 Concatenarea irurilor de caractere ............................................................................................... 52 Dialogurile parametrizate ............................................................................................................... 52 Lucrul cu funcia between............................................................................................................... 53 6.2. INTEROGRILE DE TIP TOTALS................................................................................................... 54 6.3. INTEROGRILE DE TIP UPDATE .................................................................................................. 57 6.4. INTEROGRILE DE TIP MAKE-TABLE .......................................................................................... 59 6.5. INTEROGRILE DE TIP DELETE ................................................................................................... 60 6.6. INTEROGRILE DE TIP APPEND ................................................................................................. 61 6.7. INTEROGRILE DE TIP CROSSTAB ............................................................................................. 62

TERMINOLOGIE I MODELE DE DATE

7. FORMULARE I RAPOARTE ................................................................................................................ 68 7.1. FORMULARE (FORMS) .................................................................................................................. 68 7.1.1. Crearea formularelor cu ajutorul vrjitorilor (wizards) ............................................................. 71 7.1.2. Crearea formularelor n mod proiectare direct ........................................................................ 75 7.2. RAPOARTE (REPORTS)................................................................................................................. 84 8. LUCRUL CU HIPERLEGTURI.............................................................................................................. 93 I GENERAREA PAGINILOR WEB ........................................................................................................... 93 8.1. SCURT INTRODUCERE ............................................................................................................... 93 8.2. WORLD WIDE WEB ........................................................................................................................ 94 8.3. TEHNOLOGII I PRODUSE PROGRAM TIP CLIENT INTERNET.................................................. 95 8.4. TIPUL DE DATE HYPERLINK ......................................................................................................... 96 8.5. GENERAREA PAGINILOR WEB ................................................................................................... 100 9. ADMINISTRAREA I ASIGURAREA SECURITII BAZELOR DE DATE ACCESS.................................. 105 9.1. COMPACTAREA I REPARAREA DATELOR .............................................................................. 105 9.2. CREAREA COPIILOR DE SIGURAN ........................................................................................ 106 9.3. SECURITATEA BAZELOR DE DATE ............................................................................................ 107 9.3.1. Principiile securitii bazelor de date n reele locale............................................................... 107 9.3.2. Protejarea prin parol la nivelul bazei de date ........................................................................ 108 9.3.3. Criptarea bazei de date........................................................................................................... 109 9.3.4. Securitatea la nivelul grupurilor i utilizatorilor ........................................................................ 110 ANEXA 1 STRUCTURA TABELELOR UTILIZATE N EXEMPLE. RELAIILE DINTRE TABELE ...... 114 ANEXA 2 PROBLEME PROPUSE ........................................................................................................ 116 Reguli de normalizare................................................................................................................... 116 Tabele .......................................................................................................................................... 116 Interogri ...................................................................................................................................... 117 Formulare ..................................................................................................................................... 118 Rapoarte....................................................................................................................................... 119 Pagini internet............................................................................................................................... 120 Securitatea i administrarea bazelor de date................................................................................ 120 ANEXA 3 DICIONAR DE TERMENI .................................................................................................... 121 BIBLIOGRAFIE......................................................................................................................................... 130

1. INTRODUCERE

Complexitatea informaiilor cu care oamenii au interacionat i interacioneaz permanent, a fcut necesar gestionarea eficient a acestora. Bibliotecile care au existat nc din antichitate, agendele personale, registrele de eviden, cataloagele de produse, mersul trenurilor nu sunt altceva dect mijloace de gestionare eficient a informaiilor. Prin acestea se ncearc de fapt, ntr-o manier neautomatizat, s se rezolve problemele legate de organizarea, stocarea i regsirea performant a informaiilor. Rezolvarea eficient a acestor probleme n condiiile unui volum foarte mare de informaii, nu poate fi conceput dect prin utilizarea calculatoarelor electronice i anume a bazelor de date. Scopul principal urmrit, atunci cnd se alege ca soluie de rezolvare a problemei gestiunii informaiilor utilizarea bazelor de date, este acela de a regsi ntr-un timp ct mai scurt informaia cutat dup anumite criterii, de a asigura securitatea acestora, de a minimiza spaiul necesar de memorare, de a asigura unicitatea i flexibilitatea datelor gestionate. La modul cel mai general o baz de date poate fi definit ca fiind o colecie de date nrudite care se refer la un anumit obiect sau obiectiv, mpreun cu instrumentele folosite pentru manipularea acestor date. Orice baz de date trebuie s conin descrierea datelor i nregistrrile de date. Sistemul complex de programe care permite descrierea, organizarea, memorarea, regsirea, administrarea i securizarea informaiilor dintr-o baz de date se numete sistemul de gestiune a bazelor de date (SGBD). Memorarea datelor coninute de bazele de date se face pe suporturile de memorie intern sau extern folosite de calculatoare (uniti de hard-disc, benzi i casete magnetice, compact discuri etc). SGBD este un software special asociat bazelor de date care asigur interfaa ntre o baz de date i utilizatorii ei, rezolvnd toate cererile de acces la datele memorate. Bazele de date nglobeaz patru componente: datele, hardware-ul, software-ul i utilizatorii. Datele reprezint materia prim a oricrei baze de date. Ele descriu caracteristicile anumitor obiecte, sunt organizate n structuri i se pot afla n anumite relaii i interdependene. Hardware-ul se constituie din tehnica de calcul utilizat pentru crearea, ntreinerea i exploatarea bazelor de date. Software-ul cuprinde SGBD-ul i programele de aplicaie aferente. Din punctul de vedere al utilizatorilor se deosebesc trei categorii: utilizatorii finali care interacioneaz cu baza de date prin intermediul unui limbaj de interogare sau prin intermediul unor programe numite programe de aplicaie, scrise de programatorii de aplicaii; programatorii de aplicaii care realizeaz programele de aplicaie ale bazei de date, utiliznd anumite limbaje de programare (Visual Basic for Applications, C,C++, Java, PHP, PERL etc) Aceste aplicaii numite i software front-end asigur utilizatorilor, ntr-o manier ct mai prietenoas, accesul la date pentru introducerea, actualizarea, regsirea, consultarea i listarea acestora; administratorul bazei de date care este o persoan (sau un grup de persoane) responsabil cu asigurarea funcionrii software-ului i hardware-ului, securitatea, integritatea i sigurana bazei de date.

TERMINOLOGIE I MODELE DE DATE

Bazele de date computerizate ofer anumite avantaje incontestabile fa de modalitile manuale de gestionare a informaiilor, dintre care pot fi enumerate: o reducerea redundanei prin nregistrarea unei informaii o singur dat i accesarea acesteia oriunde este necesar. Din practica lucrului cu bazele de date a rezultat ns c nu este posibil i nici chiar recomandat o redundan nul a datelor; o evitarea inconsistenei datelor n cazul n care datele sunt accesate de mai muli utilizatori (regim de lucru multiuser), o modificare fcut de unul dintre acetia este accesibil i celorlali n cel mai scurt timp; o partajarea informaiilor i a programelor de aplicaie mai muli utilizatori pot lucra simultan cu aceleai date i pot lansa n execuie aceeai aplicaie; o asigurarea restriciilor de securitate a datelor se realizeaz prin conceperea unui sistem de autorizare a accesului la date prin parole i a unor niveluri de acces (numai anumii utilizatori au acces la toate datele, ceilali au un acces limitat numai la acele informaii care pot fi cunoscute de ei); o asigurarea integritii datelor printr-un sistem de protecie la tergerile neintenionate i de refacere a datelor n caz de incidente; o rezolvarea operativ a conflictelor ce pot aprea n crearea, editarea, consultarea i interogarea datelor prin validri aplicate la momentul introducerii acestora n baza de date i prin mecanisme ce interzic modificarea simultan de ctre mai muli utilizatori a aceleiai informaii; o asigurarea independenei datelor fa de aplicaii i fa de suportul fizic de memorare este un deziderat al oricrui SGBD i presupune ca datele s poat fi modificate sau mutate pe un alt suport fr ca s fie necesar rescrierea programelor de aplicaii. Acest lucru poate fi realizat printr-o corect proiectare a bazelor de date i prin scrierea unor aplicaii performante. De asemenea este de dorit ca administratorul bazei de date s aib libertatea de a schimba strategia de acces la date, prioritile aplicaiilor, unitile de memorare, fr s modifice aplicaiile existente. Termenii specifici bazelor de date, definiiile acestora precum i tipurile de baze de date existente, n funcie de modelul de date pe care se bazeaz, vor face obiectul capitolului urmtor. Vor fi tratate noiunile generale referitoare la bazele de date relaionale i n special la bazele de date MS-Access. Voi motiva ntr-un subcapitol aparte de ce am ales din cadrul bazelor de date relaionale tocmai bazele de date Access ca suport practic al acestui curs.

2. TERMINOLOGIE I MODELE DE DATE

Bazele de date au fost concepute pentru stocarea volumelor mari de informaii relativ omogene i ntre care se pot stabili anumite relaii. Modelul de date al bazei de date se stabilete n urma unei etape de analiz a informaiilor care are ca scop identificarea datelor ce vor fi memorate, stabilirea caracteristicilor acestora, a structurii i a legturilor dintre date. Datele pot fi definite pe trei niveluri: nivelul extern care descrie modul n care utilizatorii individuali vd baza de date, nivelul conceptual care descrie structura canonic a datelor i modul n care sunt grupate n tabele, nivelul intern care descrie structura de memorare a datelor din baza de date i strategia de acces la date. Orice sistem de gestiune a bazelor de date (SGBD) trebuie s asigure urmtoarele funcii: definirea structurii bazei de date ncrcarea datelor n baza de date accesul la date pentru: o interogare o tergere o modificare ntreinerea bazei de date: o refacerea bazei de date prin existena unor copii de siguran o repararea n caz de incident o colectarea i refolosirea spaiilor goale posibilitatea de reorganizare a bazei de date prin: o restructurarea datelor o modificarea accesului la date securitatea datelor.

n orice baz de date principala surs de informaii o reprezint un obiect din lumea real care se constituie ca o entitate. Entitatea este o reprezentare unic a unui obiect. Cea mai folosit denumire pentru entitate este nregistrarea (record) sau rndul dintr-un tabel (row). Atributul unui obiect este o caracteristic ce permite descrierea entitii. Atributul se materializeaz sub forma unei celule de date care reprezint valoarea unui cmp (field) dintr-o nregistrare sau a unei coloane dintr-un tabel (column). Tipurile de date ale atributelor pot fi: numerice, iruri de caractere alfanumerice, date calendaristice, iruri de bytes (care pot reprezenta imagini sau sunete), pointeri ctre alte date etc. Domeniul atributului este un interval de valori permise pentru un atribut. De exemplu el poate reprezenta un interval de timp sau un interval de preuri (ntre cel minim i maxim admis).

TERMINOLOGIE I MODELE DE DATE

Identificatorii entitilor (nregistrrilor), se mai numesc i cmpurile cheie primar, folosite pentru crearea indexului principal al tabelului. Tabelul (table) conine setul tuturor entitilor dintr-un singur tip de obiect. Tabelul mai este numit i clas de entiti sau tip de entiti. El este constituit din rnduri (nregistrri) i coloane (cmpuri). Baza de date (database) reprezint o colecie de tabele n care sunt stocate entiti care descriu un anumit domeniu de activitate, mpreun cu instrumentele folosite pentru manipularea datelor. Orice baz de date de mrime medie sau mare, proiectat pentru a fi exploatat simultan de ctre mai muli utilizatori, nu poate fi exploatat performant fr un administrator al bazei de date care are responsabilitatea definirii schemei interne a acesteia i ntreinerii ei. Administratorul este cel care cunoate n amnunt coninutul informaiilor din baza de date i monitorizeaz performanele acesteia (dimensiunea, viteza de acces, etc) n vederea maximizrii acestora. El stabilete legturile cu utilizatorii, definete verificrile de autorizare a accesului, procedurile de validare a datelor, precum i strategia de refacere a bazei de date n caz de incident. Programatorii de aplicaii i utilizatorii finali comunic cu SGBD-ul prin intermediul limbajelor de manipulare i a limbajelor de interogare. n timpul execuiei toate cererile de acces sunt transmise SGBD-ului

2.1. MODELE DE DATE


De-a lungul timpului, utilizarea bazelor de date a devenit o necesitate pentru o mare varietate de domenii de activitate. Specificul diferit al acestor domenii a fcut necesar dezvoltarea de ctre specialiti a unor modele de organizare a datelor care s rspund cerinelor acestora. n acest sens, s-au dezvoltat baze de date avnd la baz modele de date de diferite tipuri, cum sunt: modelul ierarhic, modelul reea, modelul relaional, modelul obiectual, modele semantice, modele funcionale, modele deductive sau modele distribuite. Primele trei tipuri de modele (ierarhic, reea i relaional) reprezint modelele cele mai cunoscute i cele mai frecvent utilizate n reprezentarea datelor. Alegerea unui anumit SGBD (bazat pe unul din modelele de date anterior prezentate) pentru informatizarea unei activiti presupune o etap de analiz n cadrul creia se identific componentele de date, legturile dintre acestea, evenimentele care determin modificri ale datelor i necesarul de informaii primare i sintetizate care trebuie furnizate. Voi descrie n continuare modelul relaional de organizare a datelor, cel mai rspndit n prezent, care rspunde cerinelor unei arii largi de domenii de activitate i pe baza cruia s-au dezvoltat un numr mare de sisteme de gestiune a bazelor de date (SGBD). Bazele de date de tip Access, care vor fi tratate n acest curs, sunt de asemenea baze de date relaionale.

2.1.1. Modelul relaional


Modelul relaional a fost dezvoltat avndu-se n vedere n primul rnd utilizatorii finali. Acest model are la baz teoria matematic a relaiilor, ceea ce a fcut posibil tratarea algoritmic a proiectrii bazelor de date i rezolvnd astfel problema normalizrii datelor. Algebra relaional se bazeaz pe un set de reguli i simboluri utilizate pentru definirea bazelor de date relaionale i ofer un set de operaii (intersecie, produs cartezian, diferen, proiecie) care au ca operanzi i ca rezultat tabele.

Lector univ. drd. Mihai Gavot - Baze de date

Normalizarea este o procedur standard prin care atributele datelor sunt grupate n tabele iar tabelele sunt grupate n baze de date. Normalizarea datelor asigur baza de date mpotriva inconsistenei care ar putea aprea n urma unor actualizri greite. Prin normalizare pot fi create tabele care s respecte modelul relaional de baz de date. Normalizarea este procesul de eliminare a dublurilor de informaii din tabele. Prin normalizare se urmrete de fapt eliminarea sau minimizarea redundanei (dublurilor) din tabelele bazei de date. Modelul relaional este un model simplu, bazat pe algebra relaional, care a fcut posibil dezvoltarea limbajelor relaionale sub forma unui software specializat ce asist procesul de proiectare a bazelor de date. Astfel de limbaje sunt SQL (Structured Query Language) i QBE (Query By Example). Celelalte modele nu au beneficiat de un astfel de software. Modelul relaional al bazei de date se fundamenteaz pe dou elemente principale: tabelele bazei de date i regulile de integritate ale acesteia. n prezent exist mai multe sisteme performante de gestiune a bazelor de date relaionale printre care pot fi enumerate: MS-SQL Server, Oracle, Informix, DB2, Access, Visual Fox, MySQL. Toate aceste SGBD-uri au la baz limbajul SQL. Unele dintre ele beneficiaz de anumite extensii care ofer faciliti suplimentare: sisteme client-server, sisteme multimedia, analiza multidimensional i orientarea obiect. Meninerea integritii bazei de date este unul din obiectivele prioritare ale oricrui SGBD relaional. Majoritatea bazelor de date client-server au prevzute declanatoare pentru meninerea integritii bazei de date, astfel nct aceasta s conin numai informaii valide, confirmate i verificate.

3. BAZE DE DATE RELAIONALE

3.1. SCURT ISTORIC


Evoluia bazelor de date relaionale a fost surprinztor de rapid. Teoria privind bazele de date relaionale a fost publicat de dr. Codd n anul 1970 iar n anul 1972, dr.Cobb a prezentat teoria legat de normalizarea acestora. n 1984 firma Ashton-Tate cumprat ulterior de Borland a creat limbajul dBASE care a fcut posibil utilizarea bazelor de date relaionale pe calculatoarele personale. Versiunile dBASE III, III++, IV s-au bucurat de un mare succes i au determinat multe firme i muli programatori s opteze pentru bazele de date relaionale. De asemenea, dup 1990 bazele de date relaionale FoxPro au inut mult vreme capul de afi al bazelor de date utilizate pe calculatoarele personale (PC). La sfritul anilor 1980 bazele de date relaionale au devenit suficient de puternice i au nceput din ce n ce mai mult s nlocuiasc bazele de date ierarhice i pe cele de tip reea care pn atunci dominaser lumea bazelor de date. n prezent, primul loc ca rspndire este deinut de bazele de date relaionale. Pe calculatoarele de tip PC bazele de date dBASE i FoxPro au fost nlocuite ntr-o mare msur de bazele de date Access ale firmei Microsoft. Acestea au cucerit foarte muli utilizatori finali i dezvoltatori de aplicaii, n primul rnd prin performan i apoi prin felul n care Microsoft a reuit integrarea lor n bine-cunoscutul pachet de programe MS-Office. n lumea bazelor de date relaionale profesionale de dimensiuni mari i foarte mari, implementate pe calculatoare foarte puternice, s-au impus SGBD-uri cum sunt MS-SQL Server, Oracle, DB2 i Informix. Acestea funcioneaz pe filosofia client-server. Ele pot fi legate fr probleme cu alte baze de date i pot utiliza cu uurin obiecte realizate sub Access sau Visual Fox. Printre caracteristicile acestor SGBD-uri moderne se numr: puternica conectivitate pe care o asigur, posibilitatea de a funciona distribuit n reele de tip intranet sau extranet (neomogene din punctul de vedere al hardware-ului), pe sisteme de tip multiutilizator, faptul c s-au dezvoltat extensii care le permit modul de lucru cu obiecte printre care i obiectele multimedia.

3.2. TIPURILE DE RELAII


Aa cum am artat mai sus, bazele de date relaionale presupun stocarea datelor n tabele ntre care se stabilesc anumite relaii. Exemple de tabele pot fi: tabela Date personale angajai, tabela Clieni, tabela Funcii, tabela Produse, etc. Fiecare din acestea poate fi imaginat ca un tabel desenat pe hrtie care cuprinde un cap de tabel cu caracteristicile (coloanele) pe care dorim s le memorm i attea rnduri cte entiti distincte scriem n tabel. ntre aceste tabele exist anumite relaii ca de exemplu: fiecare persoan angajat ocup o funcie, fiecare client poate cumpra unul sau mai multe produse, o carte dintr-o bibliotec poate fi citit succesiv de mai muli cititori i un cititor mprumut mai multe cri. Aceast mare varietate de relaii a fost

10

Lector univ. drd. Mihai Gavot - Baze de date

analizat i s-a stabilit c ntre tabelele bazelor de date pot exista patru tipuri de relaii: unu la unu, unu la muli, muli la unu i muli la muli. Aceste tipuri de relaii acoper ntreaga gam de situaii care se pot ivi n proiectarea bazelor de date relaionale i exist instrumente software care s le implementeze.

3.2.1. Relaiile unu la unu


Reprezint cel mai simplu tip de relaie dintre nregistrrile (rndurile) unor tabele corespondente. Astfel, unei nregistrri dintr-o tabel i va corespunde doar o singur nregistrare din tabela corespondent. Pentru exemplificare s presupunem c exist n cadrul unei baze de date relaionale urmtoarele tabele: Tabela Date personale angajai Cod persoan Nume persoan Adresa Cod funcie ocupat Data angajrii Tabela Salarii curente Cod persoan Salariu Prim Rate

legtura unu la unu 1 1

Un coninut fictiv al acestor tabele ar putea fi: Cod persoan 0025 0026 0027 0028 0029 Nume persoan Popescu Ion Vasile Petre Ion Emil Adresa Cod persoan 0025 0026 0027 0028 0029 Salariu 12000000 10000000 20000000 8000000 8500000 Prima 3000000 10000000 5000000 0 0

Se observ c pentru materializarea relaiei unu la unu s-a ales cmpul Cod persoan ca fiind cmp unic de identificare i de legtur ntre informaiile coninute n cele dou tabele. Aceasta determin ca unei singure nregistrri din tabela Date personale angajai s-i corespund doar nregistrarea din tabela Salarii curente n care cmpul Cod persoan identific acelai angajat. Deci, pentru fiecare persoan (angajat) exist doar o singur nregistrare att n tabela Date personale angajai ct i n tabela Salarii curente. Altfel spus, n acest exemplu tabelele Date personale angajai i Salarii curente au fiecare attea nregistrri ci angajai exist.

3.2.2. Relaiile unu la muli


Acest tip de relaii leag o nregistrare dintr-un tabel de baz cu mai multe nregistrri dintr-un alt tabel corespondent prin intermediul unui cmp cheie. Cmpul cheie din tabelul de baz se mai numete i cheia primar iar cmpul cheie corespondent din cealalt tabel reprezint cheia strin (extern). Relaiile unu la muli sunt cel mai ntlnit tip de relaii.

BAZE DE DATE RELAIONALE

11

Un alt exemplu din lumea real a bazelor de date va fi elocvent pentru nelegerea acestui tip de relaii. Pornind de la aceeai tabel de baz numit Date personale angajai i presupunnd c ne intereseaz o interogare din care s aflm informaii despre deplasrile acestora, vom avea ca tabel corespondent tabela numit Deplasri angajai. Este evident c fiecrui angajat unic determinat prin cmpul Cod persoan i pot corespunde una, mai multe sau nici o deplasare. Pentru a rezolva aceast interogare vom stabili o relaie de tipul unu la muli ntre cele dou tabele. Tabela Date personale angajai Cod persoan Nume persoan Adresa Cod funcie ocupat Data angajrii Tabela Deplasri angajai Cod persoan Data deplasrii Locul deplasrii Costul transportului Diurna

legtura unu la muli 1

Dac n tabela Date personale angajai exist doar o singur nregistrare (rnd) pentru un angajat, n tabela Deplasri angajai pot exista attea nregistrri (rnduri) pentru fiecare angajat cte deplasri a fcut. Un coninut fictiv al acestor tabele precum i legturile dintre ele ar putea fi: Cod persoan 0025 0033 0123 Nume persoan Popescu Ion Stan Petre Vasile Emil Adresa Cod persoan 0025 0025 0010 0033 0033 Data deplasrii 10.02.2001 15.03.2001 20.05.2001 28.07.2001 01.09.2001 Locul deplasrii Iai Sibiu Constana Braov Constana

3.2.3. Relaiile muli la unu


Reprezint inversul relaiilor unu la muli. Dac n exemplul anterior considerm tabela de baz Deplasri angajai avnd ca tabel corespondent Date personale angajai, atunci avem de-a face cu un tip de relaie muli la unul. Mai multor deplasri executate i nregistrate n tabela Deplasri angajai le poate corespunde doar un singur angajat (Cod persoan). Cmpul (cheia) de legtur rmne acelai Cod persoan. Cod persoan 0025 0025 0010 0033 0033 Data deplasrii 10.02.2001 15.03.2001 20.05.2001 28.07.2001 01.09.2001 Locul deplasrii Iai Sibiu Constana Braov Constana Cod persoan 0025 0033 0123 Nume persoan Popescu Ion Stan Petre Vasile Emil Adresa

12

Lector univ. drd. Mihai Gavot - Baze de date

3.2.4. Relaiile muli la muli


Acesta este un tip de relaii complexe care nu sunt implementate n mod direct n sistemele de gestiune a bazelor de date relaionale. n etapa de analiz a unei activiti putem desprinde i cazuri n care unei nregistrri (rnd) dintr-o tabel i pot corespunde mai multe nregistrri (rnduri) dintr-o alt tabel, n acelai timp ns, unei nregistrri (rnd) din cea de-a doua tabel i pot corespunde mai multe nregistrri (rnduri) din prima tabel. De exemplu, dac identificm dou tabele: Tabela Date personale angajai i Tabela Documentaie tehnic i analizm relaiile dintre ele vom observa c un angajat poate deine mai multe documentaii tehnice iar o documentaie tehnic este posibil s fi fost consultat de mai muli angajai ai firmei. Spunem n acest caz c ntre cele dou tabele exist o relaie muli la muli. Tabela Date personale angajai Cod persoan Nume persoan Adresa Cod funcie ocupat Data angajrii legtura muli la muli Tabela Documentaie tehnic Cod documentaie Denumire Data apariiei Autorul Domeniul de activitate

Un coninut fictiv al acestor tabele precum i legturile dintre ele ar putea fi: Cod persoan 0025 0033 0123 Nume persoan Popescu Ion Stan Petre Vasile Emil Adresa Cod docum entaie 782 783 784 785 Denumire Data apariiei 15.01.1997 01.02.1985 12.12.2000 11.11.1992

Documentaie 1 Documentaie 2 Documentaie 3 Documentaie 4

Acest tip de relaie ntre tabele nu este implementat n mod direct ci se rezolv prin introducerea unei tabele suplimentare. Aceast nou tabel se afl n relaie de muli la unu cu fiecare din tabelele iniiale. Pentru exemplul nostru tabela intermediar (de intersecie) poate fi Tabela Documentaie consultat avnd urmtorul coninut i relaii cu tabelele iniiale: Tabela Date personale angajai Cod persoan Nume persoan Adresa Cod funcie ocupat Data angajrii 1 Tabela Documentaie consultat Cod documentaie Cod persoan Data mprumutului Data napoierii 1 Tabela Documentaie tehnic Cod documentaie Denumire Data apariiei Autorul Domeniul de activitate

BAZE DE DATE RELAIONALE

13

Se spune c relaia muli la muli se sparge n dou relaii unu la muli pentru aceasta folosindu-se o tabel intermediar (de intersecie). Aceast tabel este astfel aleas nct s conin o cheie primar format din cheile primare ale tabelelor iniiale i alte informaii specifice interseciei lor.

3.3. REGULI DE NORMALIZARE


La proiectarea structurii unei baze de date relaionale trebuie stabilite n primul rnd tabelele n care vor fi memorate datele i relaiile dintre tabele. Acesta este un proces iterativ, tabelele, cheile primare de identificare a nregistrrilor, relaiile dintre tabele sunt stabilite ntr-o form iniial dup care, prin rafinare succesiv se ajunge la forma definitiv. Identificarea iniial a tabelelor i a cmpurilor acestora se face prin studierea documentelor primare i a rapoartelor care sunt vehiculate n cadrul activitii ce se dorete a fi informatizat. Acestei structuri iniiale i sunt aplicate un set de reguli care reprezint paii de obinere a unei baze de date normalizate. Algoritmul de normalizare a bazelor de date relaionale precum i paii acestuia au fost descrii de ctre Dr.E.F.Cobb n lucrarea Further Normalization of the Data Base Relational Model aprut n 1972. Voi prezenta aceste reguli utiliznd un exemplu concret. Considerm c n urma analizei documentului primar Factur dorim s stabilim o structur de tabele care s ne permit stocarea informaiilor coninute de document (factur) i obinerea unor situaii sintetice privind evidena sumelor facturate pe produse, pe clieni, pe anumite perioade de timp. n acest scop alegem ntr-o prim faz informaiile care ne intereseaz i considerm c vor fi stocate ntr-o singur tabel numit Facturi. Tabela Facturi Numr factur Data facturrii Denumire client Adresa client Banc client Numr cont client Delegat Cod produs Denumire produs Unitatea de msur Cantitate Pre unitar Valoare Valoare TVA Total valoare factur Total valoare TVA ntr-o prim form tabela Facturi ar putea arta ca n figura alturat. Ea are cheia primar format din cmpul Numr factur. Acest cmp are o valoare unic pentru fiecare factur emis. Observm c n tabel exist cmpul Adres client care cuprinde informaii despre ara, localitatea, strada i numrul unde se afl firma clientului. Dac vom considera c este de interes o eviden a sumelor facturate pe ri sau chiar localiti, vor pune n locul cmpului Adres client trei cmpuri distincte : ar client, Localitate client i Adres client uurnd n acest fel interogrile referitoare la sumele facturate pe ri i localiti. Mai observm din aceast tabel c grupul informaiilor care se refer la un produs se repet cu valori diferite pe o factur de attea ori cte produse diferite sunt trecute pe factur. Cmpurile Total valoare factur i Total valoare TVA se refer la ntreaga factur i reprezint suma valorilor corespunztoare pentru toate produsele trecute pe factur.

1. Prima regul de normalizare este aceea de a crea tabele plate, tabele ce nu conin grupuri de cmpuri care s se repete pentru o valoare unic a cheii de identificare a nregistrrii (cheia primar). n cazul nostru, deoarece pentru o factur putem avea unul sau mai multe

14

Lector univ. drd. Mihai Gavot - Baze de date

produse care sunt nscrise pe aceasta, vom separa ntr-o alt tabel informaiile legate de produse, fiecare dintre aceste informaii fiind determinat n mod unic de numrul facturii i codul produsului. n prima form normal avem tabelele: Tabela Facturi Numr factur Data facturrii Denumire client Adresa client Banc client Numr cont client Delegat Total valoare factur Total valoare TVA Tabela Linii facturi Numr factur Cod produs Denumire produs Unitatea de msur Cantitate Pre unitar Valoare Valoare TVA

ntre tabela Facturi i tabela Linii facturi exist o relaie de unu la muli (1-), adic unui numr unic de factur i pot corespunde unul sau mai multe produse care sunt memorate ca nregistrri n tabela Linii facturi. Cheia de identificare (cheia primar) n aceast tabel este o cheie complex, adic format din dou cmpuri: Numr factur i Cod produs. 2. A doua regul de normalizare cere s analizm tabelele aflate n prima form normal i s vedem dac fiecare cmp al acestora reflect (caracterizeaz) valoarea cheii primare n totalitatea ei. Se impune ca atunci cnd avem chei complexe s nu avem cmpuri care s caracterizeze doar o parte component a cheii primare. n cazul nostru, observm cmpurile Denumire produs i Unitatea de msur din tabela Linii facturi, ce caracterizeaz un anumit produs i nu sunt diferite pentru acelai produs de la o factur la alta. Spre deosebire de ele, celelalte cmpuri ale tabelei se refer la cantitatea, preul i valoarea produsului numai pentru factura respectiv. Pe o alt factur este posibil s se vnd o alt cantitate din acelai produs la un alt pre. Tabelele n cea de a doua form normal devin: Tabela Facturi Numr factur Data facturrii Denumire client Adresa client Banc client Numr cont client Delegat Total valoare factur Total valoare TVA Tabela Linii facturi Numr factur Cod produs Cantitate Pre unitar Valoare Valoare TVA Tabela Produse Cod produs Denumire produs Unitatea de msur

BAZE DE DATE RELAIONALE

15

Legtura dintre tabela Linii facturi i tabela Produse se face prin intermediul cmpului Cod produs prezent n ambele. n tabela Produse acesta este cheia primar deoarece valoarea codului identific n mod unic fiecare produs, iar n tabela Linii facturi acesta este cmp component al cheii primare i totodat cheie extern de legtur cu tabela Produse. ntre tabela Linii facturi i tabela Produse exist o relaie muli la unu (-1), adic fiecare produs nscris pe o factur trebuie s existe n nomenclatorul de produse al firmei. 3. A treia regul de normalizare cere ca toate cmpurile din tabele s fie independente ntre ele. Analiznd cmpurile din tabelele aflate n ce-a de-a doua form normal, trebuie s nu existe cmpuri care s fie dependente de alte cmpuri care nu fac parte din cheia primar. n cazul nostru, analiznd tabela Facturi, observm c multe din cmpuri, i anume: Adresa client, Banc client i Numr cont client depind de cmpul Denumire client. Deci, fiecrui client i corespund o adres, o banc i numr de cont unice. n schimb, delegatul din partea clientului poate fi diferit pentru fiecare factur. Cmpurile Valoare i Valoare TVA depind de cmpurile cantitate, pre i de un procent fix de TVA. Fiind cmpuri care se pot calcula n orice moment ele vor fi eliminate din tabel deoarece constituie informaie memorat redundant. Aplicm ce-a de-a doua regul de normalizare prin extragerea acestor informaii, care depind de un cmp aflat n afara cheii primare, ntr-o alt tabel. Structura de tabele devine: Tabela Facturi Numr factur Data facturrii Denumire client Delegat Total valoare factur Total valoare TVA Tabela Clieni Denumire client Adresa client Banc client Numr cont client Tabela Linii facturi Numr factur Cod produs Cantitate Pre unitar Tabela Produse Cod produs Denumire produs Unitatea de msur

Legtura dintre tabela Facturi i tabela Clieni se face prin intermediul cmpului Denumire client existent n ambele. Acesta este cheie unic de identificare a nregistrrilor din tabela Clieni i cheie extern de legtur n tabela Facturi. ntre aceste dou tabele exist o relaie de muli la unu (-1), adic toi clienii nscrii pe facturi sunt nregistrai n mod unic n tabela Clieni ce conine clienii firmei. Aceast a treia form normal mai poate suferi o serie de rafinri pentru a obine o structur performant de tabele a bazei de date. Observm c Denumire client este un cmp n care este nscris un text destul de lung format dintr-o succesiune de litere, semne speciale (punct, virgul), spaii i numere. Ordonarea i regsirea informaiilor dup astfel de cmpuri este mai lent i mai greoaie dect dup cmpuri numerice. Vom introduce din acest motiv un cmp de identificare a clienilor numit Cod client care s fie numeric i care s fie cheia primar de identificare pentru fiecare client. Legtura ntre tabelele Clieni i Facturi se va face ntr-un mod mai performant prin acest cmp pstrndu-se acelai tip de relaie ntre cele dou tabele.

16

Lector univ. drd. Mihai Gavot - Baze de date

O alt observaie care poate fi fcut n legtur cu tabelele aflate n cea de-a treia form normal este aceea c Total valoare factur i Total valoare TVA sunt cmpuri care ar trebui s conin informaii sintetice obinute prin nsumarea valorii tuturor produselor aflate pe o factur. Este de preferat ca astfel de cmpuri s fie calculate n rapoarte sau interogri i nu s fie memorate n tabelele bazei de date. n urma aplicrii acestor rafinri obinem o structur performant a bazei de date, prezentat n continuare: Tabela Facturi Numr factur Data facturrii Cod client Delegat Tabela Clieni Cod client Denumire client Adresa client Banc client Numr cont client Tabela Linii facturi Numr factur Cod produs Cantitate Pre unitar Tabela Produse Cod produs Denumire produs Unitatea de msur

Odat ce am stabilit structura de tabele putem alege sistemul de gestiune a bazelor de date relaionale (SGBD-ul) pe care s-l folosim ca suport de stocare i manipulare a datelor. n cazul nostru alegem MS-Access deoarece acesta pune la ndemna utilizatorilor finali cele mai prietenoase instrumente software cu care pot gestiona informaiile din baza de date.

4. ACCESS 2000

4.1. DE CE ACCESS?
Aa cum artat ntr-un capitol anterior instrumentul de dezvoltare Access este una dintre componentele principale ale pachetului (suitei) de programe pentru birou MS-Office. Pe lng bazele de date relaionale Access, acesta integreaz i alte componente cum sunt: procesorul de texte Word, programul de calcule tabelare Excel, agenda de birou Outlook, programul pentru prezentri Power Point. Felul n care firma Microsoft a reuit s realizeze sistemul de operare Windows sub care funcioneaz toate aceste programe precum i felul n care Microsoft a reuit s integreze Microsoft Office Professional 2000 sub Windows 2000, a atras un mare numr de utilizatori i dezvoltatori de aplicaii Windows. Aceasta a determinat ca n prezent pe mai mult de 80 % din calculatoarele PC din lume s ruleze sistemul de operare Windows mpreun cu pachetul de programe MS-Office. n lucrarea sa fundamental Totul despre Access 2000 Roger Jennings face cunoscut faptul c Access 2000, a asea versiune a platformei desktop pentru bazele de date Microsoft, prin motorul su Jet dezvoltat special, domin n prezent piaa produselor desktop pentru baze de date. nc din 1998 editorialistul Jesse Berst de la ZDNet scria: Paradox-ul (un alt SGBD pentru baze de date relaionale n.a.) a murit. Nimeni nu mai scrie in dBASE. Programul Access de la Microsoft a acaparat deja aceast pia.. Chiar i FoxPro achiziionat de Microsoft i dezvoltat ulterior ca Visual Fox, a devenit un produs marginal. n prezent exist n lume, vndute cu licen, zeci de milioane de copii ale produsului Access. Uurina proiectrii n Access, facilitile de programare vizual, performanele oferite ca baz de date relaional i distribuit, cele de integrare puternic sub Windows (datorate faptului c este o component MS-Office) i nu n ultimul rnd posibilitile de utilizare n intranet i n internet, au fcut ca n ultimii ani acest produs s fie tot mai utilizat ca un instrument de dezvoltare rapid a aplicaiilor ce presupun lucrul cu baze de date, inclusiv n cadrul firmelor romneti. n acest sens, este foarte posibil ca viitorii absolveni cu studii superioare, indiferent de specialitate, s lucreze ca utilizatori finali cu baze de date de tip Access sau s fac parte din echipe mixte de proiectare, configurare i modificare a aplicaiilor care vor compune software-ul sistemului informatic al firmei. Unii dintre ei, n calitate de manageri, trebuie s fie n msur s defineasc cerinele unor aplicaii informatice de tipul bazelor de date pe care le vor solicita unor firme specializate i tot ei vor fi aceia care vor evalua aplicaiile realizate. Avnd n vedere specificul facultii, cele mai potrivite aplicaii practice care vor face obiectul acestui curs, vor fi cele din domeniul managementului resurselor umane.

18

Lector univ. drd. Mihai Gavot - Baze de date

4.2. CE VOR CONINE CAPITOLELE URMTOARE?


Aceasta este o ntrebare fireasc ce i va gsi rspunsul n continuare, prin prezentarea succint a temelor care vor face obiectul cursului. Prezentare general a instrumentului software de dezvoltare Access 2000: o dialogurile principale o modurile de lucru o barele de instrumente o barele de meniu o lucrul cu vrjitori (wizards). Prezentare general a principalelor obiecte Access 2000: o tabelele o interogrile o formularele o rapoartele o macrocomenzile o modulele o paginile internet. Proiectarea structurii tabelelor i a sistemului de relaii dintre acestea: o cmpurile de date i proprietile acestora o tipurile de date o cheile Access i cheile de indexare o relaiile dintre tabele o introducerea datelor direct n tabele o consultarea, editarea, sortarea i filtrarea datelor o legarea tabelelor, importul i exportul acestora. Crearea i utilizarea interogrilor: o crearea interogrilor (queries) simple utiliznd vrjitorii Access o proiectarea interogrilor prin Query Design o utilizarea expresiilor i operatorilor n interogri o interogrile cu parametrii o crearea interogrilor de tip Crosstab cu un wizard special Access o interogrile speciale utilizate pentru tergerea (delete), adugarea (append) i actualizarea (update) datelor. Lucrul cu formulare (forms) i rapoarte (reports): o crearea formularelor cu Form Wizard o proiectarea formularelor n modul de lucru Form Design o lucrul cu subformulare (subforms) o crearea rapoartelor cu Report Wizard o proiectarea rapoartelor n modul de lucru Report Design. Lucrul cu hiperlegturi i generarea paginilor Web din tabele i interogri: o tipul de date Hyperlink Access o generarea paginilor Web statice i dinamice.

ACCESS 2000

19

Administrarea i asigurarea securitii bazelor de date Access: o partajarea bazelor de date i a obiectelor acestora ntre utilizatori o grupuri de lucru i tipuri de utilizatori o securitatea bazelor de date Access, autentificarea utilizatorilor i acordarea permisiunilor o compactarea, repararea i crearea copiilor de siguran pentru bazele de date Access 2000.

Access 2000 este n primul rnd un instrument software de dezvoltare vizual a aplicaiilor ce presupun lucrul cu bazele de date. El pune la dispoziia dezvoltatorilor vrjitori puternici care, n mare parte, reuesc s genereze codurile VBA (Visual Basic for Applications) i SQL (Structured Query Language) necesare acestor aplicaii. Sub Access 2000, Microsoft nu mai recomand utilizarea macrocomenzilor, acestea au fost meninute doar pentru compatibilitate cu versiunile mai vechi de Access. Microsoft propune nlocuirea acestora cu coduri generate de vrjitori n VBA i previne dezvoltatorii c n versiunile viitoare este posibil ca Access-ul s nu mai conin macrocomenzi. Modulele se bazeaz pe scrierea de cod VBA i presupun cunoaterea acestui limbaj. De regul, generarea macrocomenzilor i scrierea codurilor VBA i SQL sunt specifice programatorilor cu experien care cunosc aceste limbaje. Din aceste considerente i avnd n vedere c Access-ul este un instrument de dezvoltare rapid a aplicaiilor bazat pe programarea vizual i pe lucrul cu vrjitori specializai pentru generarea interactiv a codurilor, acest curs nu i-a propus studiul limbajelor VBA i SQL. Prin urmare macrocomenzile i modulele nu vor fi tratate.

4.3. INSTRUMENTUL SOFTWARE ACCESS 2000


Dup lansarea n execuie din meniul Start al sistemului Windows sau dintr-un shortcut special, programul Access 2000 prezint urmtorul dialog:

20

Lector univ. drd. Mihai Gavot - Baze de date

Se observ ca element central o caset de dialog prin intermediul creia utilizatorul poate opta pentru: 1. deschiderea unei baze de date deja existente (exemplu Northwind o baz de date model care se poate instala odat cu programul Access) 2. deschiderea unei baze de date noi (Blank Access database) 3. crearea imediat a unei baze de date sau a unor obiecte ale acesteia, utiliznd vrjitorii (Access database wizards, pages, and projects). 1. Dac se opteaz pentru Open an existing file (opiunea bifat implicit), se poate selecta baza de date (aplicaia) dorit. Aceasta se va ncrca n memorie i eventual se va lansa n execuie (dac este setat n acest sens). De exemplu, dac se alege Northwind i se confirm prin <OK> va fi afiat urmtorul ecran de start al aplicaiei:

Confirmnd n continuare prin <OK> va aprea ecranul principal de prezentare a bazei de date prin intermediul cruia putem avea acces la obiectele acesteia (Tables, Queries, Forms, Reports, Pages, Macros, Modules). Se observ c n mod implicit sunt selectate tabelele bazei de date (Tables).

ACCESS 2000

21

2. Dac se opteaz pentru deschiderea unei baze de date noi (Blank Access database) se va lansa un dialog prin intermediul cruia suntem invitai s alegem un nume i un folder unde se va crea baza de date:

n mod implicit ni se propune numele db1.mdb pentru baza de date i folder-ul My Documents ca loc n care s se salveze. Acesta este de fapt un dialog standard Windows 2000 de tipul File Open / Save care apare utilizatorilor de cte ori o aplicaie Windows solicit alegerea acestor doi parametrii (nume fiier i folder). Presupunnd c acceptm parametrii implicii i confirmm prin apsarea butonului <Create> vom obine ecranul de proiectare (prezentare) a unei baze de date noi (fr tabele i fr nici un alt obiect prefabricat). n continuare vom putea crea obiectele dorite selectnd tipul de obiect i apsnd butoanele <Open> sau <Design>. Ecranul care va aprea este:

22

Lector univ. drd. Mihai Gavot - Baze de date

3. Dac optm pentru Access database wizards, pages, and projects se va lansa un dialog prin intermediul cruia putem selecta wizard-ul specializat pentru tipul de aplicaie ales (ne sunt prezentate un numr de aplicaii tipice):

Permanent, n funcie de modul de lucru i contextul n care ne aflm, programul Access ne pune la dispoziie anumite meniuri contextuale (accesibile prin apsarea butonului din dreapta al mouse-ului) sau bare de meniuri i de instrumente speciale posibil de utilizat n orice moment. O tratare exhaustiv a acestora nu este necesar i nici chiar posibil deoarece Microsoft a lsat liber utilizatorilor posibilitatea de a particulariza aceste bare i deci configuraiile meniurilor i butoanelor pot diferi de la un calculator la altul. Sub Access, la fel ca sub oricare alt program Office (Word, Excel, Power Point), este important s nvm s navigm utiliznd la maximum interactivitatea sistemului oferit prin intermediul asistenilor, a help-urilor senzitive i a mesajelor tooltip ce apar pe un fond galben deschis, atunci cnd ntrziem cu prompter-ul mouse asupra unui buton.

ACCESS 2000

23

Iat un exemplu de bare de meniuri i de unelte care apar atunci cnd ne aflm n modul de lucru proiectare (Design) al unei tabele sub Access:

Oricare dintre obiectele Access se pot afla n dou moduri de lucru: modul de lucru proiectare - Design View i modul de lucru lansare care n funcie de obiectul activ ar putea fi: o Datasheet View (pentru tabele i interogri) o Form view (pentru formulare) o Print Preview (pentru rapoarte) o Page View (pentru pagini internet) o Run (pentru interogri i macrocomenzi).

4.4. O PREZENTARE GENERAL A PRINCIPALELOR OBIECTE ACCESS 2000


n capitolul anterior am vzut c bazele de date Access apar sub forma unor fiiere avnd extensia .mdb. Specific acestora este faptul c toate obiectele (tabele, interogri, formulare, rapoarte, macrocomenzi, module i pagini internet) sunt memorate mpreun n cadrul aceluiai fiier .mdb. Astfel, spre deosebire de alte baze de date n care obiectele apar ca fiiere separate, programul Access obine un plus de performan prin posibilitatea pe care o are de a gestiona intern obiectele bazei de date. Efectul final se materializeaz prin: creterea vitezei de acces la date i de rulare a obiectelor, mrirea securitii bazei de date i printr-o mai simpl administrare, compactare, reparare i criptare a datelor. Cu excepia datelor putem numi obiecte toate elementele din Access. Astfel, sunt obiecte: tabelele, formularele, interogrile, rapoartele, macrocomenzile, paginile internet, modulele, dar i controalele din componena formularelor i rapoartelor. Aplicaia ca atare constituie obiectul Application care face parte din structura Access Object Model. Obiectele de acces la date poar numele de Data Access Objects (DAO).

24

Lector univ. drd. Mihai Gavot - Baze de date

Tabelele (tables)
Conin datele (materia prim) fr de care nu poate fi de imaginat o baz de date. Tabelele reprezint n acest sens poate cel mai important obiect al oricrei baze de date. Datele sunt memorate n tabele sub forma rndurilor (numite i nregistrri sau records) i a coloanelor (numite cmpuri sau fields). Un element important al bazei de date l reprezint modul n care sunt legate tabelele ntre ele, adic sistemul de relaii (relatioships).

Interogrile (queries)
Constituie ntrebri stocate adresate bazei de date. Ele sunt utile pentru a selecta anumite nregistrri conform unor criterii, pentru a le grupa, sorta, terge sau actualiza. Sub Access interogrile pot prelucra i afia datele selectate din maxim 16 tabele. Rezultatele unei interogri (query) se pot afia pe cel mult 255 de coloane. Interogrile au la baz un cod generat n limbajul de interogare SQL.

Formularele (forms)
Sunt obiectele folosite pentru interaciunea cu utilizatorii, cu datele din tabele, din interogri sau rezultate n urma lansrii unor proceduri SQL sau VBA (Visual Basic for Applications). Formularele pot fi utilizate pentru vizualizarea, adugarea sau modificarea datelor sau pentru lansarea anumitor dialoguri de interaciune cu utilizatorul. Tot ca formulare sunt proiectate i panourilor de comand (switchboards) prin intermediul crora utilizatorii pot naviga n interiorul unei aplicaii pentru a vizualiza alte formulare, rapoarte sau interogri. Formularele pot conine subformulare dar i alte obiecte i controale Access sau Windows care personalizeaz aplicaia. De exemplu ele pot conine: butoane, etichete, cmpuri de editare, elemente grafice, sunete sau clipuri video, etc.

Rapoartele (reports)
Reprezint situaiile de ieire disponibile utilizatorilor finali. Ele afieaz ntr-un anumit format standard sau particular rezultatele anumitor interogri sau chiar datele din tabele. De cele mai multe ori rapoartele sunt proiectate pentru a afia datele conform unor situaii finale standard (de exemplu: balana ah contabil, jurnalul de vnzri sau cel de cumprri, jurnalul de cas, situaiile conturilor bancare, centralizatorul stocurilor, etc). La fel ca i formularele, rapoartele pot conine funcii VBA i anumite obiecte care s fac posibil afiarea cmpurilor din tabele sau interogri n formatele dorite. Obiectele cel mai frecvent utilizate sunt etichetele, cmpurile de afiare, elementele grafice. Rapoartele pot conine i subrapoarte. Informaia afiat prin rapoarte sau prin formulare poate fi structurat i grupat pe mai multe seciuni: title, header, detail, footer. n capitolele urmtoare vor fi detaliate aceste noiuni.

Macrocomenzile (macros)
Sunt proceduri care automatizeaz de regul anumite operaii sau evenimente cum ar fi: lansarea automat a unei comenzi din bara de meniuri, clic-ul pe un anumit buton, lansarea n execuie a unor forme, interogri sau rapoarte, etc. Macrocomenzile au fost meninute n Access 2000 doar pentru compatibilitate cu versiunile anterioare. Microsoft recomand nlocuirea

ACCESS 2000

25

acestora cu cod scris n VBA deoarece este posibil ca versiunile viitoare de Access s nu mai conin macrocomenzi.

Modulele (modules)
Conin proceduri (secvene de cod) scrise n VBA (Visual Basic for Applications). Modulele pot fi module de clas i module standard. Modulele de clas pot aprea n cadrul formelor sau rapoartelor atunci cnd se trateaz prin intermediul unor instruciuni (cod VBA) anumite evenimente (de exemplu evenimentul clic cu mouse-ul pe un buton). Modulele standard conin acele proceduri sau funcii personalizate disponibile ntregii aplicaii. Ele sunt scrise de programatorii de aplicaie i se afl grupate n modules.

Paginile internet (pages)


Sunt pagini Web care mijlocesc prin intermediul unui server, afiarea n internet a datelor unei aplicaii Access 2000. Ele mai sunt numite i pagini DAP (Data Access Pages). Paginile internet pot fi statice sau dinamice i pot fi consultate prin intermediul browser-ului Internet Explorer 5.x. Cei care le consult trebuie s aib instalat MS-Office 2000.

5. TABELELE I SISTEMUL DE RELAII

Aa cum am artat n capitolul anterior tabelele reprezint materia prim a oricrei baze de date. Tabelele bazelor de date, la fel ca oricare alte tabele, au o structur dat de tipurile i dimensiunile coloanelor care le compun. ntr-o alt exprimare, n limbajul uzual se spune c oricrui tabel i este specific un cap de tabel. Deci, orice tabel are linii i coloane i conine datele organizate conform unei anumite structuri. n limbajul bazelor de date coloanele se numesc cmpuri (fields). Fiecare coloan reprezint un cmp (field) cu o denumire unic, de un anumit tip (ir de caractere, numeric, dat calendaristic, etc), avnd o dimensiune prestabilit, care l determin s ocupe n memorie un anumit numr de octei n funcie de tipul cmpului. Rndurile (liniile) tabelelor se numesc nregistrri (records). Evident spaiul de memorie ocupat de o tabel este funcie de numrul de nregistrri i de cmpuri ale acesteia. Pot exista i tabele vide, adic fr nici o nregistrare. Aceste tabele au doar structur, configurat n funcie de numrul, tipul i dimensiunea cmpurilor. Iniial, dup crearea structurii, toate tabele sunt vide. Ele mai pot deveni vide i n urma unei operaiuni de tergere a tuturor nregistrrilor coninute. Tabelele pot prezenta datele (nregistrrile) ordonate sau filtrate conform unor criterii (ex.: sortate alfabetic dup numele persoanelor, n ordinea cresctoare (ascending) a codurilor sau n ordinea descresctoare (descending) a mediilor, filtrate numai pentru persoanele nscute dup o anumit dat i/sau numai pentru persoanele al cror nume ncepe cu litera M, etc). Deci, tabelele pot conine datele ordonate, indexate dup anumite cmpuri numite chei de acces sau chei de index. Orice tabel poate avea cmpuri tip cheie primar de acces (evideniate ntrun mod special sub Access prin plasarea unei pictograme cu o imagine de cheie n dreptul acestora) i opional cmpuri desemnate pentru cheile de index. Chiar dac pot exista i tabele fr cheie primar de acces i fr chei de index, se recomand ca fiecare tabel s conin mcar un cmp cheie primar. Avnd aceast organizare viteza de acces la date este mai mare i deci crete performana de procesare a bazei de date. Proiectarea structurii tabelelor i a sistemului de relaii dintre cmpurile acestora este o operaiune foarte important, de ea depinznd n final performana global a bazei de date. n aceast etap de analiz trebuie avute n vedere regulile de normalizare a bazei de date. Dintre cerinele procesului de normalizare amintim: cmpurile tabelelor s fie atomice, adic datele coninute de ctre acestea s fie difereniate n cmpuri distincte astfel nct s rspund necesitilor de interogare; dac exist grupuri de cmpuri care se repet pentru aceeai valoare a cheii primare acestea vor alctui o tabel separat; toate cmpurile dintr-o tabel trebuie s se refere la cheia primar n totalitatea ei; toate cmpurile tabelelor s fie independente unele fa de altele, deci ntre cmpurile aceleiai tabele nu trebuie s existe relaii ascunse.

Prin puterea sa ca instrument software, Access-ul 2000 ofer oricrui utilizator (chiar fr cunotine avansate de programare) posibilitatea de a crea i utiliza cu uurin tabele i interogri dar nu poate substitui lipsa de experien i de profunzime a analizelor acestora, nu poate lega singur tabelele, nu poate normaliza automat baza de date i nu poate corecta greelile din etapa de analiz. Iat cteva argumente care pledeaz pentru faptul c cel mai indicat este ca

TABELELE I SISTEMUL DE RELAII

27

etapa de analiz s fie lsat n seama specialitilor mai ales atunci cnd este vorba de probleme complexe.

5.1. TIPURILE DE DATE ACCESS 2000


Crearea unei tabele presupune n general dou etape distincte: definirea structurii tabelei i ncrcarea acesteia cu date. Definirea structurii tabelei const n stabilirea cmpurilor (coloanelor) ca denumire, tip de date i dimensiune (n funcie de valorile pe care le vor conine). Access 2000 permite utilizarea urmtoarelor tipuri de date pentru cmpurile tabelelor: Tip de date Text Memo Number Caracteristici Este alfanumeric, poate conine maxim 255 de caractere Este analog tipului de date text cu deosebirea c poate conine maxim 65.535 caractere. Cmpurile de tip memo nu pot fi cmpuri cheie. Reprezint tipul de date numeric. n funcie de tipurile de date numerice (mrimea maxim a numerelor) memorate n aceste cmpuri dimensiunea lor (field size) poate fi: Tip Domeniu de valori numerice ce pot fi Octei memorate ocupai Byte 0-255 (nu permite zecimale) 1 Integer -32.768 32.767 (nu permite zecimale) 2 Long -2.147.483.648 - 2.147.483.647 4 Integer (nu permite zecimale) Single -3,4 * 1038 - 3,4 * 1038 4 (permite maxim 15 zecimale) Double -1,797 * 10308 - 1,797 * 10308 8 (permite maxim 15 zecimale) Currency -922.337.203.685.477,5808 8 922.337.203.685.477,5808 Decimal -1028 1028 12 (permite maxim 28 zecimale) Formatul pentru acest tip de date poate fi: Denumire format Exemplificarea afirii General Number 1215,9 Currency $9876,2515 Fixed 876,25 Standard 1.2345.345,95 Percent 99.15 % Scientific 1,123E+05 Este un cmp numeric de tipul Long Integer, util pentru incrementarea automat cu +1 pentru fiecare nregistrare nou a valorii codurilor numerice unice alocate cmpurilor de tip cheie de acces care se recomand s nsoeasc orice tabel. Este un cmp de tip logic (da / nu sau adevrat / fals). Nu poate fi un cmp cheie de acces.

AutoNumber

Yes / No

28

Lector univ. drd. Mihai Gavot - Baze de date

Tip de date

Currency

Data / Time

OLE Object

Hyperlink

Lookup Wizard

Caracteristici Formatul pentru acest tip de date poate fi: Denumire format Exemplificarea afirii Yes / No Yes sau No True / False True sau False On / Off On sau Off None -1 sau 0 Reprezint un cmp special recomandat pentru a fi utilizat n operaiunile financiare care presupun lucrul cu anumite monede i pentru care se cere un format special cu 4 zecimale util n eliminarea erorilor de rotunjire. Este tipul de cmp utilizat pentru memorarea datelor de tip dat sau timp. Afiarea acestuia este diferit n funcie de ara / limba utilizate de sistemul Windows. Exemplificrile curente sunt pentru limba englez USA. Formatul acestui tip de date poate fi: Denumire format Exemplificarea afirii General Date 12/28/2001 5:15:20 PM Long Date Saturday, August 18, 2001 Medium Date 18-Aug.2001 Short Date 8/18/2001 Long Time 9:15:00 AM Medium Time 1,123E+05 Short Time 15:00 Object Linked Embedded poate fi un document Word, o foaie de calcul Excel, un obiect grafic, un sunet sau un videoclip. Acest obiect poate avea orice mrime i nu este limitat dect de mrimea spaiului liber disponibil pe hard-disc. Este un cmp special care poate conine adrese ale unor documente din cadrul paginilor Web sau adrese de e-mail. Adresele memorate n aceste cmpuri sunt afiate ntr-un mod similar cu cel n care apar n browser-ul internet. Un clic cu mouse-ul pe coninutul unui astfel de cmp determin lansarea browser-ului i deplasarea automat la acea adres Web sau lansarea clientului e-mail implicit presetat automat pentru a trimite un mesaj la adresa de e-mail din cmp. Permite alegerea unei valori dintr-o alt tabel prin intermediul unor obiecte de tip list derulant (list box i combo box).

5.2. CREAREA TABELELOR


Access 2000 pune la dispoziia proiectanilor de aplicaii trei metode utile pentru crearea tabelelor. Acestea sunt: 1. Create table in Design view (crearea tabelei n modul de proiectare Design view ) 2. Create table by using wizard (crearea tabelei utiliznd vrjitorul) 3. Create table by entering data (crearea tabelei chiar n momentul introducerii datelor).

TABELELE I SISTEMUL DE RELAII

29

Cele trei metode sunt evideniate n urmtorul ecran care apare dup selectarea obiectelor Tables prin apsarea butonului de comand specific.

Cea mai des utilizat metod este prima - Create table in Design view, care odat selectat i punctat prin <Enter> sau dublu clic ne deplaseaz n aceeai machet de proiectare ce apare i la apsarea butonului . n urmtoarea figur se poate vedea macheta de proiectare disponibil n momentul crerii tabelei Date personale angajai (tabel care a mai fost prezentat ntr-un capitol anterior, atunci cnd s-a discutat relaia unu la muli).

30

Lector univ. drd. Mihai Gavot - Baze de date

Numele cmpurilor se nscriu prin tastarea acestora n coloana Field Name iar tipul de dat se selecteaz prin intermediul unei liste (control combo box) care apare atunci cnd se execut un clic n linia cu cmpul dorit, n dreptul coloanei Data Type. Iat controlul combo box disponibil cnd se alege tipul de dat pentru cmpul data angajarii. Evident s-a ales tipul de dat Date / Time. n machet se mai observ cmpul cod persoana care este un cmp tip cheie de acces Primary Key. Acest cmp are n dreptul lui o pictogram cheie care a fost selectat anterior printr-un clic dat n bara de instrumente pe butonul coninnd acelai simbol. Cmpul cod persoana se mai numete i cheie intern. Structura tabelei mai conine i cmpurile nume persoana i adresa n care se vor memora date de tipul Text. Cmpul cod functie se mai numete i cheie extern i este un cmp de legtur ctre o alt tabel numit Nomenclator functii avnd o structur foarte simpl ce va fi prezentat n continuare. Se observ c aceast tabel conine doar trei cmpuri: cod functie care aici este cheie de acces primar, denumire functie un cmp de tip Text ce va conine denumirea n clar a funciilor ocupate de angajai i cod categorie functie o cheie extern care va fi util pentru crearea unei legturi ctre o alt tabel: Nomenclatorul categoriilor de functii. Dimensiunea aleas (Field Size) pentru cmpul cod categorie functie este de tipul byte. S-a ales tipul numeric byte deoarece s-a considerat c nu este posibil s existe mai mult de 255 de categorii de funcii. n acest fel s-a obinut o economie de memorie datorat faptului c tipul de dat byte ocup doar un octet (byte) de memorie. Structura tabelei Nomenclatorul categoriilor de functii se poate vedea n urmtoarea figur: Nomenclatorul categoriilor de functii este o tabel secundar din care vom extrage la nevoie doar denumirea categoriei funciei ocupate de un angajat (ex.: director, ef de departament, ef de birou, analist, operator contabil, operator financiar, secretar etc). La capitolul referitor la interogri (queries) se va exemplifica lucrul cu aceast tabel.

TABELELE I SISTEMUL DE RELAII

31

Aa cum am artat la nceputul subcapitolului, pe lng metoda Design View, Access 2000 mai pune la dispoziia utilizatorilor nc dou metode utile pentru crearea tabelelor: Create table by using wizard (crearea tabelei utiliznd vrjitorul) i Create table by entering data (crearea tabelei chiar n momentul introducerii datelor). n continuare vor fi prezentate pe scurt i aceste dou metode. Crearea unei tabele utiliznd vrjitorul se face dnd dublu-clic pe opiunea Create table by using wizard. n urma acestei aciuni vom obine o succesiune de dialoguri specializate pentru crearea unor tabele din domeniile Business sau Personal. Dialogurile se bazeaz pe anumite cmpuri predefinite de ctre Access pentru aceste domenii. Iat succesiunea de dialoguri care vor aprea dac se selecteaz domeniul Business:

Microsoft, atunci cnd a creat Access 2000, a considerat c este bine s ofere utilizatorilor i posibilitatea de a crea o tabel chiar n momentul introducerii datelor. Aceasta este de fapt a treia metod de creare a tabelelor, care devine disponibil dup selectarea opiunii Create table by entering data. Dup solicitarea Create table by entering data va aprea o macheta de ncrcare exhaustiv a datelor. Este o machet preformatat pentru 10 coloane (cmpuri) numite Field1, Field2,,Field10 i 21 de rnduri (nregistrri) vide. Aceast modalitate de lucru presupune c ulterior, dup introducerea datelor n celule, se va solicita metoda de lucru Design View pentru definirea structurii tabelei (numele cmpurilor, tipurile de date i proprietile acestora). Intrarea n Design View se poate obine prin apsarea primului buton din bara de instrumente (toolbar) care conine pictograma unui echer.

32

Lector univ. drd. Mihai Gavot - Baze de date

Aa cum se vede n Status bar scrie Datasheet View care este de fapt macheta standard pus la dispoziie de Access pentru ncrcarea datelor direct n tabele. Iat de exemplu cum apare Datasheet View atunci cnd se ncarc date n tabela Nomenclatorul categoriilor de functii:

TABELELE I SISTEMUL DE RELAII

33

Atunci cnd lucreaz n modul de lucru Datasheet View Access pune la dispoziia utilizatorilor mai multe faciliti: O bar de instrumente:

prin intermediul crora: o se poate comuta n modul da lucru dorit: Design View (echerul) sau Datasheet View (tabelul) o se pot salva datele (discheta) o se pot lista datele la imprimant sau previzualiza n vederea listrii o se pot consulta datele sortate dup valorile anumitor cmpuri (coloane) o coninutul tabelei poate fi vizualizat filtrat dup anumite criterii o se pot lansa cutri. O bar standard de butoane de navigaie printre nregistrri:

prin intermediul crora (n ordine de la stnga la dreapta) se poate obine: o deplasarea pe prima nregistrare (nregistrarea numrul 1) o deplasarea pe o nregistrare anterioar o se poate vedea numrul nregistrrii curente (5 n cazul de fa) sau se poate comanda deplasarea pe un alt numr de nregistrare, dac n locul numrului curent (ce apare n cmpul de editare) se va nscrie numrul dorit pentru noua nregistrare (n final, se apas tasta <Enter>) o deplasarea pe nregistrarea urmtoare o deplasarea pe ultima nregistrare a tabelei o deplasarea pe un spaiu special rezervat (marcat prin *) pentru adugarea unei nregistrri noi. Informarea despre nregistrarea care se editeaz n acel moment:

este evideniat prin intermediul pictogramei care apare n stnga acesteia sub forma unui creion. Informarea despre nregistrarea curent:

este evideniat prin intermediul pictogramei care apare n stnga acesteia sub forma vrfului unei sgei orientate spre dreapta.

34

Lector univ. drd. Mihai Gavot - Baze de date

5.3. SALVAREA TABELELOR


Dup crearea numelor de cmpuri (Field Name), alegerea tipurilor de date pentru acestea (Data Type) i setarea proprietilor cmpurilor (Field Properties), se stabilesc cmpurile care alctuiesc cheia primar de acces i eventual alte chei de tip index, ce se pot selecta prin utilizarea butonului Indexes din toolbar n mod similar cu butonul Primary Key. Salvarea tabelelor se realizeaz prin alegerea opiunii Save sau Save as din meniul File aflat n bara de meniuri (Menu bar). n urma acestei aciuni apare urmtorul dialog: Aici se afl nscris iniial un nume implicit Table1 propus de Access. Peste acest nume se va nscrie de la tastatur numele dorit pentru tabel, (Nomenclator functii) apoi se va confirma prin apsarea butonului <OK> sau a tastei <Enter>.

5.4. PROPRIETILE CMPURILOR


Apar n modul de lucru Design View disponibil atunci cnd se creeaz sau se modific structura unei tabele. Seciunea Field Properies este plasat n partea inferioar a dialogului Design View pentru tabele. Exemplul din partea stng prezint dialogul Design View pentru tabela Nomenclatorul categoriilor de functii.

Proprietile cmpurilor sunt: Field Name - numele cmpului. Poate avea maxim 64 de caractere. Nu sunt admise caracterele: !. Data Type - tipurile de date care pot fi selectate prin alegerea dintr-o list derulant (un control combo box). Acestea pot fi: Text, Memo, Number, Date/Time, Currency, AutoNumber, Yes/No, OLE Object, Hyperlink, Lookup Wizard. Description - poate conine descrierea cmpurilor.

TABELELE I SISTEMUL DE RELAII

35

Primary Key - simbolul cheie care poate aprea n stnga cmpurilor desemnate a fi chei primare de acces. Field Size - dimensiunea cmpului, stabilete n funcie de tipul acestuia cantitatea maxim de memorie posibil de alocat pentru valoarea unui cmp. Format - stabilete formatul utilizat pentru afiarea cmpului. De exemplu, pentru cmpurile de tip numeric (number) acesta poate fi:

Precision - precizia este prezent numai pentru tipul de date Decimal i definete numrul de cifre care trebuie afiate pentru o valoare numeric. Valoarea implicit este 18 iar cea maxim 28. Scale - apare numai pentru tipul de date Decimal i stabilete numrul zecimalelor afiate. Decimal Places - specific numrul zecimalelor afiate pentru tipurile de date Number i Currency. Input Mask - masca de intrare, specific modul de afiare a datelor din acest cmp n timpul care editrii. Atunci cnd se face clic n linia acestei proprieti apare butonul Builder dac va fi apsat va prezenta urmtorul dialog (wizard):

Caption - este denumirea coloanei (cmpului) care se dorete s apar nscris n capul de tabel atunci cnd se lucreaz n modul Datasheet. Default Value - este valoarea implicit (prestabilit) care va aprea n cmp atunci cnd este introdus o nregistrare nou i nu se introduce o valoare explicit. Validation Rule - reprezint o expresie care limiteaz valorile ce pot fi introduse n respectivul cmp. Ex.: >10 indic faptul c n acel cmp nu vor putea fi introduse date numerice < 11. Validation Text - poate conine textul care va fi afiat cnd operatorul introduce date care nu respect regula din Validation Rule.

36

Lector univ. drd. Mihai Gavot - Baze de date

Required - este o proprietate care nu permite dect dou valori: Yes i No. Yes arat c nu este permis continuarea editrii dac respectivul cmp nu este completat cu date. Valoarea implicit pentru Required este No, adic sunt permise i valori vide (Null) pentru acel cmp. Allow Zero Length - nseamn Permite Lungime Zero i este o proprietate care se aplic numai cmpurilor de tipul Text, Memo i Hyperlink. Poate avea doar dou valori: Yes i No. Indexed - specific dac se va crea un index dup acel cmp i dac este permis lucrul cu valori duplicate pentru respectivul cmp n cadrul indexului. Poate avea trei valori: Yes (Duplicates OK), Yes (No duplicates) i No. Valoarea implicit este No, adic nu se creaz un index dup cmpul respectiv. Aceast proprietate nu se aplic cmpurilor Memo, OLE Object i Hyperlimk. New Value - se aplic doar cmpurilor de tip AutoNumber i arat cum vor fi generate noile valori pentru acest tip de cmp. Poate avea doar dou valori: Increment i Random. Increment specific c o valoare nou a unui cmp va fi obinut prin adunarea celei mai mari valori a cmpului cu +1. Random impune acordarea unor valori noi n mod aleator.

5.5. IMPORTUL I EXPORTUL DATELOR


Meniul File din bara principal de meniuri a bazelor de date Access 2000 ofer dou opiuni pentru importul sau exportul datelor din/n tabele externe, ale altor baze de date (Access, dBase, Paradox etc). Aceste opiuni sunt: Get External Data - preluarea de date externe. La selectare Get External Data deschide un submeniu cu dou opiuni: 1. Import - ofer posibilitatea aducerii datelor existente, din alte tabele externe (ale altor baze de date) n cadrul unor tabele interne ce vor fi create automat n baza de date curent (Access). Presupunnd c exist o tabel extern Piese.dbf creat anterior sub dBASE IV, dup importul prin Get External Data, n baza de date curent va aprea o nou tabel PIESE avnd numele i tipurile cmpurilor asemntoare cu cele din tabela originar Piese.dbf. 2. Link Tables asigur legtura cu tabele externe. Access-ul poate lucra att cu tabele interne bazelor de date proprii ct i cu tabele externe, ale altor SGBD-uri, deci cu tabele care exist fizic n afara bazei de date curente (Access). Mergnd pe exemplul anterior, presupunnd c exist tabela extern Piese.dbf (creat sub dBASE IV) i c se dorete lucrul cu datele din interiorul acesteia dar fr a le importa (n baza de date Access), atunci exist posibilitatea legrii tabelei Piese.dbf la baza de date curent prin opiunea Link Tables. Iat materializate efectele celor dou exemple anterioare: importul tabelei externe Piese.dbf, care a determinat apariia ntre tabelele bazei de date, a unei tabele noi numit PIESE. legtura cu tabela extern Piese.dbf materializat prin apariia legturii tabelei sub forma: . Nefiind permis existena a dou tabele cu acelai nume (PIESE) n cadrul unei baze de date, Access-ul a redenumit automat tabela legat, cu numele PIESE1.

TABELELE I SISTEMUL DE RELAII

37

Export. Aceast opiune a meniului File asigur posibilitatea convertirii i salvrii tabelelor unei baze de date Access sub forma unor tabele specifice altor SGBD-uri. Astfel, dac de exemplu se dorete salvarea datelor unei tabele interne (Access) ntr-un format specific dBASE IV, deci ntr-o tabel extern .dbf, se va apela la opiunea Export disponibil din meniul File. S presupunem c dorim exportul tabelei interne Date angajati ntr-o tabel extern tip dBASE IV, numit Date angajati.dbf. Procedura de export va cuprinde urmtorii pai: o Selectarea tabelei interne Date angajati i apelarea opiunii Export din meniul File. Va aprea urmtorul dialog:

38

Lector univ. drd. Mihai Gavot - Baze de date

o Selectarea dBASE IV (*.dbf) prin intermediul controlului combo box din dreptul cmpului Save as type. o Apsarea butonului Save care va determina apariia n folder-ul ales pentru salvare (My Documents n acest exemplu) a urmtoarelor fiiere: Date angajati.DBF, Date angajati.INF i Date angajati.MDX, necesare sistemului dBASE IV. n Access 2000 mai exist o modalitate foarte util prin intermediul creia pot fi schimbate datele ntre obiectele interne Access dar i ntre obiectele Access (tables, queries, cmpuri de editare) i alte aplicaii externe. Aceast posibilitate este oferit de mecanismul Clipboard. Lucrul cu Clipboard-ul este posibil de sub meniul Edit, specific oricrei aplicaii Windows standard. n meniul Edit exist opiunile Copy, Cut, Paste i Delete care pot fi utilizate la fel ca i sub Word. De exemplu, prin folosirea mecanismul Clipboard sunt posibile: aducerea datelor selectate dintr-un tabel Word, ntr-o tabel Access, copierea unor nregistrri selectate dintr-o tabel Access ntr-o alt tabel Access intern bazei de date sau ntr-un tabel Word sau Excel, copierea unor celule Excel ntr-una sau mai multe tabele Access, etc.

5.6. RELAIILE DINTRE TABELE


n subcapitolul 3.2. n care au fost tratate tipurile de relaii s-a artat c ntre tabelele bazelor de date pot exista patru tipuri de relaii: unu la unu, unu la muli, muli la unu i muli la muli. S-a artat c relaia muli la muli este un tip de relaie complex care nu este implementat n mod direct n sistemele de gestiune a bazelor de date relaionale. Acest tip de relaie ntre tabele se rezolv prin introducerea unei tabele suplimentare care se afl ntr-o relaie de muli la unu cu fiecare dintre tabelele pe care le leag. Deci, cele trei tipuri fundamentale de relaii dintre tabele sunt: unu la unu, unu la muli, muli la unu. n continuare va fi prezentat felul n care Access a implementat aceste tipuri de relaii. n acest sens, pentru o mai bun nelegere a relaiilor dintre tabele, n tabela principal Date angajai care a fost utilizat pentru exemplificri n subcapitolul 3.2, a mai fost inserat un cmp de legtur (cheie extern) cod studii i corespunztor n baza de date a fost creat (adugat) o nou tabel Nomenclator studii avnd urmtoarea structur: Aceast tabel va conine doar trei nregistrri utile pentru identificarea tipului de studii absolvite de ctre angajai: cod studii 0 1 2 denumire studii fr medii superioare

Cmpul de legtur (cod studii) exist i n tabela Nomenclator studii dar aici el este cheie primar.

TABELELE I SISTEMUL DE RELAII

39

Pentru a crea / actualiza relaiile dintre tabelele unei baze de date Access se poate utiliza opiunea Relationships din bara principal de meniuri sau butonul corespunztor din bara de instrumente:

Iat sistemul de relaii al bazei de date:

40

Lector univ. drd. Mihai Gavot - Baze de date

Se pune ntrebarea: cum au fost realizate legturile ntre tabelele bazei de date ? Va fi exemplificat n continuare algoritmul de creare a legturii tabelei Date angajai cu tabela Nomenclator studii. 1. Selectarea opiunii Relationships care va determina apariia urmtoarei ferestre:

disponibil n bara de instrumente, va 2. Apsarea butonului Show table deschide urmtorul dialog pentru adugarea unei noi tabele n sistemul de relaii: Se selecteaz i se adaug prin intermediul butonului <Add>, noua tabel Nomenclator studii.

TABELELE I SISTEMUL DE RELAII

41

3. Dup apsarea butonului <Close> de nchidere a dialogului anterior, n fereastra Relationships va aprea tabela Nomenclator studii fr nici o relaie cu celelalte tabele:

4. Pentru crearea unei relaii ntre tabela principal Date angajai i tabela Nomenclator studii prin intermediul cmpului cod studii, se trage cu mouse-ul prin drag & drop (cu butonul stng al mouse-ului apsat), cmpul cod studii din Date angajai peste cmpul cod studii din tabela Nomenclator studii. Dup eliberarea butonului mouse-ului va aprea urmtorul dialog: Pentru alegerea tipului de relaie dorit, va fi apsat butonul Join Type care va afia un alt dialog de selectare, ce ofer cele trei posibiliti fundamentale de relaii: unu la unu, unu la muli i muli la unu.

42

Lector univ. drd. Mihai Gavot - Baze de date

5. Dialogul de selectare a tipului de relaie este: Atunci cnd se trage legtura (n pasul 4, prin drag & drop) este foarte important sensul de tragere (dinspre tabela Date angajai ctre tabela Nomenclator studii sau invers). Acest sens definete generic tabela care a fost considerat principal n respectiva relaie. Deoarece s-a considerat tabela Date angajai ca fiind tabel principal, atunci se va selecta tipul de relaie 3. 6. Dup apsarea butonului <OK> din dialogul anterior, se revine automat n fereastra de dialog Edit Relationships (vezi pasul 4), i se confirm prin clic pe butonul <Create>, ceea ce va determina crearea relaiei ntre cele dou tabele. Noua relaie va fi materializat n fereastra Relationships astfel:

Este evident c celelalte relaii dintre tabele au fost create n mod similar. Pentru c n relaia dintre tabela Deplasare angajai i Date angajai s-a considerat ca tabel principal tabela Deplasri angajai, legtura este invers. Aici este vorba de o relaie muli la unul (mai multe deplasri identificate prin cmpul cod persoana corespund unui singur angajat).

6. CREAREA I UTILIZAREA INTEROGRILOR

Interogrile (queries) reprezint poate cel mai interesant i complex tip de obiecte ale oricrei baze de date, deoarece prin intermediul lor se pot procesa, sintetiza i utiliza ntr-un mod superior datele existente n tabele. La fel ca i la tabele, Access-ul pune la dispoziie instrumente evoluate de proiectare vrjitori, ferestre de dialog specializate i alte modaliti de acces la date care fac posibil programarea vizual i exclud aproape n totalitate necesitatea de a scrie cod. Interogrile Access fructific pe deplin aceste faciliti i i ajut chiar i pe utilizatorii fr cunotine deosebite n domeniul informatic, s poat rspunde cu uurin unor ntrebri complexe legate de datele existente n baza de date. Chiar dac afiarea direct a rezultatelor interogrilor nu se ridic la rafinamentul i frumuseea celor prezentate prin intermediul formularelor i rapoartelor, ele sunt utile att specialitilor n etapa de programare ct i utilizatorilor finali. Acetia, nu de puine ori, au nevoie s interogheze baza de date pentru a obine informaii ce nu au fost materializate de programatori prin formulare i rapoarte i nu au nevoie ca rezultatele s fie prezentate ntr-o form prea elaborat. Access 2000 este un instrument software evoluat, care face ntr-adevr posibile programarea vizual i dezvoltarea rapid a aplicaiilor. Interogrile sunt utilizate pentru reunirea cmpurilor din mai multe tabele n vederea unei prezentri agregate a informaiilor, pentru selectarea, tergerea sau adugarea nregistrrilor n/din tabele dup anumite criterii, pentru crearea sau actualizarea datelor. Interogrile pot fi de tip: Select Query (de selectare) Total Query (de totalizare) Crosstab Query (de tip cap de tabel cu mai multe intrri) Make-Table Query (de creare tabele) Update Query (de actualizare) Append Query (de adugare) Delete Query (de tergere). Ca i la tabele exist posibilitatea crerii interogrilor cu ajutorul vrjitorilor specializai sau prin intermediul machetei de proiectare Design View. Dup comutarea n panoul obiectelor Queries apare urmtoarea fereastr: Aici primele dou opiuni sunt: 1. Create query in Design View 2. Create query by using wizard Semnificaia acestor opiuni este similar cu cea de la obiectele Tables. De fapt prezena lor constituie un standard Access, deoarece ele se vor regsi i n seciunile Forms i Reports.

44

Lector univ. drd. Mihai Gavot - Baze de date

Prima opiune, cea mai utilizat, este echivalent cu apsarea butonului Design din ecranul anterior i atunci cnd este lansat n execuie prezint urmtorul dialog (Show Table):

Dup selectarea tabelelor sau interogrilor dorite pentru a constitui baza de prelucrare (materia prim) pentru query-ul curent, se apas butonul <Add>. Selecia poate fi individual, contigu sau necontigu, fiind similar cu modalitatea de selecie din programul Windows Explorer. n exemplul nostru, s-a dorit o interogare prin care s obinem o list cu numele angajailor i studiile acestora. n acest scop, nainte de apsarea butonului <Add> s-au selectat (necontiguu folosind tasta Ctrl) cele dou tabele necesare interogrii Date angajai i Nomenclator studii. Terminarea i nchiderea lucrului cu acest dialog de adugare se marcheaz prin apsarea butonului <Close>. Urmtoarea fereastr afiat reprezint macheta de proiectare vizual a obiectelor de tip query. Se observ c cele dou tabele au fost aduse automat legate prin relaia care a fost definit i care exist n Relatioships:

CREAREA I UTILIZAREA INTEROGRILOR

45

n partea de jos a acestei machete se gsete un tabel vid (cu liniile: Field, Table, Sort, Show, Criteria, or), n ale crui coloane vor trebui trase cu mouse-ul prin drag & drop cmpurile din tabelele (din partea de sus), ale cror valori vor fi afiate sau vor servi drept criterii de interogare. n cazul nostru vor fi trase cmpurile nume persoana din tabela Date angajai i denumire studii din tabela Nomenclator studii. n urma acestor aciuni macheta de proiectare va arta astfel:

Dup apsarea butonului View (primul buton din bara de instrumente vezi imaginea anterioar), pe ecran va fi afiat urmtoarea list cu rezultatele interogrii: Se observ c sunt afiate doar cele dou cmpuri (coloane) selectate. Relaia dintre tabele realizat prin intermediul cmpului cod studii, asigur posibilitatea afirii studiilor corespunztoare pentru fiecare persoan chiar dac valorile acestui cmp nu apar explicit. Oricnd se poate reveni n macheta de proiectare prin apsarea primului buton din bara de instrumente, care acum conine simbolul unui echer. Rezultatul interogrii se poate previzualiza naintea listrii sau se poate lista efectiv la imprimant prin intermediul butoanelor corespunztoare din toolbar (sunt butoanele standard care conin simbolurile imprimant i lentil).

46

Lector univ. drd. Mihai Gavot - Baze de date

Continund exemplul, s presupunem c managerul de resurse umane solicit o alt ordonare a listei. El cere ca lista s fie sortat dup studii i anume nti cele superioare, apoi studiile medii i fr, iar n cadrul aceluiai tip de studii numele persoanelor s apar sortate alfabetic. Deci n traducere aceasta nseamn o dubl sortare. Prima va fi o sortare descresctoare (descending) dup cmpul cod studii (deoarece 2=studii superioare, 1=studii medii, 0=fr studii), iar a doua, o sortare cresctoare alfabetic (ascending) dup cmpul nume persoana. Cele dou cmpuri (cod studii i nume persoan) vor fi chei de sortare n cadrul acestei interogri. Ordinea de plasare a cheilor n interogare este important. Prioritatea cheilor descrete de la stnga la dreapta (prima cheie, cea mai important, cod studii va fi plasat cel mai la stnga n tabelul machetei de proiectare). Tabelul din macheta de proiectare ofer pentru sortare linia (opiunea) Sort iar pentru marcajul cmpurilor (coloanelor) vizibile la consultarea interogrii, linia Show cu controale de marcare (check box). Cmpurile n dreptul crora exist bif pe linia Show, vor fi vizibile. Iniial toate cmpurile au prezent bifa n dreptul lor pe linia Show (deci n mod implicit vor fi vizibile toate coloanele interogrii) . n cazul nostru pentru c nu dorim s fie vizibile valorile cmpului cod studii (0, 1 sau 2) vom debifa respectivul control de marcare. Macheta de proiectare va fi:

CREAREA I UTILIZAREA INTEROGRILOR

47

Dup apsarea butonului View (primul din stnga pe toolbar) rezultatul interogrii va fi urmtoarea list dublu sortat:

S presupunem c se solicit o situaie mai complex care pe lng nume i studii s afieze funcia deinut i data angajrii. Lista trebuie s fie sortat n ordinea cresctoare a funciilor, apoi n cadrul fiecrei funcii n ordine alfabetic dup numele persoanelor. n acest caz, deoarece se solicit informaii despre funciile deinute, este necesar adugarea n interogare a tabelei Nomenclator funcii. Dialogul de adugare Show Table se apeleaz prin apsarea butonului cu acelai nume din bara de instrumente. Acest dialog este:

48

Lector univ. drd. Mihai Gavot - Baze de date

Dup adugarea tabelei Nomenclator funcii se trag n tabel prin drag & drop cmpurile necesare interogrii i se stabilesc cheile de sortare. Macheta de proiectare va arta astfel:

La apsarea butonului View va fi afiat urmtoarea list:

CREAREA I UTILIZAREA INTEROGRILOR

49

Un query poate fi salvat prin procedurile standard Save sau Save as care au fost prezentate n capitolul anterior referitor la tabele. Orice query salvat poate deveni o surs de date (similar unei tabele) pentru un alt query, un form sau un report. Orice interogare realizat n manier vizual sau cu ajutorul vrjitorilor specializai se traduce de ctre Access ntr-o comand SQL. Iat codul SQL creat automat de ctre Access pentru ultima interogare: SELECT Date angajati.nume persoana, Nomenclator functii.denumire functie, Nomenclator studii.denumire studii, Date angajati.data angajarii FROM Nomenclator functii RIGHT JOIN (Nomenclator studii RIGHT JOIN Date angajati ON Nomenclator studii.cod studii = Date angajati.cod studii) ON Nomenclator functii.cod functie = Date angajati.cod functie ORDER BY Nomenclator functii.cod functie, Date angajati.nume persoana; Trebuie remarcat cu aceast ocazie puterea Access-ului ca instrument rapid de dezvoltare vizual a aplicaiilor, faptul c d posibilitatea unui numr mare de persoane care nu sunt programatori de meserie s realizeze prelucrri complexe ale datelor. Interogrile create pn acum i utilizate pentru exemplificri fac parte din interogrile de tip Select. Vom prezenta n continuare toate tipurile de interogri puse la dispoziie de Access.

6.1. INTEROGRILE DE TIP SELECT


Interogrile de tip Select la fel ca orice alt tip de interogri, presupun existena n cadrul machetei de proiectare a: tabelelor sau interogrilor care constituie sursa de date, relaiilor dintre acestea motenite din Relationships tabelului cu: o cmpurile, o cheile de sortare, o marcatorii de vizibilitate (Show), o criteriile (coniiie) de selecie.

Ele se pot utiliza pentru extragerea de date din una sau mai multe tabele (query-uri) i efectuarea unor calcule. Orice cod SQL al query-urilor de tip Select ncepe evident cu comanda Select (vezi codul SQL din subcapitolul anterior). Seleciile pot fi fcute i pe baza anumitor criterii utile pentru filtrarea datelor. Linia Criteria din tabelul existent n macheta de proiectare este destinat special acestui scop. Scrierea condiiilor complexe este asistat de un vrjitor specializat care poate fi apelat apsnd opiunea Build din meniul contextual al cmpului n care se scrie condiia. Rezultatele interogrii de selecie pot fi prezentate sortate cresctor sau descresctor dup unul sau mai multe cmpuri. Alegerea cmpurilor respective se face n linia Sort. Dac de exemplu se dorete ca ultima list (creat n subcapitolul anterior) s afieze doar persoanele cu studii medii, atunci va fi necesar aplicarea unui asemenea filtru de selecie.

50

Lector univ. drd. Mihai Gavot - Baze de date

Macheta de proiectare va fi:

Se observ existena cifrei 1 pe linia Criteria n dreptul cmpului cod studii. Aceast aciune simpl determin filtrarea i deci afiarea doar a nregistrrilor care corespund condiiei (adic au cod studii=1 ceea ce corespunde studiilor medii). Efectul aplicrii filtrului poate fi observat n urmtoarea figur:

Lucrul cu funcia like


Pot exista i filtre multiple. De exemplu, este posibil ca n vederea srbtoririi Sfntului Ion, s se solicite o list care s afieze doar persoanele cu studii superioare (cod studii=2) care au inclus n nume subirul Ion. n acest sens se va utiliza o interogare de selecie avnd drept criteriu de selecie pentru nume, funcia like (ca i) cu urmtorii parametrii: like *Ion*. Caracterul * (se citete orice), are aceeai semnificaie ca i la filtrele pentru fiiere exemplu *.exe, *.*, etc . Deci, criteriul de selecie pentru nume like *Ion* se poate citi: toate numele persoanelor care au orice ir de caractere nainte de irul Ion i orice ir de caractere dup irul Ion.

CREAREA I UTILIZAREA INTEROGRILOR

51

Macheta de proiectare pentru aceast interogare va fi:

Rezultatul interogrii este:

Dac se dorete o list care s conin toate numele care ncep cu Ion, comanda like din linia Criteria este: like Ion*. Invers, dac se dorete o selecie pentru toate numele care se termin cu caracterele ion atunci comanda like este: like *ion. Iat n continuare efectul ultimei comenzi (like *ion).

52

Lector univ. drd. Mihai Gavot - Baze de date

Concatenarea irurilor de caractere


Sub Access irurile de caractere se pot concatena. Operatorul de concatenare este &. Dac avem dou iruri: 123 i qwe atunci rezultatul concatenrii lor prin intermediul operatorului de concatenare (123 & qwe) este: 123qwe. Seleciile anterioare bazate pe funcia like puteau fi scrise i astfel: like * & ion & * like ion & * like * & ion

Dialogurile parametrizate
Exist situaii n care selecia nu se face de fiecare dat dup aceleai caractere ce sunt coninute n nume. n acest caz, se las operatorului sarcina de a introduce de la tastatur succesiunea de caractere ce sunt cutate. Acest lucru se poate realiza scriind parametrizat criteriul de selecie n linia Criteria pentru cmpul nume persoana. La fiecare lansare n execuie a interogrii se afieaz o fereastr de dialog prin intermediul creia utilizatorul specific irul de caractere ce constituie baza de selecie. Textul afiat care va aprea n acest dialog ar putea fi: Introducei caracterele incluse in nume: n linia Criteria textul trebuie cuprins ntre paranteze drepte: Introducei caracterele incluse in nume: Comanda like exhaustiv care prin intermediul parametrizrii va cuprinde toate cazurile de selecie pentru cmpul nume persoana este: Like "*" & Introducei caracterele incluse n nume: & "*" Secvena corespunztoare din macheta de proiectare este:

CREAREA I UTILIZAREA INTEROGRILOR

53

Dialogul care i va aprea utilizatorului la lansarea interogrii este:

Lucrul cu funcia between


Dac se dorete o list care s prezinte o selecie a angajailor doar pentru categoriile funciilor de efi atunci va mai trebui introdus n interogare i tabela Nomenclatorul categoriilor de funcii. Coninutul acestei tabele este: Se observ c n aceast tabel cmpul cod categorie pentru funciile de efi are valori cuprinse ntre 2 i 4. Deci, pentru selecia categoriilor de funcii de efi va fi necesar utilizarea funciei Between (ntre).

Macheta de proiectare pentru interogare este:

54

Lector univ. drd. Mihai Gavot - Baze de date

Rezultatul interogrii va fi:

6.2. INTEROGRILE DE TIP TOTALS


Alte modaliti de punere a problemelor de interogare sunt cele referitoare la gruparea datelor din tabele dup diferite criterii i prezentarea unor date statistice despre acestea. Pentru fiecare din grupele ce se formeaz se pot calcula indicatori cum sunt: Sum( ) suma valorilor unui cmp, Count( ) numrul nregistrrilor din fiecare grup, Avg( ) media valorilor unui cmp pentru fiecare grup , StDev( ) abaterea standard a valorilor unui cmp pentru fiecare grup, Var( ) dispersia valorilor unui cmp pentru fiecare grup, Min( ), Max( ) valoarea minim / maxim, Last( ) - ultimul, First( ) prima / ultima valoare din grup pentru cmpul respectiv. S presupunem c avem urmtorul query de tip Select:

CREAREA I UTILIZAREA INTEROGRILOR

55

Oricnd un query de tip Select poate fi transformat ntr-un query de tip Totals prin apsarea butonului din bara de instrumente: .

Dup apsarea butonului , macheta de proiectare va deveni:

Se observ n tabelul din partea de jos a machetei apariia liniei Total care are nscris funcia Group By n dreptul fiecrui cmp. Dac dorim o situaie care s ne prezinte cte persoane din fiecare categorie de funcii exist n instituie, atunci nseamn c dorim o grupare a lor (Group By) dup categoria de funcie i apoi o numrare (contorizare - Count) a acestora. Pentru rezolvare, n dreptului cmpului cod persoana (deoarece dorim s numrm persoane), pe linia Total vom face clic cu mouse-ul pe controlul combo box disponibil, ceea ce va determina deschiderea urmtoarei liste derulante din care vom alege funcia Count:

56

Lector univ. drd. Mihai Gavot - Baze de date

n dreptul cmpului cod persoana pe linia Total va aprea n loc de Group By, funcia Count. Rezultatul acestui query va fi:

Codul SQL generat automat de Access pentru aceast interogare este: SELECT Nomenclatorul categoriilor de functii.denumire categorie functie, Count(Date angajati.cod persoana) AS CountOfcod persoana FROM Nomenclatorul categoriilor de functii RIGHT JOIN (Nomenclator functii RIGHT JOIN (Nomenclator studii RIGHT JOIN Date angajati ON Nomenclator studii.cod studii = Date angajati.cod studii) ON Nomenclator functii.cod functie = Date angajati.cod functie) ON Nomenclatorul categoriilor de functii.cod categorie functie = Nomenclator functii.cod categorie functie GROUP BY Nomenclatorul categoriilor de functii.cod categorie functie, Nomenclatorul categoriilor de functii.denumire categorie functie; O alt ntrebare la care rspunsul ar fi uor de dat cu ajutorul interogrilor de tip Totals ar fi: Ci angajai cu studii medii i ci cu studii superioare sunt n instituie?. Macheta de proiectare este: Se observ c pe linia Criteria n dreptul cmpului cod studii s-a nscris condiia >0. n acest fel se selecteaz doar persoanele cu studii superioare i cele cu studii medii (persoanele fr studii au cmpul: cod studii=0).

CREAREA I UTILIZAREA INTEROGRILOR

57

Rspunsul la ntrebare (rezultatul interogrii) va fi:

6.3. INTEROGRILE DE TIP UPDATE


Sunt utile pentru actualizarea automat a unuia sau mai multor cmpuri existente n sursele de date actualizabile care cel mai frecvent sunt tabelele. n traducere update nseamn actualizare. De exemplu, dac se dorete actualizarea tuturor valorilor cmpurilor data angajare din tabela Date angajati la valoarea 11-August-1999 (#8/11/1999# n formatul implicit) atunci cel mai indicat este s se foloseasc un query de tip Update. O alt alternativ, mult mai ineficient, ar fi s se actualizeze manual valorile cmpului data angajare pentru fiecare nregistrare. n cazul n care aceast tabel ar avea cteva mii de nregistrri i dac n plus s-ar mai pune i condiia ca actualizarea s se produc doar pentru persoanele cu studii superioare, atunci cu siguran va trebui abandonat metoda manual i apelat la query-ul de tip Update. n acest sens se solicit crearea unui query nou. (New sau Create query in Design view). Se adaug tabela Date angajati i se solicit transformarea interogrii din tipul implicit (de tip Select) n interogare de tip Update. Urmtoarea imagine prezint aceast aciune:

58

Lector univ. drd. Mihai Gavot - Baze de date

Dup setarea opiunii Update Query se adug restricia n linia Criteria (cod studii=2) i se nscriere valoarea de actualizare (#8/11/1999#) n linia Update To (specific acestui tip de query). Macheta de proiectare va arta astfel:

Pentru c interogrile de tip Update modific datele din tabele, atunci acestea se lanseaz prin comanda Run disponibil prin intermediul butonului ! din toolbar. Dup apsarea acestui buton n mod implicit apare urmtorul dialog:

care ne solicit s mai confirmm nc o dat c ntr-adevr dorim actualizarea (modificarea) datelor. Modificarea odat fcut este ireversibil. Se observ c Access-ul a identificat deja c n tabela Date angajati exist doar 11 nregistrri (rows) care satisfac condiia. Confirmnd cu <Yes> atunci rezultatul lansrii query-ului va fi:

CREAREA I UTILIZAREA INTEROGRILOR

59

6.4. INTEROGRILE DE TIP MAKE-TABLE


Ofer posibilitatea crerii unei tabele noi pe baza structurii i datelor existente n alte tabele. S presupunem c dorim crearea unei tabele noi numit Tabela nou cu datele angajailor care s aib acelai coninut cu tabela Date angajai. Procedura este similar cu cea de la interogrile de tip Update, cu deosebirea c de aceast dat se va seta opiunea Make-Table Query:

Dup setarea opiunii va aprea urmtorul dialog n care vom nscrie numele noii tabele: n continuare vor fi trase prin drag & drop cmpurile dorite pentru a fi coninute n noua tabel. Apoi, tot ce avem de fcut este apsarea butonului Run din toolbar:

60

Lector univ. drd. Mihai Gavot - Baze de date

Aceast aciune va avea ca rezultat apariia noii tabele n fereastra obiectelor de tip Table:

6.5. INTEROGRILE DE TIP DELETE


Dac se dorete tergerea anumitor nregistrri dintr-o tabel pe baza unor criterii, atunci se folosete query-ul de tip Delete (terge). Modalitatea de transformare a unui query implicit de tip Select ntr-un query de tip Delete const n alegerea opiunii Delete Query din lista derulant a tipurilor de interogri. S presupunem c dorim s tergem nregistrrile din tabela Date angajai care corespund persoanelor cu studii medii, adic acolo unde (where) cod studii=1.

CREAREA I UTILIZAREA INTEROGRILOR

61

Dup transformarea n query de tip Delete i dup completarea criteriului where cod studii=1, macheta de proiectare va fi:

Aciunea de tergere se va declana dup lansarea comenzii Run.

6.6. INTEROGRILE DE TIP APPEND


De multe ori este necesar preluarea nregistrrilor dintr-o tabel i adugarea lor (append) ntr-o alt tabel. Aceasta se realizeaz prin query-ul de tip Append. Structura celor dou tabele trebuie s fie aceeai pentru cmpurile care se vor aduga n noile nregistrri. S presupunem c avem tabela numit Tabela nou cu datele angajailor i c dorim adugarea nregistrrilor acestei tabele la nregistrrile tabelei Date angajai. Paii algoritmului care va trebui urmat sunt urmtorii: 1)

62

Lector univ. drd. Mihai Gavot - Baze de date

2)

3)

6.7. INTEROGRILE DE TIP CROSSTAB


La nceputul capitolului Crearea i utilizarea interogrilor am prezentat intenionat prima opiune oferit de Access: Create query in Design view i nu pe cea care asigura lucrul cu vrjitori, deoarece era necesar dobndirea cunotinelor de baz, fundamentale, legate de generarea i proiectarea interogrilor. Acum, n aceast etap, lucrul cu vrjitori (wizards) devine eficient, iar query-ul de tip Crosstab este un exemplu foarte bun pentru a ncepe aceast prezentare. n traducere crosstab nseamn tabel (ncruciat) cu dou sau mai multe intrri. Un exemplu de interogare de tip Crosstab este acela n care se obine situaia numeric a angajailor pe categorii de funcii i pe tipuri de studii. Aceast situaie va fi un tabel cu dubl intrare: pe

CREAREA I UTILIZAREA INTEROGRILOR

63

rnduri (rows) categoriile de funcii din instituie conform Nomenclatorului categoriilor de funcii, iar pe coloane (columns) tipurile de studii. n celulele din tabel (la intersecia liniilor cu coloanele) vom avea numrul de persoane (count) din instituie care ndeplinesc o funcie dintro categorie i au anumite studii. nainte de a ncepe lucrul cu vrjitorul este necesar s ne construim un query ajuttor de tip Select care va furniza informaiile necesare (cod persoana, denumire categorie funcie i denumire studii). Macheta de proiectare a acestui query este:

Pentru a putea alege tipul de query dorit, posibil de realizat cu ajutorul vrjitorilor vom da clic pe butonul New din fereastra de prezentare a bazei de date:

64

Lector univ. drd. Mihai Gavot - Baze de date

Dup apsarea butonului New va aprea un dialog prin intermediul cruia vom putea alege tipul de query dorit:

Paii care vor fi urmai n continuare sunt prezentai n urmtoarea succesiune de dialoguri: alegem sursa de date (query-ul construit anterior i salvat cu numele Query1):

CREAREA I UTILIZAREA INTEROGRILOR

65

Pe rnduri vor fi categoriile de funcii:

Iar pe coloane tipurile de studii:

66

Lector univ. drd. Mihai Gavot - Baze de date

Se alege funcia care realizeaz numrarea persoanelor:

n acest moment query-ul Crosstab este gata:

CREAREA I UTILIZAREA INTEROGRILOR

67

Dup apsarea butonului <Finish> poate fi vizualizat tabelul realizat de vrjitor:

Macheta de proiectare a acestui query (realizat de wizard) este:

Codul SQL generat automat de Access pentru aceast interogare care poate fi consultat prin intermediul opiunii SQL View, este: TRANSFORM Count(Query1.cod persoana) AS CountOfcod persoana SELECT Query1.denumire categorie functie, Count(Query1.cod persoana) AS Total Of cod persoana FROM Query1 GROUP BY Query1.denumire categorie functie PIVOT Query1.denumire studii;

7. FORMULARE I RAPOARTE

7.1. FORMULARE (FORMS)


Odat creat structura de tabele componente ale bazei de date, se pune problema populrii acestora cu datele pe care dorim s le avem n eviden. Aa cum am artat n capitolul referitor la tabele, acest lucru poate fi fcut direct, n modul de lucru Datasheet View accesibil din bara de instrumente. Atunci cnd se dorete introducerea datelor ntr-o form mai apropiat de aspectul documentului primar de pe care se culeg informaiile, cnd se dorete afiarea unor elemente grafice sau efectuarea unor operaii ajuttoare, se vor folosi pentru introducerea datelor formulare (machete). Formularele sunt instrumente standardizate puse special la dispoziie de Access pentru a constitui interfaa cu utilizatorul la introducerea, modificarea i tergerea datelor din tabele i totodat pentru culegerea de la acesta a unor opiuni sau valori de date n funcie de care se vor face calcule, afia rezultate ale unor interogri sau tipri anumite rapoarte. Utilizarea formularelor pentru manipularea datelor din tabele prezint prin comparaie cu modul de lucru Datasheet View o serie de avantaje dintre care enumerm: posibilitatea alegerii modului de prezentare a tabelului la introducerea datelor: s se vad pe ecran o singur nregistrare odat sau s se vad mai multe nregistrri; aranjarea n formular a textului explicativ, cmpurilor de date sau grafice i a butoanelor astfel nct, chiar dac tabelul are un numr mare de cmpuri sau cmpuri foarte lungi, acestea s fie vizibile pe ct posibil n ntregime pe ecran; formularele permit realizarea unei interfee mai prietenoase cu utilizatorul prin intermediul unor elemente de evideniere (texte explicative, culori, dimensiune i caracteristici font, chenare cu care se pot grupa datele care au legtur din punct de vedere logic, etc); n formulare putem crea anumite butoane care prin apsare s declaneze efectuarea anumitor calcule, validri mai complexe dect cele existente la nivelul unui cmp sau chiar accesul la un alt formular pentru executarea unor operaiuni logic necesare n momentul introducerii datelor.

Aplicaiile informatice scrise n Access de profesioniti se prezint ca o structur arborescent de formulare i rapoarte. Primul formular constituie un fel de panou de comand (switchboard) i cuprinde de obicei denumirea aplicaiei, un scurt text de prezentare i un numr de butoane sau opiuni de meniu care permit accesul la principalele componente ale acesteia. Fiecare component conine la rndul ei, n funcie de gradul de complexitate, alte formulare (care pot fi de introducere date sau de opiuni) i rapoarte. Toate aceste formulare trebuie s ofere posibilitatea de a fi nchise pentru a se putea trece la executarea unei alte componente a aplicaiei.

FORMULARE I RAPOARTE

69

Un astfel de formular panou de comand al unei aplicaii se prezint ca n figura de mai jos.

n acest capitol ne vom ocupa de crearea formularelor i vom arta cum se folosesc instrumentele specializate puse la dispoziie de Access n acest scop. Pentru lucrul cu formulare este prevzut n fereastra de prezentare a bazei de date un buton care ne aduce pe ecran toate obiectele de acest tip existente n baza de date. n afara acestora, mai exist dou intrri corespunztoare celor dou modaliti de creare a formelor: cu ajutorul vrjitorului (wizard-ului) specializat i n mod proiectare direct (design).

70

Lector univ. drd. Mihai Gavot - Baze de date

Atunci cnd sunt active obiectele de tip formular (forms) observm c n partea de sus a ferestrei de prezentare a bazei de date sunt active un numr de butoane cu funcii specifice. Acestea prin apsare realizeaz: Open - deschide pentru vizualizare i execuie un formular existent; Design - intr n modul proiectare pentru a modifica un formular; New - permite crearea unui formular nou alegnd modalitatea de creare i un anumit tip de formular; Delete - permite tergerea din baza de date a formularului selectat; Celelalte butoane permit aranjarea n diferite moduri a formularelor din baza de date: cu iconie mari sau mici, sub form de list simpl sau detaliat.

n Access se pstreaz caracteristica de redundan specific produselor Microsoft i anume aceea c o operaie poate fi fcut n mai multe moduri. Astfel, principalele operaiuni necesare a fi executate asupra formularelor pot fi executate i prin activarea meniului contextual cu butonul din dreapta al mouse-ului. n figura urmtoare sunt prezentate operaiunile ce pot fi executate asupra unui formular din baza de date prin intermediul meniului contextual:

FORMULARE I RAPOARTE

71

7.1.1. Crearea formularelor cu ajutorul vrjitorilor (wizards)


Cea mai simpl metod de creare a unui formular i prima care trebuie ncercat este aceea n care suntem asistai de un vrjitor. n acest scop apsm butonul New care deschide o fereastr de dialog ca cea din figura urmtoare:

Din aceast fereastr de dialog se poate alege modalitatea de creare a formularului prin Design View sau Form Wizard, sau se poate opta pentru un anumit tip de formular prestabilit. Primele dou opiuni permit alegerea modalitii de proiectare, i anume: Design View crearea formularului se face n mod proiectare direct, fr a fi asistat de programul Access; Form Wizard crearea formularului se va face n mod asistat de ctre un vrjitor specializat.

Aceste dou opiuni nu necesit alegerea unui tabel sau a unei interogri (Choose the table or query where ), din lista prezent n partea de jos a ferestrei, acest lucru fiind opional. Urmtoarele opiuni permit selectarea unui anumit tip de formular, cu format prestabilit, care va fi creat automat de Access. Pentru fiecare din aceste opiuni este obligatorie alegerea din list a unui tabel sau a unei interogri pentru a crei editare este conceput formularul: AutoForm: Columnar se creeaz automat un formular de editare a datelor care va cuprinde cmpurile tabelului (interogrii) precedate de denumirile acestora. Acestea vor fi aranjate succesiv de sus n jos pe coloan. Formularul va afia cte o singur nregistrare odat.

72

Lector univ. drd. Mihai Gavot - Baze de date

AutoForm: Tabular - se creeaz automat un formular de editare a datelor care va cuprinde mai multe nregistrri afiate simultan pe ecran. Cmpurile tabelului (interogrii) i denumirile acestora vor fi aranjate optim, astfel nct s fie vizibile simultan ct mai multe informaii. AutoForm: Datasheet - se creeaz automat un formular de editare a datelor care va cuprinde mai multe nregistrri afiate simultan pe ecran. Cmpurile tabelului (interogrii) i denumirile acestora vor fi aranjate ntr-un format similar foilor de calcul Excel. Chart Wizard - se creeaz n mod asistat un formular care prezint datele din cmpurile tabelului (interogrii) sub form de diagram. Pivot Table Wizard - se creeaz n mod asistat un formular care permite actualizarea datelor dintr-o tabel pivot creat cu ajutorul produsului Excel. care

Cea mai frecvent alegere dintre cele enumerate mai sus este Form Wizard presupune fixarea unor opiuni i parcurgerea unor pai astfel:

1. n acest prim ecran de dialog se alege tabela sau interogarea care va sta la baza formularului ce va fi creat. Odat ales, n lista de dedesubt vor fi accesibile toate cmpurile tabelei sau interogrii, dintre care unele (sau toate) vor fi selectate pentru a fi afiate n formular. Cele selectate (cu ajutorul butoanelor > sau >> ) vor aprea n lista din partea dreapt. Dac ne rzgndim i dorim s renunm la unul sau la toate cmpurile selectate vom folosi butoanele < sau << . Dup ce am ales cmpurile vom apsa butonul <Next> pentru a trece la ecranul urmtor de dialog.

FORMULARE I RAPOARTE

73

2. n cadrul acestui ecran de dialog vom alege tipul de formular. Vom regsi aici acele tipuri de formulare care ar fi putut fi alese nc din fereastra New Form.

Dup alegerea tipului de formular i apsarea butonului <Next> se va trece la urmtorul ecran de dialog. 3. Alegerea unui stil anume de formular dintre cele care sunt afiate ca posibile. Aspectul fiecrui tip de formular este prezentat atunci cnd este selectat cu mouse-ul.

74

Lector univ. drd. Mihai Gavot - Baze de date

4. n ultimul ecran de dialog vom alege numele formularului creat, fie acceptnd numele propus de Access, fie scriind numele dorit. Mai putem stabili acum cteva opiuni care ne permit accesul la formular fie n mod editare, pentru a avea acces la date, fie n mod proiectare pentru a-i aduce unele modificri.

Apsarea butonului <Finish> ncheie procesul de creare a formularului n mod asistat de ctre un vrjitor specializat. Aa cum am putut observa din ecranele de dialog prezentate mai sus, n oricare din fazele procesului putem abandona (prin apsarea butonului <Cancel>), ne putem ntoarce la faza precedent (prin apsarea butonului <Back>), putem continua (prin apsarea butonului <Next>) sau termina procesul de creare a formularului (prin apsarea butonului <Finish>). Formularul creat, cu ajutorul vrjitorului, pentru tabela Date Angajai arat ca n figura urmtoare:

Bar de selectare

Bar de stare

FORMULARE I RAPOARTE

75

Observm c a fost generat automat o linie de stare care cuprinde numrul nregistrrii prezent pe ecran, numrul total de nregistrri din tabel i butoane care fac posibil navigarea printre nregistrrile tabelei. Navigarea presupune: poziionarea pe prima nregistrare din tabel, trecerea la nregistrarea precedent, trecerea la nregistrarea urmtoare, poziionarea pe ultima nregistrare din tabel i adugarea unei noi nregistrri. Pe formular mai observm o bar vertical de selecie nregistrare. Odat selectat nregistrarea, cu toate cmpurile ei, va putea fi tears, copiat sau nlocuit. n acest sens, bara de selecie nregistrare (bara vertical) ofer un meniu contextual propriu.

7.1.2. Crearea formularelor n mod proiectare direct


Aa cum am vzut, un formular nou poate fi creat att n mod asistat cu ajutorul vrjitorilor specializai ct i n mod proiectare direct. Aceast ultim modalitate mai este folosit atunci cnd dorim s modificm un formular deja creat, indiferent prin care dintre metode. Alegerea succesiv a opiunilor: New Design View OK determin apariia urmtorului ecran de proiectare: 2 1 4 5 6 3

Obiectele evideniate sunt: 1. bara de titlu - conine numele formularului i elementele specifice unei ferestre Windows: meniul i butoanele de nchidere, minimizare / maximizare; 2. selectorul formei - care prin dublu-clic permite afiarea proprietilor formei; 3. riglele de deplasare pe vertical i pe orizontal - care permit, n cazul unor formulare care nu se vd n ntregime, aducerea n zona vizibil a prilor aflate mai jos, mai sus, n dreapta sau n stnga;

76

Lector univ. drd. Mihai Gavot - Baze de date

4. seciunea Details - pe care sunt amplasate obiectele formularului: text, cmpuri de editare, butoane, liste, imagini, etc; 5. seciunea extern (din afara) formularului; 6. fereastra cu instrumente de proiectare (Toolbox) - aceast fereastr este absolut necesar procesului de proiectare direct deoarece este locul de unde vor fi luate obiectele care se amplaseaz pe formular. n cazul n care aceast fereastr nu este vizibil la un moment dat ea poate fi fcut vizibil (i apoi invizibil din nou) prin apsarea butonului sau din meniu apsnd succesiv View Toolbox. Un formular, n afara zonei Details n care se vor afia informaiile referitoare la fiecare din nregistrrile tabelei, mai poate avea alte zone: de antet i subsol de formular i de antet i subsol de pagin. Vizualizarea acestor zone n modul proiectare direct se face apsnd succesiv din meniu View Form Header/Footer respectiv View Page Header/Footer . Antetul i subsolul formei sunt folosite pentru scrierea titlurilor, a butoanelor, a totalurilor sau a altor elemente care nu se modific de la o nregistrare la alta. Acestea nu vor fi derulate n cazul unor formulare ce conin mai multe nregistrri. Antetul i subsolul de pagin conin informaii asemntoare pe care dorim s le afim o singur dat pe fiecare pagin.

Forma mouse-ului la marginea inferioar a seciunii Page Footer Aceste seciuni suplimentare sunt opionale spre deosebire de seciunea Details care este totdeauna prezent. Fiecare dintre ele poate fi redimensionat sau chiar eliminat prin executarea unui clic cu mouse-ul pe marginea inferioar i deplasarea mouse-ului pn cnd se obine dimensiunea dorit a seciunii (drag & drop). n figura de mai sus este ilustrat acest proces i forma pe care o ia mouse-ul cnd atinge marginea seciunii.

FORMULARE I RAPOARTE

77

Formularul, ca i toate celelalte obiecte pe care le conine, are o serie de proprieti la care putem accepta valorile implicite sau pe care le vom modifica astfel nct s obinem un aspect i o comportare dorit pentru formular. Activarea ferestrei de proprieti a formei se poate face n mai multe feluri: apsnd butonul din dreapta al mouse-ului atunci cnd acesta este poziionat pe selectorul formei i alegnd din meniul contextual opiunea Properties; apsnd butonul din bara de instrumente dup ce n prealabil am dat un clic cu mouse-ul n seciunea exterioar formularului din zona de proiectare; apsnd butonul din dreapta al mouse-ului atunci cnd acesta este poziionat n seciunea exterioar formularului activnd meniul contextual i alegnd opiunea Properties; apsnd succesiv View Properties dup ce n prealabil am dat un clic cu mouse-ul n seciunea exterioar formularului din zona de proiectare.

Proprietile formei sunt grupate pe categorii i anume: Format cuprinde proprietile de formatare, adic acele proprieti legate de tipul formularului, aspectul i modul de prezentare al acestuia; Data cuprinde proprietile legate de modul de lucru cu datele din tabele sau interogri, care vor fi editate cu ajutorul formularului; Event prezint evenimentele care pot avea loc n timpul lucrului cu formularul pentru manipularea datelor; Other prezint o serie de proprieti suplimentare de rafinare a lucrului cu formularul; All prezint toate proprietile de mai sus reunite. Proprietile formularului (Form) se completeaz fie cu un text, un numr, o valoare dintr-o list derulant (care se deschide atunci cnd apsm triunghiul din dreapta) fie cu o valoare pe care o alegem fiind asistai de vrjitorul activat atunci cnd apsm butonul marcat () . Nu toate proprietile pun la dispoziie liste derulante sau asisteni dar atunci cnd ne poziionm cu mouse-ul pe oricare dintre ele, n partea de jos a ecranului, pe linia de stare, apare un text explicativ n limba englez care ne d mai multe amnunte despre semnificaia proprietii respective. Cele mai multe dintre acestea vor rmne la valorile lor implicite i numai cteva dintre ele sunt obligatoriu de completat.

78

Lector univ. drd. Mihai Gavot - Baze de date

Vom prezenta n continuare semnificaia ctorva dintre principalele proprieti ale formei: Caption se completeaz cu titlul formularului. Dac se completeaz, acesta va fi afiat n bara de titlu. n caz contrar n bara de titlu va aprea numele sub care s-a salvat formularul; Default View este o proprietate care ne ofer spre alegere o list cu trei variante reprezentnd tipul de formular: o formular n care se afieaz cte o singur nregistrare o formular n care se afieaz attea nregistrri cte ncap pe ecran o formular care are forma unei foi de calcul Excel; Navigation Buttons proprietatea poate avea dou valori: Yes i No, adic determin afiarea sau nu a butoanelor standard de navigare n formular; Auto Center implicit are valoarea No, dar se poziioneaz pe Yes dac se dorete ca formularul s fie aranjat centrat pe ecran la lansarea n execuie; Picture numele unui fiier grafic. Imaginea coninut de acesta va fi afiat ca fundal pentru formular; Picture Type indic modalitatea n care fiierul grafic afiat ca fundal va fi gestionat: inclus n baza de date sau ca o legtur ctre un fiier exterior bazei de date; Width specific limea formularului. Se mai poate modifica selectnd cu mouse-ul marginea dreapt a formularului i aducnd-o la dimensiunea dorit; Record Source specific sursa de date a formularului care poate fi un tabel sau o interogare; On Open specific aciunile care se execut la afiarea pe ecran a formularului; On Close specific aciunile care se execut atunci cnd nchidem formularul; On Current specific aciunile care se execut n momentul trecerii de la o nregistrare la alta; On Delete specific aciunile care se execut n momentul tergerii unei nregistrri; Modal specific faptul c fereastra formular pstreaz controlul pn cnd este nchis.

Un formular conine o serie de obiecte care fac posibil manipularea datelor din tabele sau interogri, afiarea unor explicaii referitoare la date i evidenierea acestora astfel nct s se realizeze o interfa prietenoas cu utilizatorul. Amplasarea controalelor, modificarea sau tergerea acestora se poate face numai n modul proiectare direct a formularului (design). Oricnd se poate trece din modul proiectare (design) n modul de vizualizare a formularului (form view) i invers. Aceasta ne permite s avem imediat controlul asupra modificrilor fcute. Trecerea ntre cele dou modaliti de vizualizare se face prin apsarea primului buton din partea stng a barei specifice formelor aa cum se vede n imaginea urmtoare:

FORMULARE I RAPOARTE

79

Obiectele disponibile pentru a fi amplasate n formular sunt prezentate n fereastra de instrumente (toolbox). Aceasta poate fi fcut vizibil prin apsarea butonului sau din meniu alegnd succesiv opiunile View Toolbox. Modalitatea de a amplasa ntr-un formular unul din obiectele de control prezentate n fereastra cu instrumente (Toolbox), este urmtoarea: - se selecteaz obiectul ales prin executarea unui clic cu mouse-ul deasupra acestuia; - se deplaseaz mouse-ul deasupra formularului observnd c prompter-ul su are o form de cruce i are agat de el pictograma obiectului selectat; - se execut un clic cu mouse-ul pe formular (acolo unde se dorete a fi plasat colul din stnga sus al obiectului) i se deplaseaz mouse-ul (cu butonul din stnga apsat, prin drag & drop) pn cnd dreptunghiul format ajunge la dimensiunea dorit pentru obiect. n acel moment se elibereaz butonul din stnga al mouse-ului. n continuare vom descrie principalele obiecte din fereastra de instrumente, detaliindu-le pe cele mai des utilizate: Pointer Obiect de control care se activeaz n mod automat atunci cnd este afiat fereastra cu instrumente de proiectare. Are rol de a deselecta obiectul selectat n acel moment i de a aduce mouse-ul la forma standard, adic cea de sgeat. Vrjitor (wizard) Obiect de control care permite activarea / dezactivarea instrumentelor vrjitor. Ele ajut la crearea automat a obiectelor de control complexe, cum sunt: butoanele de comand, listele, listele derulante, gruprile de opiuni, subformularele. Etichet (label) Obiect de control care creeaz o caset cu text. Acest text nu poate fi modificat la momentul execuiei. Caset de text (text box) Obiect de control care creeaz o caset n care se afieaz i pot fi actualizate valorile din cmpurile tabelelor, interogrilor sau alte valori introduse de utilizator. Acest obiect este nsoit de o etichet n care este prezentat la execuie denumirea cmpului sau a variabilei a crei valoare este afiat. Grup de opiuni (option group) Obiect de control ce creeaz o caset n care pot fi amplasate mai multe obiecte, n general de acelai fel: butoane de opiune, comutatoare, casete de validare. Din cadrul grupului poate fi selectat un singur obiect la un moment dat. Buton comutator (Toggle button) Obiect de control care creeaz un buton cu dou stri, corespunztoare valorilor Da(Yes) / Nu(No), i permite utilizatorului s selecteze una dintre ele. Buton de opiune (option button) Obiect de control similar butonului comutator. Se utilizeaz cel mai frecvent n cadrul grupurilor de opiuni pentru a selecta una dintre ele. Este nsoit de o etichet n care este explicat semnificaia opiunii respective.

80

Lector univ. drd. Mihai Gavot - Baze de date

Caset de validare (check box) Obiect de control similar butonului comutator. List derulant (combo box) Obiect de control realizat din combinaia dintre o caset de text n care se pot introduce valori i o list din care se poate alege o valoare. Este indicat s fie creat cu ajutorul vrjitorului specializat. List (list box) Obiect de control care conine o list de valori din care poate fi aleas una. Buton de comand (command button) Obiect de control care atunci cnd este apsat execut o comand sau o succesiune de comenzi.. Este indicat s fie creat cu ajutorul vrjitorului specializat deoarece acesta ofer spre alegere cele mai frecvent ntlnite aciuni pe care le putem asocia butonului. Vrjitorul va scrie n locul nostru procedura n limbaj VBA asociat evenimentului On Click. Putem vedea coninutul procedurii fie din fereastra de proprieti a controlului, apsnd butonul () dup ce n prealabil am selectat evenimentul On Click, fie selectnd Build event din meniul contextual al controlului. Imagine (image) Obiect de control care permite afiarea unui fiier grafic cu extensia .bmp, .ico, .gif, etc. Acest fiier se afl n afara bazei de date i nu poate fi modificat din Access. Obiect cadru nelegat (unbound object frame) Obiect de control care permite afiarea n formular a unui obiect (document, grafic, multimedia) importat dintr-o alt aplicaie Windows (Word, Excel, Paint, Sound Recorder). Obiect cadru legat (bound object frame) Obiect de control care permite afiarea n formular a unui obiect memorat ntr-un cmp de tip OLE Object al unei tabele. Delimitator de pagin (page break) Obiect de control care mparte formularul n mai multe pagini. Nu este afiat pe formular la execuie dar determin imprimanta s fac salt la pagin nou n cazul tipririi formularului. Control de tip tab (tab control) Obiect de control care permite gruparea celorlalte controale amplasate n formular pe pagini asemntoare cu cele ale unei agende. Trecerea de la o pagin la alta i vizualizarea controalelor acesteia se face apsnd indexul din partea de sus care conine un text explicativ despre coninutului paginii. Subformular (subform) Obiect de control ce permite ataarea la un formular a unui alt formular care trebuie s fi fost creat anterior. De obicei datele din subformular sunt legate logic de cele din formularul principal. Linie (line) Obiect de control care permite amplasarea unei linii n formular. Poate avea culori i grosimi diferite, fiind folosit la evidenierea anumitor zone de pe formular. Dreptunghi (rectangle) Obiect de control care permite ncadrarea altor controale sau grupuri de controale n dreptunghiuri de diferite dimensiuni i culori. Alte controale (more controls) Buton de control care permite afiarea altor controale (mai rar utilizate) nregistrate n Access.

FORMULARE I RAPOARTE

81

Dac n timpul proiectrii dorim s selectm un obiect vom executa un clic cu mouse-ul deasupra acestuia. Dac dorim s selectm mai multe obiecte simultan, acest lucru se face innd apsat tasta Shift n timp ce cu mouse-ul dm clic deasupra obiectelor dorite. Deselectarea se face innd tasta Shift apsat i dnd clic cu mouse-ul deasupra obiectului care este deja selectat. Avnd mai multe obiecte selectate simultan, le vom putea muta, redimensiona sau seta acele proprieti care le sunt comune tuturor. Fiecare dintre controalele enumerate mai sus, la fel ca i obiectul Formular (form) despre care am vorbit mai nainte, au proprieti i evenimente la care pot reaciona. Proprietile specifice controalelor sunt vizibile n fereastra de proprieti atunci cnd obiectul respectiv a fost selectat. Principalele proprieti ale controalelor ce pot fi amplasate ntr-un formular sunt: Proprieti ce se refer la aspectul obiectelor de control: Caption conine un text afiat de ctre control. Este o proprietate specific controalelor care nu-i modific valoarea n timpul execuiei; Visible determin afiarea sau nu a controlului n timpul execuiei formularului; Left stabilete coordonata orizontal a colului stnga sus al obiectului de control; Top stabilete coordonata vertical a colului stnga sus al obiectului de control; Width stabilete limea controlului; Height stabilete nlimea controlului; Back Style determin dac afiarea controlului se face normal sau transparent; Back Color stabilete culoarea de fundal a controlului; Border Style specific tipul de linie care va constitui marginea (bordura) controlului; Border Color specific ce culoare are bordura (marginea); Border Width specific grosimea bordurii; Fore Color specific ce culoare va avea textul afiat de control; Font Name permite alegerea dintre fonturile instalate pe calculator a aceluia cu care se va scrie textul afiat de control; Font Size stabilete dimensiunea fontului; Picture specific numele i calea fiierului grafic ce va fi afiat n interiorul controlului (pentru imagini i butoane de comand); Text Align specific modul de aliniere a textului afiat n interiorul controlului (stnga, dreapta, centrat sau fr aliniere). Proprieti ce se refer la sursa din care obiectele de control se alimenteaz cu date: Control Source poate fi un cmp dintr-o tabel sau dintr-o interogare sau poate fi o expresie de calcul construit cu ajutorul vrjitorului specializat (expresion builder). O expresie este ntotdeauna precedat de semnul =; Input Mask indic formatul folosit la introducerea datelor (numai pentru cmpul caset de text); Default Value specific o valoare implicit pe care o va avea iniial controlul; Validation Rule specific o condiie pe care trebuie s o ndeplineasc datele care sunt introduse n control; Enabled specific dac respectivul control este activ sau inactiv. Row Source specific pentru controalele de tip list, denumirea sursei de date pentru elementele listei; Row Source Type specific pentru controalele de tip list, tipul sursei de date (tabel, interogare, list de valori, etc).

82

Lector univ. drd. Mihai Gavot - Baze de date

Proprieti care se refer la evenimente ce pot avea loc n legtur cu obiectele de control: On Click evenimentul apare la executarea unui clic cu mouse-ul deasupra controlului; On Got Focus evenimentul apare atunci cnd controlul este focalizat, adic pointerul se poziioneaz n acest control; On Lost Focus evenimentul apare atunci cnd controlul este prsit, adic pointerul se poziioneaz n alt control sau este activat o alt fereastr; Before Update evenimentul se declaneaz naintea actualizrii datelor din control; After Update evenimentul se declaneaz dup actualizarea datelor din control; On Change evenimentul se declaneaz atunci cnd datele din control sunt modificate.

Pentru fiecare eveniment se pot specifica aciunile care vor fi executate atunci cnd el se produce. Aciunile sunt descrise folosind instruciuni n limbajul Visual Basic for Applications. Alte proprieti ale controalelor: Name specific denumirea controlului. Fiecare control are un nume unic. Acest nume este atribuit automat la crearea obiectului dar poate fi modificat astfel nct s fie ct mai sugestiv. Status Bar Text specific un text care va fi afiat la execuie n bara de status atunci cnd controlul este accesat; Control Tip Text conine mesajul afiat la execuie atunci cnd se ntrzie cu mouse-ul deasupra controlului, fr a apsa butoanele mouse-ului.

Un control foarte util pentru actualizarea datelor din tabelele bazei de date este controlul subformular (subform). Acest tip de control este folosit n special pentru actualizarea acelor tabele care sunt legate ntre ele printr-o relaie unu la muli. Formularul principal afieaz o nregistrare din prima tabel iar subformularul afieaz toate nregistrrile relaionate cu aceasta din cea de-a doua tabel.. n cazul actualizrii simultane a mai multor tabele relaionate, trebuie inut seama c un formular principal poate conine oricte subformulare dar un subformular poate conine la rndul su un singur subformular (pot exista maxim trei niveluri de formulare). Un obiect subformular se poate crea cu ajutorul vrjitorului specializat. Este necesar ca nainte de a crea un subformular s fie create tabelele i s se stabileasc relaia ntre cmpurile acestora (cheia primar a unei tabele i cheia extern din cealalt tabel). S urmrim n continuare modul de creare a unui subformular n care se actualizeaz deplasrile pe care le fac persoanele angajate la o firm. Tabelele relaionate pe care dorim s le actualizm sunt Date angajai i Deplasri angajai. Considernd tabela de baz ca fiind Date angajai, ntre tabele poate exista o relaie unu la muli, adic unui angajat i corespund niciuna, una sau mai multe deplasri. Legtura dintre cele dou tabele se face prin cmpul cod persoana care n prima tabel este cheie primar iar n a doua tabel este cheie extern. Nu este obligatoriu s avem acelai nume pentru cmpurile corespondente din cele dou tabele dar acest lucru uureaz procesul. Formularul principal de actualizare a tabelei Date angajai a fost prezentat anterior. Deschidem acest formular n modul proiectare (design) i amplasm n el un control de tip subformular.

FORMULARE I RAPOARTE

83

Dac este activat butonul vrjitor din fereastra de instrumente, va intra n execuie asistentul specializat care va afia urmtoarea fereastr de dialog:

Vom alege ca subformular, Deplasri angajai, care a fost creat anterior. n urmtoarea fereastr de dialog se stabilesc cmpurile din cele dou tabele dup care s-a stabilit relaia. Avnd n ambele tabele cmpul cod persoana, vrjitorul a identificat singur legtura. Exist i cazuri n care trebuie s specificm noi cmpurile de legtur.

84

Lector univ. drd. Mihai Gavot - Baze de date

Procesul de creare a subformularului se ncheie aici i denumirile cmpurilor dup care se stabilete legtura sunt nscrise automat n proprietile Link Master Field i Link Child Field, proprieti specifice controlului subformular. Lansnd n execuie formularul principal (prin Form View), el va arta ca n figura de mai jos i va permite actualizarea simultan a celor dou tabele relaionate. n acest fel, prin pstrarea corespondenei ntre cheia primar i cheia extern (strin) a tabelelor este asigurat i integritatea referenial a bazei de date.

O alt modalitate de a crea un subformular n interiorul unui formular principal este urmtoarea: 1. Se deschide n mod proiectare (design) formularul care constituie formularul principal; 2. Se activeaz fereastra de proiectare a bazei de date; 3. Folosind tehnica drag&drop se alege obiectul subformular i se plaseaz n interiorul formularului principal; 4. Se seteaz proprietile obiectelor i eventual se trateaz evenimentele acestora; 5. Se salveaz formularul principal. Orice modificare fcut ulterior asupra subformularului, ca obiect de tip formular, se va reflecta i n formularul principal.

7.2. RAPOARTE (REPORTS)


Situaiile finale pun cel mai bine n valoare informaiile coninute ntr-o baz de date. Ele sunt necesare n primul rnd managerilor dar sunt utile i celorlali operatori care contribuie la luarea deciziilor. Rapoartele se constituie ca obiecte ale bazelor de date Access sau ale software-ului front-end special destinate pentru realizarea situaiilor finale. Prin intermediul rapoartelor datele din tabele i cele rezultate n urma interogrilor pot fi consultate i listate ntr-un mod superior. Access 2000 ofer instrumente evoluate de proiectare a rapoartelor, uurnd astfel foarte mult munca utilizatorilor care doresc s pun n valoare rezultatele interogrilor lor. i aici este posibil lucrul cu vrjitori iar setul de obiecte oferit proiectanilor n modul Design View este

FORMULARE I RAPOARTE

85

similar celor de la formulare. Pentru proiectarea rapoartelor sunt disponibile o multitudine de controale: cmpurile text box ce pot fi formatate pentru afiarea datelor, etichetele (labels), subrapoartele, obiectele image, obiectele tip figuri geometrice, etc Avnd la dispoziie aceste tipuri de controale, prin mbinarea lor, proiectarea rapoartelor devine accesibil i celor fr o pregtire informatic superioar n acest domeniu. Atunci cnd vom comuta n fereastra de prezentare a bazei de date n seciunea obiectelor de tip raport, pe ecran vor aprea, aa cum am vzut i la celelalte tipuri de obiecte, cele dou modaliti de creare a obiectelor de tip raport: Create report in Design View Create report by using wizard

Dac exist rapoarte create anterior, numele acestora vor fi afiate n continuare.

Opiunile sunt similare celor de la formularele i ofer aceleai posibiliti de proiectare n modul Design View sau n lucrul cu wizard-ul. Deoarece au fost prezentate n detaliu la capitolul formulare, n continuare se va insista pe particularitile rapoartelor i pe cteva exemple practice de proiectare a acestora. Iat macheta de proiectare vizual i caseta Toolbox a unui raport, obinute n urma selectrii opiunii Create report in Design View:

86

Lector univ. drd. Mihai Gavot - Baze de date

n continuare va urma amplasarea controalelor n macheta de proiectare astfel nct s se obin raportul dorit. Titlul raportului i data listrii se scriu de obicei n seciunea Report Header, capul de tabel al raportului (ce va trebui s fie prezent pe fiecare pagin) n Page Header, liniile tabelului n Detail, numrul de pagin n Page Footer, locurile pentru semnturi i probabil totalurile generale n Report Footer. Toate acestea vor deveni mai clare dup ce vom studia o machet simpl de proiectare a unui raport realizat de ctre un vrjitor. S presupunem c se dorete un raport care s prezinte: n ordine alfabetic numele persoanelor, i pentru fiecare persoan s afieze: o adresa, o data angajrii, o numrul de telefon.

n acest sens vom selecta opiunea Create report by using wizard, care va determina parcurgerea urmtoarei succesiuni de dialoguri: 1.

FORMULARE I RAPOARTE

87

2.

3.

4.

88

Lector univ. drd. Mihai Gavot - Baze de date

5.

6.

Iat raportul furnizat de wizard n mai puin de 30 de secunde:

FORMULARE I RAPOARTE

89

Macheta de proiectare a raportului (generat automat de wizard) n modul Design este:

Se observ: titlul raportului Date angajati scris ntr-un control Text box n seciunea Report Header, capul de tabel n seciunea Page Header, coninutul tabelului in seciunea Detail, data ( =Now( ) ) i numrul de pagin Page n Page Footer. O alt facilitate puternic a rapoartelor Access este Sorting and Grouping care ofer posibilitatea gruprii informaiilor afiate n raport. S presupunem c ni se solicit afiarea raportului anterior cu numele persoanelor i informaiile aferente acestora (adresa i telefonul) grupate dup data angajrii. Forma de raport solicitat este:

90

Lector univ. drd. Mihai Gavot - Baze de date

Acest raport va fi obinut n urma unor modificri minime fcute n modul de lucru Design View asupra machetei de proiectare a raportului anterior. Va fi necesar o nou seciune: data angajarii Header i o grupare cresctoare (ascending) dup acest cmp (data angajrii). Apelnd meniul contextual prin clic pe butonul drept al mouse-ului vom obine:

Alegnd opiunea Sorting and Grouping din meniul contextual, va aprea urmtorul dialog n care vom alege cmpul data angajrii ca prim cheie de grupare, Ascending ca ordine de sortare cresctoare i vom schimba n Yes valoarea cmpului Group Header: Nu am setat la valoarea Yes i opiunea din cmpul Group Footer pentru c nu dorim s scriem nimic atunci cnd se termin un grup de persoane angajate la aceeai dat. De obicei n seciunile de sfrit ale grupurilor se afieaz totaluri ale valorilor cmpurilor pentru fiecare grup.

n urma acestor operaiuni macheta de proiectare va deveni:

FORMULARE I RAPOARTE

91

Se observ apariia unei seciuni noi: data angajarii Header. n continuare prin drag & drop vom trage eticheta data angajrii din capul de tabel n aceast seciune, i apoi tot prin drag & drop, alturi, vom plasa cmpul (controlul Text box) data angajrii din Detail. Macheta de proiectare va deveni:

Pentru a afia data angajrii ngroat (bold) i n formatul Medium Date este necesar s fie schimbate proprietile acestui control. Apelnd meniul contextual al controlului i solicitnd opiunea Properties vom avea acces la proprieti:

92

Lector univ. drd. Mihai Gavot - Baze de date

din Dac se dorete vizualizarea pe ecran a raportului se apas butonul Toolbar. Va fi afiat pe ecran raportul n forma solicitat, adic cea care a fost prezentat cnd s-a formulat problema.

8. LUCRUL CU HIPERLEGTURI I GENERAREA PAGINILOR WEB

8.1. SCURT INTRODUCERE


n timp, descoperirile tiinifice au schimbat fundamental modul de comunicare i relaionare al oamenilor. Noile forme de comunicare au influenat, fiecare n felul ei societatea. Tiparul, a fcut posibil n secolul XV multiplicarea textului i a determinat o cretere a circulaiei informaiei, care n cele din urm, a reprezentat baza pe care s-au cldit multe schimbri radicale ale acelor vremuri. n secolul XX radioul i televiziunea au adus sunetul i imaginea. Prima generaie mass-media electronic a extins accesul individului la informaie, exercitnd asupra unei largi pri a populaiei o influen de omogenizare. Aceast dezvoltare a avut un rol important n formarea societii informaionale, o realitate fundamental a epocii prezente. n ultimii ani o nou tehnologie comunicaional ncepe s se impun: reelele interactive de calculatoare ce fac posibile stocarea i livrarea unei mari cantiti de informaie ctre unul sau mai muli receptori. Informaia procesat digital n aceste reele poate fi multiplicat, manipulat i distribuit cu mare uurin. Mai mult, spre deosebire de comunicarea unidirecional specific mass-mediei tradiionale, reelele interactive se bazeaz pe un flux comunicaional omnidirecional care permite utilizatorului asumarea unui rol activ. Muli cercettori susin c reelele interactive dein potenialul de revoluionare a modului nostru de a comunica, a munci, a cumpra i a ne distra. Revoluie sau nu, un lucru este ns cert: ele au i vor avea un impact semnificativ asupra vieii noastre. n prezent cea mai accesibil i ntins reea interactiv este internetul, reeaua reelelor. Un sinonim tot mai mult utilizat pentru internet este autostrada informaional. Pn acum 10-15 ani, utilizarea internetului era limitat doar la cteva medii universitare, ea exista doar n lumea oamenilor de tiin, a cercettorilor i a studenilor. n prezent, internetul are peste 100 de milioane de utilizatori, rata de cretere exponenial nefiind egalat de nici un alt mediu tradiional. Creterea utilizrii internetului a fost i este determinat de mbuntirea interfeelor de acces reprezentate n principal de browser-ele de navigare, care au devenit din ce n ce mai prietenoase, de scderea costurilor serviciilor de telecomunicaii, a calculatoarelor i aparatelor adiionale (modem, etc) i, poate cel mai important, de posibilitatea de a uura comunicarea dintre oameni i de a prezenta informaie tiinific, comercial, publicitate i divertisment. Presiunea creat de creterea exploziv a internetului din ultimii zece ani a determinat marile firme de software s-i regndeasc politicile de dezvoltare a produselor informatice astfel nct acestea s respecte standardele de interfa Windows n lucrul cu utilizatorul i s ofere pe lng facilitile specifice programelor de aplicaie i faciliti de comunicare i acces prin internet. Astfel, firme cum sunt Microsoft, Borland-Inprise, IBM au nceput s creeze medii vizuale de dezvoltare rapid a aplicaiilor software n care clasele de obiecte internet dein o pondere din ce n ce mai mare. Posibilitile oferite de aceste produse au determinat dezvoltatorii de aplicaii software s utilizeze noile tehnologii i s includ n aplicaiile lor faciliti de

94

Lector univ. drd. Mihai Gavot - Baze de date

comunicare cu utilizatorii, de accesare la distan a datelor i informaiilor de comer electronic, de documentare, toate acestea prin intermediul serviciilor internet. De asemenea, noile sistemele de operare au nceput s ofere funcii i programe performante de apel la serviciile internet care s fac posibil funcionarea optim a aplicaiilor ce solicit accesul la internet. n prezent adresele Web i adresele de e-mail au intrat n limbajul curent i apar tot mai des pe crile de vizit. Prin intermediul lor, ntre utilizatori, poate fi vehiculat cu costuri foarte reduse un volum impresionant de informaie.

8.2. WORLD WIDE WEB


World Wide Web sau WWW este cel mai utilizat i cel mai nou serviciu de informaii care a aprut pe internet. De departe cele mai dese motive de folosire a internetului sunt serviciile WWW i pota electronic. Standardul WWW a fost definitivat n 1992 de ctre CERN (Laboratorul European pentru Particule Fizice), dar dezvoltarea accelerat a Web-ului a nceput n 1993 cnd NCSA (National Centre for Supercomputing Application) a creat primul browser grafic de Web Mosaic. World Wide Web-ul se bazeaz pe o tehnologie denumit hypertext. De fapt WWW este o ncercare de organizare a tuturor informaiilor din Internet, plus orice alte informaie local, ca un set de documente hypertext. Trecerea de la un document la altul se face prin legturi. nainte de browser-ele grafice, utilizarea web-ului i n general a internetului necesita cunoaterea unor comenzi complicate, iar pe ecranul calculatorului nu era afiat dect text simplu. Browser-ele moderne i WWW au transformat internetul ntr-o colecie de documente grafice prin care utilizatorul poate s navigheze folosind o interfa de tip point-and-clic bazat pe hiperlegturi. Cnd utilizatorul de Web d clic pe o legtur (cuvnt subliniat / colorat, buton sau imagine n spatele cruia se ascunde o adres internet) el se deplaseaz (la o alt adres) ntr-o alt pagin a aceluiai document sau ntr-un alt document din Web. Paginile sunt organizate n site-uri de Web care reprezint colecii de documente cu aceeai tem. Site-urile de Web au la baz fiiere codificate cu ajutorul unui limbaj de programare simplu numit HTML (HyperText Markup Language). Comenzile HTML pot fi scrise cu un editor de text (de exemplu Notepad) dar exist i programe foarte puternice de dezvoltare a paginilor Web (Frontpage, Dreamweaver a). Fiierele n format HTML au devenit un standard al zilelor noastre. Multe aplicaii informatice ntre care Word, Access, PowerPoint i Outlook au abilitatea de converti i salva documentele proprii n format HTML. De asemenea ele pot importa i lucra cu fiiere HTML. Simplitatea limbajului de programare HTML i structura descentralizat a internetului au determinat n mare parte creterea exploziv a Web-ului din ultimii ani. Alte dou cauze importante ale creterii spectaculoase a Web-ului sunt accesibilitatea sa i independena de platform.

LUCRUL CU HIPERLEGTURI I GENERAREA PAGINILOR WEB

95

8.3. TEHNOLOGII I PRODUSE PROGRAM TIP CLIENT INTERNET


n paralel cu limbajul HTML au nceput s fie dezvoltate i alte tehnologii i standarde care faciliteaz i mbuntesc accesul la paginile Web i uureaz lucrul cu obiectele bazelor de date. Iat cteva dintre acestea: XML (Extensible Markup Language) o extensie limbajului HTML care face posibil pstrarea atributelor de formatare ale documentului iniial. Access 2000 folosete XML pentru a stoca paginile DAP (Data Access Pages) i obiectele ADO (ActiveX Data Objects). DHTML (Dynamic HTML) este o tehnologie client care faciliteaz un acces evoluat la paginile Web printr-o afiare special a unor seturi de date i lansare n execuie a unor script-uri cu ajutorul browser-ului din calculatorul client. DAP (Data Access Pages) permite distribuirea n internet a datelor din formulare, interogri i tabele Access, n formatul DHTML. ASP (Active Server Pages) este o aplicaie oferit de browser-le Internet Explorer ncepnd cu versiunea 4.0 care permite includerea script-urilor VBScript (VBS) n server pentru programarea elementelor interactive din paginile Web i pentru exploatarea bazelor de date n internet. VBS (VBScript Visual Basic Scripting Edition) este un limbaj de script care utilizeaz un set simplificat de funcii ale limbajului Visual Basic for Applications (VBA) care este limbajul de programare al Access-ului i al majoritii programelor din MS Office 2000. Codurile VBS pot fi incluse n paginile Web pentru a seta proprietile controalelor ActiveX. Cteva dintre cele mai importante produse program tip client internet sunt: Internet Explorer este n prezent browser-ul cel mai utilizat pentru navigare n internet. ncepnd cu versiunea 5.0 ofer faciliti pentru lucrul cu paginile DAP n Access 2000. Este compatibil cu standardele HTML, DHTML, XML, ActiveX. NetMeeting este un program util pentru colaborarea n reea. Permite comunicarea vocal i organizarea de conferine i videoconferine n internet. Windows Media este un player pentru fiierele de sunet i cele video. Poate furniza coninut multimedia live i la cerere prin internet i intranet. Frontpage este un program util pentru crearea de pagini Web i ntreinerea site-urilor. Asigur Database Connectivity i posibilitatea lucrului cu ASP. Personal Web Server (PWS) este un server pentru Windows 9x i Windows NT 4.0.

ncepnd cu anul 1997, firma Microsoft i-a reconsiderat poziia n privina software-ului pe care l producea. n acel an a aprut pachetul de programe de birou MS-Office 97 care coninea multe mbuntiri fa de versiunile anterioare. A aprut clientul de e-mail Outlook, programul Word putea ncrca i salva documente n formatul HTML, iar Access-ul 97 avea inclus, un nou motor pentru lucrul cu bazele de date mult mai performant, permitea tipul de date hyperlink i putea salva coninutul unor obiecte n format ASP i HTML. De asemenea era disponibil un toolbar special pentru navigaia n internet. Aceste faciliti reflectau o evident deschidere a firmei ctre internet. Microsoft a continuat aceast linie prin noile pachete de programe MS-Office 2000 i apoi prin MS-Office XP care prin componentele lor aduc foarte multe elemente, faciliti i

96

Lector univ. drd. Mihai Gavot - Baze de date

instrumente noi pentru crearea obiectelor apte s lucreze n intranet i n internet. Access 2000 a beneficiat din plin de aceste mbuntiri: posibilitatea lucrului cu hiperlegturi, generarea paginilor Web din tabele i interogri, folosirea abloanelor HTML, importul / exportul datelor n/din tabelele HTML, crearea paginilor Web dinamice, posibilitatea lucrului cu tehnologiile ActiveX, ASP, DAP i DHTML sunt numai cteva dintre acestea.

8.4. TIPUL DE DATE HYPERLINK


Tipul de dat hyperlink este echivalent cu tipul de cmpuri link din paginile Web care atunci cnd sunt accesate produc saltul (deplasarea) ctre o adres (marcat printr-o ancor) n cadrul aceleiai pagini sau ctre o alt pagin aflat pe acelai site sau ntr-un alt site. De asemenea, saltul poate fi i ctre un fiier aflat n calculatorul local. Artam ntr-un subcapitol anterior c n prezent adresele Web i adresele de e-mail au intrat n limbajul curent i apar tot mai des pe crile de vizit. Mai nou a devenit o mod ca multe CV-uri s fie depuse n pagini Web pentru a putea fi accesate de ct mai multe persoane din orice loc de pe glob. Este posibil ca persoane individuale s dein site-uri personale n care s prezinte produsele activitii lor. S presupunem n acest sens c dorim s extindem datele despre angajai cu nc dou informaii utile: adresele e-mail ale acestora i adresele paginilor Web personale sau trimiteri ctre CV-urilor lor aflate ca fiiere Word (.doc) pe calculatorul local. Pentru aceasta va trebui s extindem structura tabelei Date angajai cu nc dou cmpuri: adresa e-mail i adresa web / CV. Evident cele dou cmpuri vor trebui s fie de tipul hyperlink. Vom insera aceste cmpuri n structura tabelei Date angajai, sub cmpul adresa:

Dup salvarea modificrilor, la consultarea tabelei Date angajai va fi disponibil urmtoarea fereastr prin intermediul creia pot fi ncrcate / actualizate datele n modul Datasheet View:

LUCRUL CU HIPERLEGTURI I GENERAREA PAGINILOR WEB

97

Se observ cele dou cmpuri noi (adresa e-mail i adresa web / CV) n care sunt ncrcate cteva date adecvate tipului hyperlink. Printr-un clic dat pe butonul din dreapta al mouse-ului cnd suntem plasai pe un cmp hyperlink, Access-ul deschide un meniu contextual care prin opiunea Hyperlink prezint un submeniu ce ofer urmtoarele posibiliti (Edit Hyperlink , Open, Open in New Window, Copy Hyperlink, Add to Favorites, Display Text, Remove Hyperlink):

98

Lector univ. drd. Mihai Gavot - Baze de date

Alegnd Edit Hyperlink se va lansa un dialog care face posibil ncrcarea datelor de hiperlegtur: textul care va aprea n cmp adresa de Web sau de e-mail subiectul care se dorete s apar n linia Subject a mesajului e-mail

La apsarea butonului Screen Tip va aprea urmtorul dialog: care permite ncrcarea mesajului de ajutor (sfat) ce se dorete s apar pe ecran dac utilizatorul ntrzie mai mult de 2 secunde cu prompter-ul mouse-ului deasupra cmpului fr s apese nici-un buton.

n mod similar s-au ncrcat i datele din cmpul adresa web / CV unde n locul adresei e-mail au fost introduse adresele Web ale angajailor (exemplu: www.moresoft.ro).

LUCRUL CU HIPERLEGTURI I GENERAREA PAGINILOR WEB

99

Dac a fost introdus o adres Web dialogul de ncrcare a datelor de hiperlegtur va fi:

Se observ existena butoanelor File, Web Page i Bookmark Astfel, dac se dorete, exist posibilitatea ca n cmpul de adres s fie ales prin intermediul butonului File un nume de fiier existent pe calculatorul local sau n intranet. De exemplu la nregistrarea 4 din tabela Date angajai s-a ales fiierul CV Dan Vasilescu.doc. n plus, dac respectivul fiier este un fiier .doc sau .html opional, este posibil deschiderea lui direct la o anumit seciune, care ar putea fi o ancor dintr-un fiier html, un bookmark dintr-un fiier Word sau chiar un simplu cuvnt sau o expresie din acel fiier. S presupunem c pentru Dan Vasilescu care nu are pagin Web personal unde s existe CV-ul su, s-a ales prezentarea pentru consultare a coninutului fiierului CV Dan Vasilescu.doc din calculatorul local. Pentru c se dorete ca fiierul s se deschid direct la capitolul Studii, la adres se va trece: CV Dan Vasilescu.doc#Studii Este de remarcat caracterul # care desparte numele fiierului de numele seciunii sau cuvntul dorit. n acest caz secvena din dialogul de hyperlink este:

100

Lector univ. drd. Mihai Gavot - Baze de date

8.5. GENERAREA PAGINILOR WEB


O alt clas de obiecte pus la dispoziie de Access 2000 este cea a paginilor internet Pages.

Seciunea Pages ofer trei opiuni: Create data access pages in Design view crearea paginilor internet de acces la date n modul de lucru Design view. Create data access pages by using wizard crearea paginilor internet de acces la date utiliznd vrjitorul specializat. Edit Web page that already exists modificarea unor pagini Web ce au fost realizate anterior. Acestea pot fi fiiere HTML create cu Access sau cu alte produse. Opiunea pune la dispoziia proiectanilor un instrument vizual de lucru care rivalizeaz cu multe alte produse performante din aceeai categorie.

Dac vom alege Create data access pages by using wizard vom intra ntr-o succesiune de dialoguri care, completate din aproape n aproape, vor construi din sursele de date selectate (tabele i interogri) pagina internet ce va conine cmpurile necesare pentru consultare sau actualizare. Totodat utilizatorului din internet sau din intranet i va fi pus la dispoziie un set de instrumente pentru navigarea n cadrul coleciei de date disponibile:

S presupunem c se dorete o pagin internet care s fac disponibil actualizarea la distan a urmtoarelor cmpuri din tabela Date angajai: nume persoana, adresa, adresa e-mail, adresa web / CV, data angajrii, telefon i observaii.

LUCRUL CU HIPERLEGTURI I GENERAREA PAGINILOR WEB

101

Pentru acesta, dup ce dm dublu-clic pe opiunea Create data access pages by using wizard va aprea urmtorul dialog prin intermediul cruia vor fi selectate din tabela Date angajai cmpurile dorite:

Dup apsarea butonului <Next> va aprea un alt dialog care permite opional gruparea:

102

Lector univ. drd. Mihai Gavot - Baze de date

Urmtorul dialog ne ofer posibilitatea alegerii unor chei de sortare pentru prezentarea datelor. n acest exemplu s-a ales o singur cheie de sortare - nume persoana - care va determina afiarea nregistrrilor n ordine alfabetic:

Dup apsarea butonului <Next>, ultimul dialog solicit numele paginii:

LUCRUL CU HIPERLEGTURI I GENERAREA PAGINILOR WEB

103

Nu mai rmne dect de apsat butonul <Finish> i pagina este gata. Ea va fi prezentat n modul de lucru Design View pentru a putea fi operate eventuale modificri (dac se consider necesar). Va aprea o machet de proiectare foarte asemntoare celor folosite pentru crearea formularelor:

Fr nici o modificare n formular, mergnd numai pe ce a propus wizard-ul, la lansarea n execuie (prin clic pe butonul View) se va obine:

Aceast pagin se poate salva cu numele Date_angajai.htm. Va rezulta un fiier HTML posibil de consultat prin intermediul browser-ului Internet Explorer.

104

Lector univ. drd. Mihai Gavot - Baze de date

Dac pe calculator este instalat un server Microsoft atunci la lansarea fiierului Date_angajai.htm sub Internet Explorer va aprea urmtoarea fereastr aproape identic cu cea de sub Access:

Diferena este c aa cum pagina este vzut sub programul Internet Explorer lansat de pe calculatorul local, tot aa ea va fi vzut sub un alt Internet Explorer lansat de pe un calculator aflat la distan (eventual ntr-o alt ar de pe un alt continent). Dac pe calculatorul ce conine baza de date este instalat un server Microsoft de exemplu PWS (Personal Web Server) i numele server-ului este moresoft, i dac fiierul Date_angajati.htm este plasat n folder-ul C:InetPubwwwroot, atunci comanda din linia de adrese a browser-ului (care obligatoriu trebuie s fie Internet Explorer) va fi: http://moresoft/Date_angajati.htm

9. ADMINISTRAREA I ASIGURAREA SECURITII BAZELOR DE DATE ACCESS

Bazele de date moderne au fost proiectate astfel nct s asigure faciliti de lucru n reea. Majoritatea dintre ele pot funciona n regim multiutilizator i ofer deschidere ctre internet. De aceea, securitatea bazelor de date este un domeniu ce nu mai poate fi ignorat. Pe lng performanele de conectivitate, de acces la date, de asigurare a integritii acestora, posibilitile de import / export, instrumentele de dezvoltare oferite, elementele de securitate constituie de asemenea criterii importante atunci cnd se alege un tip sau altul de baz de date. Access 2000 este un sistem de gestiune a bazelor de date modern la proiectarea cruia pe lng toate celelalte elemente de performan s-au avut n vedere ca prioriti i posibilitile de compactare, recuperare i reparare a datelor n cazul apariiei unor defecte dar i asigurarea unui puternic sistem de securitate. Defectele ce necesit o reparare a datelor pot fi datorate unor cauze interne sau externe cum sunt: ntreruperea accidental a curentului electric n timpul lucrului defectarea unor zone de pe hard-disc procesri greite ale datelor de ctre programele de aplicaie alocri defectuase ale spaiului de memorare datorate sistemului de operare defecte ale memoriei RAM defecte datorate procesorului, etc. Asigurarea unui sistem solid de securitate a fost de asemenea una dintre prioriti. n ceea ce privete asigurarea securitii datelor, Access pune la dispoziie: posibiliti de criptare / decriptare a bazei de date lucrul cu parole la nivelul global al bazei de date lucrul cu parole la nivelul utilizator posibilitatea acordrii difereniate a drepturilor asupra obiectelor bazei de date pe proprietari, grupuri i nume de utilizatori.

Compactarea, recuperarea, repararea datelor i prezentarea elementelor de configurare a securitii Access vor constitui urmtoarele teme abordate.

9.1. COMPACTAREA I REPARAREA DATELOR


n timpul lucrului, pentru a crete randamentul, Access-ul gestioneaz ntr-un mod propriu, intern, spaiul fiierelor .mdb n care sunt memorate tabelele i celelalte obiecte ale bazelor de date. Pentru Access 2000 sunt prioritare n primul rnd viteza de acces la date i de procesare a acestora. Spaiul ocupat pe hard-disc de ctre bazele de date (fiierele .mdb) nu mai reprezint o

106

Lector univ. drd. Mihai Gavot - Baze de date

problem pentru calculatoarele moderne (echipate cu hard-discuri ce ofer capaciti de peste 10 GB). Pentru a crete performana de lucru cu bazele de date, de cele mai multe ori Access 2000 sacrific spaiul ocupat de acestea pe hard-disc, ceea ce face ca n timp fiierele .mdb s-i mreasc dimensiunile ntr-un mod aparent nejustificat. De asemenea, datorit unei exploatri necorespunztoare sau unor cauze externe, bazele de date se pot corupe ceea ce poate determina pierderea de date, inconsistena bazelor de date, ruperea legturilor dintre tabele, lucrul defectuos al obiectelor bazei de date, lipsa vizibilitii acestora, pierderea accesibilitii la date, etc La deschiderea bazelor de date Access-ul lanseaz un diagnostic de control, n urma cruia decide dac acestea sunt corupte sau nu. Dac da, atunci declaneaz automat procedura de reparare. Verificarea integritii bazelor de date i repararea acestora, se mai pot produce i atunci cnd se solicit compactarea. Att compactarea ct i repararea bazelor de date se pot lansa prin intermediul opiunii Compact and Repair Database disponibil sub Access din meniul Tools, submeniul Database Utilities:

9.2. CREAREA COPIILOR DE SIGURAN


De regul, att compactarea i repararea ct i crearea copiilor de siguran sunt sarcini ale administratorului bazei de date. Realizarea periodic a copiilor de siguran este o activitate de administrare foarte important care, dac este fcut corect, salveaz utilizatorii de multe neplceri ce ar putea fi

ADMINISTRAREA I ASIGURAREA SECURITII BAZELOR DE DATE ACCESS

107

cauzate de imposibilitatea reparrii i refacerii corecte a bazei de date corupte n urma unor incidente nedorite. Literatura de specialitate recomand cteva reguli legate de crearea copiilor de siguran: crearea zilnic a copiilor existena a cel puin trei copii rotaia copiilor pe diferii supori de informaie: benzi magnetice, seturi de dischete ZIP, CD-uri, hard-discuri verificarea periodic a copiilor pstrarea copiilor n locuri diferite.

9.3. SECURITATEA BAZELOR DE DATE


Sistemul de securitate al bazelor de date este un domeniu sensibil i foarte interesant, care poate influena decizia de alegere a unui anume tip de baz de date n funcie de aplicaia dorit i de felul reelei gazd. Faptul c majoritatea bazelor de date moderne pot funciona n regim multiutilizator n intranet sau n internet a schimbat profund concepia despre sistemul de securitate al acestora care trebuie s asigure protecia mpotriva ncercrilor de acces neautorizat la obiectele bazei de date. De regul, pentru securitatea accesului se utilizeaz o schem de autentificare pe baza numelui de utilizator, apartenenei la un anumit grup de utilizatori, i a parolei personale. Aceast autentificare asigur funcii de control al accesului, de pstrare a confidenialitii i de verificare a sursei. Fiecare utilizator va dispune de o parol personal (parol utilizator). Accesul la obiectele bazei de date (tabele, formulare, rapoarte etc), este reglementat prin apartenena la un grup de lucru care are anumite drepturi de acces. Toi utilizatorii au acces difereniat la informaii i la aplicaii, n funcie de grupul cruia i aparin i de numele de utilizator alocat. Alte forme de protecie sunt accesul pe baz de parol la nivelul bazei de date i criptarea acesteia cu posibilitatea de decriptare prin intermediul unei parole.

9.3.1. Principiile securitii bazelor de date n reele locale


Literatura de specialitate recomand urmtoarele principii de securitate ce trebuie respectate la nivelul reelei locale (LAN) i al bazelor de date: Fiecare utilizator al reelei trebuie identificat nainte de a i se permite accesul n reea. Accesul la resursele din reea trebuie difereniat n funcie de drepturile utilizatorului la acestea. Aciunile utilizatorilor trebuie monitorizate pentru a se identifica dac acetia au ncercat intrri sau aciuni frauduloase sau ru intenionate. Coninutul tabelelor bazelor de date trebuie criptat pentru a nu fi posibil citirea datelor coninute n acestea prin intermediul programelor utilitare. Utilizatorii unei baze de date trebuie identificai nainte de a li se permite deschiderea acesteia. Sistemul de securitate trebuie s permit acordarea sau retragerea drepturilor utilizatorilor asupra obiectelor bazei de date.

108

Lector univ. drd. Mihai Gavot - Baze de date

9.3.2. Protejarea prin parol la nivelul bazei de date


O metod simpl de asigurare a securitii bazelor de date Access este protejarea acestora printr-o parol primar de acces. Aceast parol va trebui s fie cunoscut de fiecare utilizator al bazei de date. La fiecare ncercare de acces a bazei de date, nainte ca aceasta s fie deschis, pe ecran va aprea un dialog care va solicita parola de acces. Pentru a seta parola primar la nivelul bazei de date este necesar n primul rnd ca administratorul acesteia (care are toate drepturile) s deschid baza de date n modul Exclusiv i nu n modul Shared Access, aa cum se deschide de obicei, implicit. Dac o baz de date este deschis Exclusiv, atunci ea nu mai poate funciona n regimul de lucru multiutilizator, deci asupra ei nu poate opera dect o singur persoan. Programul Access ofer posibilitatea de a deschide o baz de date n patru moduri posibile: Open este modul implicit de lucru n regim multiutilizator (Shared Acces); Open Read Only mod de lucru n regim multiutilizator dar permite numai citirea; Open Exclusive mod de lucru monoutilizator; Open Exclusive Read Only mod de lucru monoutilizator care permite numai citirea.

Pentru a deschide o baz de date n modul Exclusiv trebuie ncrcat mai nti programul Access i apoi deschidem baza de date aleas activnd de sub meniul File opiunea Open (deschide). Va aprea un dialog Open specific programului Access care va oferi posibilitatea alegerii modului de lucru dorit:

ADMINISTRAREA I ASIGURAREA SECURITII BAZELOR DE DATE ACCESS

109

Setarea parolei bazei de date (Set Database Password) devine disponibil dup ncrcarea acesteia n modul Exclusiv (Open Exclusive) i alegerea opiunii Security a meniului Tools:

Opiunea Set Database Password lanseaz un dialog prin intermediul cruia va putea fi setat parola:

Odat setat parola, la fiecare ncercare de deschidere a bazei de date va fi lansat un dialog de introducere a parolei, aceasta trebuind s fie cunoscut de fiecare utilizator..

9.3.3. Criptarea bazei de date


Chiar dac o baz de date este protejat prin parole i prin drepturi de acces acordate difereniat utilizatorilor, totui poate fi posibil citirea la nivel fizic a datelor din tabele prin intermediul unor programe utilitare care permit accesul fizic pe hard-disc la nivel de octet. Pentru o protecie complet este necesar ca baza de date s fie pstrat criptat.

110

Lector univ. drd. Mihai Gavot - Baze de date

Criptarea / decriptarea unei baze de date Access se pot realiza foarte simplu prin intermediul meniului Tools i submeniul Security alegnd opiunea Encrypt/Decrypt Database:

9.3.4. Securitatea la nivelul grupurilor i utilizatorilor


De regul orice baz de date permite implicit urmtoarele grupuri de utilizatori: Administratorii (Admins) care au toate drepturile asupra bazei de date. Utilizatorii obinuii (Users) care au permisiunea de a deschide baza de date dar care au drepturi diferite i restrictive asupra obiectelor acesteia. Ei pot lucra doar cu anumite formulare i pot consulta numai rapoartele pentru care au aceste drepturi. Musafirii (Guests) care de regul nu primesc cont utilizator i au drepturi limitate, doar pentru accesarea anumitor obiecte ale bazei de date.

ntre cele mai importante sarcini ale administratorului bazei de date se numr crearea i ntreinerea sistemului de securitate al bazei de date. Pe parcurs el poate aduga grupuri noi de utilizatori sau poate terge grupuri existente. Administratorul poate aduga nume noi de utilizatori i poate modifica drepturile acestora asupra obiectelor bazei de date. Aceste operaiuni sunt disponibile prin intermediul aceluiai submeniu Security prezentat n subcapitolele anterioare. De aceast dat se va lucra cu opiunile: User and Group Permissions User and Group Accounts User - Level Security Wizard

ADMINISTRAREA I ASIGURAREA SECURITII BAZELOR DE DATE ACCESS

111

n mod implicit o parte a informaiilor de securitate sunt meninute n fiierul System.mdw aflat n folder-ul Office al pachetului de programe MS-Office. Utilizatorul iniial implicit este Admin i el are toate drepturile. Dup generarea bazei de date este indicat ca fiierul System.mdw s fie copiat n folder-ul bazei de date (acolo unde exist fiierul cu extensia .mdb). Apoi, prin intermediul programului WRKGADM.EXE va trebui creat o legtur ctre noua locaie a fiierului .mdw. n acelai folder Office se afl un shortcut Workgroup Administrator (sau Administrator grup de lucru MS Access pentru versiunile MS-Office n limba romn). Shortcut-ul este o cale de acces ctre programul WRKGADM.EXE. Atunci cnd va fi lansat acest program, pentru a crea noua legtur, el va afia urmtoarea succesiune de dialoguri:

Dup apsarea butonului Browse va aprea un dialog clasic de navigare printre foldere i de selectare a fiierului dorit. Vom selecta fiierul SYSTEM.MDW aflat n folderul unde se afl aplicaia noastr.

112

Lector univ. drd. Mihai Gavot - Baze de date

Dac legtura cu noul fiier de securitate s-a realizat corect atunci Access-ul ne va informa cu urmtorul mesaj:

Pentru a acorda o parol utilizatorului iniial implicit Admin, din submeniul Security va fi aleas opiunea User and Group Accounts care va afia urmtorul dialog: Se observ c iniial exist doar dou grupuri: Admins i Users. Prin intermediul acestui dialog pot fi create (adugate) grupuri noi sau pot fi terse grupuri. De asemenea poate fi schimbat parola utilizatorului curent (n cazul nostru Admin).

Pentru a crea sau terge grupuri este disponibil dialogul Groups: Butoanele <New> (nou) i <Delete> (terge) vor putea fi folosite n aceste scopuri.

ADMINISTRAREA I ASIGURAREA SECURITII BAZELOR DE DATE ACCESS

113

Pentru a alege o nou parol va trebui ales panoul Change Logon Password care va afia: Aici sunt specifice cmpurile Old Password (parola veche), New Password (parola nou) i Verify un cmp util pentru a verifica, prin renscriere, corectitudinea parolei noi. Cmpul Old Password este lsat vid deoarece iniial utilizatorul implicit Admin nu are parol.

Drepturile utilizatorilor asupra obiectelor bazei de date pot fi: Open / Run deschide i lanseaz n execuie Read Design citete proiectul Modify Design modific proiectul Administer - administreaz Read Data citete datele Update Data actualizeaz datele Insert Data insereaz datele Delete Data terge datele.

Pentru atribuirea drepturilor (permisiunilor) utilizatorilor i grupurilor, precum i pentru schimbarea proprietarilor obiectelor bazei de date, din meniul Tools, submeniul Security, va fi aleas opiunea User and Group Accounts care va afia: Dup selectarea utilizatorului sau grupului de utilizatori se pot acorda (prin bifare / debifare) permisiunile dorite asupra obiectelor bazei de date.

ANEXA 1 STRUCTURA TABELELOR UTILIZATE N EXEMPLE. RELAIILE DINTRE TABELE

Date angajati: Nume cmp cod persoana nume persoana adresa adresa e-mail adresa web / CV cod functie cod studii data angajarii telefon observatii Deplasari angajati: Nume cmp cod persoana data deplasarii locul deplasarii cost transport cost diurna Nomenclator functii: Nume cmp cod functie denumire functie cod categorie functie

Tip date Number Text Text Hyperlink Hyperlink Number Number Date/Time Text Memo

Memorie rezervat Long integer 50 50 2048 2048 Integer Byte 10 20 65535 Memorie rezervat Long integer 10 50 Single Single Memorie rezervat Integer 50 Byte Memorie rezervat Integer 50

Tip date Number Date/Time Text Number Number Tip date Number Text Number

Nomenclatorul categoriilor de functii: Nume cmp Tip date Number cod categorie functie denumire categorie Text functie Nomenclator studii: Nume cmp cod studii denumire studii Tip date Number Text

Memorie rezervat Byte 50

ANEXA 1 STRUCTURA TABELELOR UTILIZATE N EXEMPLE. RELAIILE DINTRE TABELE

115

Relaiile dintre tabele:

ANEXA 2 PROBLEME PROPUSE

Reguli de normalizare
Problema 1 Presupunnd c se dorete crearea unei baze de date n care se va ine evidena literaturii i sunt de interes urmtoarele informaii: Titlul crii ISBN Preul crii Autorii crii (autor1, autor2, autor3) Numele editurii Anul apariiei Categoria crii (beletristic, tiinific, SF, etc) Adresa editurii (ora, str., nr., sector, cod) Stabilii structura de tabele a bazei de date i aplicai regulile de normalizare.

Tabele
Problema 1 Creai tabela Date angajai avnd o structur conform anexei 1. Adugai un cmp foto de tip OLE object n care se vor memora fiierele digitizate ce conin fotografiile persoanelor obinute n urma scanrii sau de la un aparat foto digital. ncercai inserarea unei imagini i apoi consultarea acesteia. Utilizai n acest sens meniul contextual al celulei respective. Problema 2 Consultai tabela Date angajai n modul Datasheet View. n timpul acestei consultri: Redimensionai mrimea celulelor pe vertical i pe orizontal astfel nct s fie vizibil toat informaia coninut de acestea. Schimbai fontul de afiare i mrimea acestuia. Sortai tabelul n ordinea cresctoare a numelor persoanelor i apoi n ordinea descresctoare. Cutai un anumit nume folosind comanda Find. ncercai o filtrare (filter) a datelor.

ANEXA 2 PROBLEME PROPUSE

117

Problema 3

Comutai n modul Design i apoi napoi n Datasheet View. Utilizai facilitile Hyperlink ale cmpurilor adresa e-mail i adresa web / CV. Redimensionai cmpul adresa de la 50 la 70 caractere. La cmpul data angajrii introducei o masc de tipul Medium Date.

Adugai n tabela Date angajai un cmp numit cod stare care va memora starea n care se afl angajatul (prezent, n concediu de odihn, n concediu medical, nvoit, n deplasare, absent nemotivat). Creai o tabel nou numit Nomenclator stri prezen care s conin aceste stri. Creai n Relationships relaia corect dintre tabele. Problema 4 Legai la baza de date curent o tabel extern, dintr-o alt baz de date. Importai o tabel extern n baza de date curent. Exportai datele din tabela Date angajai ntr-un fiier Excel (.xls) apoi ntr-un fiier HTML. Problema 5 Utiliznd mecanismul Clipboard (copiere i lipire) copiai coninutul unor celule dintr-o tabel n alta, apoi dintr-o tabel Access ntr-un tabel Word. Problema 6 Utiliznd wizard-ul, creai o tabel avnd structura modelului students propus de Access 2000.

Interogri
Problema 1 Afiai o list care s prezinte pentru fiecare angajat: denumirea categoriei de funcie, denumirea funciei i tipul studiilor. Lista s fie sortat alfabetic dup numele angajailor. Problema 2 Creai o interogare care s afieze numele i numerele de telefon ale angajailor care au primele cifre ale numrului de telefon 093. Problema 3 Furnizai o list cu numele i adresele angajailor care au numele Vasile.

118

Lector univ. drd. Mihai Gavot - Baze de date

Problema 4 Creai interogri care s rspund la ntrebrile: Ci angajai cu studii superioare lucreaz n instituie ? Ci directori exist n instituie ? Ci efi de departament ? Ci efi de secie ? Ci efi de birou ?

Problema 5 Afiai o list care s prezinte locul deplasrii i data deplasrii fiecrui angajat. Lista va fi sortat cresctor dup numele persoanelor i dup data deplasrii. Problema 6 Creai un query care s tearg nregistrrile tuturor persoanele cu studii medii din tabela Date angajai. Problema 7 Creai un query care s prezinte ntr-un tabel cu dubl intrare, pe orizontal categoriile de funcii iar pe vertical denumirile de funcii. Celulele tabelului vor conine numrul de angajai pentru fiecare funcie dintr-o categorie de funcii. Problema 8 Transferai rezultatul (lista) unui query ntr-un tabel Word, apoi ntr-o foaie de calcul Excel. Problema 9 Afiai numele persoanelor angajate dup 01.01.1999.

Formulare
Problema 1 Utiliznd wizard-ul creai un formular simplu care s permit actualizarea numelor angajailor, adresei i telefonului acestora. Problema 2 Utiliznd Chart Wizard creai o histogram care s reprezinte grafic numrul de angajai pentru fiecare tip de studii.

ANEXA 2 PROBLEME PROPUSE

119

Problema 3 Modificai n modul de proiectare Design un formular realizat anterior cu un wizard. Problema 4 Creai un formular nou pentru actualizarea unui nomenclator lucrnd numai n modul de proiectare Design. Problema 5 Creai un formular care pe lng datele angajailor s permit i actualizarea / consultarea cmpului foto.

Rapoarte
Problema 1 Utiliznd wizard-ul creai un raport numit Date angajai care s listeze pentru fiecare angajat: numele, adresa i telefonul. Problema 2 Creai un raport care s listeze grupat pentru fiecare categorie de funcii numele angajailor i adresele acestora. Problema 3 Creai un raport care s listeze grupat pentru fiecare funcie numele angajailor i adresele acestora. Problema 4 Utiliznd Label Wizard creai un raport care s afieze etichete cu numele i adresele angajailor. Problema 5 Utiliznd Chart Wizard creai o histogram care s prezinte distribuia angajailor pe categoriile de funcii din instituie.

120

Lector univ. drd. Mihai Gavot - Baze de date

Pagini internet
Problema 1 Salvai ntr-un format HTML o list obinut dintr-un query care s afieze n ordine alfabetic numele angajailor, denumirea categoriei de funcii, denumirea funciei i tipul studiilor. Problema 2 Creai o pagin internet activ, care s permit crearea / actualizarea / consultarea datelor angajailor, de la distan, prin internet, utiliznd ca browser Internet Explorer.

Securitatea i administrarea bazelor de date


Problema 1 Setai o parol pentru o baz de date, apoi criptai baza de date. Problema 2 Creai un nou grup de utilizatori numii manageri, apoi adugai utilizatorii acestui grup. Atribuii acestor utilizatori permisiuni diferite asupra obiectelor bazei de date. Problema 3 Compactai i reparai baza de date.

ANEXA 3 DICIONAR DE TERMENI

Actualizare Adugare, modificare sau tergere a datelor memorate n tabelele bazei de date. Valorile actualizate sunt memorate i salvate n baza de date. Administrator de sistem Persoan desemnat s asigure buna funcionare a sistemelor de calcul independente sau legate n reele de calculatoare. Acesta rspunde de buna funcionare a hardware-ului i software-ului instalat pe sistemele de calcul. Administratorul mpreun cu personalul tehnic instaleaz i configureaz sistemul de operare, acord parole i drepturi utilizatorilor i programatorilor, asigur instalarea pe sistemele de calcul a tuturor produselor soft necesare. Administrator al bazei de date Persoan desemnat s gestioneze bazele de date de dimensiuni medii i mari de tip client-server. Are responsabilitatea de a asigura securitatea datelor printr-un sistem de parole i drepturi de acces, integritatea datelor prin operaiuni de salvare / restaurare pe diferite suporturi de memorare i refacerea acestora n caz de defeciuni hardware sau software. Administratorul bazei de date cunoate foarte bine structura bazei de date i are toate drepturile pentru a executa orice comand admis de sistemul de gestiune a bazei de date respective (SGBD). Aplicaie Se folosete cu sensul de aplicaie informatic i reprezint un produs software realizat pentru a executa anumite operaiuni pe sistemele de calcul. n multe cazuri se folosete specificnd sistemul de operare pentru care a fost destinat: aplicaie DOS, aplicaie Windows, aplicaie UNIX, etc. n funcie de produsul cu ajutorul cruia a fost realizat, numele aplicaiei este nsoit de o extensie specific. Aplicaiile direct executabile au extensia .exe. Bar cu instrumente (Toolbar) Zon de ecran orizontal sau vertical n care sunt grupate butoane de comand prezentate sub forma unor pictograme sugestive. Butoanele componente sunt grupate n mod logic i sunt active sau inactive n funcie de operaiunea care este n execuie n momentul respectiv. Bar de derulare (scroll bar) Se refer la bara orizontal sau cea vertical prezent n partea de jos respectiv n partea dreapt a unei ferestre sau casete de text care permit aducerea n partea vizibil a ferestrei a obiectelor sau textului care nu se vd n momentul respectiv. Bar de titlu Zona aflat n partea de sus a unei ferestre, de obicei de culoare albastr n care este scris titlul ferestrei i n care sunt plasate pictogramele de activare a meniului ferestrei, de minimizare / maximizare i de nchidere a ferestrei. Baz de date (database) Set de tabele cu date dintr-un anumit domeniu mpreun cu alte obiecte necesare gestionrii acestora: interogri, formulare, rapoarte, proceduri. n Access toate acestea se memoreaz ntr-un singur fiier cu extensia .mdb a crui organizare fizic este asigurat i optimizat de Microsoft Jet Engine. Exist i baze de date care gestioneaz separat aceste obiecte n fiiere independente.

122

Lector univ. drd. Mihai Gavot - Baze de date

Baz de date distribuit Baz de date memorat pe mai multe servere de baze de date aflate la distan i care este accesat de mai muli utilizatori simultan folosind tehnologia client-server. Acest tip de baz de date posed mecanisme de asigurare a sincronizrii datelor n mod automat. Baz de date relaional Tip de baz de date n care tabelele sunt relaionate ntre ele prin valorile anumitor cmpuri. Operaiunile care se execut asupra tabelelor au la baz algebra relaional. Buton de opiune (option button) Obiect de control care apare de obicei n formulare pentru a se putea marca o anumit opiune. Dac sunt posibile mai multe opiuni acestea sunt prezentate printr-un grup de butoane de opiuni dintre care numai unul singur poate fi selectat la un moment dat. Are form rotund, iar atunci cnd este selectat acesta are mijlocul de culoare neagr. Buton de comand (command button) Obiect de control care are de obicei o form dreptunghiular i care atunci cnd este apsat (cnd se face clic cu mouse-ul n el) declaneaz executarea anumitor comenzi. Cmp (field) Desemneaz o coloan dintr-o tabel de date care conine valorile unui atribut. O nregistrare conine unul sau mai multe cmpuri. Cheie extern sau strin (foreign key) Desemneaz una sau mai multe coloane (cmpuri) dintr-o tabel de date ale cror valori, luate mpreun ca o combinaie, trebuie s fie egale cu cheia primar a unei alte tabele cu care se afl n relaie. Cheia extern nu trebuie s fie neaprat unic, adic ntr-o tabel pot exista mai multe nregistrri care s aib aceleai valori n cmpurile care alctuiesc cheia strin. Cheie primar sau principal (primary key) Desemneaz una sau mai multe coloane (cmpuri) dintr-o tabel de date ale cror valori, luate mpreun ca o combinaie, trebuie s fie unice pentru fiecare nregistrare. Se spune c ntr-o tabel cheia primar (de acces) trebuie s fie unic i nenul, adic fiecare din cmpurile care compun cheia primar trebuie s conin o valoare. Se mai numete cheie intern. Client-server O aplicaie scris n tehnologia client-server are dou componente care de obicei stau pe dou sisteme de calcul diferite legate n reea. Partea de server a aplicaiei gestioneaz anumite informaii i recepioneaz cereri de la aplicaiile client pentru a le servi (pe acestea) cu date. Aplicaiile client sunt cele care transmit cereri de date ctre server ntr-un anumit format, recepioneaz datele cerute i apoi le prelucreaz i eventual le afieaz. Criteriu O condiie simpl sau compus pe care trebuie s o ndeplineasc datele pentru a participa la o anumit operaiune. Definirea datelor Procesul prin care se stabilesc tabelele componente ale unei baze de date, cmpurile acestora, cheile primare i externe, relaiile dintre tabele, regulile de validare pentru cmpuri, etc. Diferen - Diferena a dou tabele include acele nregistrri care exist n prima tabel dar nu exist n cea de-a doua (valorile din cmpurile dup care se face diferena care exist n prima tabel dar nu exist n cea de-a doua).

ANEXA 3 DICIONAR DE TERMENI

123

Entitate de date Desemneaz un obiect sau o activitate despre care se memoreaz date ntr-o tabel. Caracteristicile sau atributele obiectelor sau activitilor se memoreaz n cmpurile nregistrrii din tabel. Etichet (label) Tip de obiect care permite afiarea unor texte fr ca acestea s poat fi actualizate n timpul execuiei. Eveniment (event) n urma unei aciuni pe care o execut un utilizator asupra unui obiect Access se declaneaz un eveniment. Aciunile se refer n general la micarea mouse-ului, tastarea unor valori, modificarea datelor, activarea formularelor, etc. Evenimentele specifice fiecrui tip de obiect sunt enumerate n fereastra de proprieti a obiectului respectiv. Pentru cazul n care au loc anumite evenimente se pot specifica succesiuni de comenzi pe care aplicaia le execut n mod automat. Expresie O formul de calcul alctuit din operanzi (numere, cmpuri de date, variabile sau funcii) i operatori (simboluri reprezentnd operaii matematice) . Fereastra de prezentare a bazei de date (database window) Fereastr care apare automat pe ecran atunci cnd deschidem o baz de date Access. Aceasta reprezint un fel de tablou de bord i prezint toate obiectele coninute de baza de date grupate pe tipuri i sortate n ordine alfabetic. Fereastr de proprieti (properties window) Fereastr care poate fi activat atunci cnd este selectat un anumit obiect n modul de lucru proiectare (design). n funcie de tipul obiectului, fereastra cuprinde toate proprietile i evenimentele acestuia cu valorile lor curente. Fereastr de dialog (dialog window) Fereastr destinat culegerii unor informaii curente de la utilizator. Aceasta cuprinde o explicaie asupra datelor care trebuie completate, cmpuri n care se introduc aceste date i butoane de comand. n general sunt ferestre modale, adic nu permit efectuarea altor operaiuni nainte de nchiderea ferestrei. Foaie de calcul (datasheet) Format de prezentare a informaiilor din tabele i tip de formular care este similar cu foaia de calcul din Excel. Foaia de calcul are aspectul unui tabel n care liniile reprezint nregistrri, coloanele reprezint cmpuri i valorile se introduc n celulele de intersecie. n partea superioar a fiecrei coloane este scris denumirea cmpului respectiv. Formular (form) Obiect Access care prezint ntr-o form convenabil utilizatorului informaiile din tabele pentru a fi actualizate sau numai vizualizate. Pot exista i formulare destinate introducerii datelor care nu se memoreaz n tabele, ci sunt folosite pentru prelucrarea datelor din tabele. Fiier bitmap Fiier cu extensia .bmp care conine o imagine grafic. Se poate folosi ca fundal pentru un formular sau un buton. Font Stil de caractere folosit pentru afiarea textului. Pot fi combinate pe un formular sau raport diferite fonturi, de diferite culori sau dimensiuni pentru a obine efectul estetic i de evideniere dorit.

124

Lector univ. drd. Mihai Gavot - Baze de date

Fundal sau fond (background) Suprafaa goal a unui formular sau raport. Pe acest fundal se amplaseaz obiectele. Unele din obiecte au ele nsele fundal. Forme normale Stadii n cadrul procesului de normalizare a tabelelor unei baze de date relaionale. n urma aplicrii celor cinci reguli de normalizare spunem c tabelele bazei de date se afl n prima, a doua, form normal. Front-end aplicaii software care asigur utilizatorilor ntr-o form prietenoas, accesul la date pentru introducerea, actualizarea, regsirea, consultarea datelor i listarea situaiilor finale. Aplicaiile sunt realizate de ctre programatorii de aplicaii n anumite limbaje de programare cum sunt: Visual Basic for Applications, C,C++, Java, PHP, PERL etc. Funcie (function) Subprogram apelat dintr-o expresie. Calculeaz o valoare care este utilizat pentru calculul expresiei. Exis funcii interne Access (built-in functions) puse la dispoziie de asistentul (vrjitorul) specializat n construirea expresiilor, dar i funcii scrise de programatori ntr-un limbaj de programare (Visual Basic for Applications pentru Access). Gril (grid) Reea de linii orizontale i verticale egal distanate. Apare pe formulare i rapoarte n modul proiectare i ajut la alinierea obiectelor de control. HTML Un limbaj de descriere a paginilor afiate n internet i consultate cu ajutorul browser-elor. Identificator Nume. Implicit (default) Opiune referitoare la valoarea unei proprieti a unui obiect. Marea majoritate a proprietilor obiectelor au iniial valori implicite care pot fi modificate dac se dorete un efect diferit de cel prefixat. Multe din proprietile obiectelor rmn cu valoarea implicit. Index Se asociaz tabelelor bazei de date pentru a crete viteza de cutare. Indexarea se poate face dup unul sau mai multe cmpuri n funcie de necesitile de prelucrare. Access utilizeaz implicit o indexare intern dup cmpurile care alctuiesc cheile primare i cheile strine ale tabelelor. Integritatea datelor Asigurarea integritii datelor este o cerin fundamental a bazelor de date relaionale. Aceasta implic protecia la modificarea intenionat sau accidental a datelor din tabelele unei baze de date, att n privina domeniului de valori admise pentru cmpurile de date, ct i corelaiile dintre acestea. Asigurarea integritii refereniale reprezint o parte component a asigurrii integritii datelor. Integritate referenial Set de reguli pe care trebuie s le respecte datele introduse n tabele pentru a pstra relaiile definite la proiectarea bazei de date. Integritatea referenial impune ca valorile introduse n cmpurile care alctuiesc cheia extern a unei tabele s se regseasc n cmpurile corespondente care alctuiesc cheie primar a altei tabele, cu care prima este relaionat. Interogare (query) Interogarea unei baze de date presupune regsirea dintre toate datele memorate n tabele a acelora care ndeplinesc anumite condiii (criterii). Acestea sunt apoi

ANEXA 3 DICIONAR DE TERMENI

125

vizualizate, listate sau prelucrate. n Access interogm o baz de date fie prin comanda Find fie prin interogrile de tip query. Interogare de selectare (Select Query) Tip de interogare ce selecteaz datele care ndeplinesc anumite condiii, efectueaz calcule i afieaz rezultatele eventual ordonate. Este cel mai utilizat tip de interogare. Interogare de totalizare (Total Query) Tip de interogare cu care se efectueaz calcule statistice pe grupuri de nregistrri. Interogare de actualizare (Update Query) Tip de interogare utilizat pentru a actualiza cmpurile din una sau mai multe tabele. Interogare de adugare (Append Query) Tip de interogare care adaug nregistrri la sfritul unei tabele existente. Interogare de tergere (Delete Query) Tip de interogare folosit pentru tergerea nregistrrilor din una sau mai multe tabele. Alegerea nregistrrilor care se terg se face prin specificarea unui criteriu (o condiie). Interogare de creare tabele (Make-Table Query) Tip de interogare cu ajutorul cruia se creeaz o tabel nou folosind cmpurile din una sau mai multe tabele existente. Interogare de creare a tablelor cu mai multe intrri (Crosstab Query) Tip de interogare complex care sintetizeaz datele pe linii i coloane. La intersecia liniilor i coloanelor se afieaz numrul de elemente, suma valorilor, media sau alte funcii statistice. Intersecie Intersecia a dou tabele include acele nregistrri care exist n ambele tabele (cmpurile dup care se face intersecia au valori identice n ambele tabele). Internet Reea format dintr-un numr foarte mare de reele de calculatoare, sau de calculatoare izolate distribuite practic pe ntreg globul. Internetul este o reea eterogen din punct de vedere al tipurilor de calculatoare i al software-ului de reea. Internetul reprezint suportul de comunicaie pentru Web. Intranet Reeaua de calculatoare a unei instituii, care admite un mod de lucru similar internetului fr a fi obligatorie conectarea la acesta. nregistrare (record) O linie dintr-o tabel a bazei de date format din cmpuri. O nregistrare are memorate n cmpurile ei informaii despre o entitate de date. nregistrare curent nregistrarea dintr-o tabel ale crei cmpuri sunt vizualizate i pot fi modificate n cazul n care deschidem un formular, o tabel sau o interogare. Dac pe ecran sunt vizibile mai multe nregistrri simultan, nregistrarea curent este cea n al crui cmp se afl cursorul i este semnalat printr-un marcaj. List (list box) Obiect de control care pune la dispoziie o list de elemente dintre care prin intermediul mouse-ului sau tastaturii, poate fi ales unul.

126

Lector univ. drd. Mihai Gavot - Baze de date

List derulant (combo box) Obiect de control Access care permite utilizatorului s aleag o valoare dintr-o list care se deschide apsnd marcajul (un triunghi cu vrful n jos) aflat n dreapta zonei n care este amplasat controlul. Pentru selectare se folosete mouse-ul sau tastatura. Obiectul list derulant, afind la un moment dat o singur valoare, dar oferind posibilitatea de a vizualiza toate elementele din list, ocup mai puin spaiu pe ecran dect listele simple. Marcaj de redimensionare Mici dreptunghiuri negre care sunt evideniate pe toate laturile unui obiect atunci cnd ne aflm n modul de lucru proiectare direct i selectm obiectul respectiv. Prin drag & drop ne permite s mrim sau s micorm dimensiunea obiectului respectiv. Meniu (menu) Set de opiuni din care este posibil alegerea uneia. Fiecare dintre opiuni corespunde unei operaiuni care se va executa. Exist i meniuri complexe care au opiunile ierarhizate n submeniuri pe mai multe niveluri. Meniurile pot fi cele standard, ale Access-ului, sau meniuri create de programatori, specifice anumitor aplicaii. Modal Proprietate a unei ferestre care interzice accesul la alte ferestre atta timp ct aceasta nu este nchis. Matrice de culori Un dreptunghi care conine mostre de culori aezate n form de matrice. Acesta este afiat atunci cnd se apeleaz la asistenii de stabilire a culorii unor componente ale obiectelor (fondul, scrisul, bordura, etc). Multiutilizator (multiuser) Mod de lucru al unei aplicaii. Presupune ca mai muli utilizatori s lucreze n acelai timp cu aceeai baz de date sau cu o aplicaie. Normalizare Proces care se desfoar n faza de proiectare a structurii de tabele a bazei de date. Normalizarea presupune aplicarea unor reguli asupra tabelelor astfel nct n final s rezulte o structur optim a bazei de date. Nul (Null) Valoare pe care o poate avea la un moment dat un cmp de date. Valoarea Null nseamn de fapt lipsa unei valori i nu este acelai lucru cu valoarea 0 (zero) pentru cmpurile numerice sau cu irul vid pentru cmpurile de tip text. Obiect Noiune specific programrii n mod obiect. Access implementeaz programarea obiectual i pune la dispoziia proiectanilor clase de obiecte prestabilite cum sunt: tabelele, interogrile, formularele, rapoartele dar i casetele de text, butoanele de comand, butoanele de opiuni, imaginile, linia, etc. Obiectele au o serie de proprieti i funcii (metode de folosire) prestabilite, pe care utilizatorii lor le pot configura i nlnui astfel nct s se obin prelucrrile dorite. OLE (Object Linking and Embedded) Tehnologie specific Microsoft care pune la dispoziie software-ul necesar pentru accesul la obiectele create cu alte produse. Aceste obiecte pot fi nglobate ca atare n aplicaia curent sau pot rmne ca obiecte independente i se creeaz numai o legtur ctre ele. Operand Valori ale unor cmpuri, constante, variabile sau funcii cu care se execut calcule n cadrul unor expresii.

ANEXA 3 DICIONAR DE TERMENI

127

Operator Simboluri matematice care arat ce operaii se efectueaz cu operanzii ntr-o expresie. n afara operatorilor matematici exist i operatori relaionali i logici care se folosesc n scrierea criteriilor (condiiilor) de cutare i selecie. Operatori logici Operatorii And, Or i Not care sunt folosii n expresii logice a cror evaluare are ca rezultat valoarea Adevrat (True) sau Fals (False). Operatori relaionali Operatori de comparare a doi operanzi, de exemplu: <, >, =, <>. Rezultatul comparrii poate fi valoarea Adevrat (True) sau Fals (False). Paleta de culori Un instrument pus la dispoziie de Access pentru a putea alege ntr-o form interactiv proprietile de culoare pentru obiectele create (formulare, rapoarte, butoane, etichete, cmpuri de editare etc). Panou de comand (switchboard) Tip de formular care apare pe ecran la lansarea n execuie a unei aplicaii. Conine de obicei numele aplicaiei, o scurt prezentare a acesteia i o serie de butoane i meniuri care permit efectuarea operaiilor specifice aplicaiei. Pictogram (icon) Imagine grafic de dimensiuni reduse, sugestiv pentru obiectele pe care le reprezint. Procedur Succesiune de instruciuni (comenzi) scrise n limbajul de programare Visual Basic for Applications pentru efectuarea unei operaiuni complexe asupra datelor. O procedur este delimitat de cuvinte specifice, cum sunt Sub i End Sub. Procedur eveniment (event procedure) Procedur asociat unui eveniment care se produce asupra unui obiect. Pentru fiecare obiect sunt prefixate evenimentele care pot avea loc n legtur cu acesta. Produs cartezian Produsul cartezian a dou tabele include toate combinaiile posibile ntre nregistrrile primei tabele i cele ale celei de-a doua (pentru fiecare nregistrare din prima tabel se creeaz toate combinaiile cu toate nregistrrile din cea de-a doua, la fel pentru a doua, a treia, nregistrare din prima tabel). Proiecie Determin selectarea unui numr de coloane dintr-un tabel fr ns a impune condiii care s limiteze nregistrrile selectate. Proprietarul bazei de date (database owner) Persoana care a creat iniial baza de date. Acesta deine controlul asupra tuturor obiectelor bazei de date i poate acorda altor persoane drepturi asupra unora dintre ele. Proprietate O caracteristic, un atribut al unui obiect care definete modul lui de manifestare. Setul de proprieti difer n funcie de tipul de obiect. Exist proprieti care se refer la identificarea obiectului (nume, titlu), aspect (dimensiune, form, culoare), sursa de date a acestuia (tabela, cmpul de date), evenimentele specifice (ncrcarea, selectarea, modificarea) i altele.

128

Lector univ. drd. Mihai Gavot - Baze de date

Raport (report) Obiect Access utilizat pentru tiprirea la imprimant sau vizualizarea pe ecran a datelor din tabelele bazei de date grupate, centralizate, totalizate conform necesitilor de informare a utilizatorilor. Rnd (row) O linie dintr-o tabel a bazei de date format din cmpuri. Sinonim pentru nregistrare. Relaie Legtur care se stabilete ntre dou tabele ale bazei de date prin intermediul cheii primare dintr-o tabel i a cheii externe din a doua tabel. n Access exist mai multe tipuri de relaii: unu la unu, unu la muli, muli la unu. Reea local (LAN) Reea de calculatoare format din sisteme de calcul i dispozitive periferice conectate ntre ele. Acestea ruleaz software specializat pentru a asigura comunicaia n reea. n cazul unei reele locale calculatoarele componente sunt dispuse la o distan relativ mic ntre ele (n interiorul unei instituii). Selecie Se folosete n legtur cu obiectele Access care pot fi selectate printr-un clic dat cu mouse-ul deasupra acestora. Odat selectate unul sau mai multe obiecte, aceste pot fi manipulate (mutate, redimensionate, configurate, inserate) ca i cum ar fi un singur obiect. Termenul se mai folosete pentru a denumi un set de nregistrri alese dup unul sau mai multe criterii pe care le ndeplinesc toate. Server Calculator aflat ntr-o reea care pune la dispoziia calculatoarelor clieni servicii sau resurse. Pot exista servere dedicate, acestea gestioneaz lucrul staiilor de lucru fr a ndeplini sarcini proprii i servere nededicate. n cazul bazelor de date client-server de dimensiuni mari exist de obicei servere de baze de date care pun la dispoziia clienilor resursele acestora. SQL (Structured Query Language) Limbaj de interogare destinat prelucrrii datelor coninute n bazele de date relaionale. SQL a cunoscut mai multe forme de implementare dar n prezent este standardizat i st la baza celor mai multe sisteme de gestiune a bazelor de date. Staie de lucru Calculator client ntr-o reea de calculatoare care ruleaz diferite aplicaii, unele dintre ele solicitnd date de la un server. Subformular sau subraport Obiecte de tip formular / raport coninute de alte obiecte formular / raport. Se folosesc n cazul unor formulare / rapoarte complexe n care datele din subformulare / subrapoarte sunt corelate cu cele din formularele / rapoartele principale. Submeniu Set de opiuni care apare pe ecran atunci cnd este selectat o opiune dintr-un meniu. Opiunile din submeniuri, cnd sunt selectate, pot determina deschiderea altor submeniuri de pe nivelul urmtor. Sursa de date a nregistrrilor (record source) Tabelul sau interogarea care st la baza unui formular sau raport. Se numr printre proprietile unui formular sau raport. Sursa de date a unui control (control source) Cmpul dintr-o tabel sau o interogare de unde controlul ia datele pe care le afieaz i/sau modific. Se numr printre proprietile obiectelor care manipuleaz date.

ANEXA 3 DICIONAR DE TERMENI

129

Tabel (table) Obiect component al bazei de date n care sunt memorate datele referitoare la un obiect sau la o activitate. O tabel este alctuit din nregistrri (rnduri) i cmpuri (coloane). Tabel ataat (link table) O tabel care nu este coninut n baza de date curent ci se afl n exteriorul acesteia. Tabela ataat este legat de baza de date i este vizibil din cadrul ei. Asupra tabelei ataate pot fi efectuate majoritatea operaiilor care se fac n mod obinuit asupra tabelelor proprii. Tip de date (data type) Descrie modul de reprezentate intern a informaiilor care se memoreaz n baza de date. Principalele tipuri de date sunt: numeric, text, dat/or, etc. Validare Operaiune de verificare a datelor care sunt introduse n cmpurile tabelelor bazei de date. Valorile datelor introduse trebuie s respecte condiiile impuse de tipul de date al cmpului (ex: n cmpurile numerice pot fi introduse numere i nu text) i condiiile impuse cmpului prin regulile de validare. VBA (Visual Basic for Applications) Limbaj de programare comun mai multor produse ale firmei Microsoft. Pentru realizarea unor aplicaii Access complexe de multe ori nu este suficient numai manipularea obiectelor prestabilite prin intermediul meniurilor i butoanelor ci este necesar i scrierea de cod n limbajul VBA. Vizualizare (View) Metod prin care datele sunt prezentate pe ecran pentru a fi consultate de utilizator. O tabel, formular sau raport se poate prezenta n mod proiectare (design) sau n mod vizualizare date (datasheet, form, print preview). Vrjitor (wizard) Instrument pus la dispoziie de Access pentru a crea mai rapid, n mod asistat (printr-o succesiune de ecrane i dialoguri) anumite obiecte sau expresii. Fiecare vrjitor este specializat pentru o sarcin anume.

BIBLIOGRAFIE

Codd, E.F. (1970). A Relational Model of Data for Large Shared Data Banks. Comunications ACM. Dlobel, C., Adiba, M. (1991). Bases de done et systmes relationnels aux systmes Objects. Paris: InterEditions. Don, Benange. Azam, Mirza. (2001). Visual Studio 6. Bucureti: Editura Teora. Jamsa, K. (1999). Programarea Web. Bucureti: Editura All. Jennings, Roger. (1996). Utilizare Access 95. Bucureti: Editura Teora. Jennings, Roger. (2000). Totul despre Microsoft Access 2000. Bucureti: Editura Teora. Sales, Susan. (2000). Utilizare Microsoft Access 2000. Bucureti: Editura Teora. Winemiller, Eric. (2000).Visual Basic 6 - baze de date. Bucureti: Editura Teora. ***. Documentaia Microsoft Windows. ***. Documentaia Microsoft Office 2000. ***. Documentaia Microsoft ACCESS. ***. (1999). Microsoft Access 2000. Microsoft Press.