GESTIUNEA BAZELOR DE DATE

Similar documents
MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

Versionare - GIT ALIN ZAMFIROIU

Metrici LPR interfatare cu Barix Barionet 50 -

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

Universitatea George Bariţiu, Braşov

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

Itemi Sisteme de Operare

Update firmware aparat foto

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

Baza de date: tabele, date. Componentele unei B.D.: tabele, constrangeri, relatii. Entitati ale unei B.D.: formulare, interogari, rapoarte

MANAGEMENTUL CALITĂȚII - MC. Proiect 5 Procedura documentată pentru procesul ales

Procesarea Imaginilor

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Mecanismul de decontare a cererilor de plata

Documentaţie Tehnică

Propuneri pentru teme de licență

Modalitǎţi de clasificare a datelor cantitative

Mai bine. Pentru c putem.

Reţele Neuronale Artificiale în MATLAB

2. Setări configurare acces la o cameră web conectată într-un echipament HG8121H cu funcție activă de router

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

Proceduri stocate. Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig.

APLICAŢIE INFORMATICĂ PENTRU PREGĂTIREA MISIUNILOR DE NIVEL TACTIC

Figura x.1 Ecranul de pornire al mediului de dezvoltare

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Ghid pentru configurarea şi utilizarea aplicaţiei clicksign Demo

GHID DE TERMENI MEDIA

Ce este o BAZA DE DATE?

Capitolul IV Utilizarea bazelor de date în Internet

PROIECT. La Baze de date. Evidența activității pentru o firmă IT. Îndrumător: ș. l. dr. ing. Mirela Danubianu. Efectuat de: Grigoriev Sergiu gr.

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

Bazele Informaticii şi Limbaje de Programare

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

SGBD Access 2010: Query

Calculatoare Numerice II Interfaţarea unui dispozitiv de teleghidare radio cu portul paralel (MGSH Machine Guidance SHell) -proiect-

BAZE DE DATE Crearea, gestionarea şi exploatarea bazelor de date spaţiale

Managementul Proiectelor Software Metode de dezvoltare

Ce pot face pe hi5? Organizare si facilitati. Pagina de Home

Lucrarea Nr.1. Sisteme de operare. Generalitati

COMUNICAȚII INFORMATIZARE

ACADEMIA DE STUDII ECONOMICE BUCUREŞTI FACULTATEA DE CIBERNETICĂ, STATISTICĂ ŞI INFORMATICĂ ECONOMICĂ CATEDRA DE INFORMATICĂ ECONOMICĂ BAZE DE DATE

Auditul financiar la IMM-uri: de la limitare la oportunitate

Curs 1 17 Februarie Adrian Iftene

CERERI SELECT PE O TABELA

M C I O H L BAZE DE CUNOŞTINŢE A H E O L N S I S T E M E D E R E P R E Z E N A R E Ş I P R O C E S A R E A A C U N O Ş T I N Ţ E L O R

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Baze de date distribuite și mobile

ORARE DE EXECU}IE. Opțiunea se găseşte în MENTOR > Alte module > AdminJOBs > Orare de execuție.

Modulul 5 Baze de date

Modele de date utilizate în bazele de date pentru prelucrari grafice

1 Vasile Violeta Ion Popescu Avram Maria Câmpuri în tabel

Software Process and Life Cycle

După efectuarea operaţiilor dorite, calculatorul trebuie închis. Pentru oprirea corectă a sistemului de operare va trebui să folosim butonul

Creare baza de data Deschidem aplicaţia Microsoft Access. Lansarea în execuţie a programului se face urmând calea:

BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

Colegiul Național Calistrat Hogaș Piatra-Neamț LIMBAJUL SQL

BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU

UNIVERSITATEA ŞTEFAN CEL MARE SUCEAVA

INSTRUMENTE DE MARKETING ÎN PRACTICĂ:

METODE DE EVALUARE A IMPACTULUI ASUPRA MEDIULUI ŞI IMPLEMENTAREA SISTEMULUI DE MANAGEMENT DE MEDIU

Lucrarea nr.1. Crearea unui document Word

Cuprins Cuprins Bănci şi baze de date Etapele de realizare a unei bănci de date... 17

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog

ACADEMIA DE STUDII ECONOMICE. Integrarea Sistemelor Informatice

Managementul referinţelor cu

Semnare digitală configurări și proceduri de lucru Manual de utilizare

O bază de date (database), este o colecţie de date creată şi

Actualizarea firmware-ului pentru aparatul foto digital SLR

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

Proiectarea Sistemelor Software Complexe

Strategii de optimizare a performantelor unei aplicatii client/server

BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }

Relational and Object-Oriented Methodology in Data Bases Systems

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

SISTEME DE OPERARE WINDOWS

MICROSOFT ACCESS 2007 (DE CĂUTAT???)

Metoda de programare BACKTRACKING

3. CLOUD COMPUTING Sisteme de calcul distribuite

Ministerul Educaţiei Naţionale şi Cercetării Ştiinţifice Olimpiada de Tehnologia Informaţiei etapa judeţeană 2 aprilie 2016

Ghid de utilizare a Calculatorului valorii U

Contact Center, un serviciu cri/c!

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip

A Compared Aproach: ASP versus PHP

INTEROGĂRI ÎN SQL SERVER

[{CYCLE NOCYCLE}] [{CACHE

USING MOBILE AGENTS FOR INFORMATION RETRIEVAL IN B2B SYSTEMS

1. Creaţi un nou proiect de tip Windows Forms Application, cu numele MdiExample.

Subiecte Clasa a VI-a

ISBN-13:

LIDER ÎN AMBALAJE EXPERT ÎN SISTEMUL BRAILLE

Noţiuni introductive privind pachetul software OrCAD

Luminiţa Scripcariu PREFAŢĂ... 3

Transcription:

GESTIUNEA BAZELOR DE DATE CONŢINUTUL TEMATIC AL DISCIPLINEI BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE Conceptul de bază de date Baze de date: noi funcţionalităţi Tipuri de baze de date Sisteme de gestiune a bazelor de date SISTEMUL DE GESTIUNE A BAZELOR DE DATE MICROSOFT ACCESS Noţiuni generale Operaţii asupra obiectelor bazei de date Facilităţi Access pentru dezvoltarea de aplicaţii Funcţii accesibile în dezvoltarea aplicaţiilor Componente de sistem COLECŢII DE OBIECTE TIP ÎNTR-O BAZĂ DE DATE ACCESS Concepte de bază Tabele Formulare Interogări Rapoarte Controale FACILITĂŢI ACCESS PENTRU DEZVOLTAREA DE APLICAŢII FUNCŢII ACCESIBILE ÎN DEZVOLTAREA APLICAŢIILOR BIBLIOGRAFIE MINIMALĂ [1] Rotaru, Simona; Ghită, Mirela, (2005), Programarea în Access, Editura Universitaria, Craiova. [2]Rîcu Lascu, Rotaru, Simona; Ghită, Mirela, (2005), Baze de date. SGBD ACCESS., Editura Universitaria, Craiova. [.3] Fusaru D., Gherasim Z, Andronie M., Bâră A., (2003), Aplicaţii economice în Visual Basic şi Access, Ed. Fundaţia România de mâine, Bucureşti [.4] Fusaru D., Gherasim Z, (2005), Programare şi baze de date,, Ed. Fundaţia România de mâine, Bucureşti

Sisteme de gestiune a bazelor de date (SGBD) SGBD este un ansamblu complex de programe care asigură interfaţa între o bază de date şi utilizatorii acesteia. Deci SGBD este componenta software care permite crearea, actualizarea, întreţinerea şi exploatarea bazei de date. Evolutia SGBD-urilor este legata, in principal, de modelul de date pe care-l implementeaza. Organizarea datelor in memoria externa in baza de date se face conform unui model de date, asa cum am vazut in capitolele precedente. Etapele in evolutia SGBD-urilor sunt prezentate in continuare. 1. Pana in anii saizeci datele erau organizate doar in fisiere, gestionate de programe scrise in diferite limbaje de programare universale(exemple: Cobol, Fortran etc.) 2. La sfarsitul anilor şaizeci a apărut modelul arborescent de organizare a datelor si primele SGBD-uri care erau ierarhice si implementau acest model (exemplu:ims). 3.Lainceputul anilor saptezeci a aparut modelul retea de organizare a datelor si SGBDurilor retea ce implementau acest model (exemple:idms, SOCRATE). SGBD-urile arborescente si retea fac parte din prima generatie si ele constituie pionieratul in domeniu. 4. La sfarsitul anilor şaptezeci, începutul anilor optzeci a apărut modelul relaţional de organizare a datelor si ulterior s-au realizat SGBD-urile relaţionale ce implementau acest model (exemple: Oracle, Informix,DB2, SQLServer, Visual Foxpro, Access etc.).este generaţia a doua de SGBD, care prin simplitate, interactivitate si neproceduralitate domină piaţa actuală. 1. La sfârşitul anilor optzeci, începutul anilor nouăzeci a apărut modelul orientat obiect de organizare a datelor şi SGBD-urile orientate obiect ce implementau acest model (exemple:gemstone, O2, Jasmine etc.). Aceasta este generaţia a treia de SGBD care este în plină dezvoltare acum. Până la sfârşitul Anilor 60 Sfârşitul anilor 60 Începutul anilor 70 Sfârşitul anilor 70 Începutul anilor 80 Sfârşitul anilor 80 Începutul anilor 90 1. doar limbaje de programare 2. SGBD ierarhice 3. SBGD reţea 4. SBGD relaţionale 5. SGBD orientate obiect generaţia I generaţia a II-a generaţia a III-a Evoluţia SGBD-urilor In acest moment, în lume, cea mai mare parte a bazelor de date sunt realizate cu SGBD relaţionale, o foarte mică parte cu SGBD de generaţia întâi şi câştigă tot mai mult teren cele realizate cu SGBD orientate obiect. La trecerea de la o generaţie la alta de SGBD s-au urmărit următoarele aspecte: 1. Păstrarea aspectelor fundamentale care dau conceptul de SGBD: obiectivele, funcţiile şi componentele. Desigur, la fiecare generaţie apar şi o serie de elemente specifice, de nuanţă, care însă nu schimbă fundamentele conceptului.

2. Încadrarea unui SGBD într-o generaţie se face în funcţie de modelul de date implementat. Sunt luate în considerare toate cele trei elemente care caracterizează modelul de date: definirea structurii modelului (entităţile şi legăturile dintre ele), operatorii de prelucrare, restricţiile de integritate. 3. Îmbunătăţirea organizării datelor în memoria externă prin implementarea unui model mai performant. Se urmăreşte creşterea independenţei logice şi fizice (până la total), asigurarea unor limbaje de descriere a datelor (LDD) cât mai performante şi automatizate, asigurarea unor limbaje de manipulare a datelor (LMD) puternice, asigurarea unor limbaje de regăsire neprocedurale (exemplu SQL), reducerea şi controlul redundanţei. 4. Îmbunătăţirea accesului la date prin: acces după mai multe chei, acces cocurent, optimizarea accesului, creşterea securităţii datelor. 5. Oferirea unor facilităţi de utilizare tot mai performante: generatoare specializate, interfeţe cu alte limbaje de programare, interactivitatea. 6. Diversificarea tipurilor de date ce pot fi utilizate, diversificarea modului de lucru (local sau reţea), precum şi a tipurilor de aplicaţii ce pot fi dezvoltate. Acest lucru înseamnă că SGBDurile se doresc a avea o extensibilitate cât mai mare, care să le permită adaptarea la nou. 7. Utilizarea unor SGBD-uri din generaţiile precedente în paralel cu dezvoltarea unei noi generaţii. 8. Tendinţa de fundamentare teoretică şi standardizare a conceptelor din fiecare nouă generaţie de SGBD apărută, ceea ce conferă acestora robusteţe şi deschidere. Obiectivele unui SGBD Obiectivul principal al unui SGBD este furnizarea unui mediu eficient, adaptat utilizatorilor care doresc să consulte sau să actualizeze informaţiile conţinute in baza de date. Bazele de date sunt concepute pentru a prelucra un volum mare de informaţii. Gestiunea acestora impune nu numai o structurare riguroasa a datelor, dar si o raţionalizare a procedurilor de acces si prelucrare. Obiectivul principal impune realizarea unui set minim de obiective: Obiectiv general Suport software complet pentru dezvoltarea SBD Set minim de obiective 1. Independenţa datelor 2. Redundană minimă şi (logică, fizică). controlată. 3. Facilitaţi de utilizare a 4. Protecţia datelor (securidatelor. tate, integritate). 5. Partajabilitatea datelor. 6. Legaturi între date. 7. Performanţe globale ale aplicaţiei. 1.Asigurarea independenţei datelor Se spune că o aplicaţie informatică depinde de date, dacă modificarea structurii de memorare a datelor sau a strategiei de acces la date afectează şi aplicaţia. Independenţa datelor faţă de aplicaţie poate fi:

-fizică, adică modul de memorare a datelor ţi tehnicile fizice de memorare (strategia de acces), pot fi aschimbate fără a rescrie programele (exemplu, se poate face acces secvenţial, apoi se poate indexa şi face un acces direct); -logică, adică structura de date poate fi schimbată (deoarece este păstrată în dicţionarul bazei de date) fără a rescrie programele (exemplu, se poate adăuga în structură un nou câmp). Necesitatea asigurării independenţei datelor faţă de programele de aplicaţie, de către SGBD, este dată de următoarele aspecte: 1. Diferite aplicaţii au nevoie de viziuni diferite ale utilizatorului asupra aceloraşi date. O bază de date este realizată pentru o gamă largă de utilizatori, care au la dispoziţie un volum mare de date. SGBD-ul trbuie să-i permită la un moment dat unui utilizator să vadă (să-şi construiască o viziune) doar o parte din baza de date şi anume numai acelr date care îl interesează; 2. Administratorul bazei de date trebuie să aibă libertatea de a schimba structura de memorie sau strategia de acces, ca răspuns la cerinţele noi apărute, fără a modifica aplicţiile existente (sistem deschis). După darea în folosinţă a unei baze de date pot apare schimbări de standarde sau norme, se pot modifica priorităţile aplicaţiei, se pot modifica unităţile şi modul de memorare ale datelor etc. Cu alte cuvinte, dinamica lumii reale încojurătoare va genera modificări în baza de date. SGBD-ul va permite aplicaţiei informatice să funcţioneze cu programele existente şi să convertească datele; 3.Baza de date existentă la un moment dat, precum şi programele de aplicaţie care au fost folosite o perioadă de timp, reprezintă o investiţie majoră la care nu trebuie să se renunţe pre uşor. Cheltuielile pentru realizarea unei baze de date sunt mari, iar ele trebuie recuperate integral şi adus un beneficiu. 2. Redundanţă minimă şi controlată a datelor Spre deosebire de sistemele clasice (cu fişiere) de prelucrare automată a datelor, stocarea informaţiilor în bazele de date se face astfel încât datele să nu fie multiplicate. Cu toate acestea, uneori, pentru a realiza performanţe sporite, în ceea ce priveşte timpul de răspuns se acceptă o anumită redundanţă a datelor. Aceasta va fi însă controlată pentru a se asigura coerenţa (corectitudinea datelor) bazei de date. Exemplu tipic de redundanţă controlată acceptată este cea apărută la proiectarea bazelor de date relaţionale prin tehnica de normalizare. 3.Facilităţi de utilizare a datelor Această facilitate presupune ca SGBD-ul să aibă nişte componente specializate pentru diferite operaţii de utilizare: - Folosirea datelor de către mai mulţi utilizatori în diferite scopuri (aplicaţii). - De cele mai multe ori, o bază de date nu este realizată izolat. Mai ales în cazul realizării unor aplicaţii informatice cu baze de date care fac parte dintr-un sistem integrat, dar nu numai, datele de la o aplicaţie trebuie să poată fi utilizate în alte aplicaţii. Acest lucru reduce spaţiul de memorare necesar şi efortul de încărcare/ validare a datelor. - Accesul cât mai simplu al utilizatorilor la date, fără ca ei să fie nevoiţi să cunoască structura întregii baze de date, acest lucru rămânând în sarcina administratorului bazei de date. Utilizatorul final sau intensiv (neinformaticienii), care este beneficiarul aplicaţiei cu baze de date, are puţine noţiuni de informatică. De aceea pe el nu îl interesează structura bazei de date, ci numai o utilizare cât mai uşoară.pentru acest lucru SGBD-ul trebuie să ofere instrumente specializate pentru dezvoltarea de programe de aplicaţie cât mai prietenoase, care să dirijeze şi să ajute beneficiarul în utilizarea bazei de date. - Existenţa unor limbaje performante de regăsirea a datelor care permit exprimarea interactivă a unor cerei de regăsire a datelor şi indicarea unor reguli pentru editarea informaţiilor solicitate. Regăsirea datelor este una din operaţiile cele mai folosite într-o bază de date. Fie că este folosită pentru actualizare sau pentru consultare, sub forme diferite, regăsirea datelor este realizată la

cererea tuturor tipurilor de utilizatori ai bazei de date. Din acest motiv SGBD-urile sunt puternice în ceea ce privesc facilităţile de regăsire. Acestea au atins performanţe ridicate în sistemele relaţionale, multe din facilităţile de regăsire de aici fiind preluate în generaţia a treia de SGBD-uri. - Spre deosebire de sistemul clasic de prelucrare pe fişiere, unde există un singur criteriu de adresare(cel care a stat la baza organizării fişierului) în cazul bazelor de date, sistemul de gestiune trebuie să ofere posibilitatea unui acces multicriterial.în timp ce modificarea critriului la fişierele clasice implică reorganizarea lor, la bazele de date schimbarea criteriului nu afectează cu nimic datele. SGBD-ul stocheazădatele în entităţile bazei de date şi permite mai multe căi de acces..pentru diferite moduri de adresare SGBD creează dinamic, la momentul execuţiei, o serie de fişiere anexe(de index etc.) care lasă neschimbate entităţile bazei de date. 4. Protecţia datelor În sistemele de bază de date, protecţia datelor se asigură sub două aspecte: securitatea şi integritatea. Securitatea (confidenţialitatea) datelor semnifică faptul că accesul la date se face numai printro autorizare corespunzătoare şi doar controlat(sarcina administratorului bazei de date cu ajutorul SGBD-ului). În acest sens, SGBD-ul permite: autorizarea şi controlul accesului la date, utilizarea viziunilor, realizarea unor proceduri speciale, criptarea datelor. a) Autorizarea şi controlul accesului la date este realizat de SGBD prin intermediul parolelor. Acestea identifică clasele de utilizatori, cu anumite drepturi de acces, la anumite date. Clasele de utilizatori pentru care se poate autoriza accesul la baza de date sunt: - Utilizatorii obişnuiţi care nu au în proprietate obiecte şi nu au alte privilegii decât cele date de administratorul BD. - Proprietarii de obiecte (tabele, viziuni, proceduri etc.) sunt utilizatorii care îşi creează anumite obiecte. Implicit proprietarul unui obiect are toate privilegiile asupra acestuia, putând să le revoce sau să le transmită altor utilizatori. - Administratorul BD este utilizatorul care are implicit toate drepturile asupra datelor şi dreptul de a revoca sau stabili privilegii pentru ceilalţi utilizatori. Privilegiile diferiţilor utilizatori sunt gestionate de SGBD astfel: un anumit subiect (utilizator) poate realiza anumite acţiuni, asupra anumitor obiecte, în limita anumitor restricţii (condiţii suplimentare). Profilul utilizator este dat de nume (NAME), parola (PASS), nume grup, număr nivel de acces. b).utilizarea viziunilor (view) este asigurată de SGBD pentru reprezentarea schemelor externe ale bazei de date. Cu ajutorul viziunilor, SGBD-ul permite să se definească partiţii logice ale bazei de date, definite pentru diferiţi utilizatori, în raport cu cerinţele acestora de acces la date. Securitatea datelor este asigurată de SGBD prin definirea tuturor drepturilor necesare unui utilizator pentru o viziune şi revocarea drepturilor pentru obiectele iniţiale. c) Realizarea unor proceduri speciale de acces asupra datelor este permisă de SGBD. Aceste proceduri scrise în LMD se păstrează în formă precompilată, iar anumitor utilizatori li se va acorda dreptul de execuţie şi li se va interzice accesul direct la obiectele bazei de date. d) Criptarea este asigurată de SGBD prin oferirea unor rutine de criptare (codificare) a datelor apelate automat sau la cerere şi prin existenţa unor instrumente care permit utilizatorului să realizeze propriile rutine de criptare. Criptarea şi decriptarea se realizează după algoritmi specifici, cu o cheie (parolă) de acces la rutină. Componentle unui sistem de criptare sunt: - Algoritmul de criptare este o rutină care transformă datele iniţiale într-o formă cifrată (codificată); - Cheia de criptare este o valoare secretă (parola) care permite intrarea în algoritmul de criptare; - Algoritmul de decriptare este o rutină care treansformă datele din forma

