an universitar 2016 - 2017 - sjse-ct.spiruharet.ro · dintre cele mai cunoscute metode de analiza...

59
UNIVERSITATEA SPIRU HARET FACULTATEA DE STIINTE JURIDICE SI STIINTE ECONOMICE INFORMATICA MANAGERIALA Chiru Claudiu AN UNIVERSITAR 2016 - 2017

Upload: lamkhanh

Post on 13-May-2018

220 views

Category:

Documents


1 download

TRANSCRIPT

UNIVERSITATEA SPIRU HARET

FACULTATEA DE STIINTE JURIDICE SI STIINTE ECONOMICE

INFORMATICA MANAGERIALA

Chiru Claudiu

AN UNIVERSITAR 2016 - 2017

19

D:\d\spiru\invatamant\manuale\info manag 2016\cuprins.doc

Introducere

Cursul de informatică managerială prezinta aspecte teoretice şi practice legate de utilizarea şi

administrarea bazelor de date Microsoft Access, cunoştinţe teoretice despre sisteme informatice, sisteme

expert si proiectarea sistemelor informatice. Vor fi atinse pe parcursul său noţiuni de utilizare a bazelor de

date Access (creare baze de date, introducere date, editare, afişare cu ajutorul formularelor şi rapoartelor,

afişare slectivă). Totodată, studenţii vor fi capabili, după parcurgerea cursului să proiecteze o bază de date

adaptată unor cerinţe reale.

Obiectivele cursului

Înţelegerea noţiunilor de bază şi a fondului principal de cunoştinţe în domeniul sistemelor

informatice;

Însuşirea unui mod de gândire informatic;

Înţelegerea noţiunilor de bază şi a fondului principal de cunoştinţe în domeniul bazelor de date;

Explicarea si interpretarea principiilor, metodelor și tehnicilor de realizare a bazelor de date;

Dezvoltarea capacităţii practice prin diverse aplicații informatice de programare a bazelor de date;

Dezvoltarea capacităţii studenţilor de a înţelege procesul de realizare a bazelor de date din

întreprinderi;

Competenţe specifice

Insusirea metodelor de proiectare a bazelor de date şi dezvoltarea abilitatilor practice de gestionare a

acestora;

Dezvoltarea unor abilitati practice de exploatare a resurselor tehnice şi informaţionale ale

sistemelor informatice economice cu baze de date.

19

1. Notiuni teoretice privind sisteme software utilizate in

managementul firmei

1.1. Sisteme informatice

Proiectarea unui sistem informatic este o activitate ce impune folosirea unor resurse

financiare, umane si materiale, într-o perioada mare de timp.

Aceasta actiune presupune parcurgerea unui numar mare de grupe de activitati, cu un

pronuntat caracter creativ, cum ar fi: analiza de sistem, proiectarea, programarea si implementarea.

Utilizarea eficienta a resurselor în toate aceste activitati, pentru obtinerea unui sistem

informatic preformant a condus la ordonarea acestui proces complex într-o succesiune bine stabilita

de etape, subetape si utilizarea unor metode si tehnici adecvate.

Între diversele etape de realizare a sistemului informatic exista o legatura indestructibila,

legatura reflectata si de faptul ca, în mod logic si practic, calitatea realizarii din etapele si fazele

precedente, influenteaza în mod direct calitatea activitatilor din etape care îi urmeaza.

Un aspect comun pentru aceste etape si activitati este faptul ca trecerea de la o etapa la alta

se face numai dupa o analiza de fond a modului de realizare a sarcinilor etapei parcurse si a avizarii

de catre factorii de raspundere ai beneficiarului a rezultatelor obtinute.

Orice etapa, parcursa deja, se finalizeaza cu activitati privind pregatirea conditiilor de

desfasurare a activitatilor care urmeaza, prin elaborarea sau actualizarea planului de lucru pentru

etapele viitoare.

Metodologiile pot fi definite în diferite feluri. Noi vom aminti doar una din aceste

definitii:"metodologia este o implementare fizica a ciclului de viata a sistemelor care include:

• Activitatile pas cu pas pentru fiecare faza de lucru;

• Regulile individuale si de grup pentru fiecare activitate;

• Standardele de calitate în fiecare activitate;

• Instrumentele si tehnicile utilizate în fiecare activitate."

Din aceasta definitie putem deduce doua aspecte. Primul de refera la faptul ca o metodologie

cuprinde întreg ciclul de viata al unui sistem informatic, iar al doilea aspect se refera la faptul ca o

metodologie moderna trebuie sa încorporeze instrumente si tehnici adecvate de realizare a

sistemelor informatice.

În concluzie, o metodologie de realizare a unui sistem informatic trebuie sa cuprinda:

• Etapele/procesele de realizare a unui sistem informatic structurate în subetape,

activitati, sarcini si continutul lor;

• Fluxul realizarii acestor etape/procese, subetape si activitati;

19

• Modalitatea de derulare a ciclului de viata a sistemului informatic;

• Modul de abordare al sistemelor;

• Strategiile de lucru/metodele de realizare;

• Reguli de formalizare a componentelor sistemului informatic;

• Tehnicile, procedurile, instrumentele, normele si standardele utilizate;

• Modalitatile de conducere a proiectului (planificare, programare, urmarire) si modul

de utilizare a resurselor financiare, umane si materiale etc.

Indiferent de modelele propuse si adoptate pentru ciclul de viata al unui produs software,

dupa luarea deciziei de realizare a acestuia se trece la analiza problemei reale si apoi la proiectarea

produsului.

Analiza si proiectarea sunt procese de definire a cerintelor si de conceptie a solutiei

informatice pentru problema propusa.

Analiza este prima etapa a ciclului de realizare în care se stabilesc cerintele aplicatiei,

pornind de la cerintele utilizatorului final, se identifica functiile viitorului produs software precum

si datele implicate. Analiza trebuie sa raspunda la întrebarea ce trebuie sa faca viitorul produs,

pornind de la cunoasterea în ansamblu a întregului si descompunerea acestuia în elemente

componente mai usor de studiat.

Proiectarea este etapa ciclului de realizare în care se stabileste modul de realizare a

cerintelor identificate în etapa de analiza, adica trebuie sa raspunda la întrebarea cum se vor realiza

aceste cerinte atât la nivel global cât si la nivel de detaliu. Aceasta etapa porneste deci de la

cerintele si specificatiile definite anterior si continua cu detalierea si transformarea acestora pâna la

definirea structurii unei solutii care sa fie reprezentata folosind un limbaj grafic, textual sau mixt.

Proiectul astfel obtinut trebuie sa poata fi utilizat mai departe la construirea sau elaborarea

produsului software (codificare, testare, integrare).

În cazul produselor software complexe, proiectarea se descompune în doua subactivitati :

• proiectarea de ansamblu denumita si logica sau arhitecturala care în orientarea obiect

copespunde proiectarii de sistem;

• proiectarea de detaliu denumita si fizica sau structurala, care în orientarea obiect

corespunde proiectarii obiectuale.

19

Proiectarea de ansamblu identifica structura generala a produsului, pornind de la structura

problemei si scopul pentru care se creeaza noul produs. În acest fel sunt identificate componentele

sistemului, relatiile dintre ele, algoritmii ce vor fi utilizati, datele comune ale componentelor. În

finalul acestei etape se ajunge la alegerea unei solutii, eventual în urma unor reluari succesive. Se

trece apoi la detalierea solutiei alese.

Proiectarea de detaliu presupune detalierea componentelor, defineste precis algoritmii,

structurile de date, interfetele dintre componente si modul de implementarea a componentelor.

Procesul se desfasoara în pasi succesivi si se încheie când sunt incluse toate detaliile necesare etapei

urmatoare de construire a produsului program. În concluzie, proiectarea stabileste un plan cât mai

bine definit si reprezentat, dupa care se va derula implementarea. Fiecare din activitatile etapei de

proiectare se va realiza prin metode si tehnici specifice.

O metoda este, în general, un set integrat de tehnici si proceduri care aplicate într-o anumita

succesiune au ca rezultat specificarea si documentarea sistemului/aplicatiei informatice.

O metoda de analiza si proiectare trebuie sa precizeze clar structura produsului, adica:

• componentele de tip program si/sau de tip date;

• relatiile între componente (interfetele între componentele produsului program);

• interactiunea produsului cu mediul în care va fi utilizat (canale de comunicatie cu

mediul, informatii de schimb etc.).

Pentru a putea fi utilizata practic, orice metoda de analiza si proiectare trebuie sa specifice:

• cum se realizeaza un proiect;

• cum se reprezinta un proiect pe parcursul întregului proces de realizare;

• cum se evalueaza calitatile unui proiect.

În general, orice metoda presupune unul sau mai multe principii, pe care se bazeaza

procedeul de obtinere a proiectului. Pentru elaborarea programelor se respecta principii ca:

modularizarea, abstractizarea, localizarea, ascunderea informatiei, uniformitatea, completitudinea,

confirmabilitatea sau combinatii ale acestora.

Metodele de analiza si proiectare pot fi grupate în doua mari categorii:

19

• metode traditionale - orientate pe structura datelor, structura functionala, fluxul

datelor, pe care le vom numi si metode functii/date;

• metode orientate obiect.

Metodele traditionale separa modelarea datelor de modelarea functiilor si ca urmare,

conduc la obtinerea a doua tipuri de structuri distincte: structura datelor si structura de functiuni.

Elementele structurii functionale sunt elemente active si au un comportament dinamic iar structurile

de date sunt depozite pasive de date care sunt afectate de functii. Un sistem dezvoltat utilizând o

metoda traditionala este greu de întretinut si dezvoltat.

Majoritatea metodelor orientate pe functii/date admit modularizarea si structurarea, ca

principiu general pentru controlarea complexitatii, respectiv pentru uniformizarea modului de

realizare.

Modularizarea se poate realiza având ca baza:

• descompunerea functionala;

• structura datelor;

• fluxul datelor;

• abstractizarea.

Metodele de descompunere functionala sunt bazate pe împartirea sistemului în subsisteme

cu coeziune interna puternica si interfete minime; împartirea se face pe baza structurii de functiuni a

sistemului. Din aceasta categorie fac parte:

• proiectarea top - down;

• metoda HIPO (Hierarhycal - Input Proccessing - Output);

• metoda SADT (Structured Analysis and Design Technique) dezvoltata de D. Ross.

Structura datelor conduce la o alta clasa de metode, ce cuprinde:

• metoda LCS (Logique de la Construction des Systemes) LCP (Logique de la

Construction des Programes) dezvoltate de J. D. Warnier în Franta si completate de

Orr în S.U.A. cunoscute si sub numele de metoda Warnier - Orr;

• metoda Jackson dezvoltata de M. A. Jackson în Anglia.

Aceste metode considera ca structura programelor este direct derivabila din structura

datelor. Daca la baza determinarii structurii programelor se porneste de la fluxul datelor în cadrul

problemei, se poate forma o a treia clasa de metode, reprezentata prin:

• o analiza structurata (De Marco);

• o analiza si proiectarea structurata, dezvoltata de E.Yourdon si Constantine;

19

• o proiectarea compozita, dezvoltata de G. Myers pornind de la proiectarea structurata

prin modificarea terminologiei si a modului de reprezentare a proiectului.

În cazul în care la baza modularizarii sta abstractia (ca instrument puternic în vederea

reducerii complexitatii), se evidentiaza metodele:

• metoda lui Parnas, bazata pe principiul ascunderii informatiei;

• metoda masinilor abstracte, initiata de Dijkstra;

• metoda masinilor cu stari, folosita de Compania IBM.

Spre deosebire de metodele traditionale, metodele orientate obiect, dezvoltate în ultimul

deceniu în diferite variante, propun modelarea concomitenta a celor doua tipuri de structuri, de date

si de prelucrari, prin iterarea analizei datelor si comportamentului acestora în sistem, în vederea

obtinerii unei ierarhii de clase de obiecte care înglobeaza atât date cât si comportament.

Modelarea orientata obiect reprezinta un nou mod de gândire si de abordare a problemelor

utilizând modele pentru a caror construire se folosesc concepte din lumea reala. Modelele orientate

obiect sunt importante pentru întelegerea problemei, pentru descrierea corecta si completa a

sistemului, pentru comunicarea cu utilizatorul final, pentru proiectarea programelor si bazelor de

date, pentru pregatirea si elaborarea documentatiei. Cu alte cuvinte orientarea obiect, ca metoda, îsi

propune rezolvarea dificultatilor care apar în dezvoltarea aplicatiilor informatice în cel putin doua

momente ale acestui demers si anume:

• la trecerea descrierii problemei din limbajul specific domeniului aplicatiei într-un

limbaj formalizat, specific domeniului informatic;

• la trecerea din descrierea problemei utilizând limbajul formal (grafic, textual sau mixt)

într-un limbaj de programare.

Dintre cele mai cunoscute metode de analiza si proiectare orientate obiect fac parte:

• OOD - Object Oriented Design (G. Booch);

• OMT - Object Modeling Technique (James Rumbaugh, Michael Blaha, William

Premerlani s.a);

• OOA - Object Oriented Analysis (Peter Coad, Edward Yourdon);

• OOSE - Object Oriented Software Engineering (Jacobson Ivar);

• Referindu-ne atât la metodele traditionale cât si la cele orientate obiect, acestea

presupun utilizarea diferitelor modele, în toate etapele si activitatile ciclului de

realizare. Ca un nou concept se propune deci si acela de Inginerie Software Bazata pe

Model (Model-Based Software Engeneering) care presupune dezvoltarea pornind de la

modele de sisteme, procese, produse software, pentru o mai usoara întelegere,

expandare si construire a acestora.

19

Toate metodele enumerate au câteva caracteristici comune:

