an universitar 2016 - 2017 - sjse-ct.spiruharet.ro · dintre cele mai cunoscute metode de analiza...
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.