criptată în cea iniţială: - Cheia de decriptare este o parolă de intrare în algoritmul de decriptare. Integritatea datelor se referă la corectitudinea (coerenţa) datelor şi este asigurată prin protejarea acestora împotriva unor incidente intenţionate sau neintenţionate. Componentele SGBD-ului asigură integritatea datelor (Fig.8.5.) tratând separat cauzele care pot altera baya de date: integritatea semantică, controlul accesului concurent, salvarea/restaurarea. a) Integritatea semantică este asigurată prin operaţii efectuate de SGBD asupra datelor ţi a prelucrărilor. Aceste operaţii alcătuiesc un set de reguli numit restricţii de integritate. SGBD-ul asigură astfel de restricţii implicite (rezultă din modelul de date implementat) şi explicite (proceduri incluse în programele de aplicaţie). b) Accesul concurent asigură coerenţa datelor şi este un obiectiv al SGBD-ului care se pune cu acuitate mai ales la baze de date distribuite. În acest sens SGBD-ul are o unitate distinctă de prelucrare a datelor numită tranzacţie, care este constituită dintr-o secvenţă de operaţii marcată de puncte de început şi sfârşit. Tranzacţia poate fi controlată de SGBD implicit, când punctele de început şi de sfârşit sunt automat definite, sau explicit, când punctele de început şi de sfârşit sunt definite prin comenzi specifice. La execuţia concurentă a tranzacţiilor SGBD-ul trebuie să asigure blocarea datelor utilizate la un moment dat. Aceasta înseamnă că se interzice accesul celorlalte tranzacţii concurente la aceleaşi date, până se termină tranzacţia curentă. Tehnica de blocare utilizată de SGBD se poate aplica la nivelul întregii baze de date, a unui fişier, a unei înregistrări sau chiar a unui câmp.ea poate fi pentru citire (partajabilă) sau pentru scriere (exclusivă). Cele mai multe SGBD-uri realizează blocarea la nivel de înregistrare şi fişier, prin diferite metode: setarea unui bit pentru resursa respectivă, construirea unei liste cu resursele blocate, menţinerea resurselor blocate într-o zonă specială etc. Interblocarea este situaţia in care două tranzacţii blochează anumite resurse, apoi solicită fiecare resursele blocate de cealaltă. La nivelul de SGBD trebuie să existe facilitatea de prevenire sau rezolvare a interblocării. Prevenirea interblocării presupune că programele bochează toate resursele de care au nevoie încă de la începutul fiecărei tranzacţii (greu de precizat). Soluţionarea interblocării presupune că există nişte mecanisme pentru detectarea şi eliminarea interblocării (de exemplu graful dependenţelor proceselor de executat). c) Salvarea/restaurarea (backup/recovery) ca facilitate a SGBD-ului permite refacerea consistenţei datelor care au fost alterate fizic din diferite motive. Salvarea datelor este un proces de stocare prin realizarea de copii de siguranţă şi prin jurnalizarea tranzacţiilor şi a imaginilor. SGBD-ul poate asigura salvarea automat sau la cererea administratorului bazei de date. Jurnalul tranzacţiilor este un fişier crat şi întreţinut de SGBD, în care se memorează informaţiile despre tranzacţiile efectuate asupra bazei de date. Aceste informaţii sunt: codul tranzacţiei, momentul începerii tranzacţiei, identificatorul utilizatorului care a lansat tranzacţia, actualizările efectuate pe BD. Jurnalul imaginilor se deosebeşte de cel al tranzacţiilor prin aceea că nu conţine descrierea operaţiilor efectuate asupra BD, ci efectul acestora. Există următoarele veriante: Jurnalul cu imaginea înregistrărilor după actualizarea (after image), ce conţine copia fiecărei înregistrări în forma de după efectuarea unei actualizări asupra ei. Jurnalul cu imaginea înregistrărilor înainte de efectuarea unei actualizări (before image), ce conţine copia fiecărei înregistrări ăn forma de dinaintea efectuarii unei actualizări asupra ei. Jurnalul mixt ce conţine atât imaginea înregistrărilor dinainte de actualizare cât şi după actualizare.

Restaurarea porneşte de la colecţii de date stocate prin salvare şi reface consistenţa bazei de date, minimizând prelucrările pierdute. Restaurarea este asigurată de SBGD, dar se poate realiza şi manual. Restaurarea automată a BD este realizată de SGBD cu ajutorul fişierelor jurnal. Pentru a se putea realiza acest lucru, SGBD realizează o paginare a BD şi la o cerere de regăsire,transferă o astfel de pagină în memoria internă. Aici are loc prelucrarea ei şi abia după ce această prelucrare s-a terminat complet, se face transferul paginii înapoi pe disc.sincronizarea memoriei interne cu baza de date şi fişierele jurnal, se realizează prin diferite tehnici: algoritmi specifici, executarea unor puncte de verificare (check point) la intervale de timp sau la cerere etc. La nivelul SGBD-ului pot exista o serie de parametrii de configurare care influenţează procesul de restaurare automată. Aceşti parametrii se referă la: intervalul de restaurare, indicatorul de restaurare (ce informaţii vor fi scrise în fişierul de erori) etc. Restaurarea manuală a BD implică intervenţia administratorului pentru refacerea bazei de date de pe un suport tehnic care a fost distrus. Cea mai recentă copie de siguranţă efectuată pentru o BD afectată este încărcată şi se reiau prelucrările efectuate din momentul copierii până la producerea defecţiunii. Restaurarea manuală se face prin deconectarea tuturor utilizatorilor de la BD, încărcarea copiei şi reluarea lucrului. 5. Partajabilitatea datelor Partajabilitatea datelor se referă nu numai la aspectul asigurării accesului mai multor utilizatori la aceleaşi date, ci şi la posibilitatea dezvoltării unor aplicaţii fără a se modifica structura bazei de date. Problema pertajabilităţii se pune la nivel superior pentru SGBD-urile care permit lucrul în reţea. 6. Legăturile între date Legăturile între date corespund asocierilor care se pot realiza între obiectele unei aplicţii informatice. Orice SGBD trebuie să permită definirea şi descrierea structurii de date, precum şi a legăturilor dintre acestea, conform unui model de date. Fiecare tip de model de date permite anumite legături între date. Un SGBD, care implementează un anumit model de date, va trebui să asigure şi realizarea legăturilor dintre datele corespunzătoare în conformitate cu schema conceptuală. 7. Performanţele globale Performanţele globale ale aplicaţiei sunt influenţate de SGBD. Acesta trebuie să gestioneze un volum mare de date de o complexitate ridicată, într-un anumit timp de acces rezonabil pentru diferiţi utilizatori. Pentru toate aceste lucruri SGBD-ul foloseşte diferite metode de acces, tehnici de optimizare, tipuri de date. Implementarea lor se face în componente specializate ale SGBD-ului. Notă. Toate obiectivele de mai sus au fost avute în vedere la evoluţia SGBD-urilor, fiecare generaţie îmbunătăţind performanţele. Funcţiile unui SGBD Realizarea obiectivelor prezentate anterior este asigurată de sistemele de gestiune a bazelor de date printr-o serie de componente ce permit efectuarea unor operaţii specifice. În funcţie de natura lor şi scopul urmărit, operaţiile pot fi grupate pe activităţi. Activităţile acceptă şi ele o grupare pe funcţii astfel încât, una sau mai multe activităţi, relativ omogente, vor realiza o anumită funcţie. Ţinând seama de complexitatea sistemului de gestiune, de facilităţile oferite de acestea, de limbaje utilizate şi de modul de implementare al modelului de date, gruparea activităţilor pe funcţii are un anumit caracter relativ. Diferitele SGBD-uri, în funcţie de model de date implementat, au o serie de particularităţi identificate prin operaţii şi activităţi specifice. Aceste aspecte specifice vor fi tratate în capitolele aferente diferitelor tipuri de SGBD-uri. În ciuda acestor particularităţi, există câteva funcţii general valabile pentru toate tipurile de SGBD. Acestea sunt nişte funcţii de bază, pe care un sistem software, dacă nu le are în totalitate,

nu poate fi considerat SGBD. Iată care sunt aceste funcţii: descrierea datelor, manipularea datelor, utilizarea şi administrarea bazei de date. 1. Funcţia de descriere a datelor SGBD-ul prin această funcţie, permite definire structurii bazei de date cu ajutorul limbajului de definire a datelor (LDD). Definirea datelor poate fi realizată la nivel conceptual, logic şi fizic. Se descriu atributele (câmpurile) din cadrul structurii bazei de date, legăturile dintre entităţile bazei de date sau dintre atributele aceleiaşi entităţi, se definesc eventualele criterii de validare a datelor, metodele de acces la date, aspectele referitoare la asigurarea integrităţii datelor. Concretizarea acestei funcţii este schema bazei de date, memorată în cod intern. Memorarea se face într-un fişier, ceea ce permite afişarea şi actualizarea structurii bazei de date, în orice moment. Această funcţie a fost mult automatizată în timp, LDD având acum puţine comenzi.ldd este specific fiecârui SGBD, dar el întotdeauna realizează descrierea datelor conform elementelor modelului de date pe care îl implementează SGBD-ul respectiv.astfel se realizează definirea şi descrierea entităţilor si a caracteristicilor lor, definirea legaturilor dintre obiecte (asocierile) şi a regulilor de integritate specifice modelului de date. După realizarea funcţiei de descriere, într-un SGBD, entitaţile bazei de date există deja create ca fişiere, darn u conţin datele propriu-zise, ci numai structura bazei de date (schema bazei de date). 2. Funcţia de manipulare a datelor Funcţia de manipulare este cea mai complexă şi realizează actualizarea şi regăsirea datelor din baza de date, cu ajutorul limbajului de manipulare a datelor (LMD). Sunt realizate următoarele activităţi: încărcarea, actualizarea, prelucrarea şi regăsirea datelor. a) Încărcarea datelor în baza de date se realizează prin operaţii automatizate sau programate ce asigură şi criteriile de validare necesare. b) Actualizarea bazei de date constă în operaţii de adăugare, modificare şi ştergere de înregistrări.la operaţiile de adăugare şi de modifcare se pastreaza aceleaşi criterii de validare care s- au folosit şi la activitatea de încărcare a datelor.actualizarea se realizeaza numai autorizat, prin asigurarea unei protecţii corespunzătoare a datelor, pentru a se păstra coerenţa bazei de date. c) Prelucrarea datelor se realizează prin operaţii de selecţie, ordonare, interclasare (compunere) şi ventilare (descompunere) efectuate asupra entităţilor bazei de date.acestea sunt, de obicei, operaţii pregătitoare activităţii de regăsire a datelor.multe din operaţiile de prelucrare sunt realizate cu ajutorul operatorilor din modelul de date pe care îl implementează SGBD-ul. d) Regăsirea (interogarea) datelor constă în operaţii de vizualizare (afişare pe ecran, imprimare pe hârtie), răsfoire, editarea unor situaţii de ieşire.situaţiile de ieşire pot fi intermediate sau finale şi se pot obţine pe diferiţi suporţi tehnici de informaţie (ecran, hârtie, mediu magnetic, mediu optic). Ele pot avea cele mai diferite forme (punctuale, liste, rapoarte, grafice, imagini, sunet, video) şi se pot obţinedupă cele mai diferite criterii de regăsire. Note. - Funcţia de manipulare a datelor este cea mai folosită în bazele de date şi este cea mai bine suportată de SGBD faţă de orice alt sistem de gestionare a datelor din memoria externă, care există până acum. - Aşa cum arătam mai sus, funcţia de manipulare este asigurată în SGBD de un LMD. Acesta trebuie să respecte restricţiile de integritate a datelor şi să implementeze operatorii din modelul de date pe care se bazează SGBD-ul căruia îi aparţine. LMD poate fi cu limbaj gazdă sau cu limbaj propriu.cele cu limbaj gazdă sunt dezvoltate prin adaptarea unor limbaje universale de programare (Cobol, Pascal, C etc.) la cerinţele de lucru ale SGBD-ului. Se îmbină astfel puterea unui limbaj universal cu necesităţle de regăsire a datelor (exemplu:oracle). Cele cu limbaj propriu sunt dezvoltate printr-un limbaj specific capabil să unească puterea proceduralului cu regăsirea dintr-un anumit tip de date (exemplu: Visual Foxpro).