• ofera criterii de evaluare a analizei si proiectarii;

• propun tehnici de reprezentare a sistemului în diferite etape de realizare, care permit

comunicarea usoara si neambigua între participanti;

• impun structurarea si modularizarea sistemului;

• utilizeaza modele de sistem (logice si fizice).

1.2. Inteligenţa artificială

Inteligenţa artificială este un subdomeniu al informaticii destinat dezvoltării calculatoarelor

şi programelor care imită mintea umană. Scopul final al inteligenţei artificiale este comportamentul

inteligent al calculatoarelor.

Sistemele de inteligenţă artificială sunt astăzi pregătite să memoreze cunoaşterea din cele

mai diverse domenii, dacă specialistul în domeniu le-o pune la dispoziţie.

Cunoaşterea în sistemele de inteligenţă artificială este depozitată într-o bază de cunoştinţe

care conţine fapte, concepte, proceduri şi relaţii.

Această cunoaştere este utilizată de sistem în rezolvarea problemelor şi luarea deciziilor.

Scopul unui asemenea sistem este rezolvarea problemelor dintr-un anumit domeniu. Pe lângă

cunoaştere, sistemele de inteligenţă artificială sunt capabile să raţioneze pe baza cunoaşterii.

Tabelul 1.1. Diferenţa între produse informatice convenţionale şi programe inteligente

Criteriul Programe de inteligenta

artificiala

Programe conventionale

Natura prelucrării In principal simbolică In principal numerică

Natura intrărilor Pot fi incomplete Obligatoriu complete

Căutarea In principal euristică Algoritmică

Explicaţii Oferă explicaţii Uzual nu oferă

Scopul principal Cunoaşterea Date şi informaţii

Structura Separarea cunoaşterii de

control

Controlul este integrat cu

datele şi informaţiile

Natura ieşirilor Pot fi incomplete Obligatoriu corecte şi

complete

Intreţinerea şi actualizarea Relativ uşoară datorită

modularităţii cunoaşterii

Uzual dificilă

Hardware In principal PC-uri şi staţii de

lucru

Toate tipurile de

calculatoare

Capacitatea de raţionament Da Nu

19

Inteligenţa artificială în aplicaţii

RGP-Rezolvitoare generale de probleme

Aceste tipuri de aplicaţii se utilizează mai ales în domeniile planificării şi programării

(aceste probleme reprezentând un interes general pentru întreprinderi şi producţie). S-a reuşit

dezvoltarea unor programe de inteligenţă artificială pentru planificarea optimală şi programare în

întreprinderi (probleme care implică personal, stocuri, resurse) urmărindu-se maximizarea eficienţei

şi minimizarea costului.

Un alt tip de probleme care au făcut mereu obiectul cercetărilor şi proiectării de sisteme

inteligente, îl constituie demonstrarea teoremelor şi reducerea formulelor.

Sisteme expert

Sistemele expert sunt destinate simulării comportamentului uman când oamenii încearcă să

rezolve probleme complexe dintr-un domeniu dat. Eficienţa sistemului expert depinde de cantitatea

de cunoaştere care îi este oferită.

PLN-Prelucrarea limbajului natural

Problemele comunicaţiei în limbaj natural rămân deosebit de complexe. Limbajul natural

este dificil de înţeles din cauza cuvintelor cu mai multe sensuri, în funcţie de context. Sistemele

dezvoltate pentru utilizarea limbajului natural sunt încă într-un stadiu incipient de dezvoltare.

Sistemele de înţelegere a limbajului natural utilizează două tehnici:

▫ Cuvântul cheie

▫ Analiza sintactică/semantică

Sistemele care utilizează prima tehnică încearcă să determine semnificaţia unei fraze prin

analiza cuvintelor cheie din fraza respectivă.

Sistemele care utilizează a doua metodă fragmentează fraza în părţi de vorbire (subiect şi

predicat) şi se încearcă obţinerea unei semnificaţii din această analiză.

IAC-Invăţământ asistat de calculator

IAC este o modalitate de învăţare utilizând mijloace electronice de calcul şi sisteme expert

care pot evalua nivelul elevului/studentului şi în funcţie de aceasta stabileşte nivelul de dificultate.

Recunoaşterea formelor

Recunoaşterea formelor se ocupă cu dotarea calculatoarelor cu proprietatea de a vedea.

Sistemele de recunoaştere a formelor sunt capabile să identifice trăsăturile obiectelor reale sau a

imaginilor acestora, iar informaţia astfel obţinută o utilizează pentru soluţionarea unor probleme. In

19

asemenea situaţii se utilizează tehnici de căutare şi pattern-matching pentru preluarea informaţiei

vizuale. Ele pot sesiza detalii care scapă ochiului uman. Există numeroase aplicaţii în studiul

fotografiilor, recunoaşterea amprentelor, identificarea persoanelor.

Robotica

Robotul este o maşină care are capacitatea de a se deplasa. Roboţii sunt capabili să execute

un număr important de sarcini, mai ales producţie (manufacturing), în mediu periculos pentru om

(în mină, lucru cu explozivi, etc…)

Scopul cercetărilor în robotică este încorporarea programelor inteligente în roboţi. Acele

programe vor permite executarea unor sarcini cu o mai mare inteligenţă. Roboţii de ultimă generaţie

încorporează sisteme expert şi sisteme de recunoaştere şi sinteză a vocii.

1.3. Sisteme de tip ERP

Un sistem ERP (Enterprise Resource Planning) reprezinta un ansamblu intercorelat de

subsisteme informatice destinate gestiunii resurselor umane, materiale si financiare ale unei

companii sau institutii publice.

Sistemele ERP sunt sisteme deschise, care functioneaza in stransa legatura cu partenerii

companiei (clienti, furnizori, institutii publice, organizatii financiar-bancare etc.).

Sistemele ERP (Enterprise Resource Planning) reprezinta sisteme informatice orientate pe

identificarea si planificarea resurselor necesare pentru satisfacerea cerintelor clientilor organizatiei.

Prin prisma acestei definitii, sistemele ERP reprezinta o extindere a sistemelor MRP II insa

largesc orizontul acestora. Sistemele ERP difera de sistemele tipice MRP II si sub forma unor

cerinte tehnice cum ar fi:

utilizarea de limbaje de programare orientata pe obiect;

utilizarea de arhitecturi de tip client/server;

caracterul de sistem deschis.

Termenul de ERP (Enterprise Resource Planning) este utilizat pentru a descrie un sistem

informatic multi-modular proiectat in vederea eficientizarii principalelor activitati desfasurate intr-o

companie sau institutie publica.

Modulele componente ale acestui sistem informatic la nivelul unei organizatii se pot referi

la:

planificarea resurselor financiare;

gestiunea resurselor umane;

19

gestiunea achizitiilor;

gestiunea investitiilor;

evidenta partenerilor

Fig. 1.1. Evolutia sistemelor de gestiune a resurselor din cadrul organizatiei

Primele solutii informatice de planificare a resurselor organizatiei (intreprinderii) au aparut

la mijlocul anilor ’60, atunci cand a fost dezvoltata tehnica MRP, ca metoda de planificare orientata

pe reducerea stocurilor de materii prime, materiale si produse finite.

Pe baza acestei tehnici de management au fost proiectate sistemele informatice de tip MRP1

(Material Requirements Planning), care operau folosind urmatorii parametri :

necesarul de fabricat, bazat pe comenzile de la clienti;

fisele tehnologice ;

situatia stocurilor pentru fiecare articol ;

durata medie a unei aprovizionari.

La inceputul anilor ’80, pe baza sistemelor MRP1 au aparut sistemele MRP2

(Manufacturer Resource Planning), care vizau, pe langa planificarea necesarului de

materiale(MRP) :

planificarea vanzarilor,

19

planificarea productiei ,

planificarea aprovizionarilor,

planificarea necesarului de capacitati de productie

furnizarea unor situatii informationale de natura economico- financiara (bugete,

prognoza etc.)

Sistemele ERM (Enterprise Resource Management) au inceput sa fie dezvoltate la inceputul

anilor ’90 ca urmare a necesitatii de a furniza solutii de planificare a resurselor organizatiei in

conditiile unui mediu economic extrem de dinamic. In esenta, sistemele informatice de tip ERM

reprezinta extinderi ale sistemelor precedente MRP1 si MRP2, extinderi care vizeaza transformarea

organizatiei intr-o “organizatie virtuala”, deschisa la modificarile care survin in mediul extern.

Fig. 1.2. Furnizori de sisteme ERP

Caracteristici ale ERP

1. Conceptie modulara

Integreaza toate procesele desfasurate in cadrul firmei sau institutiei publice sub forma de

module, care pot acoperi : gestiunea financiara, gestiunea stocurilor, gestiunea resurselor umane,

gestiunea clientilor si a furnizorilor.

19

Fig. 1.3. Conceptia modulara a unui sistem ERP

2. Flexibilitate

Un sistem ERP permite adaptarea rapida la modificarea conditiilor mediului in care

organizatia isi desfasoara activitatea.

3. Caracter “deschis”

Un sistem ERP include un numar mare de parametri din mediul extern al organizatiei ;

integreaza partenerii organizatiei ca entitati fundamentale ale sistemului.

4. Arhitectura client-server

Sistemele ERP sunt dezvoltate pe o arhitectura de tip client-server si prin folosirea

limbajelor de programare orientata pe obiect.

Arhitectura client-server prezinta o serie de caracteristici :

mai multi utilizatori pot accesa concurent aceleasi resurse fara blocaje sau intreruperi

ale serviciului;

securitatea datelor si controlul flexibil al accesului (la nivel de inregistrare sau de

tabela);

pastrarea unitatii si integritatii datelor prin atomizarea si izolarea tranzactiilor de

date;

disponibilitate maxima a serviciului indiferent de distanta dintre server si client.

Beneficii ale sistemelor ERP

Eficientizarea procesulor de munca desfasurate in cadrul organizatiei.

Reducerea timpului de acces la informatiile necesare fundamentarii deciziilor.

Fluidizarea schimbului de informatii in cadrul organizatiei.

19

Cresterea gradului de veridicitate a informatiilor utilizate.

Reducerea timpului de raspuns la o cerere formulata de un client.

Raspuns rapid la modificarea conditiilor de mediu cu rezultat in cresterea avantajului

competitiv.

Eficientizarea lantului clienti-organizatie-furnizori.

Reducerea costurilor de productie.

Cresterea gradului de incredere a clientilor in organizatie.

Dezavantaje

Costul ridicat;

Durata mare de implementare;

Probleme sporite de securitate.

Necesitate

In acelasi context, sistemele de planificare a resurselor ERP sunt utilizate, in ultimii ani, ca

solutii de informatizare la nivelul institutiilor publice, fiind justificate de urmatoarele necesitati :

Bugetele reduse ale organizatiilor (mai ales in sectorul public), care impun reducerea

cheltuielilor, cresterea veniturilor si amplificarea eficientei.

Nevoia de a pune un accent mai mare pe planificare, imbunatatirea lanturilor de

aprovizionare, monitorizarea si controlul resurselor, a costurilor si a personalului.

Necesitatea de a imbunatati in permanenta serviciile furnizate cetatenilor.

Nevoia de crestere a productivitatii salariatilor.

Necesitatea de implementare a unor practici manageriale specifice sectorului privat

in sectorul public.

1.4. Cloud computing. Avantajele utilizarii cloud-computing pentru informatizarea

activitatii firmei

1.4.1. Notiuni introductive

Cloud computing este furnizarea de servicii de calcul prin Internet. Serviciile cloud permit

persoanelor fizice și întreprinderilor să utilizeze software și hardware care sunt gestionate de către

terțe părți în locații îndepărtate. Exemple de servicii cloud includ stocare online, site-urile de rețele

sociale, webmail, și aplicatii de afaceri on-line. Modelul de cloud computing permite accesul la

informații și resurse de calcul oriunde o conexiune la rețea este disponibilă. Cloud computing oferă

o zona comuna de resurse, inclusiv în spațiul de stocare a datelor, rețele, aplicații de nivel

companie și aplicatii utilizator.

19

Următoarea definiție de cloud computing a fost elaborata de US National Institutul de

Standarde si Tehnologie (NIST ):

Cloud computing este un model care permite un acces facil la o zona comuna de resurse de

calcul rapid configurabile cum ar fi (de exemplu, rețele, servere, sisteme de stocare, aplicații

și servicii), care pot fi rapid selectate si puse in functiune cu minim efort de management sau

interacțiune cu furnizorul de servicii. Acest model cloud promovează disponibilitatea și este

compus din cinci caracteristici esențiale, trei modele de servicii, și patru modele de

implementare.

Caracteristici

servicii la cerere

o înseamnă că clienții (de obicei organizații) pot solicita și să gestioneze

propriile resurse de calcul.

acces la retea

o acces la rețea de banda largă permite ca serviciile să fie oferite prin Internet

sau rețele private.

punerea in comun a resurselor

o Clientii au acces la o zona comuna de resurse de calcul pe care le folosesc, de

obicei in centre la distanta

elasticitate

o Serviciile sunt scalabile

servicii masurabile

o Serviciile sunt masurabile iar clientii sunt facturati corespunzator.

Modele de servicii

Modelele de servicii de cloud computing sunt software ca serviciu (SaaS – Software as a

Service), Platforma ca Serviciu (PaaS – Platform as a Service) și infrastructură ca serviciu (IaaS –

Infrastructure as a Service). În modelul software ca serviciu, se furnizezaza, o aplicatie realizata,

împreună cu orice software necesar, sistem de operare, hardware și resurse de rețea. În PaaS, se

furnizeaza sistem de operare, hardware și resurse de rețea, iar clientul instalează sau dezvoltă