- Pentru activitatea de regăsire există limbaje de interogare specializate care pot fi incluse în LMD sau pot exista ca atare. Ele au aparut datorită lărgirii gamei de utilizatori ai bazelor de date, care îi include şi pe nuinformaticieni tot mai mult. Pentru aceştia au fost necesare facilităţi de regăsire simple şi prietenoase, apropiate de modul de lucru şi de gândire uman. În acest sens, limbajele relaţionale (exemplu SQL) au cele mai bune performanţe. 3. Funcţia de utilizare a bazeide date Funcţia de utilizare asigură mulţimea interfeţelor necesare pentru comunicarea tuturor utilizatorilor cu baza de date. Pentru a realiza această funcţie SGBD-ul tu trebuie să asigure facilitaţi pentru mai multe categorii de utilizatori ai bazei de date: neinformaticieni, specialişti (informaticieni), administratorul. a) Utilizatorii neinformaticieni reprezintă principala categorie a beneficiarilor de informaţii (utilizatori finali şi intensivi) di baza de date. SGBD-ul le oferă acestora limbaje neprocedurale şi alte facilitaţi de interogare (generatoare, utilitare etc.) a bazei de date într-o formă simplă şi interactivă. Aceşti utilizatori nu trebuie să cunoască structura bazei de date şi nu trebuie să ştie să programeze, SGBD-ul ajutându-i interactiv în utilizarea bazei de date. În acest sens SGBD-ul oferă: meniuri cu opţiuni sugestive, ferestre, şabloane pentru diferite forme, asistenţi tip Wizard, autodocumentarea (help-uri, mesaje/ferestre explicative). b) Utilizatori specialişti în informatică crează structura bazei de date şi realizează proceduri complexe de exploatare a bazei de date. SGBD-ul oferă acestor utilizatori limbajul de descriere şi limbajul de manipulare a datelor precum şi interfeţe cu limbaje universale. Acestea sunt de complexitate şi putere diferită, de la un SGBD la altul, oferind atât elemente neprocedurale cât şi procedurale specialistului în informatică. Cu aceste elemente el descrie schema bazei de date şi asigură manipularea complexa a datelor. Pentru realizarea bazei de date, SGBD-ul oferă specialistului şi elemente de CASE (Computer Aidede Software Engineering). Acestea îl ajută în diferitele activitaţi care intervin in etapele de proiectare a bazei de date. b) Administratorul bazei de date, care un utilizator special şi are un rol hotărâtor ăn ceea ce priveşte funcţionarea optimă a întregului sistem. Datorită importanţei acestei categorii de utilizatori, SGBD-ul are o funcţie distinctă în acest sens. 4. Funcţia de administrare Funcţia de administrare esteb complexă şi de competenţa administratorului bazei de date. Administratorul, care are o bogată experirnţă de analiză, proiectare şi programare, organizează şi administrează baza de date în toate etapele de realizare a acesteia. Astfel el organizează baza de date conform unei anumite metodologii, realizează schema (conceptuală) bazei de date, coordonează proiectarea bazei de date. Pentru toate aceste lucruri SGBD-ul oferă o seri de elemente de CASE, precum şi o serie de utilitare specializate. Îi etapa de exploatere a bazei de date, administratorul are rolul de a autoriza accesul la date (acordă conturi, parole etc.), de a reface baza de date în caz de incidente (prin jurnalizare, copii), de a utilize efficient spaţiul de memorie internă şi externă (prin organizare, rutine de optimizare), de a realiza o serie de analize statistice din baza de date (numar şi tip şi utilizatori, numar de accese, numar de actualizari etc.). Pentru fiecare dintre aceste activitaţi SGBD-ul oferă instrumente şi tehnici de lucru. În cazul lucrului în reţea de calculatoare cu baze de date distribuite, SGBD-ul are dezvoltate foarte mult componentele destinate administratorului. Acest lucru este determinat de faptul că baza de date este, în acest caz, de mare complexitate, datele sunt distribuite pe calculatoarele din reţea, iar utilizatorii sunt de toate tipurile şi în număr mare. În principal pentru funcţia de administrare, dar parţial şi pentru celelalte funcţii, SGBD-ul asigură protecţia bazei de date. Aici vor fi prezentate aspectele esenţiale, urmând ca în continuare la fiecare tip de SGBD să se precizeze prin exemple şi aspectele specifice ce apar.

Clasificarea SGBD-urilor Diversitatea SGBD-urilor, care care au fost şi care sunt în exploatare pe diferite calculatoare şi sub diferite sisteme de operare, impune o clasificare a lor după diferite criterii. 1) După sistemele de calcul pe care le implementează - SGBD-ul cu limbaj gazdă este cel care are un limbaj de manipulare a datelor bazat pe unul de nivel înalt (universal). Limbajul gazdă poate fi chiar un limbaj universal (Cobal, Pascal) sau o extensie (adaptere) a unui astfel de limbaj. Avantajul acestei soluţii este acela că se pot dezvolta proceduri complexe de program, se pot realiza interfeţe om-maşină foarte bune, se valorifică experienţa de programare din limbajele de nivel înalt. (toate rezultă din avantajele programării procedurale). Dezavantajul major este acela că formularea crerilor de regasire se face mai greu, de multe ori într-un mod inaccesibil utilizatorilor finali. Acest lucru este suplinit de SGBD prin alte componente specifice: generatoare, utilitare etc. (exemplu: Oracle). - SGBD-ul cu limbaj propriu (autonom) este cel care are un limbaj de manipulare a datelor specific. Acest limbaj de programare propriu este procedural şi are marele avantaj că permite implementarea tuturor facilităţilor de SGBD. În el se pot programa proceduri complexe şi interfeţe puternice ca într-un limbaj universal, dar în plus se realizează un acces uşor şi optimizat la baza de date. Dezavantajul este că un astfel de limbaj nu poate fi utilizat decât de specialiştii în informatică (exemplu limbajul din Visual FoxPro). Tendinţa actuală este ca SGBD-ul să aibă implementat, pe lângă un limbaj procedural, şi un limbaj de regăsire neprocedural, care să permită formularea de cereri de regăsire uşor, de către toţi utilizatorii bazei de date. În axest sens, majoritatea SGBD-urilor pentru microcalculatoare au implementat, parţial sau total, limbajul SQL, care este şi standardizat internaţional. 2) După modelul logic de date implementat - SGBD ierarhice sunt cele care implementează modelul de date arborescent (ierarhic) şi au fost primele care s-au utilizat pentru gestionarea bazelor de date. Ele au o serie de avantaje pentru domenii precise din lumea reală înconjurătoare, de exemplu tehnologia construcţiei de maşini, dar au limitepentru alte domenii (exemplu: IMS). - SGBD reţea sunt cele care implementează modelul de date reţea şi care au eliminat multe din limitele celor ierarhice. Ele au o largă aplicabilitate pentru numeroase probleme din lumea reală, dar sunt dificil de utilizat datorită complexitaţii ridicate (exemplu: IDMS). - SGBD relaţionale sunt cele care implementează modelul de date relaţional şi au aplicabilitate în majoritatea domeniilor din lumea reală. Ele pot fi folosite de o gamă largă de utilizatori datorită facilitaţilor oferite (generatoare, limbaj neprocedural etc.) (exemple: Oracle, Visual FoxPro, Paradox, Access, Informix, Progress). - SGBD orientate obiect sunt cele care implementează modelul de date orientat obiect. Ele se pretează bine la problemele foarte mari, de complexitate ridicată, precum şi pentru tipurile noi de aplicaţii (proiectarea asistată, multimedia, sisteme deschise) (exemple: O2, Orion, Jasmine). 3) După localizarea bazei de date - SGBD centralizate sunt cele care gestionează datele amplasate într-o singură bază de date centrală. La acestea au acces toţi utilizatorii autorizaţi pentru a efectua diferite operaţii de manipulare a datelor. Toate calculatoarele care nu sunt legate în reţea şi lucrează cu baze de date au instalat un SGBD centralizat. Tot un SGBD centralizat, dar cu facilitaţi de lucru în reţea, trebuie instalat şi în reţelele de calculatoare care au plasată baza de date pe un singur calculator (de obicei pe server), (exemplu: Visual FoxPro, Access). - SGBD distribuite sunt cele care gestionează datele amplasate pe mai multe calculatoare dintr-o reţea tratându-le ca un tot unitar. Complexitatea acestor SGBD-uri este ridicată,

având componente speciale pentru realizarea conexiunilor şi tratarea distribuită a datelor (exemplu: Oracle, DB2, Informix). SISTEMUL DE GESTIUNE A BAZELOR DE DATE MICROSOFT ACCESS 2002 Prezentare generală a S.G.B.D. Access 2002 Sistemul de gestiune a bazelor de date Microsoft Access menţine avantajele sistemelor de gestiune, asigurând astfel o interfaţă între baza de date şi utilizator: Permite definirea, consultarea şi actualizarea datelor şi în plus, partajarea acestor date între mai mulţi utilizatori; Interogarea bazei de date se realizează fie în mod grafic, utilizând interfaţa QBE (Query By Exemple), fie utilizând limbajul SQL (Standard Query Language); Permite realizarea unor aplicaţii complexe utilizând limbajul Microsoft Visual Basic; Oferă uşurinţă în realizarea importului / exportului de date către alte aplicaţii ale pachetului Microsoft Office sau alte SGBD-uri relaţionale (ex. FoxPro, dbase, Paradox); Este autodocumentat prin Help; Conţine instrumente Wizard care permit utilizatorului crearea într-o manieră foarte simplă a obiectelor bazei de date; Permite accesul la baza de date din reţeaua Internet, fiind un instrument util pentru publicarea informaţiilor în paginile Web; Permit personalizarea bazei de date; Se fundamentează pe concepte noi, cum ar fi conceptele de obiecte, proprietăţi ale obiectelor, eveniment, procedură declanşată la apariţia unui eveniment, metode la care obiectele reacţionează în momentul procedurii unui eveniment, programarea orientată pe obiecte şi evenimente. Microsoft Access 2002 reprezintă o variantă îmbunătăţită pentru prelucrarea bazelor de date relaţionale. Aceasta necesită un sistem de operare Microsoft Windows 98, Microsoft Windows 2000 sau Microsoft Windows NT. Microsoft Access 2002 este asemănător ca aspect şi ca impresie cu Microsoft Access 2000, versiunea anterioară a acestui program performant pentru bazele de date; oferă acelaşi sistem de meniuri şi baze de instrumente adaptabile din Microsoft Access 2000, care particularizează comenzile şi pictogramele din meniuri şi bazele de instrumente pe baza comenzilor utilizate cel mai adesea. Microsoft Access 2002 oferă o serie de caracteristici noi cum ar fi: Vizualizări PivotChart şi PivotTable Microsoft Access 2002 introduce vizualizări PivotTable şi PivotChart în tabele, interogări, vizualizări, proceduri stocate, funcţii şi formulare. Se pot efectua analize de date şi elabora soluţii complexe bazate pe vizualizările PivotTable şi PivotChart mai rapid. Vizualizările PivotTable şi PivotChart se salvează ca pagini de acces la

date ce pot fi văzute cu Microsoft Internet Explorer 5 sau versiuni mai recente. Suport XML În afară de a fi tehnologia standard de interschimbare a datelor în Web, limbajul extensibil de marcare (XML) devine rapid, tehnologia preferată pentru schimbul de date între aplicaţiile software generale. Microsoft Access 2002 furnizează modalităţi puternice, intuitive de partajare a datelor XML indiferent de diferenţele de platformă, format de date, protocol, schemă sau reguli de activitate Microsoft Access furnizează, de asemenea, metode pentru manipularea mai uşoară a datelor, simplificând crearea şi aplicarea schemelor şi foilor de stiluri. De exemplu, se poate utiliza Microsoft Access pentru a crea o schemă care descrie structura datelor, apoi se trimite schema furnizorilor în aşa fel încât aceştia să cunoască exact cum trebuie să arate datele în facturile lor. Suport extins pentru proprietăţi cu Microsoft SQL Server 2000. Integrarea predefinită între Microsoft Access 2002 şi Microsoft SQL Server 2000 s-a îmbunătăţit semnificativ prin includerea suportului pentru proprietăţi extinse ale bazelor de date SQL în cadrul proiectului Access. Dus - Întors Se poate lucra cu fişiere Access 2000 în Access 2002 fără conversia formatului de fişiere. Acest mod de lucru permite partajarea mai uşoară cu fişiere de baze de date din versiuni diferite cu alţi utilizatori Access Anulări şi refaceri multiple Există acum posibilitatea de anulare şi de refacere a mai multe acţiuni în modul Vizualizare proiect în toate obiectele din bazele de date Microsoft Access şi în vizualizările şi procedurile stocate şi funcţiile din proiectul Microsoft Access Pagini de acces la date actualizabile off-line Lucrul Off-line cu baze de date în proiectul Access, şi actualizare automată la reconectarea pe serverul SQL. Modificările la paginile deconectate sunt efectuate la un proiect Access conectat la un Microsoft SQL Server 2000 Desktop Engine local. Consemnarea erorilor de conversie Listarea erorilor apărute la conversia din Access 95 sau versiuni ulterioare, ceea ce permite identificarea acestora şi depanarea lor mai rapidă. Coexistenţa subformulare/subrapoarte în Design view Este posibilă deschiderea subformularelor şi subrapoartelor în propriile lor ferestre Design view din formular sau raport sau din meniul View. Îmbunătăţirea defilării uşurează lucrul cu subformulare şi subrapoarte în modul Design view. Securitatea parolei în proiectul Access Este posibilă acum modificarea parolei de conectare specificată în proiectul Access conectat la o bază de date Microsoft SQL Server 6.5 sau versiuni ulterioare, direct din domeniul Access 2002.

Expertul pentru tabele legate Expertul pentru tabele legate este un ghid pentru legarea tabelelor la o baza de date SQL Server, acest lucru realizându-se în cadrul proiectului Access. Caracteristici de accesibilitate îmbunătăţite Microsoft Access 2002 uşurează şi mai mult lucrul cu formulare din formulare şi rapoarte: Prin apăsarea tastei F8 în modul Design view pentru formular sau raport, se afişează lista de câmpuri. Prin apăsarea pe tastei ENTER după selectarea unui câmp în lista de câmpuri în modul Design view pentru formular sau raport, se va adăuga automat câmpul pe suprafaţa proiectului formularului sau raportului. Prin apăsarea combinaţiei de taste CTRL+TAB, se va deplasa focalizarea dintr-o secţiune de formular sau de raport, la o subsecţiune. Au fost adăugate două valori suplimentare (1000% şi 500%) la opţiunea Zoom din examinare înaintea imprimării. Documente Web şi site-uri Web Salvaţi documentele Microsoft Office ca pagini Web pentru versiunile 3.0-6.0 ale diverselor browsere Web şi acordaţi cititorilor cea mai bună posibilitate de vizualizare posibilă. Din orice program Microsoft Office, este posibil să salvaţi documente în site-uri Web din MSN. Acest lucru oferă un spaţiu de colaborare instantanee, unde este posibil să partajaţi fişiere cu alte persoane. Salvaţi un site Web ca fişier unic. Un format de fişier de tip arhivă Web specială este disponibil in Microsoft Access, Microsoft Excel, Microsoft Power Point, Microsoft Publisher şi Microsoft Word. Acest format de fişier permite salvarea tuturor elementelor unui site Web, inclusiv text şi reprezentări grafice, într-un singur fişier. Deschideţi pagini Web Office pentru editare din browser. Programele Microsoft Office recunosc paginile în format HTML pe care le-au generat. Este posibil să deschideţi un document Office pe care l-aţi salvat ca pagină Web, în programul în care a fost creat, direct din Microsoft Internet Explorer. Protecţie mărită contra viruşilor de macrocomandă Administratorii de reţea pot elimina Microsoft Visual Basic for Applications, limbajul de programare al Microsoft Office, când se porneşte aplicaţia Microsoft Office. Acest lucru scade posibilitatea răspândirii viruşilor prin documente Microsoft Office. Adăugarea panourilor pentru taskuri Una dintre cele mai importante schimbări din mediul Microsoft Access (şi din toate aplicaţiile pachetului Microsoft Office XP, cum ar Microsoft Word 2002, Microsoft Excel 2002 şi Microsoft PowerPoint 2002) este introducerea panoului pentru taskuri din aplicaţia Microsoft Office. Panoul pentru taskuri este un panou special care apare în partea dreaptă a ferestrei de aplicaţie Microsoft Access când folosiţi anumite caracteristici Access (caracteristici care erau controlate anterior prin intermediul casetelor de dialog)

Adăugarea dictării vocale şi a comenzii vocale În cazul în care calculatorul este echipat cu o placă de sunet, difuzoare şi cu un microfon se pot dicta informaţii în tabele Access. Se mai pot utiliza comenzile vocale pentru a activa sistemul de meniuri şi barele de instrumente din Access. Crearea unei baze de date Pentru a crea o bază de date se lansează în execuţie sistemul Microsoft Access, apare panoul pentru taskuri care oferă posibilitatea de a selecta una dintre opţiunile ferestrei Microsoft Access. (Fig. 3.1) Utilizatorul are următoarele opţiuni: deschiderea unei baze de date (Open a file); crearea unei baze de date (Blank Database); accesarea unei baze de date (Blank Date Access Page); Fig. 3.1 crearea unui nou proiect pe baza unor date existente (Project Existing Data); crearea unui nou proiect cu date noi (Project New Data) crearea unei baze de date, proiect sau pagină de Web având ca punct de plecare baza de date existentă (New from existing file); crearea unei baze de date, proiect sau pagină de Web pe baza unor machete predefinite care se pot afla fie pe sistemul pe care se află instalat SGBD Access, fie pe site-ul www.microsoft.com, legătură care se face automat dacă sistemul dispune de o legătură Internet (New from template);

crearea unei baze de date, proiect sau pagină Web pe baza unor documente aflate în reţeaua Intranet sau Internet (Add Web Folder). La accesarea opţiunii Add Web Folder apare o casetă de dialog care prezintă 2 opţiuni Create a shortcut to an existing Web Folder (Documentele cu care se lucrează se află într-un director aflat în reţeaua Internet sau Intranet) Create a new Web Folder (Dacă dorim să creem un nou director în reţeaua Internet sau Intranet în care să se regăsească documentele folosite) permite deschiderea meniului Help (Microsoft Access Help) La alegerea opţiunii de creare a unei baze de date (Blank Database) pe ecran se afişează caseta de dialog File New Database (Fig.3.2) Fig. 3.2 În rubrica File name se precizează numele bazei de date şi apoi se accesează butonul Create. Pe ecran se afişează fereastra Database; formatul implicit de salvare a fişierului se face în format Access 2000. Fig. 3.3 S-a creat un fişier cu extensia.mdb (management data base) în care se vor realiza obiectele bazei de date (tabele care sunt obiecte de bază, obiectele de tip cerere, obiectele de tip formă, obiecte de tip raport, obiecte de tip macro). Obiecte tip într-o bază de date ACCESS Fereastra Database conţine 7 tipuri de obiecte: Tables - este un obiect definit de utilizator, în care sunt stocate datele în format rând, coloană similar celui folosit în calculul tabelar. Fiecare coloană a tabelului este denumită câmp, iar fiecare

câmp al tabelului reprezintă o înregistrare. Queries - sunt destinate găsirii datelor din tabele sau prelucrării acestora. Interogările sunt folosite pentru: afişarea numai anumitor înregistrări care îndeplinesc criteriile specificate; crearea unor noi tabele; ştergerea, modificare sau actualizarea înregistrărilor dintr-un tabel. Forms - afişează datele conţinute în tabele sau interogări şi permit introducerea altora noi, modificarea sau ştergerea celor existente. Formularele reprezintă interfaţa între utilizator şi o bază de date. Reports - este un obiect prin intermediul căruia datele conţinute în tabele sau interogări sunt prezentate în format printabil. de date. Pages - În situaţia în care se doreşte accesarea în cadrul reţelei Intranet sau Internet a bazei Macros - definesc o serie de comenzi pe care sistemul Microsoft Access le execută automat la apariţia unor evenimente. Module - conţin codul de programare Microsoft Access. Fiecare obiect tip este accesibil după ce s-a deschis baza de date. Pentru a deschide o bază de date se alege meniul File, opţiunea Open. Dezvoltarea rapidă a unei aplicaţii Se dezvoltă rapid o aplicaţie de evidenţă a furnizorilor. Pentru a rezolva această aplicaţie trebuie să creem în baza de date (EvidFurniz) două tabele Furnizori şi Factura. Tabela Furnizori are următoarea structură: Furnizori (cod furniz., den furniz., adresa, banca, cont banca). Iar tabela Factura are următoarea structură: Factura (nr. Fact., data fact., val. Fact., cod furniz.). Observaţie: Câmpul subliniat cu linie continuă este cheie primară în tabel iar câmpul subliniat cu linie punctată este cheie externă. Etapele care trebuie parcurse sunt: se alege opţiunea BlankDatabase din panoul pentru taskuri Microsoft Access; pe ecran se afişează caseta de dialog Create File New Database unde trebuie să se tasteze numele bazei de date (EvidFurnizori). Numele bazei de date se tastează în rubrica File name şi apoi se selectează butonul Create. În baza de date trebuie incluse cele două tabele (Furnizori şi Factura). Acest lucru se poate face prin exploatarea ferestrei Database şi anume: se selectează eticheta Tables şi apoi click pe butonul New; se afişează pe ecran fereastra New Table (Fig. 3.4)

Fig. 3.4 se alege opţiunea Design View şi apoi click pe butonul OK; se afişează fereastra Table în care trebuie introduse câmpurile tabelului creat. În coloana FieldName se tastează numele câmpului, în coloana DataType precizăm tipul de dată şi în coloana Description se precizează un text explicativ. În urma introducerii acestor elemente fereastra Table va arăta conform Fig. 3.5. Pentru a salva tabelul trebuie să selectăm meniul Fig. File 3.5 şi apoi opţiunea Save As. În fereastra apărută se introduce numele tabelului Furnizori. Observaţie: Dacă nu se precizează câmpul ce constituie cheia primară, Access generează automat câmpul ID tip AutoNumber care prin valorile sale, va identifica unic înregistrările de date. După ce a fost creată structura tabelului trebuie introduse înregistrări. În fereastra Database se selectează tabelul Furnizori şi se acţionează butonul Open şi apoi se introduc înregistrările (Fig. 3.6). Fig. 3.6

Fig. 3.9 Parcurgând aceleaşi etape, se creează tabelul Factura. Se doreşte să se selecteze din tabela Furnizori numai aceia care sunt din Craiova şi au contul la banca "BancPost". Pentru rezolvarea acestei probleme se parcurg etapele: se creează o cerere: din fereastra Database se selectează obiectul Queries şi apoi se selectează butonul New. Pe ecran se afişează caseta de dialog New Query. Pentru cereri simple se selectează butonul OK. (Fig. 3.7) Fig. 3.7 se precizează sursa de date din caseta de dialog Show Table selectând tabela Furnizori (Fig. 3.8). Fig. 3.8 în interfaţa QBE, care se va afişa pe ecran sunt specificate câmpurile necesare: den furnizor, adresa, banca; aceste câmpuri sunt selectate prin dublu click din tabela Furnizori aflată în partea de sus a ferestrei. La intersecţia dintre câmpul Adresa şi linia Criteria se tastează "Craiova" iar la intersecţia dintre Bancă şi linia Criteria se tastează BancPost (Fig. 3.9).

Pentru a vedea rezultatul interogării se selectează meniul View şi apoi opţiunea Datasheet View (Fig. 3.10). Fig. 3.10 Observaţie: Microsoft Access generează automat exprimarea cererii în limbajul SQL. Dacă se selectează meniul View şi apoi opţiunea SQL View, pe ecran se afişează fereastra SQL al cărui conţinut este Fig. 3.11. Fig. 3.11 Cererea se poate simplifica de către utilizator folosind limbajul SQL Standard. Cererea din Fig. 3.11 se poate scrie SQL Standard astfel: SELECT den furniz, adresa, banca FROM furnizori WHERE adresa = craiova AND banca = banc post Unde: SELECT precizează ce se selectează FROM - din ce tabelă WHERE - condiţia care trebuie să o îndeplinească înregistrările pentru a fi selectate Operaţiile de actualizare a bazelor de date sau de afişare se pot face folosind machete numite formulare. Pentru a crea automat un formular se selectează tabela sau interogarea dorită în fereastra

Database şi apoi se alege meniul Insert, opţiunea AutoForm. Pe ecran se afişează un formular tip coloană (Fig. 3.12). Fig. 3.12 Formularul construit automat poate fi apoi modificat; pentru a fi modificat se alege meniul View, opţiunea Design View. De exemplu, dorim să creem un control care să ne poziţioneze pe următoarea înregistrare. Pentru a crea un astfel de control trebuie parcurse etapele: plasarea şi definirea unui buton de comandă din trusa de instrumente Toolbox. (Fig. 3.13); Fig. 3.13 prin glisare se va plasa butonul de comandă folosind asistentul Command Buton Wizard. Din lista de opţiuni disponibile "Categories se selectează Record Navigation şi apoi se selectează butonul Next. În noua fereastră se alege simbolul specificat pentru controlul respectiv şi apoi se selectează butonul Next. (Fig. 3.14). Fig. 3.14

În ultima fereastră se cere un nume pentru butonul de comandă şi apoi se selectează butonul Finish. În final grila de proiectare arată conform Fig. 3.15. Fig. 3.15 În acelaşi mod se creează şi butoane pentru ştergerea unei înregistrări, pentru adăugarea unei înregistrări, etc. Se doreşte ca rezultatul interogării unei baze de date să fie prezentat sub forma unei situaţii finale. Pentru aceasta utilizatorul trebuie să construiască un obiect tip raport. Din fereastra Database se alege obiectul Reports şi apoi butonul New. Pe ecran apare fereastra New Reports unde se alege sursa de date (Tabelul Furnizori) (Fig. 3.16). Fig. 3.16 Se alege opţiunea AutoReport: Tabular iar pe ecran se afişează raportul solicitat (Fig. 3.17). Fig. 3.17 Modelul raportului generat poate fi îmbunătăţit: se selectează meniul View şi apoi opţiunea

Design View. Pe ecran se afişează modelul raportului pe care utilizatorul îl poate modifica. OBIECTE DE TIP TABEL Reprezintă obiectele bazei de date în care se stochează datele. Fiecare coloană a tabelei este denumită câmp, iar fiecare rând al tabelului constituie o înregistrare. La crearea unui tabel se solicită definirea câmpurilor, atribuindu-se fiecăruia o denumire unică, având un tip de dată şi o dimensiune bine precizată O modalitate de a crea un tabel este aceea de a activa butonul New, având posibilitatea de a alege cinci opţiuni din fereastra New Table 1. Datasheet View - permite crearea unui tabel în modul foaie de date; este utilizat pentru inserarea datelelor şi vizualizare. Apoi executăm click pe butonul OK (Dacă se renunţă la crearea tabelului executăm click pe butonul Cancel). Se va deschide un tabel cu câmpuri generice: Field 1, Field2... Pentru a schimba numele câmpurilor se selectează meniul Format, opţiunea Rename Column, se tastează noul nume şi se apasă tasta Enter. (Fig 4.1). Fig. 4.1 2. Design View - permite crearea unui tabel în modul de proiectare. Pentru a realiza în acest mod un tabel efectuăm click pe eticheta Tables şi apoi click pe butonul New. Din caseta de dialog apărută selectăm opţiunea Design View şi apoi click pe butonul OK. În fereastra apărută în coloana FieldName tastăm numele câmpului, în coloana DataType precizăm tipul de dată pentru fiecare câmp iar în coloana Description se precizează de către utilizator un text explicativ având ca scop să descrie câmpul. (Fig. 4.2). Cheia primară reprezintă un identificator unic pentru un tabel; aceasta reprezintă un atribut sau un grup de atribute. Pentru a stabili un câmp al tabelului cheie primară trebuie să parcurgem etapele: tabelul trebuie să fie deschis în modul Design View; se selectează câmpul căruia vrem să-i atribuim această identificare;