propriul software și aplicatii. Modelul IaaS oferă doar hardware-ul și resursele de rețea; clientul

instalează sau dezvoltă propriul său sistem de operare, software și aplicații.

Implementarea serviciilor cloud

19

Servicii de cloud sunt, de obicei puse la dispoziție printr-un cloud privat, cloud comunitate,

cloud public sau cloud hibrid. În general vorbind, serviciile oferite de un cloud public sunt oferite

pe internet și sunt deținute și operate de către un furnizor de cloud. Unele exemple includ servicii

destinate publicului larg, cum ar fi serviciile on-line de stocare a fotografiilor, servicii de e-mail sau

site-urile de rețele sociale. Cu toate acestea, serviciile pentru întreprinderi pot fi, de asemenea,

oferite într-un cloud public. Într-un cloud privat, infrastructura cloud este exploatată numai pentru o

anumită organizație, și este gestionat de organizația sau de o terța parte. Într-un cloud comunitate,

serviciul este partajat de mai multe organizații și e făcut disponibil numai pentru acele grupuri.

Infrastructura poate fi deținută și operată de organizații sau de către un furnizor de servicii de cloud.

Un cloud hibrid este o combinație de diferite metode de punere în comun a resurselor

(pentru exemplu, combinând cloud public și comunitar).

De ce sunt populare serviciile de cloud ?

Servicii de cloud sunt populare, deoarece acestea pot reduce costurile și complexitatea

derivate din deținerea de calculatoare și rețele de calculatoare si sisteme de operare. Din moment ce

utilizatorii cloud-ului nu trebuie să investească în infrastructura tehnologiei informației,

achiziționarea hardware-ului sau cumpărarea de licente software, beneficiile sunt vizibile. Costurile

referitoare la amortizarea rapidă a investiției, implementare, personalizare, utilizarea flexibilă și

utilizarea unor noi soluții care pot face uz de inovații sunt reduse. In plus, furnizorii de cloud care s-

au specializat într-un anumit domeniu (cum ar fi e-mail) pot aduce servicii avansate pe care o

singură societate s-ar putea să nu fie capabila de a permite sau de a le dezvolta.

Alte beneficii pentru utilizatori includ scalabilitate, fiabilitate și eficiență. Scalabilitate

înseamnă că cloud computing oferă procesare și capacitate de stocare nelimitată. Cloud-ul este o

entitate de incredere în faptul că aceasta permite accesul la aplicații și documente oriunde în lumea

prin intermediul internetului. Cloud computing este adesea considerată eficientă, deoarece permite

organizațiilor să elibereze resurse si să se concentreze pe inovare și dezvoltare de produse.

Un alt beneficiu potențial este acela că informațiile personale pot fi mai bine protejate în

cloud. In mod specific, cloud computing-ul poate îmbunătăți eforturile de a construi o protecție a

vieții private în conditiile utilizarii tehnologiei și de a utiliza mecanismele de securitate mai bune.

Cloud-computing va permite achiziționarea de echipamente IT mai flexibile și cu performante mai

bune, ceea ce permite actualizari ale procedurilor bazate pe sensibilitatea datelor. Utilizarea larg

raspandita a cloud-ului poate încuraja utilizarea standardelor deschise pentru cloud computing, ceea

ce va stabili standarde comune de securitate a datelor comune pentru diferite servicii și furnizori.

19

Cloud computing poate, de asemenea, să permită auditarea mai eficienta. Datele se pierd mai greu

in cloud atunci cand le comparam cu documentele de pe hartie sau din calculatoarele personale.

Riscuri cu privire la securitatea datelor personale

În timp ce există numeroase beneficii privind utilizarea clod-ului, există si o ingrijorare

privind confidențialitatea și securitatea informatiilor. Datele se deplasează pe Internet și sunt stocate

în locații îndepărtate. In plus, furnizorii de servicii cloud, ofera servicii catre mai multi clienti odata.

Toate acestea pot mari expunerea la posibile intruziuni, atât accidentale cat și deliberate. Utilizatorii

de servicii cloud sunt ingrijorati că cloud computing poate duce la "denaturarea funcțiilor" - utilizări

ale datelor de către furnizorii de cloud, care nu au fost anticipate în cazul în care informațiile au fost

colectate inițial și pentru care nu a fost în mod obișnuit obținut consimțământul. Având în vedere

cât de ieftin este de a păstra date, există puține stimulente pentru a elimina informațiile din cloud și

mai multe motive de a gasi o alta utilizare pentru aceste functii.

Adoptarea tehnologiei cloud de catre firme

Cloud computing a creat o schimbare fundamentală în modul în care este condusa și

gestionata infrastructura de tehnologia informației, schimband atât afacerile cat și componenta

tehnologica a acesteia. Dar, ca orice schimbare majoră în istorie, există susținători și sceptici.

Transferul departamentului IT al companiei in cloud este o sarcină complexă, care include atât

provocări tehnice și organizatorice. Cloud-ul este o nouă paradigmă, care nu are o definiție intr-o

singură propoziție; ea include mai mulți factori, și, prin urmare, transformarea tehnologiei IT într-

un cloud poate părea confuza. Acest nivel de complexitate asociat cu incertitudinea creează un

număr de bariere organizationale. Conform unui alt studiu recent, securitatea, incertitudinea

costurilor, precum și pierderea controlului sunt primele trei bariere in calea adoptiei cloud-ului.

19

Fig. 1.4. Obstacole in calea adoptiei tranzitiei catre servicii Cloud

Aceste bariere reprezintă de provocări tehnice și organizaționale. Importanța provocărilor

organizaționale este dificil de cuantificat, dar astfel de provocări pot fi critice în procesul de luare a

deciziilor. avocații cloud-ului trebuie să fie pregătiți să se confrunte cu o rezistență considerabilă,

deoarece angajații din organizații ar putea fi reticenti în a îmbrățișa trecerea catre servicii clod și de

a face această schimbare de tehnologie crucială.

Securitatea datelor

Securitatea datelor este de departe cea mai mare barieră pentru adoptarea cloud-ului. Datele

sunt cele mai prețioase active ale intreprinderilor, iar companiile doresc să știe că datele lor sunt în

siguranță. Companiile se simt încrezătoare atunci când stocheaza date pe plan intern, deoarece au

un control deplin asupra lor, deși nu există garanție că datele sunt protejate mai bine pe plan intern

față de cloud-urile publice. De fapt, există posibilitatea ca aceste date ar putea fi chiar mai sigure în

cloud-urile publice, deoarece furnizorii de cloud-uri publice pot seta un nivel mai ridicat de

securitate pentru date în comparație cu clienții lor. Atunci când sunt depozitate la cloud-uri publice,

datele pot fi compromise in mai multe etape:

în timpul transferului de la rețeaua companiei interne in cloud-ul public,

atunci când datele sunt stocate în cloud-ul public

în timpul backup-ului de date și restaurarea datelor.

19

Exista intrebari fundamentale care se pun in legatura cu securitatea intr-un cloud:

1. Cine are acces la date? Care sunt politicile de securitate?

2. Sunt datele criptate in timpul transferului din interior in exterior? Pot sa fie datele

criptate cand sunt memorate pe hard-disc?

3. Are cloud-ul o politica de replicare a datelor in mai multe centre de date?

4. Care sunt datele care se supun procesului de backup? Cine are acces la datele de

backup? Unde este backup-ul de date stocate? Care este procesul de recuperare de

datelor? Cat timp dureaza recuperarea datelor? Face prestatorul de cloud dovada

capacităților de investigare a încălcarilor de securitate? Această întrebare este adesea

uitata, dar este foarte important, dacă datele este compromis, furnizorul de servicii

cloud va fi singura sursă de informare pentru orice investigație.

Incertitudinea costurilor

Există sute de oferte diferite de cloud pe piață, iar prețurile lor variază în mod considerabil.

Acest lucru creaza incertitudine și face dificil de estimat beneficiile financiare reale de cloud

computing. Această incertitudine este supărătoare mai ales pentru persoanele non-tehnice în cadrul

organizațiilor, care ar putea fi confuze și speriate de complexitatea modelelor de cloud-uri.

Diferentele de preturi dintre furnizorii de cloud pot include costurile pentru stocarea de date, CPU,

memorie, adresa IP, serviciul de nume de domeniu și de echilibrare a incarcarii, printre altele. Nu

exista un standard unic pentru tarifarea serviciilor de cloud, și poate fi o problema complicata de a

compara prețurile între furnizorii servicii cloud. De asemenea, este dificil de prezis prețurile viitoare

pentru un furnizor specific și odată ce o companie este operata de un singur furnizor de cloud, nu

este ușor să se mute o întreagă infrastructură către alte cloud-uri.

Pierderea controlului

Factorii care duc la pierderea de control pot fi împărțiți în două categorii: pierdere a

controlului de natura tehnică și pierderea a controlului de natura organizationala.

Pierderea contolului de natura tehnică include factori cum ar fi controlul accesului, versiuni

de software și actualizări, precum și controlul asupra momentului operațiilor tehnice, cum ar fi

backup de date și restaurare, și este parțial legată de problemele de securitate a datelor discutate mai

sus. Pentru a evita o pierdere a controlului de natura tehnică, un furnizor de nor ar trebui să ofere

companiei instrumente care oferă vizibilitate completă pentru toate operațiunile de cloud legate de

activele companiei.

Pierderea controlului de natura organizationala este în cea mai mare parte legată de factorii

umani care ar putea crea bariere pentru transferul catre cloud computing .Acești factori pot include

19

temerile unor indivizi din ca-si vor pierde influenta în organizație, teama de pierdere a locurilor de

muncă, precum și incapacitatea de a îmbrățișa schimbarea. Teama de a pierde controlul este

comunasi apare nu numai în mod specific la trecerea la cloud computing, dar si in cazul altor

schimbări organizatorice.

1.4.2. Oferte de servicii de cloud

Infrastructura ca serviciu ajută companiile să mute infrastructura lor fizică la cloud, cu un

nivel de control similar cu ceea cel care l-ar avea într-un datacenter tradițional. IaaS este cel mai

asemanator cu un datacenter în comparație cu alte tipuri de servicii. Componentele de bază a

infrastructurii centrelor de date sunt de unitati de stocare, servere (unități de calcul), rețeaua în sine,

și instrumente de management pentru întreținerea și monitorizarea infrastructurii. Fiecare dintre

aceste componente a creat o nișă de piață separată.

In timp ce unele companii mici se specializează în doar una dintre aceste nise de IaaS,

furnizorii mari de cloud, cum ar fi Amazon sau RightScale au oferte în toate domeniile IaaS. Din

punct de vedere tehnic, piața IaaS are cerinte relativ scazute, dar poate necesita investiții financiare

substanțiale, în scopul de a construi și a sprijini infrastructura cloud. Produse performante open-

source cloud, cum ar fi OpenStack sunt disponibile pentru toată lumea, și ofera o bază puternică de

software pentru companiile care doresc să construiască cloud-ul lor privat sau de a deveni un

furnizor de cloud public. Hewlett Packard a anunțat recent planuri de a oferi servicii de cloud

publice, și planul de a construi cloud-ul lor folosind OpenStack. Mai multi furnizori de cloud,

inclusiv Rackspace, au difuzat serviciile lor utilizand OpenStack de ceva timp.

Fig. 1.5. Furnizori de servicii cloud

19

Iaas-stocare

Serviciile de stocare permit companiilor să stocheze date cu privire la dispozitivele de

stocare ale furnizorilor terți. Cloud-ul de stocare on-line este accesibil și prezentat clienților ca un

set de zone de depozitare, accesibile folosind interfețe performante, cum ar fi API-uri de

programare, interfețe web sau instrumente operand in linie de comandă. Complexitatea arhitecturii

de stocare cloud este ascunsa clientilor, dar pe back-end este destul de complex - de obicei fiind

format din dispozitive de stocare distribuite, dar care sunt gestionate de software-ul centralizat.

Software-ul performant de de management de stocare utilizează algoritmi care gestionează date

distribuite pe mai multe dispozitive de stocare multiple.

Cu toate acestea, cloud-ul de stocare poate să nu se potrivească nevoilor fiecărei organizații.

Dezavantaje potențiale includ intarzieri in rețea, dependența de internet, considerente de securitate,

precum și un control limitat. Intarzierile in rețea sunt mai mari comparativ cu depozitarea in cadrul

firmei, deoarece datacenterul furnizorului de cloud este situat într-o locație geografică diferită de

cel puțin câteva routere fata de locația clientului. Un client care stochează toate datele într-un cloud

public și nu are o copie locală este dependent în totalitate de conectivitate la internet. Un furnizor de

cloud ar trebui să ofere securitate la nivel înalt, pentru a evita pierderea de informații sau de

compromis, și transferurile de date trebuie să fie criptate.

Caracteristicile de stocare tipic pentru cloud:

Extrem de fiabile și redundante;

scalabile automată;

asigurare a accesului self-service disponibil pentru clienți;

Accesibil prin interfete (consola Web, API, CLI);

pay-as-you-go ca model de plată.

Cei mai mulți furnizori de stocare cloud determină tarifarea folosind următorii factori:

Valoarea totală a datelor stocate;

Cantitatea de date transferate către cloud-ul de stocare;

Cantitatea de date transferate din spațiul de depozitare al cloud-ului;

Numărul de cereri HTTP specifice.

Amazon S3 Rackspace CloudFiles

Stocare 0,11/GB/luna 0,10/GB/luna

Transfer de date catre interior Gratuit Gratuit

19

Transfer de date catre exterior 0,09/GB/luna 0,18/GB/luna

Cereri HTTP (PUT, COPY, POST) 0,01/1000 cereri Gratuit

Cereri HTTP (GET, HEAD) 0,01/10000 cereri Gratuit