se selectează meniul Edit şi se alege opţiunea Primary Key; Fig. 4.2 Rezultatul acestor etape este apariţia unui simbol sub formă de cheie în dreptul câmpului selectat. Dacă se încearcă închiderea noului tabel în modul de vizualizare Design View fără a specifica o cheie principală, apare un mesaj care anunţă că nu a fost atribuită nici o cheie primară. Executând click pe butonul Yes în caseta de mesaj determinăm Acces-ul să creeze un nou câmp AutoNumber în tabel şi-l specifică drept cheie primară. Se poate schimba numele acestui nou câmp după cum este necesar. Pentru a introduce înregistrări în tabelă selectăm meniul View şi alegem opţiunea Datasheet View. Tipurile de date disponibile pentru câmpurile Access sunt: text - sunt cel mai des folosite, astfel încât Access consideră acest tip ca fiind cel prestabilit. Un câmp text are implicit 50 de caractere, dar se poate alege lungimea de la 1 la 255; memo - sunt utilizate pentru a oferi comentarii descriptive. Un câmp Memo nu poate fi cheie primară şi se poate indexa după el; number - admite numai numere (nu poate conţine litere, sau o dată calendaristică); poate fi la rândul său de tip: Byte, Integer, Long Integer, Single, Double, Replication ID, Decimal; date/time - indică data calendaristică şi/sau ora; currency - indică tipul valută, fiind un număr destinat să indice o valoare bancară, cu 15 cifre la partea întreagă, iar la partea zecimală până la sutimi de cenţi; autonumber - datele de acest tip conţin o valoare numerică pe care Access o introduce automat pentru fiecare înregistrare adaugată într-o tabelă; yes/no - datele de acest tip pot primi valorile True/False şi pot fi afişate în una; din formele True/False, respective On/Off; OLE Object - include elemente grafice realizate din puncte, desene vectoriale, fişiere cu semnale audio şi alte tipuri de date care pot fi create de o aplicaţie OLE Server; Hyperlink - este un text sau o combinaţie de text cu numere stocat(ă) ca un text şi folosit(ă) ca adresă a unei pagini Web. Este format(ă) din trei părţi: - textul afişat, adresă şi subadresă; Lookup Wizard - creează câmpuri care permit utilizatorului să aleagă valori din cadrul altor tabele sau dintr-o listă de valori.

În afară de definirea tipului de dată, pentru fiecare câmp se definesc o serie de proprietăţi (care diferă în primul rând de tipul de dată ales şi de cerinţele aplicaţiei). Zona în care se stabililesc proprietăţile câmpurilor este formată din urmatoarele opţiuni (Fig. 4.3). Fig. 4.3 Field Size - această propietate stabileşte numărul maxim de caractere care poate fi stocat în tipul de cîmp respectiv; Format - această proprietate prezintă o listă derulantă cu formatele disponibile pentru respectivul tip de câmp; Decimal Places - proprietatea care se stabileşte pentru câmpurile numerice; se pot stabili poziţiile zecimal afişate de un număr; Input Mask - proprietatea prin care se controlează introducerea datelor; Caption - proprietatea utilizată pentru a a afişa titlurile numelor de câmp în modul de afişare Datasheet; Default Value - proprietatea care permite definirea unei valori implicite care va fi generată automat în ecranele de culegere a datelor; Validation Rule - proprietatea care permite definirea restricţiilor referitoare la domeniul de valori; Validation Text - proprietatea care permite specificarea conţinutului textului care se va afişa, în cazul introducerii unei realizări ce nu respectă regula de validare; Requiered - proprietatea care se utilizează în momentul în care se doreşte introducerea în câmpul respectiv a unei valori în mod expres, valoarea câmpului nu poate fi nulă; Indexed - proprietatea care permite definirea unui fişier index pe atributul respectiv; indecşii asigură mecanismul de regăsire rapidă a datelor. Un atribut se indexează în condiţiile în care atributul cuprinde valori cu gamă largă; de variaţie şi atributul va fi folosit în mod semnificativ în criteriile de selecţie sau sortare. 3. Table Wizard - permite crearea de tabele ca ajutorul magicianului; este cea mai rapidă metodă de creare a unai tabel. Alegând această metodă se va afişa fereastra de dialog Table Wizard care este compusă din: (Fig. 4.4)

Fig. 4.4 un grup de două opţiuni Bussiness şi Personal care lasă posibilitatea de a alege categoria de tabele; lista Sample Tables care conţine exemple de tabele corespunzătoare categoriei Bussiness / Personal; lista Sample Fields care conţine câmpuri corespunzătoare tabelului selectat; caseta Fields in my new table în care sunt vizualizate numele câmpurilor selectate; Butonul Rename Field: - buton cu care se poate modifica numele cîmpului selectat. După ce toate setările sunt efectuate se trece la fereastra următoare accesând butonul Next. În această fereastră se stabileşte numele tabelului şi cheia primară. (Fig. 4.5). Fig. 4.5 4. Import Table - permite importarea tabelelor şi obiectelor din altă bază de date. 5. Link Table - permite crearea tabelelor în baza de date curentă, care sunt legate cu alte tabele din baze de date externe. Relaţii între tabele Relaţiile între tabele se formează prin precizarea legăturilor între un tuplu dintr-un tabel şi tuplurile corespunzătoare din alt tabel. Relaţiile standard pot fi de tip: 1. Relaţia unu la unu (1:1) corespunde situaţiei când unui tuplu dintr-o tabelă îi corespunde un singur alt tuplu dintr-o altă tabelă. Se mai numeşte şi biunivocă; Exemplu:

Considerăm tabela Furnizori şi tabela Produs Codfurnizor Denfurnizor Adresa Contbanca Bancă Codprodus Denprodus UM Preţprodus Cod furnizor Relatia 1:1 între cele două tabele se poate transpune prin faptul că: un furnizor poate livra doar un singur produs, iar produsul este livrat doar de un singur funizor. Relaţia unu la mai mulţi (1:n) corespunde situaţiei în care unui tuplu dintr-o înregistrare îi corespund mai mutte tupluri dintr-o tabelă. Tabelul din partea unu a relaţiei trebuie să aibă o cheie unică, numită cheie primară, iar tabelul din partea mai mulţi trebuie să conţină o cheie străină numită cheie externă. Exemplu: Considerăm tabela Furnizori şi tabela Codfurnizor Denfunizor Adresa Contbancă Bancă Facturi Nrfactură Codfurnizor Codprodus Preţfactură Datafactură Cantitate Relaţia 1: n între cele două tabele se poate transpune prin faptul că un furnizor poate emite mai multe facturi, iar o factură nu poate fi emisă decât de un furnizor. 3. Relaţia mulţi la mulţi (m:n) corespunde situaţiei când unui tuplu dintr-o tabelă îi pot corespunde mai multe tupluri dintr-o altă tabelă. Aceste tipuri de relaţii sunt asocieri libere. Exemplu: Considerăm tabela Funizori şi tabela CentruComercial Codfurnizor Denfurnizor Adresa Codccom Denccom Cod furnizor Relaţia m:n între cele două tabele se poate transpune prin faptul că: un funizor poate aproviziona mai multe centre comerciale, iar un centru comercial se poate aproviziona de la mai mulţi furnizori. Descrierea procesului de construire a relaţiilor dintre tabele se face în fereastra Relationships (Opţiunea Relationships se află în meniul Tools). Plasarea tabelelor în această fereastră se face prin intermediul ferestrei Show Table din meniul Relatioships. Selectarea tabelelor se face acţionând butonul Add sau click dublu pe tabelul respectiv. O relaţie între tabele se realizează prin operaţia drag and drop de la cheia primară a tabelei principale la cheia externă a tabelei secundare. Legătura între tabele este marcată printr-o linie care se numeşte linie de corelare. Fereastra de dialog Edit Relationships (se deschide selectând meniul Relationships, optiunea Edit Relationship) prezintă legătura între cheia primară şi cheia externă. (Fig. 4.6)

În partea de jos a casetei de dialog Edit Relatioships există trei casete de validare; validarea acestora are urmatoarele efecte: validarea casetei Enforce Referential Integrity (Impune integritate referenţială) în cadrul aplicaţiei, înseamnă că în momentul când se introduce o nouă înregistrare în tabela secundară, se verifică dacă valoarea cheii externe se găseşte în tabela primară, în câmpul corespunzător cheii primare. Este necesară încărcarea datelor în tabela principală mai întâi şi apoi în cea secundară; validarea casetei Cascade Update Related Fields - modificarea unei valori a unei chei primare din tabela principală duce la modificarea valorilor cheii externe corespondente din tabela secundară. Exemplu: Dacă se modifică codul unui beneficiar din tabela Beneficiari, se modifică şi facturile corespondente. dimensiune. Fig. 4.6 validarea casetei Cascade Delete Related Recors - ştergerea unei valori a cheii primare din tabela principală duce automat la ştergerea înregistrărilor corespondente din tabela secundară (cele care au valoarea cheii exteme egale cu valoarea cheii primare). Exemplu: Dacă se şterge un beneficiar, automat se şterg şi facturile corespondente. Câmpurile de legătură între două tabele trebuie să fie de acelaşi tip şi să aibă aceeaşi OBIECTE DE TIP QUERY(CERERE). INTEROGAREA BAZELOR DE DATE Interogarea unei baze de date înseamnă regăsirea şi extragerea informaţiilor. O cerere are ca sursă una sau mai multe tabele sau chiar o altă cerere. Clasificarea. interogărilor: Interogări de selecţie - sunt cele mai utilizate interogări şi permit vizualizarea, modificarea şi extragerea datelor din una sau mai multe tabele sau cereri.

Interogări de tip acţiune - au ca rol de a actualiza, de a şterge, a adăuga, a modifica şi de a crea noi tabele. Interogările de tip acţiune sunt: a. Make Table Query - permit crearea unui nou tabel; b. Delete Query - permite ştergerea uneia sau mai multor înregistrări dintr-un tabel; c. Append Query - permite adăugarea de noi înregistrări la un tabel dintr-un tabel sursă; d. Update Query - permite modificarea unui grup de înregistrări selectate pe baza unui criteriu dintr-un tabel. Interogări parametrate - se utilizează atunci când este necesară modificarea frecventă a criteriilor de selecţie în baza de date. Interogări de tip Analiză încrucişată permit generarea unor tabele complexe sub forma unei foi de calcul tabelar Crearea interogărilor de selecţie Atunci când se realizează o interogare selectăm butonul Queries din fereastra Database şi apoi butonul New. Ca rezultat pe ecran se afişează fereastra New Query care permite realizarea interogării în următoarele moduri: (Fig. 4.7) Fig. 4.7 1. Design View - reprezentând modul grafic de proiectare. Pentru a crea o interogare în acest mod accesăm butonul OK şi se va afişa o fereastră Select Query şi caseta de dialog Show Table. (Fig. 4.8) Fig. 4.8

Fereastra Select Query este structurată în două părţi: partea superioară, unde sunt afişate structurile tabelelor din baza de date partea inferioară numită grilă de proiectare în care se construieşte interogarea din punct de vedere structural. Aceasta grilă de proiectare este cunoscută şi sub denumirea QBE (Query By Exemples). Caseta de dialog Show Table prezintă tabelele existente când este selectat butonul Tables, interogările când este selectat butonul Queries şi la accesarea butonului Both sunt prezentate şi tabelele şi interogăriile Pentru adăugarea tabelelor în fereastra Select Query se acţionează butonul Add; după ce tabelele sunt selectate caseta de dialog Show Table este inchisă. În cazul în care mai trebuie adăugat un alt tabel fereastra Show Table va fi readusă pe ecran selectând meniul Query, opţiunea Show Table. Selectarea unui câmp în grila interogării se face executând dublu click pe numele câmpului. Numele câmpului va fi afişat în dreptul rândului Field iar tabelul sursa se specifică în dreptul rândului Table. Ordonarea se poate face crescator (Ascending) sau descrescător (Descending); această sortare se face la intersecţia coloanei câmpului respectiv cu caseta Sort. Criteriile de selecţie Criteriile de selecţie reprezintă restricţiile pe care le stabilim într-o interogare, pentru a identifica anumite înregistrări din baza de date. Criteriile se introduc în celula aflată la intersecţia coloanei câmpului cu linia Criteria din grila de interogare. Principalele criterii simple sunt prezentate în tabelul 4.1. Criteriile complexe se vor construi prin utilizarea operatorilor logici And sau Or, care permit legarea criteriilor simple. Exemplu: Să presupunem că se doreşte vizualizarea facturile emise doar către beneficiarii care au conturile la Banca BCR iar modul de vizualizare să se facă in mod descrescător după câmpul Cod Furnizor.Fereastra Select Query corespunde cerinţelor impuse (Fig. 4.9). Fig. 4.9 Tabelul 4.1. Principalele criterii simple OPERAŢIA SEMNIFICAŢIA EXEMPLU BETWEEN Apartenenţa la un interval de valori BETWEEN val_inf and val_super

IN Apartenenţa la lisă IN(val 1, val2,...) de valori > < >= <= = Mai mare Mai mic Mai mare sau egal Mai mic sau egal Egal NOT Operator de negaţie Not valoare LIKE Comparare cu un nume generic LIKE,, valoare Rezolvarea acestei interogări se regăseşte mai jos (Fig.4.10). Fig. 4.10 Crearea unor câmpuri calculate În prima linie Field liberă se introduce formula de calcul care are formula generală: Nume_rezultat: [Câmp 1] Operator matematic [Câmp 2]... Exemplu: Se doreşte vizualizarea produselor cu codul (120, 121) şi calcularea câmpului valoare pentru tabela Produs (Cod_produs, Den produs, UM, Preţ, Cantitate) Se prezintă fereastra Select Query care corespunde cerintelor impuse. (Fig. 4.11). Fig. 4.11 În figura 4.12 se prezintă rezultatul obţinut. Fig. 4.12

2. Simple Query Wizard - este cea mai simplă metodă de a crea o interogare. Pentru a crea o interogare în acest mod selectăm opţiunea Simple Query Wizard şi apoi selectăm butonul OK. Fereastra deschisă prezintă mai multe opţiuni: din lista Tables / Query selectăm tabelul sau interogarea dorită; din lista câmpurilor disponibile Available Field se selectează numele de câmp şi apoi pentru a-l muta în lista câmpurilor selectate accesăm butonul > (Fig. 4.13); dacă se doreşte selectarea tuturor numelor de câmpuri selectăm butonul >>. Când operaţia de selectare a numelor de câmpuri s-a încheiat executăm click pe butonul Next; se afişează fereastra unde specificăm modul de prezentare - Detail sau Sumar (Fig. 4.14). Executăm click pe butonul Next. În caseta de text What title do you want fot your query (Ce titlu doriţi pentru interogarea dumneavoastră) introducem numele interogării şi executăm click pe butonul Finish şi rezultatul interogării poate fi văzut. Fig. 4.13 Fig. 4.14 3. Crosstab Query Wizard - funcţionează similar cu opţiunea Simple Query Wizard cu menţiunea că se va construi o interogare prin incrucişarea tabelelor. 4. Find Duplicates Query Wizard - compară două tabele şi se va construi o interogare care va

prezenta înregistrările comune. 5. Find Unmatched Query Wizard - este opusul opţiunii Find Duplicates Query Wizard, adică compară două tabele şi va construi o interogare care va prezenta înregistările care nu sunt comune celor două tabele. Interogări de tip acţiune a. Interogarea Make Table Query Are ca scop crearea unui tabel format din datele aparţinând unui tabel sau mai multor tabele. Pentru a transforma o interogare de selecţie în una de tip acţiune cu funcţia de creare a unei noi tabele se parcurg etapele: se trece în modul Design View; se selectează meniul Query şi se alege opţiunea Make-Table Query; pe ecran se afişează fereastra de dialog Make Table unde se introduce noul nume al tabelei. Se stabileşte dacă aceasta va face parte dintr-o bază de date Access sau de alt tip şi dacă înlocuieşte o altă tabelă care este deja creată se apasă apoi butonul OK; Se selectează meniul Query şi se alege opţiunea Run; se afişează o casetă de dialog în care se specifică numărul de înregistrări în tabela nou creată. Tabela nou creată prin această interogare va fi în fereastra Database la obiectul Tables, iar câmpurile vor moşteni numai tipurile şi dimensiunile din tabele sursă. Se recomandă ca după executarea interogării cu funcţia de creare să se stabilească cheia primară şi proprietăţile câmpurilor. Exemplu: Dorim să creem o nouă tabelă intitulată Beneficiari din judeţ în care să fie prezenţi toţi beneficiarii cu excepţia celor din Craiova (Fig.4.15); Fig. 4.15 b. Interogarea Delete Query Această interogare are ca scop eliminarea unui grup de inregistrări dintr-un tabel sau mai multe tabele. Pentru a crea o cerere de tip acţiune Delete Query în vederea ştergerii unui grup de înregistrări trebuie să se plece de la interogarea de selecţie.

Se parcurg etapele: se trece în modul Design View; se selectează meniul Query şi se alege opţiunea Delete query care va afişa în grila de proiectare linia Delete; se selectează meniul Query şi se alege opţiunea Run; se afişează o casetă de dialog care va prezenta numărul de înregistrări ce vor fi şterse. Se selectează butonul Yes pentru ştergerea numărului de înregistrări care respectă condiţia specifică. Exemplu: Dorim să ştergem din tabela Factura toate facturile care au numărul facturii mai mic de 126753 (Fig. 4.16). c. Interogarea Append Fig. Query 4.16 Această interogare se foloseşte pentru a insera înregistrări din unul sau mai multe tabele sursă într-un tabel destinaţie. etapele: Pentru a transforma o interogare din selecţie în una de tip acţiune de adăugare se parcurg se trece la modul Design View; se selectează meniul Query şi se alege opţiunea Append query, se va afişa caseta de dialog Append unde se introduce numele tabelei de destinaţie şi se selectează butonul OK; se selectează meniul Query şi se alege opţiunea Run; se afişează o casetă de dialog care va prezenta numărul de înregistrări ce vor fi adăugate. Se selectează butonul Yes pentru adăugarea înregistrărilor. Exemplu: Dorim să adăugăm în tabela Beneficiari judeţ şi acei beneficiari din Craiova, dar care au contul la banca Banc Post. Tabela Beneficiari judeţ este tabela destinaţie iar tabela Beneficiari este tabela sursă. (Fig 4.17)

etapele: d. Interogarea Update Query Acestă interogare se foloseşte pentru a efectua modificări globale într-un grup de înregistrări Pentru a transforma o interogare de selecţie în una de tip acţiune de modificare se parcurg se trece în modul Design View; se selectează meniul Query şi se alege opţiunea Update Query; se va introduce în grila de proiectare linia Update To şi se schimbă numele interogării într-o interogare de modificare; se introduc în linia Update To expresiile de calcul sau valorile cu care se vor face modificările; se selectează meniul Query şi se alege opţiunea Run; se afişează o casetă de dialog în care sunt prezentate numărul de înregistrări ce vor fi modificate. Se selectează butonul Yes pentru modificarea înregistrărilor. Observaţie: Nu se pot modifica valorile cheii primare sau aceasta nu poate primi valoarea Null Nu este permisă adăugarea sau modificarea unei înregistrări cu valoare identică a unui câmp care este declarat în structura tabelei ca fiind index unic. Exemplu: În urma unei erori, anumite facturi (nu toate) au data emiterii cu trei zile mai devreme decât data reală. Pentru a corecta această eroare se va realiza interogarea conform Fig.4.18. Fig. 4.18 Când se execută interogarea apare o fereastră de dialog (Enter Parameter Value) în care introducem Nr. factura care se va actualiza, iar după apăsarea butonului OK apare un mesaj de avertizare care întreabă dacă sunteţi siguri că vreţi să reactualizaţi înregistrările. Dacă se apasă butonul Yes câmpul data factura din tabelul Factură va fi actualizat. Interogări parametrate Aceste interogări se utilizează atunci când într-o interogare este necesară modificarea

frecventă a Criteriilor de selecţie. În grila Design pe coloana dorită Criteria în locul unei expresii se vor preciza între paranteze drepte un mesaj ce este afişat în momentul executării interogării pentru ca utilizatorul să introducă criteriul de selecţie dorit. Interogări de tip analiză încrucişată Aceste interogări permit generarea unor tabele complexe sub formă matriceală în care numele liniilor (Li) şi a coloanelor (Cj) reprezintă criterii mixte de grupare, iar valorile din celulele tabelului (Vij) se obţin prin aplicarea unei funcţii predefinite asupra unui câmp dintr-o tabelă, Tabelul 4.2 C 1 C 2. C N L 1 V 11 V 12 V 1n L 2 L m V m1 V mn Tabelul 4.2 FORMULARE ŞI RAPOARTE OBIECTE DE TIP FORM Formularele reprezintă obiecte ale bazei de date ce permit introducerea sau extragerea datelor dintr-o tabelă. Formularele au mai multe utilizări: afişarea şi editarea datelor - este permisă afişarea datelor în modul dorit de utilizator iar datele pot fi modificate; introducerea de date - este utilizată atunci când formularul introduce date într-un tabel asociat; afişarea de mesaje; controlul operaţiilor realizate de aplicaţie; tipărirea informaţiilor. Formularele pot fi afişate în mai multe moduri: modul Design - este modul utilizat pentru schimbarea modului de prezentare şi proprietăţile formularului; modul Form - este modul de afişare al unui formular în curs de utilizare; modul Datasheet- este modul de afişare directă a tabelului sau interogării.

Realizarea formularelor Atunci când se realizează un formular se selectează butonul Forms din fereastra Database şi apoi butonul New. Ca rezultat se afişează pe ecran fereastra New Forms formularelor în următoarele moduri: (Fig. 4.19) care permite realizarea Design View Pentru a crea formularul folosind modul Design View trebuie să se selecteze opţiunea Design View din fereastra New Form. Fig. 4.19 Din caseta cu lista derulantă pentrua a crea un formular pentru introducere de date trebuie ca pentru început să asociem formularului respectiv un tabel sau o interogare. Acest mod nu permite includerea într-un formular a mai multor câmpuri conţinute din tabele diferite. Totuşi se poate construi un formular pe baza unei interogări care, la rândul ei, este realizată prin folosirea mai multor tabele. Se execută pe butonul OK după ce s-a ales tabelul sau interogarea dorită. Pe ecran apare fereastra cu ecranul de proiectare a formularului. Fereastra e prevăzută pe margini cu două rigle (pe verticală şi pe orizontală) ce ajută proiectantul să alinieze obiectele. Pe lânga zona Detail cu care am lucrat, un formular mai conţine: Secţiunea de antet (Form Header); Antetul de pagină (Page Header); Subsol de pagină (Page Footer); Subsolul formularului (Form Footer). În figura 4.23 sunt prezentate elementele formularului: Secţiunea de antet (Form Header) Această zonă este folosită pentru a afişa titlul formularului. Această zonă nu este vizibilă în

modul Datasheet. Pentru a vizualiza această zonă se selectează. meniul View şi apoi opţiunea Form Header /Footer Antetul de pagina (Page Header) Această zona apare când formularul este scos la imprimantă. Pentru a fi disponibilă se selectează meniul View şi apoi opţiunea Page Header/Footer. Subsol de pagină (Page Footer) Această zonă apare când formularul este scos la imprimantă. În această zonă se poate specifica numărul de pagini, data curentă Subsolul formularului (Form Footer) Această zonă poate să conţină diferite informaţii ca de exemplu totalul general sau diverse controale. Fig. 4.23 Subformulare Un subformular este un formular inclus într-un alt formular, pentru a permite afişarea datelor din mai multe tabele sau interogări, aflate în relaţii de tipul 1:1 sau 1:n. În formularul principal vor fi afişate date din partea unu a relaţiei, iar în subformular cele din partea mai mulţi. Crearea unui ansamblu formular - subformular se poate face: Crearea separată a celor două şi apoi combinarea; Crearea formularului si subformularului concomitent; Crearea subformularului şi adaugarea lui la un formular existent. Prezentăm în continuare crearea ansamblului variantă; crearea separată a celor două şi combinarea este varianta cea mai simplă. Se parcurg etapele: se crează formularul principal; formular -subformular în prima se crează subformularul având grijă ca acel câmp de legătură să nu fie inclus deoarece există deja în formularul principal;

se face legatura între formularul principal şi subformular; se deschide formularul principal în modul Design View şi se trage cu mouse-ul numele subformularului din fereastra Database în cadrul formularului principal; se verifică legătura şi apoi rezultatul. Exemplu: Vom exemplifica construcţia ansamblului formular-subformular pe aplicaţia Facturile emise beneficiarilor. (Fig.4.24). proprietăţi. Formularul principal Fig. - Beneficiari 4.24 Proprietăţile obiectelor - Forms Fiecare obiect definit în modul Design View (fereastra de proiectare a formularului) are nişte Aceste proprietăţi modifică comportamentul obiectului (Fig, 4.25) Fig. 4.25

Proprietăţile formularului se pot modifica în cadrul ferestrei de proprietăţi care se activează prin selectarea meniului View şi apoi opţiunea Properties. În această fereastră proprietăţile formularului se grupează în 5 categorii: 1. Format - prezintă proprietăţile care se referă la culoare, dimensiune, mod de vizualizare. Cele mai folosite proprietăţi sunt: Caption - se specifică numele formularului; Default View - se specifică modul implicit de afişare; Scroll Bars - se setează barele de defilare vizibile în cursul execuţiei; Navigation Buttons - specifică dacă formularul are butoane de navigare în cursul execuţiei; Border Style - se specifică tipul bordurii; Control Box - indică prezenţa meniului sistem în bara de titlu. 2. Data - prezintă proprietăţile care se referă la datele asociate controlului Record Source - conţine sursa de date a formularului; Filter - conţine criteriul de selecţie care se va aplica înregistrărilor din formular. Pentru ca filtrul să fie activ, proprietatea din formular Filter On trebuie sa aibă valoarea True; Order By - permite specificarea câmpurilor după care vor fi sortate inregistrările. 3. Event - grupează evenimentele ce pot fi tratate fie prin proceduri sau funcţii scrise în limbajul VBA, fie prin macro-uri; Există 3 posibilităţi: evenimentul tratat printr-o funcţie - proprietatea evenimentului va conţine o expresie de forma: Nume funcţie ([Lista parametrii]); eveniment tratat printr-o procedură eveniment; editarea procedurii se face prin acţionarea butonului Build Wizard; eveniment tratat printr-un macrou - proprietatea eveniment va conţine numele macroului. 4. Other - prezintă alte proprietăţi suplimentare. 5. All - prezintă toate proprietăţile care se regăsesc în grupele prezentate. Form Wizard Pentru a crea un formular în modul Form Wizard trebuie parcurse etapele: În fereastra Databases selectăm eticheta Forms şi apoi butonul New. Apare fereastra Form Wizard şi apoi selectăm butonul OK. Din lista derulată Tables/Queries alegem tabelul sau interogarea din care selectăm câmpurile. Din lista de câmpuri disponibile Available Fields se selectează câmpurile dorite în lista câmpurilor selectate Selected Fields. (Fig4.26).

În situaţia când vrem să adaugăm în formulare alte cârnpuri din alt tabel ne întoarcem la lista derulantă Tables / Queries. Se selectează butonul Next pentru a trece la fereastra unde alegem modul de prezentare Columnar, Tabular, Datasheet sau Justified. În fereastra următoare se alege stilul de vizualizare, iar la selectarea butonului Next se ajunge în ultima fereastră unde se salvează formularul sub ce nume se doreşte. AutoForm: Columnar Se crează un formular cu câmpurile aşezate pe coloane. OBIECTE DE TIP RAPORT Fig. 4.26 Tabelele şi formularele furnizează diverse căi de introducere a înregistrărilor în baza de date, iar interogările permit sortarea şi filtrarea datelor în baza de date. Rapoartele reprezintă un alt obiect al unei baze de date utilizat pentru a rezuma datele şi a Fig. 4.27 oferi un rezultat care poate fi vizualizat pe ecran sau care se poate lista la imprimantă. Realizarea rapoartelor Atunci când se crează un raport selectăm butonul REPORT din fereastra Database şi apoi butonul New. Ca rezultat pe ecran se afişează fereastra New Report (Fig. 4.27) care permite realizarea formularelor în următoarele moduri: Design View

Pentru a crea un raport în modul Design View trebuie să se selecteze opţiunea Design View din fereastra New Report. Din caseta cu lista derulantă pentru a crea un raport trebuie ca pentru început să se asocieze formularului respectiv un tabel sau o interogare. Se execută click pe butonul OK după ce s-a ales tabelul sau interogarea dorită. Ca şi la modul Form Design aici exista o trusă de instrumente Toolbox iar modul de lucru este identic (selectarea obiectelor, mutarea şi redimensionarea obiectelor). Report Wizard Cu Report Wizard se poate construi un raport care utilizează mai multe tabele şi interogări. Pentru a crea un raport cu Report Wizard se parcurg următoarele etape: se selectează opţiunea Report Wizard din fereastra New Report şi apoi butonul OK. Din lista de câmpuri disponibile, Available Fields, selectăm câmpul dorit şi pentru a-l muta în lista câmpurilor selectate Selected Fields se accesează butonul > (Fig. 4.28); Fig. 4.28 pentru a trece la fereastra următoare se selectează butonul Next; în fereastra afişată se grupează înregistrările după oricare din câmpurile selectate. Se selectează câmpul respectiv şi apoi se selectează butonul >. Se pot avea mai multe niveluri de grupare. (Fig. 4.29) Pentru a continua se selectează butonul Next. În noua fereastră se realizează sortarea înregistrărilor din raport. Dacă se sortează înregistrări după un anumit câmp sau după mai multe câmpuri se deschide fereastra derulantă şi se pot selecta maxim patru câmpuri de sortare. Sortarea în ordine ascendentă se face implicit (Ascending); dacă se doreşte schimbarea ordinii se execută un click pe butonul Ascending şi se va afişa sortarea descendentă (Descending); Fig. 4.29

setarea butonului Next duce la apariţia următoarei casete de dialog unde se alege tipul raportului. Sunt enumerate mai multe stiluri şi se alege cel dorit. Se poate alege şi orientarea pe care o poate avea raportul tipărit. Portrait - de-a lungul hârtiei sau Landscape - de-a latul hârtiei; la următoarea casetă de dialog se alege un stil pentru raport; în ultima fereastră se alege un titlu pentru noul raport şi apoi se selectează butonul Finish. Raportul poate fi vizualizat în modul Print Preview şi de aici se poate tipări raportul dacă sunteţi multumiţi de felul cum arată. În modul Print Preview se poate mări sau micşora dimensiunea de afişare a raportului pe ecran utilizând instrumentul Zoom (se execută click o dată pe butonul mouse-ului pentru mărire şi se execută click din nou pentru micşorare). Pentru tipărirea raportului se selectează meniul File şi apoi opţiunea Print. Dacă trebuie schimbate marginile raportului sau să se modifice orientarea raportului pe pagină se selectează meniul File şi opţiunea PageSetup. Se afişează caseta de dialog Page Setup (Fig. 4.30). Fig. 4.30

În caseta de dialog Page Setup sunt etichetele: Margins -permite setarea marginilor de sus, de jos, din stânga şi din dreapta ale paginii; Page - permite schimbarea orietării paginii raportului pe pagina tipărită; Columns - permite schimbarea numărului de coloane din raport şi distanţa dintre coloane. Auto Report Columnar şi Auto Report Tabular Se va crea un raport automat în care datele vor fi afişate într-o coloană pentru AutoReport Columnar sau sub formă de tabel pentru Auto Report Tabular. interogare. Cu instrumentul Auto Report se pot crea rapoarte pornind de la un singur tabel sau o singură Dacă se doreşte construirea unui raport care să aibă la bază mai multe tabele, mai întâi trebuie creată o interogare pe baza acelor tabele şi apoi se crează raportul. Chart Wizard Crează un raport în interiorul căruia va fi prezentat un grafic. Label Wizard Crează etichete poştale care pot fi tipărite la imprimantă pe suporturi speciale de hârtie. CONTROALE Obiectele care fac parte din formular se numesc controale. Pentru a aduce controalele pe formă avem nevoie de trusa de instrumente Toolbox şi/sau lista câmpurilor (Field List) Fig.4.20. Fig. 4.20 Principalele tipuri de controale din trusa de instrumente Toolbox sunt: (Fig 4.21)