Fig. 1.6. Comparatie intre tarifarea dintre Amazon S3 și stocare Rackspace Fișiere Cloud

Amazon S3 Rackspace

CloudFiles

Stocare 40TB 4415 4000

Transfer de date catre interior 5TB 0

Transfer de date catre exterior 25 TB 2557 4500

Cereri HTTP (PUT, COPY,

POST)

1M 10 0

Cereri HTTP (GET, HEAD) 100M 100 0

Total 7082$/luna 8500$/luna

Fig. 1.7. Comparatie intre tarifarea dintre Amazon S3 și stocare Rackspace Fișiere Cloud

pentru fisiere mari

Iaas: Servicii de calcul

Preturi:

La cerere Plata in avans Licitatie

$/ore de servicii $/an + $/ore de servicii $/ore de servicii

Serviciile de calcul furnizează resurse de calcul pentru clienți. Aceste servicii includ CPU,

memorie cu acces aleator (RAM), și resurse I / O. Calculul opțiuni de tarifare a resurselor poate

varia între diferiți furnizori, dar, în general, opțiunile de stabilire a prețurilor sunt determinate de

cantitatea de resurse de calcul și prin modele de plată. Resursele de calcul sunt oferite ca instanțe de

mașini virtuale, ale căror tipuri și prețuri atribuite depind de CPU, RAM, și capacitatea I / O.

Furnizorii ofera cateva tipuri de configuratii, care acoperă majoritatea nevoilor clienților și fac ca

alegerea clientului sa fie mai usoara (adică, mici, medii, mari, etc ...). Cele mai populare modele de

stabilire a prețurilor sunt la cerere, prepaid (rezervat) și scoase la licitație.

19

La cerere Plata in avans

(rezervat)

Licitatie

August, 2012 $0.080/ora $160/an+$0.024/ora $0.007/ora

Martie, 2011 $0.085/ora $227.50/an+0.03/ora $0.031/ora

Februarie, 2009 $0.10/ora - -

La cerere

Aceste tipuri de instanțe permit clienților să plătească taxe de servicii orare, fără

angajamente pe termen lung. Acest model de tarifare pay-as-you-go este ideal pentru situațiile în

care o companie nu poate estima cererea de resurse de calcul inainte.

Servicii preplatite

Cu servicii preplătite, clienții plătesc o sumă fixă în avans pentru o perioadă de angajament

specific. În mod normal, se plătesc costuri mai mici pentru perioade mai lungi de angajament,

deoarece acest lucru ajută furnizorii de cloud să estimeze cheltuielile lor de infrastructură.

Servicii licitate

Modelul de tarifare licitat permite clienților să liciteze pentru capacitatea de calcul oferită de

către un furnizor de cloud, cu prețul ofertei reglementat de cerere și ofertă. În cazul în care suma

licitată îndeplinește sau depășește prețul curent de ofertă, puteți accesa resursele. Costurile pentru

resursele de calcul licitate sunt semnificativ mai mici comparativ cu preplătite și serviciile la cerere.

Totuși, aceste resurse nu pot fi folosite pentru medii de producție critice, deoarece acestea pot fi

luate în cazul în care un client pierde o sumă licitată.

Alegerea modelului de tarifare

Alegerea modelului de tarifare depinde de cerințele specifice ale clientului. Modelul la

cerere este alegerea potrivită pentru clienții care nu pot evalua nevoile lor de resurse de calcul.

Utilizări populare pentru calcul la cerere includ capacitatea maxima pentru companiile care

găzduiesc propria infrastructură și apoi utilizeaza Amazon numai atunci când este necesară o

capacitate suplimentară.

Acest model se potrivește bine cu start-up-uri și companiile mai mici, cu fonduri limitate,

deoarece acestea pot plăti pentru serviciile pe măsură ce cresc. Modelul preplătit ofera beneficii de

costuri, atunci când o companie poate estima cererea lor pe termen lung pentru resurse de calcul.

Acest model funcționează foarte bine pentru organizații mai mari, care pot estima capacitățile

necesare și pot permite să facă o investiție inițială.

19

Resursele licitate sunt utilizate în mod obișnuit pentru mediile non-producție, atunci când

clienții își pot permite să intrerupa utilizarea masinilor virtuale pentru o perioadă scurtă de timp.

Tehnic vorbind, servicii scoase la licitație pot fi utilizate în medii critice, dar, în astfel de cazuri,

companiile ar trebui să plaseze oferte mari pentru a asigura un serviciu neîntrerupt și disponibilitate

totala.

Prețurile pentru resursele de calcul cloud scad în mod constant pentru mai mulți furnizori.

Așa cum din ce in ce mai mulți furnizori intra pe piață, furnizorii de servicii cloud ofera o gamă mai

largă de opțiuni de preț, cu scopul de a ajunge la mai mulți clienți.

19

2. Baze de date Access

2.1. Introducere

Microsoft Access reprezinta un SGBD (Sistem de Gestiune a Bazelor de Date) relational,

care faciliteaza stocarea si extragerea informatiei structurate pe hard drive-ul unui PC.

Cele mai raspindite SGBD-uri relationale comerciale de mare capacitate sint ORACLE,

Microsoft SQL Server, IBM DB2 si Informix, pe cind cele de tip PC “desktop” includ Microsoft

ACCESS, Microsoft FoxPro si Borland dBase. Microsoft a reusit pina acum sa incorporeze cit mai

multe caracterisitci posibile in produsele lor. Pachetele Microsoft contin urmatoarele caracterisitci

esentiale:

(i) un sistem baze de date relational care suporta doua standarde industriale: SQL

(Structured Querry language), respectiv QBE (Query By Example)

(ii) limbaj de programare procedural, care reprezinta o submultime a limbajului VISUAL

BASIC

(iii) macro limbaj procedural simplificat, unic ACCESS-ului

(iv) dezvoltarea unor aplicatii rapide intr-un environement complet cu forme visuale si o

multitudine de instrumente (tools) de realizare a rapoartelor (reports)

(v) posibilitatea unor viitoare extensii programare-obiect

(vi) wizard-uri si constructori care faciliteaza dezvoltarea bazelor de date

Pentru multi dintre noii utilizatori toate aceste caracterisitici ar putea deveni o sursa de

frustratii, datorita diferitelor ipoteze si restrictii precum si al multitudinii modalitatilor de calcul,

precum:

(i) aspectul relational al bazei de date presupune o aplicatie ca fiind o multime de date

(ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi

executate secvential

(iii) aspectul de programare obiect–orientata al bazei de date presupune o aplicatie ca un set

de obiecte ce incapsuleaza starea si comportamentul dinamic al informatiei

Tinind cont de aceasta diversitate a aspectelor ce vizeaza o baza de date relationala

utilizatorii si creatorii bazelor de date de tip ACCESS trebuie sa aiba o pregatire solida in domeniul

bazelor de date si sa posede o serie de abilitati practice in manipularea acestor baze de date.

Avantajul acestei diversitati consta in posibilitatea utilizarii ACCESS-ului pentru a invata o

19

impresionanta multitudine de concepte de sisteme informationale fara a interactiona cu un numar

mare de instrumente individuale specifice unui singur aspect, precum:

(i) ORACLE ca baza relationala de date

(ii) PowerBuilder pentru dezvoltarea unor aplicatii rapide

(iii) SmallTalk pentru programarea obiect-orientata

Intr-o acceptiune mai larga un fisier ACCESS baza de date contine nu numai o “colectie”

de tabele de date legate intre ele ci si alte diferite tipuri de obiecte baza de date:

(i) interogari (query design) pentru organizarea datelor

(ii) forme pentru interactiunea cu datele pe ecran

(iii) rapoarte pentru tiparirea (printing) rezultatelor

(iv) macro-uri si programe Visual Basic pentru extinderea functionalitatii aplicatiilor baza

de date

ACCESS-ul ne permite sa realizam propriul nostru design pentru stocarea unei baze de

date. Datele sint organizate in tabele (tables), fiecare din ele continind un anumit numar de cimpuri

(coloane) (fields, columns) si inregistrari (linii) (records, rows). Utilizarea unui cimp comun in doua

tabele diferite conduce la realizarea unei combinatii a datelor ce le contin. Un cimp reprezinta o

coloana dintr-un tabel ( nume, prenume, numar de marca, virsta, anul nasterii, adresa, numarul de

telefon, etc.,), pe cind o inregistrare reprezinta o linie din tabela cu valorile corespunzatoare fiecarui

cimp al acesteia (de exemplu, in cazul unui angajat o inregistrare inseamna toate datele necesare

completarii celulelor corespunzatoare intersectiei dintre linia respectiva si fiecare coloana a tabelei.

Mai multe tabele pot fi stocate intr-o singura baza de date. Putem de asemenea crea diferite forme

(forms) pentru introducerea si visualizarea datelor in tabele, ca de altfel si rapoarte (reports) pentru

afisarea sau extragerea datelor dintr-una sau mai multe tabele. O alta caracteristica a ACCES-ului

este creerea unor interogari (queries) capabile sa aleaga citeva submultimi de date selectate din

intreaga baza de date. O data interogarile fiind definite si salvate sub un nume, ele pot fii tratate de

acum ca tabele “virtuale”. Mai mult, putem chiar crea forme si rapoarte pentru accesul datelor

selectate printr-o interogare. Pentru a crea cimpuri intr-o tabela putem utiliza instrumentele oferite

de Design View din caseta de dialog ce apare la demararea ACCESS-ului, iar pentru actualizare,

editare, sau stergerea unui cimp ne putem utiliza de Datasheet View din bara de instrumente

(toolsbar).

Toate aceste obiecte baza de date sint stocate intr-un singur fisier cu extensia .mdb (.accdb

pentru Access 2007-2013), spre exemplu fisierul casa.mdb. Cind lansam in executie ACCESS-ul

19

acesta va crea automat un fisier temporar (“locking” file) de genul casa.ldb, care poate fii insa

ignorat fara sa afecteze procesul de executie ulterioara (running process) a bazei de date.

Pentru crearea unei tabele de date avem trei optiuni:

(i) in design view

(ii) using wizard

(iii) introducerea directa a datelor

Pentru a crea o noua baza de date plecind de la zero (scratch) utilizam facilitatile oferite de

Database Wizard, ce include baze de date existente si care ne ghideaza de-a lungul procesului de

creere a acesteia. In cadrul acestei optiuni nu ne ramine decit sa urmarim toate etapele acestei

proceduri si sa introducem datele corespunzatoare cerute de fiecare din aceste etape. Ori de cite ori

vom deschide o baza de date noua sau una creata anterior, ACCESS va verifica daca toate

elementele bazei de date sunt intacte. In fereastra dreptunghiulara stinga apar citeva tipuri de baza

de date deja existente in biblioteca ACCESS-ului. Vom selecta una din aceste tipuri de baza de date

iar apoi vom executa un clic pe butonul OK.

Daca o baza de date a fost creata recent ea va apare cu siguranta in principala fereastra a

casetei de dialog. Primul pas pentru deschiderea ei este sa suprailuminam numele ei si apoi sa

executam un scurt clic pe selectie. Daca cautam o baza cu totul particulara vom utiliza optiunea

More files din ferestra dreptunghiulara situata in partea de jos a casetei de dialog. Vom

suprailumina aceasta optiune, vom executa un clic pe selectie, vom alege baza de date care ne

intereseaza, si vom executa un scurt clic pe selectie pentru a o deschide.

Daca fisierul pe care-l deschidem este un fisier creat in versiuni mai vechi ale ACCESS el

va trebui convertit in ACCESS varianta superioară, utilizind butonul Convert Database din meniul

Tools-Database Utilities. Noua versiune de fisier va purta un alt nume iar baza de date va fii

complet separata de cea veche, care va raminine neschimbata.

Tabele

Intr-o fereastra Design view avem posibilitatea sa realizam propriul nostru design al bazei

de date (customize), in sensul vizualizarii si aranjarii cimpurilor dintr-o tabela dupa propria

noastra dorinta, ca de altfel si completarea acestora cu datele corespunzatoare. Aceasta tabela

poarta numele Date personale si are cheia primara Date Personale pentru a fii identificata cu

usurinta printre toate celelalte tabele din baza de date.

19

Fig 2.1: Crearea unei tabele ACCESS in Design View

1. Crearea tabelelor ACCESS

Există trei metode de creare a tabelelor:

in design view

cu wizard

prin introducerea directa a datelor, similar unei foi de calcul Excel,

O tabela ACCESS in design view are doua parti (fig 2.2):

(i) partea superioara care contine numele cimpului (lungime mai mare de 64 de caractere,

incluzind si spatile dintre acestea) cit si tipul de date utilizat (text, number, date/time,

memo, autonumber, yes/no, currency, OLE object, hyperlink, lookup wizard)

(ii) partea inferioara care contine proprietatile cimpurilor

Deci de fiecare data cind creem un tabel in design view trebuie sa specificam proprietatile

tabelului cit al cimpurilor sale. Proprietatile tabelelelor din ACCESS se aplica tabelului in mod

global, introducerea acestora fiind optionala. Pentru specificarea acestor proprietati vom executa un

clic pe butonul Proprietati de pe bara cu instrumente in modul de afisare Table Design (fig 2.2).

19

Drept efect pe ecran va apare o fereastra cu cele 10 proprietati ale tabelului creat anterior, Date

personale, precum cea din figura de mai jos.

Fig 2.2. Fereastra Table Properties pentru tabelul Date personale

Vom descrie pe scurt semnificatia fiecareia din cele zece proprietati:

Description: descriere sumara sub forma de text a scopului tabelului (optional)

Validation Rule: o expresie (formula) ce stabileste regulile de integritate a domeniului

pentru mai multe cimpuri ale unui tabel (optional). Regula de validare introdusa se

aplica tuturor cimpurilor din tabel.

Validation text: specifica textul din caseta de mesaje care va fii afisata in cazul

incalcarii uneia din regulile de validare a tabelului (optional)

Filter: specifica o conditie care trebuie aplicata tabelului la deschiderea acestuia,

limitind numarul inregistrarilor pe baza unor criterii de selectie indicate de utilizator

(optional)

Order By: specifica ordinea de sortare care trebuie aplicata unui tabel, ori de cite ori

este deschis, inregistrarile fiind afistae in ordinea cheii primare, in cazul in care aceasta

exista (optional)

Subdatasheet Name: este o noua facilitate introdusa de ACCESS, care determina

oportunitatea si modul de afisare a datelor din inregistrarile inrudite in foile secundare.

19

Valoare prestabilita (by default) este [Auto], care aduaga in mod automat foi de date

secundare pentru inregistrarile legate din tabele inrudite, pe cind valoarea [None]

dezactiveaza foile de date secundare (optional).

Link Child Fields: specifica denumirea cimpului legat din tabelul inrudit (subordonat)

ale carei inregistrari apar in foaia de date secundare, fiind conditionat de aplicarea

optiunii Subdatasheet Name (optional).

Link Master Fields: specifica denumirea cimpului de legatura din tabelul foii

superioare sau al foii de date secundare, fiind conditionat de aplicarea optiunii

Subdatasheet Name (optional).

Subdatasheet Height: specifica inaltimea maxima a foii de date secundare, fiind

conditionat de aplicarea optiunii Subdatasheet Name. Valoarea prestabilita este 0 si

permite afisarea tuturor inregistrarilor inrudite din foaia de date secundare (optional).

Subdatasheet Expanded: controleaza aspectul initial al foii de date secundare, fiind

conditionata de aplicarea optiunii Subdatasheet Name. Selectia valorii [Yes] are drept

effect deschiderea foii de date cu toate foile de date secundare deschise (optional).

ACCESS are o ferestra Indexes pentru specificarea cheii principale si a tuturor

indexurilor tabelului. Pentru selectarea cheii primare executam un clic pe Primary Key

de pe bara cu instrumente. Este posibila uneori extinderea cheii principale pe mai multe

cimpuri, situatie in care spunem ca tabelul are o cheie compusa.

Proprietatile care trebuiesc precizate in reteaua Table Design pentru fiecare cimp sint:

Field Name: Specifica denumirea cimpului din prima coloana a tabelului. Denumirea

cimpurilor nu poate depasi 64 de caractere, impreuna cu spatiile si semnele de

punctuatie inglobate, cu exceptia punctelor (.), a semnelor de exclamatie (!) si a

parantezelor drepte ([]). Fiecare cimp va avea un nume unic in tabela, iar asignarea lui

este obligatorie pentru identificare.

Data Type: specifica unul din urmatoarele tipuri de valoare ce se ataseaza in cea de-a

doua coloana fiecarui cimp definit in prima coloana a tabelei:

o Text : este valoarea prestabilita fiecarui cimp din tabela, reprezentind orice

combinatie de litere si numere de lungime maxima 255 caractere per fiecare

inregistrare

o Memo: este de tip text care memoreaza pina la 64 K caractere

o Number : spcifica orice numar ce poate fii memorat

o Date/Time : specifica data (ziua/luna/an), timpul sau o combinatie a celor doua

19

o Currency: specifica valoarea monedei care poate fii setata, intr-un format care

include semnul dolarului ($) ca parte de inceput, numarul corect de zecimale,

precum si pozitia virgulei in cazul formatului de reprezentare englezesc

o AutoNumber: specifica un numar intreg unic asignat automat fiecarei inregistrari in

momentul creerii acesteia

o Yes/No: specifica o valoare logica, binara de tipul True/False, Yes/No, ori On/Off

o OLE Object (Object Linking and Embedding): specifica un sunet, desen, ori alt

obiect precum un document Word, foaie de calcul Excel, etc., care este creat in alt

program (embed object)

o Hyperlink: specifica o legatura (link) a bazei de date cu un anume site al

Internetului, Intranetului sau o alta locatie din interiorul aceleiasi baze de date.

Datele sint reprezentate printr-un sir de caractere compus din unul pina la patru

subsiruri de caractere separate intre ele prin semnul pound (#):

Field Properties: selecteaza oricare din proprietatile pertinente cimpului din partea

de jos a ferestrei de dialog Design View, printre care enumeram:

Field Size este folosit pentru setarea numarului de caractere necesare tipului de date

Text sau Numeric. Valoarea prestabilita pentru text este de 50 caractere, iar daca cimpul

are nevoie de mai multe caractere vom creste dimensiunea acestuia pina la 255

caractere. Dimensiunea cimpului este setata pentru numarul de caractere al tipului de

date Text, iar pentru numere avem urmatoarele optiuni:

o Byte – integi pozitivi intre 0 si 255

o Integer – intregi pozitivi si negativi intre -32,768 si 32,768

o Long Integer (default) – intregi pozitivi si negativi intre -2 miliarde si 2 miliarde

( -2.147.483.648 and -2.147.483.647).

o Single – numar in virgula flotanta, simpla precizie

o Double - numar in virgula flotanta, dubla precizie

o Decimal – permite controlul preciziei (numarul total de cifre care trebuiesc afisate

pentru o valoare numerica) si a scarii (numarul zecimalelor care trebuiesc afisate)

Format: putem selecta un format standard, predefinit, in care sa fie afisate valorile din

cimp, folosind lista de optiuni pentru tipurile de date pe care l-am selectat, mai putin

pentru cele de tip Text sau OLE object.

19

FORMATUL TEXT

Format Datasheet

Intrari Afisare Comentarii

@@@-@@@@ 2317586 231-7586 @ indica solicitarea unui

spatiu sau a unui caracter

@@@-@@@& 675234 675-234 & indica un caracter

optional sau spatiu

< HY Hi < converteste caracterele

mari in cele mici

> Hi HY > converteste caracterele

mici in cele mari

@\! Hi Hi! \ adauga caractere la sfirsit

@;”No Data Entered” Hi Hi

@;”No Data Entered” (blank) No Data Entered

Number format: Selecteaza una dintre optiunile prestabilite sau construieste

un format propriu (custom format ) folosind urmatoarele simboluri:

FORMATUL NUMBER

Format Datasheet

Intrari Afisare Explicatii

###,##0.00 231746.12 231,746.12 0 este un delimitator de pozitie ce afiseaza

cifra 0 daca nu exista altceva

# este un delimitator de pozitie care

afiseaza o cifra sau nimic daca altceva nu

exista

$###,##0.00 0 $0.00

###.00% .25 2.5% % multiplica numarul prin 100 si adauga

semnul procent (%)

Currency format. Acest format consta din patru subsiruri de cifre separate prin

(;), fiind un format pentru numere positive, negative sau de valoare nula.

FORMATUL CURRENCY

Format Explicatii

$##0.00;($##0.00)[Red];$0.00;”none” Valori positive pentru format normal,

negative pentru valori stornate in rosu

scrise in paranteze, zero pentru valoarea

zero, si “none” pentru valori nule.

Date/Time format. In tabela de mai jos valoarea de tip Date/Time „03/06/02”

este introdusa intr-o tabela ACCESS in diferite formate:

19

DATE/TIME FORMAT

Format Afisare Explicatii

dddd”,”mmmm d”,”yyyy Vineri, Iunie 3, 2002 dddd, mmmm, si yyyy

tiparesc numele complet

al zilei, lunii si al anului

ddd”,”mmm „. „ d”, ‚”yy Vin, Iun. 3, ‚02 ddd, mmm, si yy

afiseaza primele trei

litere ale zilei, ale lunii,

si ultimele doua cifre

ale anului

„Azi este „ dddd Azi este Vineri

h:n:s: AM/PM 13:20:15 PM „n” este folosit pentru

minute, pentru a elimina

eventualele confuzii cu

lunile

Yes/No sint afisate in una dintre formatele Check Box, Text Box sau Combo

Box, formatul prestabilit fiind Check Box. Pentru schimbarea formatului

acestor cimpuri mai intii vom executa un clic pe butonul Lookup iar apoi vom

schimba Display Control pe optiunea Text Box, dupa care ne vom reintoarce la

butonul General de optiuni pentru a realiza modificarile de format. Formatul

cuprinde trei sectiuni separate prin (;). Prima sectiune nu contine nimic in afara

caracterului (;) care trebuie inclus obligatoriu, cea de-a doua sectiune specifica

formatul pentru valorile Yes, iar cea de-a treia sectiune specifica formatul pentru

valoarea No

YES/NO FORMAT

Format Explicatii

;”Yes” [verde];”No”[rosu] Afiseaza „Yes” in verde sau „No” in rosu

Default Value – Sint cazuri cind valoarea cimpului este aceeasi pentru toate

inregistrarile. Pentru a evita scrierea repetata a acestei valori in toate cimpurile

tabelei vom seta tabela cu optiunea Default Value.

Primary Key: Fiecare inregistrare din tabela trebuie sa aibe un identificator,

numit cheie primara, care diferentiaza aceasta inregistrare in raport cu celelalte

inregistrari. In anumite cazuri putem desemna din cadrul tabelei un singur

cimp particular ca fiind cheie primara, bineinteles daca sintem siguri ca fiecare

inregistrare din tabela are o valoare diferita pentru acest cimp particular. Pentru a

19

desemna un cimp drept cheie primara vom executa un clic pe inregistrarea

respectiva si vom selecta Primary Key shortcut, sau putem selecta

EditPrimary Key din bara de meniu. Intr-o tabela putem recunoaste cimpul

Primary Key prin semnul cheii care apare la stinga. Pentru a schimba pozitia

cheii primare vom executa un clic cu butonul drept al mouse-ului, urmat de un

nou clic pe Primary Key din meniul care apare pentru a o dezactiva, apoi vom

repeta una din etapele de pina acum pentru desemnarea noii chei. Daca nici

unul dintre cimpurile tabelei nu produce valori diferite pentru fiecare

inregistrare si nu am desemnat inca cheia primara, ACCESS are posibilitatea

creerii unui astfel de cimp si adaugarea automata a acestuia la tabela in primul

moment al salvarii (Save) tabelei nou create, cind ni se cere daca dorim sau nu

creerea unui astfel de cimp. Acest cimp este numit “ID” iar tipul de date

corespunzator lui va fi “Autonumber” ce permite actualizarea automata ori de

cite ori vom aduga o noua inregistrare acestei tabele.

Indexes: permit ACCESS-ului interogarea si sortarea rapida a inregistrarilor.

Pentru setarea unui cimp indexat vom selecta cimpul cautat si vom schimba

proprietatea Indexed in Yes (Duplicates OK) daca intrari multiple prezentind

aceleasi valori sint permise, sau Yes (No Duplicates) pentru prevenirea acestor

cazuri.

Field Validation Rules: specifica reguli pentru introducerea datelor intr-o

foaie ACCESS. Ori de cite ori va fii incalcata una dintre regulile setate vom fii

de fiecare data atentionati prin aparitia pe ecran al unui mesaj in acest sens. Vom

executa un clic pe butonul constructor (builder) (“…”) de la sfirsitul casutei

Validation Rule pentru a scrie o regula de validare.

Input Masks: controleaza valoarea unei inregistrari si o seteaza intr-un format

specific. Este similara cu proprietatea Format, cu deosebirea ca aceasta afiseaza

pe ecran formatul inainte de intrarea datelor. De exemplu, cimpul corespunzator

numarului de telefon “(514) 485-2106” poate fii formatat cu o masca de intrare

care sa accepte zece cifre, cimpul “blank (-)” putind fii privit astfel:

(514)485_2106

2.2. Inregistrari (records) intr-o foaie ACCESS

19

a) Adaugarea unei inregistrari intr-o tabela (Adding)

Pentru adaugarea unei noi inregistrari intr-o tabela selectam mai intii tabela in Datasheet

view si apoi vom plasa cursorul pe linia cu (*), ce semnifica o noua inregistrare. Vom introduce in

continuare datele noii inregistrari, respectind tipul de format specificat mai sus. Aceeasi actiune o

putem de asemenea realiza executind in mod repetat clic pe butonul Next Record de pe bara de

instrumente din partea de jos a tabelei, pina cind indicatorul de pozitionare va ajunge pe linia noii

inregistrari.

b) Editarea unei inregistrari ACCESS (Edit)

Pentru a edita o inregistrare de tip ACCESS vom pozitiona cursorul pe inregistrarea care

dorim s-o editam, si apoi vom efectua schimbarile dorite.

c) Stergerea unei inregistrari (Delete)

Pentru a sterge o inregistrare vom pozitiona cursorul pe oricare dintre cimpurile inregistrarii

si apoi vom selecta din bara de meniu EditDelete, ori pur si simplu executam un clic pe

butonul Delete Record din bara de instrumente sau din bara de meniu EditInsert a foii ACCESS.

d) Adaugarea de noi coloane sau stergerea lor dintr-o tabela

Pentru a aduga o coloana noua intr-o tabela vom suprailumina (highlight) coloana din

dreapta noii coloane si vom selecta din bara de meniu Insert Column, ori cu butonul drept al

mouse-ului vom executa un clic pe coloana suprailuminata si vom selecta din meniul afisat pe

ecran optiunea Insert Column.

Pentru a sterge o coloana vom selecta din bara de meniu a foii EditDelete Column.

e) Redimensionarea unei linii sau a unei coloane (Resizing)

Pentru a schimba latimea unei coloane sau a unei linii vom pozitiona cursorul pe frontiera

dintre doua linii sau doua coloane si vom trage apoi linia de dimensionare ce apare pe ecran spre

dreapta sau spre stinga in sensul cresterii sau descresterii latimii acestora.

f) Inghetarea unei coloane (Freezing Column)

In cazul unor tabele cu un numar mare de coloane este destul de greu vizualizarea datelor

relevante in acelasi timp, de aceea vom incerca sa inghetam coloanele care ne intereseaza. Pentru

a realiza acest obiectiv vom selecta din bara de meniu Format optiunile Freezing Columns ori

Unfreezing All Columns, in cazul dezghetarii lor.

19

Sortarea si Filtrarea inregistrarilor dintr-o tabela (Sorting and Filtering)

Sortarea si Filtrarea permit vizualizarea inregistrarilor dintr-o tabela in diferite moduri fie

prin reordonarea tuturor inregistrarilor sau vizualizarea numai anumitor inregistrari care

indeplinesc un anumit criteriu de selectie.

a) Sortarea inregistrarilor dintr-o tabela

Putem vizualiza inregistrarile dintr-o tabela intr-o anumita ordine, cum ar fii de exemplu

sortarea dupa o anumita valoare a unui cimp sau in ordine alfabetica. Pentru realizarea sortarii

inregistrarilor dupa o anumita valoare a unui cimp vom parcurge urmatoarele etape:

Pasul 1: In Table View plasam cursorul in coloana care dorim sa o sortam;

Pasul 2: Selectam Records|Sort|Sort Ascending sau Records|Sort|Sort Descending din bara de

meniu ori clic butoanele Sort Ascending sau Sort Descending din bara de instrumente;

Pentru a sorta mai mult de o coloana vom suprailumina coloanele prin executarea unui clic si

tragere a mouse-ului deasupra etichetelor cimpurilor respective urmata de selectia unuia dintre

procedeele de la Pasul 2.

b) Filtrare prin selectie

Putem filtra inregistrarile care contin valori identice pentru datele dintr-un anume cimp al

tabelei, de exemplu vom putea selecta din cimpul Numele al tabelei Date personale toate

inregistrarile care au valoarea Ciortan. Pentru aceasta vom plasa cursorul pe cimpul Numele si

vom executa un clic pe butonul Filter by Selection de pe bara de instrumente sau selectam

Records|Filter|Filter By Selection din bara de meniu.

c) Filtrare prin selectie a unei forme (Filter by Form)

In cazul unor tabele de dimensiuni prea mari este uneori dificil sa gasim inregistrari ce

contin valoarea pe care dorim s-o filtram, fapt pentru care utilizam aceasta tehnica de selectie dupa

o anumita forma. Pentru aceasta vom executa un clic pe butonul Filter by Form din bara de

instrumente, iar in ferestra ce se deschide Look for vom executa un clic pe cimpul care dorim sa

facem o multipla selectie, de exemplu pe acelasi cimp Numele din tabela Date personale cu

criteriul de selectie ca toate inregistrarile din acest cimp sa aibe valoarea “Popescu” sau “Sopu”

(selectie multipla a tuturor persoanelor care poarta numele Popescu sau Sopu). In momenul in

care executam clic pe cimpul ale carui valori dorim sa le selectam va apare un drop-down meniu,

indicat printr-o sageata orientata cu virful in jos. Din acest meniu selectam valorile “Popescu” si

19

“Sopu” folosind butonul Or din partea inferioara a ferestrei Look for. Dupa terminarea selectiei

repetate utilizind butonul Or vom executa un clic pe butonul Apply Filter din bara de

instrumente.

Pentru selectarea inregistrarilor dintr-o tabela care nu au exact aceeasi valoare am putea

utiliza urmatoarele metode prezentate in tabela de mai jos. In drop-down meniul care apare prin

executia unui clic pe cimpul ale carui valori le selectam vom scrie de aceasta data una dintre

expresiile tip al caror format este dat in tabela in loc de a alege valori absolute din cimp.

FILTER BY FORM

Format Explicatii

Like „*Ciortan” Selecteaza toate inregistrarile cre se termina in „Ciortan”

<=”S” Selecteaza toate inregistrarile care incep cu literele de la A la S

>1/1/55 Selecteaza toate datele de dupa 1/1/55

<> 0 Selecteaza toate inregistrarile care nu sint egale cu zero

De exemplu, utilizind al treilea criteriu de selectie din tabela de forma:

>= 12/12/75

vom putea selecta toate persoanele din tabela Date personale care sint nascute pina in 12

Decembrie 1975, deci o selectie in cimpul “data nasterii”.

d) Salvarea unui Filter (Save)

Continutul tabelei rezultate dupa filtrare sau sortare poate fii salvat ca o interogatie (Query)

prin selectarea File|Save As Query din bara de meniu. Vom alege un nume pentru aceasta

interogare, de exemplu Query1 si vom executa un clic pe OK.

e) Dezactivarea unui Filtru

Pentru a revizualiza toate inregistrarile din tabela supusa filtrarii, executam un clic pe

butonul deja apasat Apply Filter (toggle) din bara de instrumente.

2.3. Relatii intre tabele

Relatiile dintre tabele ACCESS (Relationships)

Pentru a evita duplicarea informatiei intr-o baza de date prin repetarea unor cimpuri in

mai mult de o tabela, ACCESS gaseste o modalitate simpla prin stabilirea unor relatii (maps) care

leaga toate aceste cimpuri din tabele diferite impreuna.

19

Legăturile pot fi de tipul:

unu la unu (1:1) – corespund situaţiei în care unei înregistrări dintr-o tabelă îi corespunde o

singură înregistrare dintr-o altă tabelă; aceste două tabele ar putea fi realizate printr-o singură

tabelă care să conţină toate câmpurile celor două tabele, dar în unele situaţii este utilă această

legătură: dacă avem de-a face cu structuri mari ce depăşesc numărul maxim de cîmpuri (255);

pentru creşterea eficienţei aplicaţiei, în cazul în care există numai câteva înregistrări care au

nevoie de un număr mare de câmpuri adiţionale; pentru asigurarea securităţii datelor, în cazul

în care câmpurile din cel de-al doilea tabel sunt disponibile numai supervizării;

unu la mai mulţi (1:n) – tabelul din “partea unu” (denumit şi Master) a relaţiei trebuie să

aibă o cheie primară, iar tabelul din “partea mai mulţi” (denumit şi Detail) trebuie să conţină un

câmp similar (de acelaşi tip şi dimensiune) denumit cheie externă; unei înregistrări din tabela

Master îi corespund mai multe înregistrări în tabela Detail sau aceeaşi valoare a atributului

cheie primară din prima tabelă se regăseşte ca realizare a atributului cu rol de cheie externă în

mai multe înregistrări din cea de-a doua tabelă;

mai mulţi la mai mulţi (m:n) (ex. Tabele: Studenţi, Cursuri, Inscrieri).

Definirea legăturilor dintre tabele presupune deschiderea ferestrei Relationships prin

acţionarea butonului cu acelaşi nume din bara de butoane standard. Se plasează în această fereastră

tabelele între care dorim să stabilim legături prin selectarea lor din lista ce apare în caseta de dialog

Show Table (prin doubleclick pe numele tabelei sau prin selectare din listă şi acţionarea butonului

ADD), apoi se închide caseta.

Trasarea unei legături se face într-un mod foarte sugestiv, folosind tehnica Drag and drop.

Plasaţi mouse-ul pe atributul cheie primară din tabela Master, menţineţi apăsat butonul stâng şi

“glisaţi” acest atribut peste numele atributului cu rol de cheie externă din tabela Detail. În caseta de

dailog Relationships se afişează tipul relaţiei ce urmează să se definească între cele două tabele.

Caseta de bifat Enforce Referential Integrity va da posibilitatea verificării restricţiilor de integritate

referenţială şi iniţierii ştergerilor şi/sau actualizărilor în cascadă (Cascade Update related fields şi

Cascade delete related records). Butonul Join Type permite, printr-o casetă de dialog, să se

specifice tipul de asociere stabilit între înregistrările celor două tabele:

inner join – când asocierea se realizează între tuplurile prezentând aceleaşi relizări pentru

atributele de legătură;

outer join – permit asocierea înregistrărilor dintr-o tabelă cu cele aparţinând altei tabele,

chiar dacă nu există înregistrări corespondente cu cele din prima tabelă.

19

Integritatea referenţială (Referential Integrity) are rolul de a vă împiedica să faceţi greşeli la

introducerea datelor. În principiu, ea arată că toate informaţiile din cele două câmpuri trebuie să

corespundă. Dacă există o intrare în câmpul de legătură dintr-un tabel care nu există în celălalt,

aceasta este o problemă care poate fi corectată de funcţia Referential Integrity.

Ex.

Pentru ca un utilizator să nu introducă din greşeală în tabela Facturi un cod de client care nu

este introdus în tabela Client se selectează opţiunea Enforce Referential Integrity.

Dacă se întâmplă acest lucru, depinde de ce căsuţă de validare aţi mai selectat:

nici una marcată: Access afişează un mesaj de eroare pentru a vă arăta că aveţi nevoie de o

înregistrare corespondentă în tabelul legat şi nu vă va permite să introduceţi un cod greşit;

Cascade Update Related Fields: dacă operez o modificare în tabelul Clienţi, Access îmi va

modifica toate înregistrările corespondente din Facturi;

Cascade Delete Related Fields: dacă şterg o înregistrare în tabelul Clienţi, Access îmi va

şterge toate înregistrările corespondente din Facturi;

Prima dată când veţi folosi acest mecanism, conform legilor lui Murphy, probabil veţi obţine

un mesaj de eroare datorată fie introduceri datelor necorespunzător înaintea stabilirii legăturii între

tabele, fie nerespectării regulii care spune că pentru câmpul de legătură trebuie să avem acelaşi tip

de dată şi aceeaşi dimensiune în ambele tabele (excepţie Autonumber – Number, Long Integer).

După ce s-a creat o legătură, o puteţi edita prin dublu click pe linia ce face legătura dintre

tabele, aceasta având ca efect redeschiderea casetei de dialog Relationships.

2.4. Interogari

Interogari intr-o tabela ACCESS (Queries)

Cu ajutorul unei interogari putem selecta inregistrari din una sau mai multe tabele dintr-o

baza de date, astfel incit sa poate fii vizualizate, analizate si sortate pe o foaie de date comuna.

Colectia de inregistrari rezultata (dynaset) este salvata ca un obiect distinct al bazei de date, ce

poate fii utilizat ori de cite ori este nevoie. O interogatie va fii actualizata ori de cite ori tabelele

originale din care provine au fost la rindul lor actualizate. ACCESS furnizeaza trei tipuri de

interogari:

Clienţi Facturi

1 Cod client ∞

19

Interogari de tip Select, care extrag datele din tabele pe baza unor valori specificate

Interogari de tip Find Duplicate, care afiseaza inregistrarile cu valori duplicate pentru unul

sau mai multe cimpuri specificate

Interogari de tip Find Unmatched, care afiseaza inregistrarile dintr-o tabela care nu au

valori corespondente in cea de-a doua tabela

1. Creerea unei interogări in Design View

Pentru a creea o Interogatie noua in Design View vom parcurge urmatoarele etape:

Pasul 1: Clic butonul New din pagina Queries din fereastra bazei de date create déjà

data1.mdb.

Fig 2.3. Fereastra bazei de date data1.mdb

Pasul 2: Selectam optiunea Design View si apoi executam clic pe butonul OK.

Pasul 3: Selectam Tables si interogarile existente din Tables si Queries tabs si executam clic pe

butonul Add sa adaugam fiecare din ele la noua interogare.

Pasul 4: Clic Close cind toate tabelele si interogările existente au fost selectate.

19

Fig 2.4. Crearea unei interogari in Design View

Pasul 5: Adaugam cimpurile din tabelele care dorim sa intre in structura Interogatiei nou create

prin executarea unui dublu clic asupra numelui cimpului din casutele acestor tabele sau prin

selectarea numelui cimpului din Field si Table, si anume din drop-down meniurile deschise de

acestea. Putem specifica de asemenea daca consideram necesar si un criteriu de sortare a acestor

date, de exemplu toate inregistrarile care nu incep cu numele localitatii “Constanta”din cimpul

Localitatea nasterii, tabelul Date personale. In cazul selectiei putem utiliza simboluri particulare

(wildcard) si operatori aritmetici, precum indica tabela de mai jos. De asemenea Expression

Builder poate fii utilizat sa ne asiste in timpul scrierii acestor expresii.

Pasul 6: Dupa terminarea selectiei tuturor cimpurilor din tabele clic butonul Run din bara de

instrumente.

Pasul 7: Salvam noua interogatie executind un clic pe butonul Save

19

Fig 2.5. Introducerea datelor din tabelele Angajat si Date personale intr-o noua

Interogare in Design View pe baza unui criteriu de sortare

QUERY WILDCARDS SI EXPRESII OPERATORIALE

Wildcard / Operator Explicatii

? Virsta ? este un wildcard care ia locul unei singure litere

22 * * este un wilcard care reprezinta un numa de caractere

<20 Valoare mai mica decit 20

>=10 Valoare mai mare sau egala cu 10

<>”Constanta” Nu egal cu (toate orasele in afara de Constanta)

Between 10 and 20 Numere intre 10 si 20

Is Null

Is Not Null

Gaseste inregistrari cu valoare nula sau toate inregistrarile care au o valoare

Like „s*” Toate cuvintele ce incep cu litera „s”

>0 And <=100 Toate numerele mai mari decit 0 si mai mici decit 100

„Ion” Or „George”

Valoarile sint Ion sau George

Query Wizard

Ne ofera asistenta in procesul creeri unei noi Interogari.

Pasul 1: Clic icoana Create query by using wizard in fereastra bazei de date

19

Fig 2.6. Fereastra Query Wizard