Indicator - instrument folosit la proiectarea controalelor; Control Wizards activează/dezactivează utilitarele Wizards folosite la generarea unor controale- mai complexe; Label - control cu conţinut fix care afişeaza text; Text Box - caseta de text folosită pentru editarea şi afişarea datelor; Option Group - crează o casetă de grup şi poate grupa mai multe controale (buton de opţiune, butoane validare); Toogle Button - crează un buton de comutare (Yes / No; On / Off; True / False); Combo Box - îmbină priorităţile unei casete de text cu cele ale unei casete de tip listă creând o casetă combinată. Această casetă combinată permite editarea datelor şi selectarea unei valori dintr-o listă derulantă; Option Button - crează un buton de opţiune; se utilizează mai multe butoane de opţiune, alegerea unui buton duce la deselectarea celorlalte butoane; Check Box - crează o casetă de validare; se utilizează mai multe casete de validare putând accesa mai multe casete în acelaşi timp; List Box crează o casetă de tip listă şi afişează tot timpul valorile existente în topul asociat; Command Button - crează un buton de comandă, utilizat pentru întreprinderea unor acţiuni; Image - introduce în formular fişiere grafice cu extensia.bmp,.wmf,.emf.gif, etc; Subform / Subraport - crează un subformular în cadrul unui alt formular; Page Group - delimitator de pagină, împarte formularul în mai multe pagini. Aceste controale le putem împărţi în două categorii: - controale legate(bounds) reprezentate de controalele ce afişează sau editează datele din câmpuri( ex: o casetă text ce va actualiza câmpul Data factură din tabela Factură); - controale nelegate(unbounds) reprezentate de controalele care sunt independente de realizările câmpurilor, aşadar nu permit actualizarea acestora. În general, din această categorie fac parte controalele calculate(ex: o casetă text ce va afişa totalul facturii), dar şi controale care, prin însuşi specificul lor, nu pot fi ataşate câmpurilor(ex: butoanele de comandă, etichetele, cadrele etc.).

Pentru a adăuga controale din List Field pe formă selectăm câmpurile şi cu butonul mouselui apăsat luăm câmpurile din Field List şi le aşezăm în fereastra de proiectare (prin metoda drag and drop). În mod automat se va realiza o casetă de text legată de câmp şi o etichetă indicând numele câmpului respectiv. În cazul în care dorim să adăugăm controale calculate în formular din trusa de instrumente Toolbox trebuie desenat un control casetă de text. Pentru acest lucru trebuie parcurse etapele: se execută click pe caseta de text; se mută cursorul deasupra formularului şi cursorul are o formă de cruce cu forrna casetei de text; se plasează cursorul în locul unde va fi colţul din stânga sus al controlului; se deplasează mouseul până când controlul are dimensiuni dorite; se dă drumul butonului de mouse. Un alt mod de a adăuga controale din trusa de instrumente Toolbox este prin dublu click pe caseta de text şi apoi făcând click pe caseta de text şi apoi făcând click de atâtea ori câte casete de text avem nevoie; apoi se dezactivează caseta de text printr-un click al mousului în Toolbox pe caseta de text. valoare. Exemplu: Avem tabela Produse (Cod produs, Den produs; Pret, Cantitate). Dorim să calculăm câmpul Formularul va arăta conform figurii următoare (Fig. 4.22) Fig. 4.22 Evenimente ataşate controalelor Controalele din formulare/rapoarte Access au şi ele evenimente specifice care pot fi tratate. O parte din evenimente sunt întâlnite la toate controalele standard din Access, iar altele sunt specifice numai anumitor controale. Se vor prezenta lista evenimentelor cele mai uzuale controale:

Lista evenimentelor controlului TextBox (Fig.2.36) Fig. 2.36 Lista evenimentelor controlului Buton de comandă (Fig. 2.37) Lista evenimentelor controlului Combo Box (Fig. 2.38 ) Lista evenimentelor controlului List Box (Fig.2.39) Fig. 2.37

Fig. 2.38 Fig. 2.39 Evenimentul OnEnter se declanşează înainte ca un control să fie activat. Acest eveniment nu se poate abandona. Procedura ataşată evenimentului OnEnter are următorul antet: Private Sub NumeControl_Enter() Evenimentul OnExit se declanşează înainte ca un control să fie dezactivat. Procedura ataşată evenimentului OnExit are următorul antet: Private Sub NumeControl_Exit(Cancel As Integer) Parametrul Cancel se foloseşte pentru a abandona ieşirea dintr un control (Cancel=True). Evenimentul OnClick se declanşează în momentul în care se activează butonul mouse ului. Acest eveniment nu se poate abandona. Procedura ataşată evenimentului OnClick are următorul antet: Private Sub NumeControl_Click() Evenimentul OnDblClick se declanşează în momentul în care se activează de două ori butonul mouse ului (la dublu clic).

Procedura ataşată evenimentului OnDblClick are următorul antet: Private Sub NumeControl_DblClick(Cancel As Integer) Parametrul Cancel se foloseşte pentru a abandona cel de al doilea click din secvenţa dublu click (rămâne deci doar un eveniment OnClick). Observaţie: La producerea unui eveniment OnDblClick se produce automat şi un eveniment OnClick. Evenimentul OnClick îl precedă pe OnDblClick. Evenimentul OnGotFocus se declanşează în momentul în care un control este activat. Acest eveniment nu se poate abandona. Procedura ataşată evenimentului OnGotFocus are următorul antet: Private Sub NumeControl_GotFocus () Evenimentul OnLostFocus se declanşează în momentul în care un control este dezactivat. Acest eveniment nu se poate abandona. Procedura ataşată evenimentului OnLostFocus are următorul antet: Private Sub NumeControl_LostFocus () Observaţie: Ordinea de declanşare a evenimentelor, în situaţia în care luîm în considerare toate aceste evenimente este: OnEnter OnGotFocus OnExit OnLostFocus Evenimentul OnMouseDown se declanşează în momentul în care utilizatorul activează un buton al mouse ului, în controlul unde se tratează acest eveniment. Procedura ataşată evenimentului OnMouseDown are următorul antet: Private Sub NumeControl_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Evenimentul OnMouseUp se declanşează în momentul în care utilizatorul lasă liber butonul mouse ului după ce l a apăsat, în controlul unde se tratează acest eveniment.

Procedura ataşată evenimentului OnMouseUp are următorul antet: Private Sub NumeControl_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Evenimentul OnMouseMove se declanşează în momentul în care utilizatorul mută mouse ul pe deasupra controlului unde se tratează acest eveniment. Procedura ataşată evenimentului OnMouseMove are următorul antet: Private Sub NumeControl_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Observaţie: Button indică butonul acţionat în momentul declanşării unui eveniment prin intermediul unor constante (Tabelul 2.40). Tabelul 2.40 Constanta Descriere Shift acleftbutton Butonul stâng al mouse ului indică starea tastelor SHIFT, acrightbutton Butonul drept al mouse ului ALT, CTRL în momentul acmiddlebutton Butonul din mijloc al mouse ului declanşării acestor evenimente prin intermediul unor constante (Tabelul 2.41) Constanta acshiftmask acctrlmask acaltmask Descriere Starea tastei SHIFT Starea tastei CTRL Starea tastei ALT Tabelul 2.41 Evenimentul BeforeUpdate se declanşează exact înaintea momentului salvării unei înregistrări noi. Procedura ataşată evenimentului BeforeUpdate are următorul antet: Private Sub NumeControl_BeforeUpdate(Cancel As Integer) Evenimentul AfterUpdate se declanşează după momentului în care se încearcă salvarea unei înregistrări. Procedura ataşată evenimentului AfterUpdate are următorul antet: Private Sub NumeControl_AfterUpdate()

Evenimentul OnChange se declanşează atunci când conţinutul unui control casetă de text sau listă derulantă se modifică. Acest eveniment nu se poate abandona. Procedura ataşată evenimentului OnChange are următorul antet: Private Sub NumeControl_Change() FACILITĂŢI ACCESS PENTRU DEZVOLTAREA DE APLICAŢII 1. Importul şi exportul de date Una dintre caracteristicile principale ale unui S.G.B.D. constă în posibilitatea acestuia de a importa/exporta date din/în fişiere de formate diferite. Access permite importarea datelor dintr-o serie de S.G.B.D.-uri (Access, dbase III, dbase IV, dbase5, FoxPro sau orice bază de date disponibilă prin ODBC), precum şi din alte fişiere (de tip text, Excel, HTML etc.). Pentru importarea datelor se va selecta opţiunea File->Get External Data->Import din meniul Access. (Fig. 3.18). Fig. 3.18 Dacă fişierul sursă este: baza de date Access, atunci se pot importa toate tipurile de obiecte ale bazei de date (tabele, interogări, formulare etc.); un fişier bază de date dbase (.dbf)/foxpro (.dbf)/paradox (.db), atunci pentru a fi importaţi şi indecşii, fişierele index asociate (.ndx sau.mdx pentru dbase,.idx sau.cdx pentru FoxPro,.px pentru Paradox) trebuie să existe în acelaşi director cu fişierul de date. De asemenea, dacă fişierul de date conţine câmpuri de tip memo, atunci fişierele memo asociate (.dbt) trebuie să fie disponibile în acelaşi director; foaie de calcul (Excel, Lotus etc.), atunci toate celulele importate trebuie să conţină valori îngheţate (celulele care conţin formule vor fi importate sub formă de celule goale);

un fişier de tip text, atunci utilizatorul trebuie să delimiteze datele ce vor forma câmpurile din noua tabelă. Exportarea datelor este posibilă în orice format din care se poate face şi importul. Pentru a exporta un obiect al bazei de date, se selectează opţiunea File-Export din meniul Access. (Fig.3.19). Fig. 3.19 2. Ataşarea tabelelor în aplicaţii Tabelele legate pot fi folosite pentru a facilita lucrul în cadrul unei reţele de calculatoare. Tabelele legate nu sunt tabele propriu-zise, ci legături dinamice către obiectele de tip tabel aflate în alte baze de date. Se pot crea legături chiar şi spre fişiere de tipuri diferite (în general fişiere de tipul celor suportate pentru importul de date): Access, dbase, FoxPro, Excel, Paradox, HTML etc. Utilizatorii pot actualiza datele legate, dar nu pot face modificări de structură (nu pot adăuga, modifica sau şterge câmpuri). Această facilitate este frecvent folosită pentru crearea unor aplicaţii de tip front-end/backend: pe server-ul reţelei se vor afla tabelele sursă (componente back-end) fie într-o bază de date Access, fie în fişiere de tipul celor recunoscute pentru importul de date, iar pe staţiile de lucru (workstations) se vor regăsi fişierele Access ( componente front-end), ce conţin celelalte obiecte ale aplicaţiei (interogări, formulare, rapoarte, module), precum şi legături către tabelele aflate în baza de date de pe server. În felul acesta, toţi utilizatorii locali vor avea acces la aceleaşi date, staţiile de lucru nu vor fi supraîncărcate cu baza de date completă, iar traficul de pe reţea se va reduce suficient de mult. Pentru a crea tabele legate se procedează astfel: Se selectează opţiunea File->Get External Data-> Link Tables din meniul Access. În fereastra Link se selectează baza de date (fişierul) ca conţine tabelele sursă: (Fig 3.20). Fig. 3.20

Se selectează tabelele pentru care se vor crea legături: (Fig 3.21). Dacă baza de date sursă este mutată, ştearsă sau redenumită, atunci se impune refacerea legăturilor către tabelele acesteia. Operaţia este posibilă prin selectarea opţiunii Tools->Add-Ins->Linked Table Manager din meniul Access. Fig. 3.21 Pictograma folosită pentru afişarea tabelelor legate în fereastra bazei de date, este însoţită de o săgeată de culoare neagră, orientată spre dreapta. (Fig.3.22). Fig. 3.22 3. Replicarea bazelor de date Access pune la dispoziţia utilizatorilor această facilitate, în special pentru asigurarea unor copii de siguranţă ale bazei de date. Prin replicare se obţin două baze de date: Design Master (derivată din baza de date originală) şi copia, numită Replica. Numai baza Design Master va permite efectuarea modificărilor asupra obiectelor replicate (obiectele comune celor două baze de date). Tabelele replicate sunt sincronizate în ambele sensuri, adică orice actualizare făcută asupra datelor (fie în Master Design, fie în replică) se va realiza automat şi în cealaltă bază de date. Dacă utilizatorul creează noi obiecte în baza Design Master, poate decide dacă acestea vor fi create automat şi în baza Replica. Această operaţie nu este

posibilă, dacă se creează noi obiecte în baza replică. Pentru crearea unei replici a bazei de date curente, se va selecta opţiunea Tools- >Replication->Create Replica din meniul Access. Pentru această procedură, baza de date curentă este salvată într-o arhivă de siguranţă (folosită pentru restaurare în cazul în care se revine asupra operaţiei sau când operaţia de replicare a eşuat) şi se vor crea cele două baze de date replicate (Master Design şi Replica). Baza de date Master Design va avea dimensiunea mai mare decât baza de date originală, deoarece operaţia de replicare creează noi obiecte sistem (tabele, câmpuri şi proprietăţi). Astfel, fiecare tabelă replicată va conţine în plus trei câmpuri sistem, necesare sincronizării: s_generation,s_guid şi s_lineage. Baza Master Design nu va mai putea fi transformată într-o bază de date normală decât numai prin importarea/exportarea obiectelor sale dintr-o/într-o astfel de bază de date! 4 Protejarea bazelor de date Protejarea are ca scop prevenirea accesului neautorizat la obiectele unei baze de date. Access oferă mai multe posibilităţi de protejare a bezelor de date prin: Ascunderea obiectelor bazei de date; Conversia bazei de date în format MDE; Stabilirea unei parole de acces la baza de date; Crearea unor catogorii diferite de utilizatori (protecţie la nivel de utilizator); Criptarea bazei de date. 1. Ascunderea unui obiect al bazei de date se poate realiza prin afişarea ferestrei de proprietăţi a obiectului respectiv (opţiunea View->Properties din meniul Access), fereastră în care se va activa caseta de validare Hidden Objects din fereastra afişată în urma selectării opţiunii Tools- >Options. 2. Conversia bazei de date în format MDE are ca scop prevenirea citirii sau modificării obiectelor de tip formular, raport sau modul. Utilizatorul va putea modifica însă structura tabelelor şi a macro-lor. Pentru a transforma baza de date curentă în format MDE, se selectează opţiunea Tools- >Database Utilities->Make MDE File din meniul Access. Prin operaţia de conversie se creează un nou fişier cu extensia.mde, baza de date originală (.mdb) rămânând intactă. Salvarea bazei de date în formatul MDE are drept efect: inhibarea vizualizării, modificării sau creării formularelor, rapoartelor sau modulelor în modul Design View; blocarea importului de formulare, rapoarte şi module ale altor aplicaţii, rămânând viabilă posibilitatea de a importa obiecte de tipul tabele, query şi macro din alte baze de date; nu se vor putea exporta spre o altă bază de date rapoartele, formularele şi modulele, excepţie făcând tabelele, query-urile şi macro-urile; imposibilitatea modificării proprietăţilor şi metodelor obiectelor, deoarece o bază de