Pasul 2: Din prima ferestra selectam cimpurile care vor fii incluse in noua executind clic pe butonul

(>) pentru a muta cimpurile selectate din tabele in ferestra din drepta. interogatie

Pasul 3: Clic Next > cind toate cimpurile au fost selectate.

Pasul 4: In urmatoarea ferestra afisata introducem numele interogatiei Angajat Query iar apoi

executam clic pe butonul Finish. Tabela de interogatie rezultanta Angajat Query.

Find Duplicates Query

Acest tip de interogatie filtreaza toate inregistrarile intr-o singura tabela care contin valori duplicate

in cimp.

Pasul 1: Clic butonul New al ferestrei Queries bazei de date, selectam Find Duplicates Query

Wizard din fereastra New Query, urmat de un clic pe butonul OK.

Pasul 2: Din lista indicata in fereastra de dialog ce apare, vom selecta tabela sau tabela de interogare

care dorim sa o verficam pentru gasirea valorilor duplicate, urmata de un clic pe butonul Next.

Deoarece nu exista valori duplicate in Tabela Angajat supusa verificarii tabela de interogatie care

va fii produsa este complet black, nu contine nici o informatie asupra vreunui cimp.

Pasul 3: In cazul in care exista valori duplicate va trebui sa salvam tabela de interogatie rezultata

sub un nume, iar apoi vom executa un clic pe butonul Finish.

19

Stergerea unei Interogari (Delete Query)

Pentru a sterge o tabela de interogatie vom executa un clic pe bara de titlu a tabelei iar apoi vom

apasa tasta Delete de pe claviatura.

Structured Query Language-SQL

Limbajul SQL este un limbaj de interogare orientat pe rezultate folosit la accesarea datelor

pentru interogare, insertie, actualizare si modificari structurale. Desi limbajul SQL este cel mai

puternic sub aspectul posibilitatii de asigurare a interogarilor, are functii cu mult mai puternice decit

simpla regasire a datelor. Printre functiile sale amintim:

Executia de interogari

Crearea bazelor de date

Crearea si modificarea structurii tabelelor

Insertia de inregistrari noi

Modificarea inregistrarilor existente

Crearea de relatii multitabel

Limbajul de programare structurat SQL a fost creat pentru a indica bazei de date CE

ANUME doreste utilizatorul sa efectueze, si nu CUM sa se efectueze actiunea respectiva,

comparativ cu limbajul VISUAL BASIC pentru APLICATII (VBA) care indica calculatorului

exact operatiile pe care acesta trebuie sa le execute secvential. O interogare transmite pur si simplu

o cerere de extragere dintr-o baza de date a unor inregistrari care satisfac anumite criterii. Serverul

bazei de date care intelege limbajul de interogare structurat SQL determina cele mai eficiente

mijloace de satisfacere a cererii de date. Un astfel de limbaje structurat este construit in esenta

pentru a permite generarea unui proces de interogare robust. O instructiune SQL este alcatuita, in

esenta, din patru formulare:

SELECT pentru generarea unei interogari

UPDATE pentru modificarea datelor stocate intr-una sau mai multe inregistrari

INSERT pentru inserarea unei noi inregistrari in tabelul specificat

CREATE pentru construirea unui nou tabel, o noua vedere sau unei noi structuri din baza

de date.

Limbajul de programare structurat SQL consista dintr-un numar de cuvinte cheie si

concepte de baza. Pentru a accesa editorul de text vom incerca sa cream in Design View o noua

interogare, inchizind de aceasta data caseta de dialog cu optiunea “Show Table”, fara a adauga

vreuna din aceste tabele. Selectam din meniul View optiunea SQL View pentru a comuta de pe

interfata grafica (QBE) pe editorul de text al liniilor de cod SQL. Pentru vizualizarea rezultatelor in

orice moment in ferestra editor SQL vom inscrie numele interogarii, iar apoi vom selecta

19

ViewDatasheet. Pentru a comuta din nou in QBE mode (interfata grafica), in scopul vizualizarii

aceleasi interogari, vom selecta View Design View.

Fig 2.7. Crearea in Design View a unei noi interogari

Fig 2.8. Fereastra editor SQL cu prima linie de cod SQL de tip SELECT.

Fig. 2.9. Vizualizarea rezultatelor in Datasheet View

Fig 2.10. Comutarea din SQL mode in QBE mode

19

Dupa cum putem observa construirea unei interogari SQL nu prezinta dificultati, ca de altfel

nici comutarea dintr-un mod in celalat. Vom vedea in cele ce urmeaza ca nici sintaxa liniilor de

cod SQL nu este complicata, cu exceptia cazurilor de scriere a unor linii de cod SQL prea lungi

ce ar putea conduce la aparitia erorilor. Din acest motiv in Access este de preferat utilizarea

limbajului grafic QBE decit a celui structurat SQL. In general pentru scrierea liniilor de cod SQL

pentru operarea unor interogari de baza utilizam urmatoarele cuvinte cheie:

SELECT…FROM ce returneaza un set de inregistrari din unul sau mai multe tabele

SELECT…INTO ce transfera inregistrarile unor cimpuri dintr-unul sau mai multe tabele

intr-un nou tabel (make table-query)

DISTINCT ce returneaza numai inregistrarile distincte din cimpurile uni tabel sau a mai

multor tabele (elimina inregistrarile duplicate)

WHERE ce defineste conditiile folosite pentru evaluarea inregistrarilor returnate

WHERE…LIKE ce defineste sablonul folosit pentru evaluarea inregistrarilor returnate

WHERE…IN ce defineste un grup de valori folosit pentru evaluarea inregistrarilor

returnate

ORDER BY ce defineste ordinea de sortare care va fi respectata de inregistrarile din setul

de inregistrari returnat dupa anumite criterii

GROUP BY ce grupeaza inregistrarile din setul de inregistrari returnat dupa anumite

criterii

Sum, Avg, Count, Max, Min, Var, StDev, First, Last pentru efectuarea unor operatii

aritmetice, calculul unor statistici (medie aritmetica, varianta sau deviatie standard),

selectia valorii maxime sau minime a unei inregistrari, sau selectia primei sau ultimei

inregistrari dintr-un tabel

Having ce specifica care inregistrari grupate sint afisate printr-o instructiune SELECT

combinata cu o clauza de tip GROUP BY.

AS pentru desemnarea unui alias

INNER JOIN, LEFT JOIN, RIGHT JOIN pentru combinarea inregistrarilor a doua sau

mai multe tabele

INSERT ce insereaza o noua inregistrare si valorile specificate intr-un tabel

UNION ce returneaza un set de inregistrari care contine seturile combinate a doua sau mai

multe inregistrari

UPDATE ce actualizeaza una sau mai multe inregistrari la valorile specificate

CREATE TABLE ce defineste un tabel nou in baza de date curenta.

ALTER TABLE ce defineste noi cimpuri in cadrul tabelului din baza curenta

DROP TABLE ce sterge un tabel al bazei de date

CREATE INDEX ce creaza un index pentru un tabel al bazei de date curente pentru care

se specifica un anumita inregistrae sau un anumit cimp.

DROP INDEX ce sterge indexul aferent unui anumit cimp

19

Instructiunea SQL SELECT...FROM

Instructiunea SELECT…FROM este utilizata intr-o linie de cod SQL pentru selectarea

informatiei dintr-o tabela sau mai multe, localizate intr-o baza de date. Dupa cum se poate vedea

aceasta instructiune SQL contine de fapt doua cuvinte cheie: SELECT informatie FROM un tabel.

Sintaxa acestei instructiuni este reprezentata prin urmatoarea structura:

SELECT nume_cimp FROM nume_tabel

sau, intr-o forma mult mai completa:

SELECT [predicat] { * | tabel.* | [tabel.]cimp1 [AS alias1] [, [tabel.]cimp2 [AS alias2] [,

...]]} FROM expresie_tabel [, ...] [IN baza_de_date_externa]

[WHERE... ]

[GROUP BY... ]

[HAVING... ]

[ORDER BY... ]

[WITH OWNERACCESS OPTION]

Instructiunea SELECT are urmatoarele parti prezentate in Tabelul 2.1.

Tabelul 2.1: Partile componente ale instructiunii SELECT…FROM

PARTI DESCRIERE

Predicat Utilizate pentru restrictionarea numarului de inregistrari returrnate si poate fi

unul dintre urmatoarele predicate:ALL (default), DISTINCT,

DISTINCTROW, or TOP. In cazul nespecificarii este considerat predicatul

ALL (default).

* Specifica faptul ca toate cimpurile din tabelul sau tabelele specificate sint

selectate.

Tabel Numele tabelului continind cimpurile din care sint selectate inregistrarile.

cimp1, cimp2 Numele cimpurilor continind datele ce dorim sa le extragem. Daca sint incluse

mai multe cimpuri ele sint selectate in ordinea in care sint scrise in lista da

cimpuri.

alias1, alias2 Numele utilizate ca nume alternative ce se atribuie cimpurilor din tabel pentru

inlocuirea numelor originale.

Expresie_tabel Numele tabelului sau tabelelor continind datele care dorim sa le extragem.

baza_de_date_externa Numele bazei de date continind tabelele care nu se gasesc localizate in baza

curenta.

Observaţii:

Pentru realizarea acestei operatii motorul bazei de date Microsoft®Jet cauta tabelul sau

tabelele specificate, extrage cimpurile selectate, selecteaza inregistrarile care indeplinesc

criteriul de selectie, si sorteaza or grupeaza inregistrarile rezultate intr-o ordine specificata.

Instructiunea SELECT nu are caracter destructiv, si anume nu schimba cu nimic datele din

baza de date.

19

Daca dorim selectarea mai multor cimpuri din tabele diferite, la care unul dintre cimpuri

este comun trebuie sa specificam in linia de cod SQL numele tabelelor cu extensia cimpurilor ce

trebuiesc selectate, utilizind in acest caz cuvintele cheie INNER JOIN in raport cu cimpurile

comune (ON).

Operatia INNER JOIN combina inregistrarile din doua tabele ori de cite ori exista doua cimpuri

comune cu valori ce coincid.

Sintaxa:

FROM tabel1 INNER JOIN tabel2 ON tabel1.cimp1 operator_de_comparatie tabel2.cimp2

Operatia INNER JOIN are urmatoarele parti:

PARTI DESCRIERE

tabel1, tabel2 Numele tabelelor implicate in operatie

cimp1, cimp2 Numele cimpurilor in raport cu care se face combinarea. Aceste

cimpuri trebuie sa fie de acelasi tip si sa contina acelasi tip de

date, si nu este absolut necesar sa aibe acelasi nume.

Operator_de_comparatie Oricare dintre urmatorii operatori relationali de comparatie:

„=,” „<,” „>,” „<=,” „>=,” sau „<>.”

Observaţii

Putem utiliza operatia INNER JOIN oricind intr-o clauza FROM a unei instructiuni

SELECT.

Putem utiliza operatia INNER JOIN pentru combinarea de exemplu a inregistrarilor din

doua tabele DepartamentTab si AngajatiTab pentru selectia tuturor angajatilor din fiecare

departament (sectie, birou). In contrast, pentru selectia tuturor departamentelor (chiar daca

unele nu au angajati repartizati) sau toti angajatii (chiar daca o parte din ei nu sint

repartizati unui departament), toate aceste situatii pot fi rezolvate cu operatii de tip LEFT

JOIN sau RIGHT JOIN pentru crearea unei operatii outer join.

Putem lega intre ele (nest) mai multe clauze ON intr-o instructiune JOIN, folosind

urmatoarea sintaxa:

SELECT lista_cimpuri

FROM tabel1 INNER JOIN tabel2

ON tabel1.cimp1 operator_de_comparatie tabel2.cimp1 AND

ON tabel1.cimp2 operator_de_comparatie tabel2.cimp2) OR

ON tabel1.cimp3 operator_de_comparatie tabel2.cimp3)];

In mod asemanator pot fi legate (nested) intre ele mai multe operatii INNER JOIN in cazul

mai multor tabele.

19

SELECT lista cimpuri

FROM tabel1 INNER JOIN

(tabel2 INNER JOIN [( ]tabel3

[INNER JOIN [( ]tabelk [INNER JOIN ...)]

ON tabel3.cimp3 operator_de_comparatie tabelk.cimpk)]

ON tabel2.cimp2 operator_de_comparatie tabel3.cimp3)

ON tabel1.cimp1 operator_de_comparatie tabel2.field2;

Instructiunea conditionala SELECT…FROM cu clauza WHERE

Daca dorim sa selectam numai anumite inregistrari din cimpurile indicate intr-o instructiune

SELECT…FROM vom utiliza clauza de tip WHERE, avind urmatoarea sintaxa:

SELECT nume_cimp FROM nume_tabel WHERE criteriu_de_selectie

Pentru clauza WHERE este necesara utilizarea in interogare a unuia dintre urmatorii operatori de

comparatie, in scopul specificarii criteriilor de selectie:

LIKE, operator de comparatie de tip sir de caractere

=, egal cu

>, mai mare decit

<, mai mic

>=, mai mare sau egal

<=, mai mic sau egal

!=, diferit de

!>, nu mai mare decit

!<, nu mai mic decit

Instructiunea SELECT…FROM cu clauza ORDER BY

O astfel de instructiune este utilizata pentru returnarea tuturor inregistrarilor in ordine ascendenta

sau descendenta dintr-un cimp sau mai multe cimpuri specificate.

Sintaxa:

SELECT lista_cimpurilor FROM nume-tabel WHERE criteriu_de_selectie [ORDER BY

cimp1 [ASC | DESC ][, cimp2 [ASC | DESC ]][, ...]]]

Instructiunea SELECT…FROM ce utilizeaza predicatele ALL, DISTINCT,

DISTINCTROW si TOP

Sintaxa:

SELECT [ALL | DISTINCT | DISTINCTROW | [TOP n [PERCENT]]]

FROM nume_tabel

In acest caz instructiunea SELECT contine urmatoarele parti prezentate in Tabelul 2.2.

19

Tabelul 2.2. Partile componente ale instructiunii SELECT utilizind predicate

PARTI DESCRIERE

ALL Presupus subinteles (default) daca nu este inclus nici un predicat.

DISTINCT Omite inregistrari ce contin data duplicate in cimpurile selectate. Pentru a fi inclus in

rezultatele interogarii valorile fiecarui cimp listat in instructiunea SELECT trebuie

sa fie unice. Daca instructiunea SELECT contine mai multe cimpuri, combinatia

valorilor tuturor acestor cimpuri trebuie sa fie unica pentru o anumita inregistrare

pentru a putea fi inclusa in rezultatul obtinut.

DISTINCTROW Omite datele din cadrul inregistrarilor duplicate, nu numai din cimpuri. Are efect

doar cind selectam citeva cimpuri, ci nu toate, dintr-o tabela sau mai multe care

intra in interogare. Este ignorata daca introgarea include doar un tabel, sau sint

incluse toate cimpurile dintr-un tabel sau mai multe.

TOP n [PERCENT] Returneaza anumit numar de inregistrari care apar la inceputul sau sfirsitul unui

interval specificat prin clauza ORDER BY. Numarul inregistrarilor selectate trebuie

sa fie diferit de jumatate din totalul lor pentru ca aceasta instructiune sa dea a da

rezultate exacte. In loc sa specificam numarul inregistrarilor selectate putem indica

un procentaj al numarului total de inregistrari selectate.

Nume_tabel Numele tabelului din care extragem inregistrarile.

2.5. Formulare

Crearea si utilizarea formularelor ACCESS

Formele sint utilizate ca o alternativa la introducerea datelor intr-o tabela a bazei de date.

Creerea formelor utilizind Wizard

Pentru a crea o forma ACCESS utilizind asistenta wizard vom parcurge urmatoarele etape:

Pasul 1: Clic optiunea Create form by using wizard din fereastra bazei de date data1. mdb.

Pasul 2: Din drop-meniul Tables/Queries selectam tabela sau interogatia a carei foaie de date va

servi support pentru creerea formei respective. Vom suprailumina cimpurile din foaia de date,

fereastra Available Fields, care dorim sa le includem in forma respectiva si printr-un clic pe

butonul cu sageata (>) vom transfera aceste cimpuri in cea de-a doua fereastra, Selected Fields. In

cazul unei manevre eronate a unui cimp, acesta poate fii utilizind butonul cu sageata (<). Dupa ce

toate cimpurile au fost selectate in mod correct vom clica butonul Next >.

19

Fig 2.11.. Form Wizard-fereastra de dialog

Pasul 3: Pe ecranul care urmeaza vom selecta una din optiunile de format ale formei create:

Columnar care afiseaza o singura inregistrare deodata cu etichetele si forma cimpurilor

listate de o parte si de alta in coloane.

Justified care afiseaza o singura inregistrare cu etichetele si forma cimpurilor de-a lungul

ecranului

Tabular care listeaza mai multe inregistrari deodata pe o pagina cu cimpurile pe coloane

iar inregistrarile pe linii

Datasheet care afiseaza mai multe inregistrari in Datasheet View

Pasul 4: Clic butonul Next > pentru a trece la ecranul urmator

Fig 2.12. Form Wizard cu optiunile de format

Pasul 5: Selectam stilul de vizualizare pentru forma creata din lista indicata de optiuni si

executam un clic pe butonul Next >.

19

Fig. 2.13. Form Wizard-optiuni cu stilul de visualizare al formei create

Pasul 6: De pe ultimul ecran stabilim un nume pentru forma creata, Form_Angajat si selectam

optiunea “Open the form to view or enter information” pentru a deschide forma in Form View sau

“Modify the form’s design” pentru a o deschide in Design View. Executam un clic pe butonul

Finish pentru a crea forma respectiva.

Crearea formularelor în Design View

Pentru creerea unei forme in Design View plecind de la zero vom parcurge urmatoarele etape:

Pasul 1: Clic butonul New din fereastra formei bazei de date data1.mdb.

Pasul 2: Selectam optiunea Design View si alegem tabela sau interogatia care dorim sa fie

suportul noii forme ce va fii creata, din drop-down meniul ce apare in fereastra.

19

Fig 2.14. Form Wizard, denumirea formei si selectarea optiunii de deschidere

Fig 2.15. Form_Angajat in Form View

Fig 2.16. Creerea unei forme in Design View –specificarea sursei de date

Pasul 3: Selectam View|Toolbox din bara de meniu pentru a vizualiza bara de instrumente

flotanta cu optiuni suplimentare de mai jos:

19

Fig. 2.17. Bara de instrumente flotanta

Pasul 4: Putem sa controlam noua forma prin executia unui clic si tragerea numelor cimpurilor din

fereastra flotanta a optiunii Field List. ACCESS creaza o casuta text pentru valoarea si eticheta

numelui cimpului cind actiunea este indeplinita. Pentru a controla toate cimpurile din Field List,

vom executa un dublu-clic a barei de titlu a ferestrei Field List si tragerea tuturor cimpurilor

suprailuminate la noua forma. Forma rezultata este o noua tabela creata din tabela sursa Date

personale, din care am retinut doar cimpurile ce ne-au interesat:

Fig 2.18. Creerea unei Forme in Design View: drop-down meniu

19

1. Adaugarea de noi inregistrari intr-o forma

Pentru a dauga noi inregistrari intr-o forma deja creata vom apasa pe tasta Tab de pe

keyboard pentru a ne deplasa de la un cimp la altul sau pur si simplu putem executa un clic pe

butonul New Record din partea de jos al ferestrei Form. Inregistrarile sint automat salvate pe

masura ce sint introduse in tabela Form, nefiind deci necesara salvarea lor de fiecare data manual.

2. Editarea Formelor

In cazul modificarii unei forme in Design View urmatoarele elemente s-ar putea dovedi

benefice atit pentru conceptor cit si pentru utilizator:

Grid lines – Prestabileste o serie de linii si puncte in Design View Form pentru a facilita

alinierea cimpurilor din tabela. Pentru a bascula (toggle) aceasta caracteristica selectam

View|Grid din bara de meniu.

Snap to Grid - Selectam Format|Snap to Grid pentru alinierea formei obiectelor cu gridul

pentru alinierea cu usurinta a obiectelor formei sau dezactivam (uncheck) aceasta

caracteristica pentru a permite obiectelor sa fie mobile printre liniile de grid si puncte.

Resizing Objects – Permite redimensionarea obiectelor formei respective cu ajutorul mouse-

ului.

Change form object type – Permite schimbarea tipului de obiect al formei fara a fii necesara

creerea unei noi forme, prin executarea unui dreapta clic cu mouse-ul asupra obiectului

respectiv urmata de selectia Change To si apoi reselectarea noului tip de obiect valabil

din lista afisata in fereastra.

Label/object alignment – Fiecare obiect al formei precum si eticheta sa sint limitate si se

deplaseaza impreuna ori de cite ori unul din ele este deplasat cu mouse-ul. Prin urmare

pentru a schimba pozitia obiectului si a etichetei sale in raport unul cu celalalt mai intii

pozitionam mouse-ul deasupra obiectului in coltul sting, executam un clic asupra sa si-l

tragem in pozitia dorita.

Tab order – Altereaza ordinea obiectelor formei prin selectarea View|Tab Order... din bara

de meniu.

Form Appearance – Schimba culoarea de fond a formei prin executarea unui clic pe butonul

Fill/Back Color de pe bara de instrumente de formatare. Putem schimba culoarea fiecarui

obiect individual al formei prin suprailuminarea obiectului si selectarea unei culori din

paleta de culori Font/Fore Color a barei de instrumente de formatare. Fontul si marimea sa,

efectul, alinierea, bordarea obiectelor precum si efectele speciale pot fii modificate folosind

bara de instrumente de formatare.

19

Floating Toolbox -Alte tipuri de control a formelor

List Boxes

Combo Boxes

Check Boxes

Option Groups

Command Buttons

List Boxes si Combo Boxes

Se dovedesc a fii cele mai simple tehnici de introducere a datelor de intrare intr-o forma.

Diferenta intr cele doua tipuri este aceea ca listele (Lists Boxes) afiseaza toate valorile posibile

dintr-o forma pe cind cutiile Combo (Combo Boxes) nu afiseaza datele pina cind nu executam clic

pe butonul sageata pentru a deschide lista de valori ale formei respective, dupa cum se poate vedea

din exemplele de mai jos:

COMBO BOX LIST BOX

Whitaker Hall

Academic 3

Ben Hill Grif f in III Hall

Reed Hall

Utilizind liste si cutii combo numele si prenumele angajatilor nu mai trebuiesc repetate pentru

fiecare inregistrare in parte, ci va trebui ales dintr-o lista care apoi va afisa toate elementele

corespunzatoare fiecarui angajat in parte.

Check Boxes si Butoane Option

Folosim astfel de tehnici de creere a noi forme pentru a afisa valorile logice binare Yes/No,

True/False sau On/Off. Numai una dintre aceste butoane de optiuni putem selecta in acelasi timp

spre deosebire de grupul Check Boxes unde putem selecta oricare dintre valori. In mod normal

folosim aceste butoane de control ori de cite ori cele cinci optiuni sau mai putin sint valabile.

Cutiile Combo sau listele sint preferabile in cazul unor liste lungi de optiuni.

Butoane de comanda

Sint plasate inaintea fiecarei inregistrari pentru a deschide o alta forma.

19

2.6. Rapoarte

Crearea Rapoartelor in ACCESS (Reports)

Rapoartele organizeaza si grupeaza informatia dintr-o tabela sau interogatie si furnizeaza o

modalitate de tiparire a datelor dintr-o baza de date.

Crearea unui Raport folosind Wizard

Pentru a crea un raport utilizind aceasta tehnica vom parcurge urmatoarele etape:

Pasul 1: Dublu clic pe optiunea “Create report by using wizard” din fereastra bazei de date,

categoria de obiecte Reports.

Pasul 2: Selectam informatia sursa valabila pentru creerea raportului prin transferarea cimpurilor

din fereastra de meniu Available Fields in fereastra Selected Fields folosind butonul cu o singura

sageata (<) sau cu doua sageti (<<) pentru transferarea simultana a tuturor cimpurilor. Clic pe

butonul Next pentru a trece la un nou ecran.

Pasul 3: In fereastra ecranului utilizam optiunea Priority daca dorim schimbarea ordinii de

prezentare a cimpurilor. Clic pe butonul Next pentru a trece la urmatorul ecran.

Pasul 4: Daca o anumita ordine a inregistrarilor se impune o putem faca in cadrul acestui ecran

prezentat care ne ofera primele patru pozitii in ordine ascendenta sau descendenta. Clic pe butonul

Next pentru a trece la urmatorul ecran.

Pasul 5: Ecranul care apare ofera posibilitatea alegerii formatului de prezentare a datelor in raport

precum si orientarea paginii. Clic pe butonul Next pentru aparitia ecranului urmator.

Pasul 6: Selectam stilul de prezentare din lista derulanta cu optiuni. Clic pe butonul Next pentru a

trece la ultimul ecran.

Pasul 7: In ferestra ecranului final sintem invitati sa dam un titlu raportului si sa alegem o optiune

de manipulare a raportului

Crearea unui Raport in Design View

Pentru a crea un raport incepind de la zero selectam Design View din fereastra Reports Database.

Pasul 1: Executam un clic pe butonul New, suprailuminam “Design View” si vom alege sursele

de date pentru raport din drop-down meniul care apare in fereastra dupa care executam un nou clic

de aceasta data insa pe butonul OK.

Pasul 2: In ecranul care apare intilnim acelasi design ca si in cazul creerii unei forme in Design

View, inclusiv meniul Toolbox. Deci pentru creerea unui report in Design View vom proceda in

mod asemanator ca si in cazul Formelor in Design View. Din caseta cu datele sursa care apare pe

19

ecran vom executa un clic pe bara de titlu al acesteia suprailuminind toate cimpurile deodata. Vom

transfera intrgul pachet de inregistrari prin tragerea mouse-ului pe suprafata sectiunii Details.

Putem chiar adauga pe aceeasi suprafata citeva controale selectate din meniul Toolbox.

Pasul 3: Clic pe butonul Print Preview pentru a vizualiza documentul creat.

Imprimarea rapoartelor (Print)

Pentru imprimarea raportului creat trebuie sa selectam din bara de meniu FilePage Setup pentru

ajustarea marginilor, dimensiunilor, orientarii, coloanelor documentului creat. Apoi vom selecta

Print din File meniu sau de pe bara de instrumente.

19

Bibliografie

1. Chiru, C., Pacuraru, R., Grigore, M., 2012. Limbaje si baze de date. Bucuresti: Fundatia

Romania de Maine, ISBN: 978-973-163-928-4.

2. Fusaru, D., Aplicaţii economice în Visual Basic şi Access, Editura Fundatiei România de

Mâine, 2007.

3. Gherasim, Z., Programare si baze de date, Editura Fundatiei România de Mâine, 2007.

4. Ionescu, B. şi colectiv, Informatica utilizatorului: Office 2007, Ed. InfoMega, Bucureşti,

2008.

5. Popescu, G., Sisteme informatice. Proiectare şi programare în Access, Ed. “Ovidius”

University Press, Constanta, 2003.

6. Tudoroiu, N., Grigore M., s.a. Informatică de gestiune, Editura Europolis, 2004.