date de tip MDE nu mai conţine codul sursă; prevenirea adăugării, ştergerii sau schimbării referinţelor la librăriile de obiecte sau la alte baze de date; Bazele de date replicate nu pot fi convertite în format MDE. Formatul MDE este frecvent folosit pentru bazele de date front-end, deoarece conţine codul compilat al modulelor, formularelor şi rapoartelor (fiind astfel şi mai rapid în execuţie decât formatul standard MDB). Folosirea unei parole la deschiderea bazei de date este una din cele mai folosite modalităţi de asigurare a securităţii bazelor de date individuale. Definirea unei parole este posibilă numai dacă baza de date este deschisă în modul exclusiv, prin selectarea opţiunii Tools->Security- >Set Database Password. (Fig.3.23) Dezactivarea parolei se poate realiza prin selectarea opţiunii Tools-> Unset Database Password, numai atunci când baza de date este deschisă în mod exclusiv. Fig. 3.23 Parola unei baze de date va deveni un atribut al acesteia, aşa încât fişierul respectiv nu va putea fi accesat de utilizatori neautorizaţi, chiar dacă se procedează la reinstalarea sistemului Access. 4. Protecţia la nivel de utilizator (user-level security) se realizează prin crearea unor utilizatori cu drepturi (permisiuni) diferite asupra bazelor de date şi obiectelor conţinute de acestea. Această metodă de protecţie este folosită în cazul reţelelor de calculatoare, caz în care mai mulţi utilizatori pot accesa aceeaşi bază de date, dar cu drepturi diferite asupra acesteia. Protecţia user-level a unei baze de date nu va avea nici un efect într-un sistem Access în care nu este activat acest tip de protecţie Un utilizator este identificat printr-un nume şi o parolă. Utilizatorii cu aceleaşi drepturi sunt separaţi în grupuri de utilizatori. Access pune la dispoziţie două grupuri predefinite de utilizatori: Admins utilizatorii acestui grup sunt numiţi administratori ai bazei de date şi au drepturi depline de administrare-întreţinere a tuturor bazelor de date. Programul de instalare Setup creează automat un utilizator în cadrul acestui grup, numit Admin, care va fi şi utilizatorul implicit; Users grupează utilizatorii obişnuiţi, care implicit au drepturi depline asupra obiectelor bazelor de date. Pentru a activa procedura de protecţie user-level, este necesar ca utilizatorul Admin să aibă atribuită o parolă. Access permite crearea de noi grupuri şi utilizatori prin selectarea opţiunii Tools->Security- > User And Group Accounts. (Fig 3.24) Crearea grupurilor este permisă numai

administratorilor.caseta Users permite crearea/ştergerea unui utilizator, ştergerea parolei utilizatorului sau modificarea grupurilor de care acesta aparţine. Tag-ul Groups poate fi utilizat pentru crearea/ştergerea unui grup. Nu este permisă ştergerea utilizatorului Admin şi nici a grupurilor implicite Admins, respectiv Users. Tag-ul Change Logon Password permite modificarea parolei utilizatorului curent (cel care a deschis sesiunea Access). Pentru a modifica parola unui anumit utilizator, trebuie redeschisă o sesiune Access pentru acel utilizator. La crearea uni utilizator/grup se va specifica numele şi un număr de identificare din minimum 4 cifre (acest număr nu este asimilat parolei). După ce a fost creat un utilizator, se vor selecta grupurile din care acesta va face parte şi de la care va moşteni drepturile. Un utilizator trebuie să aparţină obligatoriu de grupul Users. Pentru modificarea drepturilor aferente grupurilor sau utilizatorilor se va selecta opţiunea Tools->Security->User And Group Permissions. (Fig. 3.25) Fig. 3.25 Se pot acorda/revoca drepturi fie asupra unor baze de date, fie asupra obiectelor bazei de date curente. Tot în această fereastră se pot modifica proprietarii obiectelor bazei de date curente (proprietarul unui obiect fiind utilizatorul care a creat obiectul respectiv). Utilizatorii şi grupurile de utilizatori nu sunt proprii unei baze de date, ci unei sesiuni Access. Informaţiile referitoare la user-i sunt salvate într-o bază de date sistem (un fişier cu extensia mdw), care va fi citită automat la deschiderea unei sesiuni Access. Aşadar, o bază de date asupra căreia au fost definite protecţii la nivel de utilizator poate fi utilizată fără nici o restricţie într-o sesiune Access în care nu este activată procedura de securitate user-level (utilizatorul implicit este Admin)! 5. Criptarea presupune ascunderea informaţiilor din baza de date, astfel încât aceasta să nu

poată fi citită cu ajutorul unui editor de texte sau altor programme utilitare. Criptarea bazelor de date se recomandă în mediile multiuser, când se doreşte păstrarea confidenţialităţii datelor. Bazele de date criptate presupun operaţii suplimentare de decriptare automată, ceea ce încetineşte execuţia programului Access. Pentru a cripta/decripta o bază de date se selectează opţiunea Tools->Security- >Encrypt/Decrypt Database. 5. Accesarea concurentă a bazelor de date În regim multiuser, apare problema tratării accesului concurent la bazele de date, când doi sau mai mulţi utilizatori doresc editarea în acelaşi timp a unei înregistrări. În acest caz, sistemul nu poate proceda decât la tratarea secvenţială a utilizatorilor. Spre deosebire de alte S.G.B.D.-uri (dbase, FoxPro), sistemul Access rezolvă automat această problemă, prin două metode: 1. Blocarea optimistă presupune blocarea paginii ce conţine înregistrarea curentă în timpul salvării acesteia de către un utilizator. Astfel, înregistrarea respectivă va fi read-only pentru ceilalţi utilizatori, atâta timp cât operaţia de salvare nu este încheiată. Această variantă de blocare a datelor poate fi realizată astfel: Implicit, prin selectarea opţiunii Default Record Locking din meniul Tools->Options- >Advanced; La nivel de formular, prin setarea proprietăţii Record Locks pe valoarea No Locks; Pentru un obiect recordset, prin setarea proprietăţii LockEdits pe valoarea False. 2. Blocare pesimistă permite blocarea paginii ce conţine înregistrarea curentă, în timpul editării acesteia de către un utilizator. Înregistrarea curentă nu va putea fi editată de un alt utilizator până când ea nu va fi salvată de utilizatorul curent. Blocarea pesimistă se poate realiza: Pentru varianta implicită, prin selectarea butonului de opţiune Edited Record pe meniul Tools->Options->Advanced; La nivelul formularelor, prin setarea proprietăţii Record Locks pe valoarea Edited Record; Pentru un obiect recordset, prin atribuirea valorii True pentru proprietatea Lock Edits. 6. Repararea şi compactarea bazei de date Apar situaţii în care baza de date poate fi alterată datorită unor evenimente imprevizibile (Exemplu: oprirea bruscă a calculatorului în timpul scrierii în baza de date). Opţiunea Tools- >Database Utilities->RepairDatabase, din meniul Access, permite repararea bazelor de date. Utilizatorul va fi anunţat printr-un mesaj, dacă operaţia de reparare a fost sau nu încheiată cu succes. Compactarea este operaţia prin care se reduce dimensiunea bazei de date (nu trebuie făcută confuzie între compactare şi comprimare, care este o operaţie realizabilă prin intermediul unor programe specializate în acest scop). În urma ştergerii diferitelor obiecte ale bazei de date (tabele, formulare, rapoarte, etc.) sau chiar a unor înregistrări, Access nu elimină şi spaţiul afectat acestora,

astfel că, după mai multe operaţii de acest gen, dimensiunea bazei de date rămâne aceeaşi. Prin compactare se elimină din baza de date tocmai aceste spaţii neutilizate. Pentru compactarea unei baze de date, se selectează opţiunea Tools->Database Utilities- >Compact Database. Se recomandă compactarea bazei de date după o operaţie de reparare, deoarece în cursul acesteia Access creează o serie de obiecte temporare..7. Optimizarea bazelor de date În general, o aplicaţie proiectată şi dezvoltată corect presupune nu numai obţinerea rezultatelor cerute de beneficiar, ci şi asigurarea unui timp cât mai redus pentru prelucrarea datelor şi furnizarea rezultatelor finale. Optimizarea bazei de date poate fi realizată automat prin apelarea şi furnizarea programului Performance Analyzer, apelabil prin selectarea opţiunii Tools->Analyze-> Performance din meniul Access. (Fig. 3.26). Fig. 3.26 Performance Analyzer furnizează recomandări în vederea optimizării bazei de date, dar permite şi optimizarea propriu-zisă a acesteia. Este indicat însă ca şi programatorul să ţină cont de următoarele recomandări în vederea optimizării bazei de date: 1. Optimizarea tabelelor. În general, procesul de nominalizare conduce la obţinerea unor tabele optimizate. Se mai pot avea în vedere şi următoarele recomandări: Folosirea unor tipuri de date şi dimensiuni cât mai adecvate pentru câmpuri. De exemplu, pentru câmpul UnitateDeMăsură este suficientă o dimensiune de maximum 3 caractere. Evitarea definirii cheilor primare pe câmpuri de tip Text, Numeric (Single), Numeric (Double). Cele mai recomandate tipuri pentru astfel de chei sunt cele de tip AutoNumber, Numeric (Byte, Integer sau LongInteger). Indexarea câmpurilor care vor fi folosite în ordonări, criterii (filtre) sau în relaţii (dacă pentru câmpurile de tip cheie externă, utilizatorul nu creează indecşi, acest lucru va fi făcut automat de Access); Utilizarea moderată a indecşilor. Chiar dacă aceştia permit realizarea unor operaţii într-un timp mai scurt, nu se recomandă folosirea lor abuzivă, deoarece operaţiile de actualizare vor fi mai lente. 2. Optimizarea interogărilor. Pentru obiectele de acest tip se au în vedere următoarele: Folosirea în criterii (sau clauza SQL Where ) numai a câmpurilor indexate; Se va evita folosirea în criterii a câmpurilor din partea n a unei relaţii;

Utilizarea în clauza Group By (dacă este posibil) a câmpurilor indexate şi totodată a unui număr redus de câmpuri; Pentru interogările destinate numai afişării datelor se poate recurge la folosirea tipului Snapshot; Salvarea interogărilor în timpul execuţiei. 3. Optimizarea formularelor. În general, formularele sunt mari consumatoare de resurse, aşa încât sunt indicate următoarele: Evitarea supraîncărcării formularelor cu controale; Renunţarea la utilizarea unor imagini grafice în cadrul formularelor; Evitarea deschiderii mai multor formulare decât sunt necesare; Setarea proprietăţii Data Entry pe Yes reduce timpul necesar încărcării unui formular; Evitarea folosirii unor proceduri complicate pentru evenimentul OnCurrent. 4. Optimizarea rapoartelor. Pentru rapoarte se recomandă: Renunţarea la ataşarea controalelor de tip imagine, butoane, casete combinate, etc., deoarece acestea nu vor avea nici o utilitate într-un raport; Utilizarea unor proceduri cât mai simple pentru evenimentul On Format sau chiar renunţarea, dacă este posibil la aceste proceduri; Sortarea şi gruparea datelor se va face, dacă este posibil, numai după câmpuri indexate..8. Analiza şi documentarea bazelor de date Una dintre principalele etape parcurse în realizarea unei aplicaţii o constituie şi elaborarea documentaţiei care trebuie să cuprindă descrierea tuturor obiectelor bazei de date şi care este necesară pentru dezvoltări/modificări ulterioare. Access pune la dispoziţia dezvoltatorilor de aplicaţii un utilitar numit Documenter, care elaborează automat documentaţia fie pentru toate, fie pentru anumite obiecte bazei de date. Apelarea acestui utilitar se realizează prin operaţiunea Tools->Analyze->Documenter. (Fig. 3.27) Fig. 3.27 Documentaţia generală de Documenter conţine: 1. Pentru baza de date: Versiunea;

Utilizatorii şi grupurile de utilizatori ce pot accesa baza de date etc. 2. Pentru un obiect de tip tabel: Proprietăţi (condiţii de validare, numărul de înregistrări etc.); Câmpurile cu proprietăţile aferente (denumire, tip, lungime, cheie primară etc.); Indecşii (denumire, tip etc.); Relaţiile cu celelalte tabele ale bazei de date; Utilizatorii/grupurile de utilizatori ce au drepturi asupra tabelei. 3. Pentru obiecte de tip interogare: Proprietăţi (tipul de interogare, data creării etc) Comandă SQL aferentă; Câmpurile conţinute de interogare, cu proprietăţile corespunzătoare; Indecşii conţinuţi din interogare; Drepturile aferente fiecărui utilizator asupra interogării respective. 4. Pentru obiecte de tip formular: Proprietăţi (tipul formularului, sursa de date etc.); Controale conţinute de formular, inclusiv secţiunile acestuia, cu proprietăţile aferente; Module incluse în formular; Utilizatorii, cu permisiunile fiecăruia asupra formularului. 5. Pentru rapoarte: Proprietăţi (titlul, sursa de date etc.); Obiectele incluse (controale şi secţiuni), cu proprietăţile respective; Utilizatorii ce pot executa sau modifica raportul. 6. Pentru obiectele macro: Proprietăţi (data creării, proprietarul etc.); Acţiunile conţinute; Utilizatorii ce pot executa/modifica macro-ul. 7. Pentru obiecte modul: Proprietăţi (data creării, proprietarul etc.); Codul inclus (declaraţii, funcţii şi proceduri VBA); Drepturile utilizatorilor asupra modulului. 8. Pentru relaţiile definite între tabele: Tabelele ce formează relaţiile; Tipul fiecărei relaţii etc..9 Personalizarea interfeţei bazei de date prin intermediul ferestrei Start-Up. Pentru o bază de date Access se poate stabili un formular care să fie deschis automat la deschiderea bazei de date. De exemplu un formular care să ofere butoane pentru accesul la toate funcţiile aplicaţiei (formulare, rapoarte, interogări, tabele), fără ca utilizatorul să fie nevoit să

cunoască numele formularelor, rapoartelor, etc. Stabilirea acestui formular şi a altor parametrii ai bazei de datese realizează din meniul Tools->StartUp. (Fig. 3.28). În fereastra StartUp se identifică următorii parametrii: Allow Full Menus sunt/nu sunt accesibile meniurile Access 2002 Allow Built-in Toolbars sunt/nu sunt accesibile barele de instrumente Access 2002 Allow Toolbar/Menu Changes se pot/nu se pot modifica meniurile şi barele de instrumente ale bazei de date Display Database Window este/nu este accesibilă fereastra bazei de date Display Status Bar - este/nu este afişată bara de stare; Use Access Special Keys sunt/nu sunt accesibile tastele pentru accesul la fereastra bazei de date, fereastra Immediate Window, etc. Fig. 3.28 3.4 FUNCŢII ACCESIBILE ÎN DEZVOLTAREA APLICAŢIILOR Abs (<expresie_ numerică>) Returnează valoarea absolută a unei expresii numerice sau a unui număr. Exemplu: Sub Test_Abs MsgBox Abs(-5723) 'afişează 5723 End Sub Asc (<sir_ caractere>) Returnează codul primului caracter din şirul de caractere specificat Chr (<cod_caracter>) Returnează caracterul corespunzător codului specificat Date () Returnează data sistemului Day (<data_calendaristica>) Returnează numărul zilei din lună( 1-31) Month (<data_calendaristică>)