Aplicații cu Baze de Date Pentru Gestiunea Monetară

UNIVERSITATEA DE VEST

FACULTATEA DE MATEMATICĂ ȘI INFORMATICĂ

LUCRARE DE LICENȚĂ

Aplicații cu baze de date pentru gestiunea monetară

Coordonator :

Lect. Drd. Petrov Gheorghe

Autor:

Mezei Cătălin-Andrei

Timișoara 2016

UNIVERSITATEA DE VEST

FACULTATEA DE MATEMATICĂ ȘI INFORMATICĂ

LUCRARE DE LICENȚĂ

Aplicații cu baze de date pentru gestiunea monetară

Coordonator :

Lect. Drd. Petrov Gheorghe

Autor:

Mezei Cătălin-Andrei

Timișoara 2016

Cuprins

Introducere

Cap. I. Tehnologii pentru elaborarea aplicațiilor

Noțiuni generale

1.2 Baze de date

1.3 Sisteme de gestiune a bazelor de date

1.4 Oracle

1.4 SQL

1.5 Access

1.6 Tehnologii vizuale și de reprezentare grafică

Cap II. Proiectarea aplicațiilor

2.1 Arhitectura unui sistem pentru softul de gestiune monetara

2.2 Dezvoltarea aplicatiei

2.3 Aplicabilitate

2.4 Inregistrarea si prelucrarea tranzactiilor

Cap. III. Aplicatie cu baze de date pentru gestiune monetara

Introducere

Managementul monetar si contabilitatea pot fi privite ca un ansamblu de actiuni si masuri luate in scopul dirijarii corecte a fluxului financiar.

Ceea ce constituie o certitudine este faptul că apariția gestiunii monetare și evoluția acesteia au ca motiv determinant necesitatea fiecaruia de a cunoaște anumite realități de natură economică, financiară, socială. Apariția gestiunii financiare este nemijlocită de un anumit context economico-social. A avut la început un caracter rudimentar, care pe măsura dezvoltării a crescut rolul ei de cunoaștere a realităților.

Noțiunea de gestiune financiara în înțelesul ei de astăzi nu este echivalentă cu nici una din însemnările sau urmele scrise folosite de unele triburi indiene, nici cu tăblițele de lut ars, nici cu alte însemnări descoperite în Persia, aceasta constituind etapa evidenței rudimentare.

În accepțiunea modernă, contabilitatea, rolul său reprezentativ și multiplele funcții în activitatea economică, financiară și socială are o istorie proprie, ale cărei începuturi sunt greu de delimitat datorită trecutului îndepărtat al genezei contabilității.

Ceea ce constituie o certitudine este faptul că apariția gestiunii economice și evoluția lentă a acesteia au ca factor determinant necesitatea practică de a cunoaște anumite realități de natură economică, financiară, socială.

Apariția contabilității este nemijlocită de un anumit context economico-social. A avut la început un caracter rudimentar, care pe măsura dezvoltării a crescut rolul ei de cunoaștere a realităților.

Numai experiența practică dobândită treptat în domeniul cunoașterii, cu ajutorul evidenței a creat premisele elaborării de reguli, principii și norme cu caracter teoretic privind contabilitatea.

Noțiunea de gestiune în înțelesul ei de astăzi nu este echivalentă cu nici una din însemnările sau urmele scrise folosite de unele triburi indiene, nici cu tăblițele de lut ars, nici cu alte însemnări descoperite în Persia, aceasta constituind etapa evidenței rudimentare.

Gestiunea financiara a început să se contureze în evul mediu odată cu apariția capitalismului, a extinderii economiei monetare.

Stadii superioare de dezvoltare au dus gestiunea finantelor în unele orașe mari ale Italiei de Nord – Florența, Veneția la dezvoltarea afacerilor în sec.XV impunând conceperea și aplicarea ”metodei venețiene” de organizare a banilor.

Prima lucrare de literatură contabilă a apărut la Veneția sub numele “Summa de arithmetica, geometria, proportioni et proportionalita” si ii apartine lui Luca Paciolo.

În cartea a-IX-a a acestei lucrări, denumită ” Tractatus de computis et scripuris” expune pentru intaia oara partida dublă , care reprezintă și astăzi una din trăsăturile definitorii ale gestiunii monetare.

Obiectivul fundamental al gestiunii îl reprezintă furnizarea de informații care să ofere o imagine fidelă asupra situației și rezultatelor obținute, a progresulul sau a regresului.

„Realizarea imaginii fidele de către sistemul de gestiune presupune ca informațiile furnizate de către aceasta să îndeplinească următoarele condiții :

– datele să fie înregistrate în timp util pentru a fi prelucrate și utilizate;

– informațiile să ofere utilizatorilor o descriere adecvată, să fie corecte și complete;

– informațiile furnizate să rezulte din aplicarea cu bună credință a regulilor și procedurilor de limbaj.”

Pentru aplicatia de management monetar voi sintetiza aceste informatii generale si le voi aplica pe un singur caz particular.

Scopul aplicatiei este acela de a permite unui utilizator de a introduce sub forma de inregistrari toate cheltuielile, toate veniturile si de a oferi rapoarte exacte cu privire la toate aceste tranzactii.

Capitolul I defineste notiunea de baze de date, tipurile acestora, istoricul si progresul lor de-a lungul timpului.

E binecunoscut faptul ca notiunea de baze de date a fost folosita oficial in 1962 în cadrul unei conferințe dedicate limbajelor de gestiune a datelor a unei firme private din California.

O bază de date (BD) reprezintă un ansamblu structurat de fișiere care grupează datele prelucrate în aplicațiile informatice ale unei persoane, grup de persoane, întreprinderi, instituții etc. Formal, BD poate fi definită ca o colecție de date aflate în interdependență, împreună cu descrierea datelor și a relațiilor dintre ele, iar după G.D. Everest, o baza de date reprezintă "o colecție de date utilizata intr-o organizație, colecție care este automatizată, partajată, definită riguros (formalizata) și controlată la nivel central .”

Bazele de date cresc în timp, isi modifica volumul, iar procesele, fenomenele și operațiunile pe care le reflectă evolueaza si ele. Structurarea bazei de date se regaseste în structura si in schema sa. Acestea din urma reprezintă un ansamblu de instrumente pentru descrierea datelor, a relațiilor dintre acestea și a restricțiilor la care sunt supuse. În timp ce volumul creste spectaculos pe masura ce trece timpul si se efectueaza adaugiri, schema unei baze rămâne constantă pe toata durata utilizării acesteia.

In continuare vom dezbate Sistemele de Gestiune a Bazelor de Date (prescurtat SGBD-uri). Acestea reprezintă un ansamblu de programe care permit utilizatorilor să interacționeze cu o baza de date, în scopul creării, actualizării și interogării acesteia. SGBD-ul este cel care :

– asigură și supervizează introducerea de informații în baza de date, actualizarea și extragerea datelor din baza;

– autorizeaza și controleaza accesului la date;

– pastreaza independenta dintre structura bazei și programe.

Scopul primordial al unui SGBD este sa ofere un mediu foarte eficient, adaptat utilizatorilor care doresc să interogheze sau să modifice informațiile conținute în baza. Bazele de date sunt create pentru a putea prelucra un flux mare si foarte mare de informații. Gestionarea acestora presupune nu numai o structurare riguroasă a datelor, dar și o raționalizare a procedurilor de acces și prelucrare.

Celelalte puncte ale capitolului I descriu implementari ale bazelor de date in Oracle, SQL, Access si tehnologii vizuale si de reprezentare grafica.

Sistemul Oracle este un produs al firmei care poarta acelasi nume. A fost printre primele companii care au oferit un sistem comercial pentru gestiunea bazelor de date relationale.

Cercetarile realizate pentru dezvoltarea componentelor acestui sistem au dus la aparitia versiunilor 6 si 7 cu multiple facilitati fata de versiunile anterioare. In 1997 a fost lansat Oracle 8 care a revolutionat lumea SGBD-urilor.

Incepand cu versiunea 5 si continuand pana la versiunea 11g, cea folosita de mine in aplicatia de gestiune monetara, Oracle a fost implementat pe o structura de tip „client-server”. Serverul Oracle include softul de gestiune a bazei de date si o serie de instrumente necesare utilizatorilor si administratorului bazei de date. Dintre componentele incluse in serverul Oracle fac parte Oracle Server, Oracle Manager, Oracle Call Interface, SQL *Plus, SQL*Net, Oracle Administrator si toolbar. Pe langa acestea exista o serie de componente care pot fi instalate atat pe sistemul client cat si pe sistemul server: generatoare de forme, utilitate speciale si elemente de CASE.

„Succesul obtinut de acest sistem se datoreaza multiplelor functiuni oferite. El are incorporat, incepand cu prima versiune, limbajul SQL. Sistemul are de asemenea un mediu propriu de programare, limbajul PL/SQL. Detine precompilatoare pentru limbajele de programare universale (ADA,Cobol,C,PL/I,Fortran,Pascal) care permit scrierea de blocuri PL/SQL sau instructiuni SQL in programe scrise in limbajele aratate.”

In debutul Capitolului II evidentiez importanta existentei unui sistem informatic si a unui sistem informational pentru dezvoltarea aplicatie.

In cadrul sistemului informational se regasesc : informatia vehiculata, documentele purtatoare de informatii, personalul, mijloace de comunicare, sisteme de prelucrare a informatiei.

Printre posibile activitati desfasurate in cadrul acestui sistem, pot fi enumerate :achizitionarea de informatii din sistemul de baza, completarea documentelor si transferul acestora intre diferite compartimente, centralizarea datelor.

în cadrul sistemului informational, majoritatea activitatilor se pot desfasura cu ajutorul tehnicii de calcul. Se pot prelucra datele primare si apoi, rezultatul poate fi transferat mai departe, către alt compartiment spre prelucrare. Transferul se poate face si el pe cale electronică, prin intermediul unei retele de calculatoare sau cu ajutorul modemului.

Ansamblul de elemente implicate în tot acest proces de prelucrare și transmitere a datelor pe cale electronică alcatuiesc un sistem informatic.

într-un sistem informatic pot intra: calculatoare, sisteme de transmisie a datelor, alte componente hardware, softwer-ul, datele prelucrate, personalul ce exploatează tehnica de calcul, teoriile ce stau la baza algoritmilor de prelucrare.

Pentru dezvoltarea aplicatiei voi avea nevoie de o baza de date, tabele si cateva inregistrari.

Aplicatia este destinata tuturor persoanelor fizice care doresc sa monitorizeze veniturile si cheltuielile pe anumite intervale de timp.

De cele mai multe ori am auzit in grupul meu de prieteni expresia “nu stiu pe ce am dat banii” sau “nu inteleg cum se descurca altii”, ambele freaze referindu-se la o proasta gestiune a banilor proprii.

Capitolul I.

1.1 Noțiuni generale

Proiectarea fișierelor și a bazelor de date își propune să asigure trecerea de la descrierea logică a datelor la una tehnica de stocare a datelor. Totuși, proiectarea fizică se concretizează în specificații tehnice folosite ulterior de programatori și alți specialiști implicați în construirea sistemului (în timpul implementării), prin crearea fișierelor, a modurilor de organizare a acestora, precum și a bazelor de date.

Proiectare a fișierelor și bazelor de date are două obiective:

– Transpunerea relațiilor dintr-un model de reprezentare logică a datelor într-un proiect tehnic. Un astfel de proiect va conțin formatele sub care vor fi reprezentate atributele, modul de grupare a acestora din una sau mai multe relații în una sau mai multe înregistrări fizice, alegerea modului de organizare a fiecărui fișier cu înregistrări, precum și proiectarea metodelor de accesare a datelor din unul sau mai multe fișiere.

– Selectarea tehnologiilor folosite pentru stocarea datelor. Tehnologiile includ diverse funcții ale sistemelor de operare numite metode de acces și sisteme de gestiune a bazelor de date. Fiecare tehnologie va fi specifică unei anumite arhitecturi a sistemului.

Informațiile necesare proiectării fizice a fișierelor și bazelor de date se referă la:

– relații normalizate, inclusiv estimarea volumului;

– definirea fiecărui atribut;

– specificarea momentului și a locului utilizării datelor: introducere, restaurare, ștergere, actualizare (inclusiv frecvența operațiunilor);

– timpul preconizat pentru obținerea răspunsurilor;

– descrieri ale tehnologiilor folosite pentru crearea fișierelor și a bazelor de date.

Pe baza informațiilor de mai sus, analistul va lua câteva decizii-cheie, cu reflectare directă în integritatea și performanțele aplicației respective. Deciziile sunt:

1. Selectarea formatului de stocare (tipul datei) pentru fiecare atribut al modelului logic al datelor. Rolul formatului este de minimizare a spațiului de stocare și maximizare a integrității datelor.

2. Gruparea atributelor din modelul logic al datelor în înregistrări fizice numită și structura înregistrărilor/datelor stocate.

3. Aranjarea înregistrărilor înrudite în memoria secundară (discuri, benzi), astfel încât înregistrările individuale sun grupate că poată fi stocate, restructurate și actualizate rapid (operațiunea este cunoscută ca organizarea fișierelor). Tot acum se va pune și problema protecției informațiilor și a reconstituirii lor după anumite incidente.

4. Selectarea suporturilor și structurilor de stocare a datelor astfel încât să se ofere un acces cât mai eficient. Suportul va condiționa și organizarea fișierelor În cazul sistemelor de gestiune a bazelor de date, pasul de față va însemna selectarea opțiunilor pentru acces secvențial sau prin chei precum și implementarea legăturilor/asociate dintre entități si relații. Structura primară cea mai utilizată în prezent se bazează pe indecși construiți prin chei primare și secundare.

Rezultatele proiectării fizice a fișierelor și bazelor de date se concretizează într-un set de specificații ce vor fi utilizate de programatorii sau analiștii bazelor de date pentru definirea formatului și structurii datelor stocate în memoria secundară, de regulă discuri fixe. Pentru cele mai multe sisteme moderne, specificațiilor vor conțin toate informațiile necesare scrierii sau generării declarativelor de definire a datelor în SQL, (un limbaj standard pentru baze de date relaționale). Alteori, specificațiilor vor ajuta la efectuarea operațiunii de descriere a datelor de către programatorii în limbajele COBOL, C sun C++. În acest scop specificațiile vor fi sub forma pseudocoduri dat de multe ori ele sunt orientate spre un anumit limbaj.

1.2 Baze de date

Sintagma baza de date apare pentru prima dată în titlul unei conferințe organizate la Santa Monica (California) în 1964 de System Development Corporation. Majoritatea lucrărilor consideră ca moment al consacrării termenului anul 1969, când CODASYL publică, în cadrul unei conferințe dedicate limbajelor de gestiune a datelor, primul raport tehnic [CODASYL69] în care este prezentat conceptul de „bază de date". Comparativ cu modelul file-based, fișierul de descriere globală a bazei poate fi considerat o inovatie. In acest fel putem garanta independența programelor fată de date.

Avantajele organizării informațiilor în baze de date decurg tocmai din existenta acestui fișier de descriere globala a bazei, denumit, în general, dicționar de date (denumit și repertoar de date sau catalog de sistem). Extragerea și modificarea datelor – altfel spus, lucrul cu fișierele de date – se derulează exclusiv prin intermediul dicționarului în care se găsesc informații privitoare la structura datelor și restricțiile îndeplinite de acestea.

Iată câteva dintre avantaje:

– Un grad redus de redundanta a datelor;

– Evitarea, în mai mare măsură, a inconsistentei datelor;

-Facilitarea partajării informațiilor intre toți utilizatorii acestora din cadrul organizației;

– Suport pentru standardizare;

– Implementarea unor mecanisme ameliorate privind asigurarea securității informațiilor;

– Îmbunătățirea integrității datelor.

– Un mai bun suport pentru rezolvarea conflictelor ce apar la încercările de modificare simultan a unei aceleiași date (de către doi sau mai mulți utilizatori).

– Structurile de date sunt mai aproape de realitate și mai ușor de manipulat.

– Este permisa legătura cu diverse limbaje-gazdă.

– Întreprinderea poate fi abordata global, luându-se în considerare și interacțiunile dintre compartimente (producție, marketing, personal, finanțe, contabilitate).

– Datele fiind separate de programele de consultare și actualizare a lor, procesul de dezvoltare a aplicațiilor-program este sensibil ameliorat, efortul de scriere a programelor (codarea) diminuându-se considerabil.

– Sistemele informatice ce utilizează baze de date sunt mai flexibile, reflecta mai bine specificul firmei, fiind adaptabile la modificările ulterioare ale mediului economic.

O bază de date (BD) reprezintă un ansamblu structurat de fișiere care grupează datele prelucrate în aplicațiile informatice ale unei persoane, grup de persoane, întreprinderi, instituții etc. Formal, BD poate fi definită ca o colecție de date aflate în interdependență, împreună cu descrierea datelor și a relațiilor dintre ele. "O colecție de date utilizata intr-o organizație, colecție care este automatizată, partajată, definită riguros (formalizata) și controlată la nivel central ."

Bazele de date cresc în timp, isi modifica volumul, iar procesele, fenomenele și operațiunile pe care le reflectă evolueaza si ele. Structurarea bazei de date se regaseste în structura si in schema sa. Acestea din urma reprezintă un ansamblu de instrumente pentru descrierea datelor, a relațiilor dintre acestea și a restricțiilor la care sunt supuse. În timp ce volumul creste spectaculos pe masura ce trece timpul si se efectueaza adaugiri, schema unei baze rămâne constantă pe toata durata utilizării acesteia.

Limbaje de definire a datelor

Arhitectura unei baze de date este specificată printr-o serie de definiții redactate sub forma de instrucțiuni scrise intr-un anumit limbaj – limbajul de definire a datelor – DDL (Data Definition Language). Execuția acestor definiții se materializează intr-un ansamblu de tabele care sunt memorate într-un fișier special, denumit dicționar (sau repertoar) de date.

Un dicționar de date conține deci metadate, adică date relative la alte date, fiind consultat înaintea oricărei citiri sau modificări a datelor din bază.

Principalele funcții ale DDL sunt:

1. Descrierea logică a bazei de date și sub-schemelor proprii fiecărui grup de utilizatori.

2. Identificarea schemei, sub-schemelor și diverselor agregări de date.

3. Specificarea fișierelor de date și a legăturilor logice dintre acestea. Pe baza acestor specificării se poate realiza accesul la date chiar și în condițiile coexistenței mai multor modele de organizare într-o aceeași BD.

4. Definirea restricțiilor semantice la care sunt supuse datele. Acestea reprezintă ansamblul valorilor permise ale fiecărei date, eventual formula de calcul a unei date pe baza valorilor altor date. Respectarea acestor restricții asigură coerența bazei.

5. Definirea cheilor de acces rapid și a cheilor confidențiale (parolelor).

6. Definirea metodelor de exploatare a fișierelor ce vor fi utilizate în aplicații pentru selectarea înregistrărilor.

7. Definirea procedurilor speciale de criptare, în vederea generării cheilor de acces.

8. Definirea modului de indexare sau de localizare a entităților.

9. Denumirea tipului unei date, în sensul de data de baza sau derivată

„Dată fiind complexitatea structurilor de memorare și metodelor de acces la acestea, la nivelul elementar fișierele de date și dicționarul de date sunt accesibile numai specialiștilor. În schimb, pentru descrierea schemei BD, marea majoritate a limbajelor de interogare prezintă comenzi adecvate, ce pot fi utilizate și de ne-informaticieni”.

Limbaje de manipulare a datelor

Prin manipularea datelor se înțelege efectuarea uneia dintre următoarele operațiuni:

– extragerea unor date din baza (consultare);

– scrierea de noi date în baza (adăugare);

– ștergerea datelor perimate sau eronate (uneori chiar și a celor corecte);

– modificarea valorii unor date.

„Prin limbaj de manipulare a datelor (DML – Data Manipulation Language) este utilizat pentru a prelucra datele în funcție de structura lor. La nivel fizic, prin DML se vizează identificarea și implementarea unor algoritmi performanți de acces la date, în timp ce la nivel extern DML trebuie sa faciliteze dialogul utilizatorului cu baza în vederea obținerii informațiilor dorite.”

In mod curent, termenul consultare sau interogare desemnează acțiunea de căutare și identificare a datelor necesare, dintre cele aflate în baza. Ansamblul instrucțiunilor DML pentru căutarea și identificarea datelor constituie limbajul de consultare.

1.3 Sisteme de gestiune a bazelor de date

Sistemele de Gestiune a Bazelor de Date (prescurtat SGBD-uri) reprezintă un ansamblu de programe ce permit utilizatorilor să interacționeze cu o baza de date, în vederea creării, actualizării și interogării acesteia. SGBD-ul este cel care :

– asigură și supervizează introducerea de informații în baza de date, actualizarea și extragerea datelor din baza;

– autorizarea și controlul accesului la date;

– păstrarea independenței dintre structura bazei și programe.

Scopul primordial al unui SGBD este sa ofere un mediu foarte eficient, adaptat utilizatorilor care doresc să interogheze sau să modifice informațiile conținute în baza. Bazele de date sunt create pentru a putea prelucra un flux mare si foarte mare de informații. Gestionarea acestora presupune nu numai o structurare riguroasă a datelor, dar și o raționalizare a procedurilor de acces și prelucrare.

Principalele funcțiuni ale unui SGBD vizează:

– descrierea ansamblului de date la nivelurile fizic și conceptual;

– crearea (inițializarea) și exploatarea (consultarea și actualizarea) bazei de date;

– controlul integrității informații bazei;

– confidențialitatea informațiilor conținute în bază;

– accesul simultan al mai multor utilizatori la informații;

– securitatea în funcționare;

– furnizarea unui set de comenzi și instrucțiuni necesare atât utilizatorilor pentru consultarea directa a bazei, prin intermediul unui limbaj de manipulate, cat și programatorilor, pentru redactarea programelor de lucru cu baza de date;

– revizia și restructurarea bazei;

– monitorizarea performantelor.

Un SGBD prezintă, în general, următoarele module:

– Gestionarul fișierelor, care se ocupă cu afectarea spațiilor de memorie pe disc și cu structurile fizice de date care servesc la reprezentarea informațiilor pe suport.

– Gestionarul bazei de date face legatura datelor „fizice" din bază cu aplicațiile-program de consultare și actualizare.

– Procesorul de consultare „traduce" instrucțiunile limbajului de consultare în instrucțiuni elementare, „inteligibile" pentru gestionarul bazei. Mai mult, acesta optimizeaza consultarea, pentru a obține rezultatele într-un timp cat mai scurt.

– Modulele DML (Data Manipulation Language) realizează conversia instrucțiunilor limbajului de manipulare a datelor (DML) inserate intr-un program de aplicație în proceduri curente ale limbajului-gazdă, interacționând cu procesorul de consultare în vederea producerii secvențelor de cod adecvate.

– Modulele Limbajului de Definire a Datelor – DDL (Data Definition Language) „traduc" (prin compilare sau interpretare) și execută instrucțiunile DDL, obținându-se ansamblul de tabele ce reprezintă metadatele stocate în dicționarul de date.

1.4 ORACLE

Sistemul Oracle este un produs al firmei care poarta acelasi nume. A fost printre primele companii care au oferit un sistem comercial pentru gestiunea bazelor de date relationale.

Cercetarile realizate pentru dezvoltarea componentelor acestui sistem au dus la aparitia versiunilor 6 si 7 cu multiple facilitati fata de versiunile anterioare. In 1997 a fost lansat Oracle 8 care a revolutionat lumea SGBD-urilor.

Incepand cu versiunea 5 si continuand pana la versiunea 11g, cea folosita de mine in aplicatia de gestiune monetara, Oracle a fost implementat pe o structura de tip „client-server”. Serverul Oracle include softul de gestiune a bazei de date si o serie de instrumente necesare utilizatorilor si administratorului bazei de date. Dintre componentele incluse in serverul Oracle fac parte Oracle Server, Oracle Manager, Oracle Call Interface, SQL *Plus, SQL*Net, Oracle Administrator si toolbar. Pe langa acestea exista o serie de componente care pot fi instalate atat pe sistemul client cat si pe sistemul server: generatoare de forme, utilitate speciale si elemente de CASE.

„Succesul obtinut de acest sistem se datoreaza multiplelor functiuni oferite. El are incorporat, incepand cu prima versiune, limbajul SQL. Sistemul are de asemenea un mediu propriu de programare, limbajul PL/SQL. Detine precompilatoare pentru limbajele de programare universale (ADA,Cobol,C,PL/I,Fortran,Pascal) care permit scrierea de blocuri PL/SQL sau instructiuni SQL in programe scrise in limbajele aratate.”

Este un sistem compatibil pe marea majoritate a calculatoarelor care se afla pe piata. Datele si aplicatiile create cu sistemul Oracle sunt portabile pe calculatoare de modele si dimensiuni diferite, in mod de lucru normal sau in retea.

Sistemul Oracle permite de asemenea accesul la fisierele bazei de date create cu alte sisteme sau limbaje de programare. Permite accesul interactiv la date, simplifica activitatea de programare si asigura securitatea si confidentialitatea datelor, reduce spatiul de memorare si redundanta datelor, asigura independenta memorarii datelor si structura lor logica.

Elementele unei baze de date Oracle fac referire la obiecte, la tipuri de date si la fisierele admise.

Baza de date cuprinde mai multe tabele care au caracteristici si scopuri comune.

Tabela este unitatea de baza pentru memorarea datelor intr-o baza de date Oracle.

Acestea asigura memorarea datelor sub forma de randuri si coloane, toate acestea intr-un sistem relational.

Tipurile de date :

-CHAR si VARCHAR – pentru date sir de caractere de lungime fixa sau variabila;

-NUMBER – pentru date numerice intregi ori reale;

-DATE – pentru date calendaristice;

-LONG – pentru date de lungime variabila;

-RAW SI LONG ROW – pentru date sir de caractere de lungime fixa sau variabila;

-ROWID – este un pseudotip de date ce permite furnizarea adresei fizice a unui rand dintr-o tabela;

1.5 SQL

Se poate afirma ca SQL a devenit, de o bună bucată de vreme, stindardul limbajelor din a IV-a generație. Nu există lucrări sau publicații în domeniul SGBD-urilor care să nu prezinte mecanismul de lucru al acestui limbaj sau ultimele produse/tendințe din lumea SQL. Impactul său este profund. Devenit un fel de esperando al limbajelor pentru baze de date, SQL are toate șansele de a nu cadea în desuetudinea esperando-ului propriu-zis, aceasta deoarece a fost altoit pe toate tipurile de SGBD-uri, de la cele dedicate microcalculatoarelor (PC), la cele care operează în medii distribuite/eterogene/client-server.

SQL este, pe de o parte, unul dintre „responsabili informații" noii apropieri a noninformaticianului de datele sale, iar pe de alta parte, pentru profesioniști, reprezintă nucleul dezvoltării aplicațiilor ce utilizează bazele de date.

Dacă încă din 1970, E.F. Codd sugera „adoptarea unui model relațional pentru organizarea datelor […] care să permită punerea la punct a unui sub-limbaj universal pentru gestiunea acestora, sub-limbaj care să fie, în fapt, o formă aplicată de calcul asupra predicatelor", momentul decisiv în nașterea SQL îl constituie lansarea proiectului System/R de către firma IBM, eveniment ce a avut loc în 1974.

Tot în 1974, Chamberlin și Boyce au publicat un articol în care este prezentat un limbaj structurat de interogare, denumit SEQUEL (Structured English as QUery Language). În 1975, Chamberlin, Boyce, King și Hammer redactează o lucrare dedicată sub-limbajului SQUARE, asemănător SEQUEL-ului, dar care utilizează expresii matematice și nu cuvinte din limba engleză. Autorii celor două studii au demonstrat că limbajele SEQUEL și SQUARE sunt complete din punct de vedere relațional. În 1976, o echipă de autori condusă de Chamberlin elaborează o nouă lucrare în care se face referire la SEQUEL 2, acesta fiind declarat limbaj de interogare al SGBD-ului System/R al firmei IBM.

În 1980, Chamberlin schimbă denumirea SEQUEL în SQL – Structured Query Language (Limbaj Structurat de Interogare), dar și astăzi mulți specialiști pronunță SQL ca pe predecesorul său. Don Chamberlin lucrează încă la IBM și publică, în continuare, lucrări legate de SQL și DB2.

Anii '80 au înregistrat apariția a o serie intreagă de lucrări dedicate SQL, care 1-au perfecționat și consacrat ca pe cel mai răspândit limbaj de interogare a BDR, prezent în numeroase „dialecte" specifice tuturor SGBDR-urilor actuale, de la DB2 la Microsoft SQL Server, de la Oracle la FoxPro și Access.

Încercând să răspundă solicitărilor privind standardizarea unui limbaj de lucru cu bazele de date, Institutul National American pentru Standarde (ANSI) a încredințat această sarcină comitetului X3H2 în anul 1982. Comitetul pentru baze de date X3H2 (unul dintre numeroasele informații tehnice ale X3) a fast și este format din experți independenți și din aproape toate firmele importante din domeniul bazelor de date.

Un standard nou începe cu o schiță, proiect de lucru (working draft) întocmit de comitet ( X3H2) și care este ameliorat până când membrii convin că este aproape finalizat. In această fază proiectul de lucru devine proiect al comitetului (committee draft), care este transmis comunității profesionale și firmelor pentru comentarii și propuneri.

Din 1982, rapid (în circa doi ani), au fost elaborate câteva versiuni ale standardului care insă devenise incompatibil cu dialectele SQL majore la acel moment, astfel încât a fost necesară reluarea lucrului pentru asigurarea unui minim numitor comun.

ANSI publică în 1986 standardul SQL ANSI X3.135-1986, standard ce utilizează, pentru reprezentarea sintaxei, forma Backus-Naur. Este un standard care se bazează, într-o mare măsură, pe „dialectul" SQL al IBM și se întinde pe aproximativ 100 de pagini. Organizația Internațională pentru Standarde (ISO) a adoptat propriul document, aproape identic cu ANSI SQL-86, pe care 1-a publicat în 1987 ca ISO 9075-1987 Database Language SQL.

SQL-86 definește comenzile de bază ale SQL, inclusiv pentru crearea de tabele și tabele virtuale (CREATE TABLE, CREATE VIEW), însă nu contine opțiuni de modificare a structurii sau ștergere (ALTER …/ DROP…) și nici comenzi pentru acordare și revocare de drepturi utilizatorilor (GRANT/REVOKE). Lipsa facilităților privind defmirea și asigurarea restricțiilor referențiale a generat discuții aprinse și critici vehemente, astfel încât rapid a fost publicat un set de specificații numit Integrity Enhancement Feature (elemente de ameliorare a integrității), prin care se pot defini chei primare și chei străine ca elemente componente ale schemei bazei de date.

La trei ani de la publicarea SQL-86, prin revizuirea și extinderea sa, se „naște" SQL-89, care mai este denumit și SQL-1 – ANSI X3.135-1989, respectiv ISO 9075:1989. Deși recunoscut ca fundament al multor SGBDR-uri comerciale, și SQL-1 și-a atras numeroase critici. În plus, variantele comercializate de diferiții producători, deși esențialmente asemănătoare, erau (și sunt) incompatibile la nivel de detaliu. În afară de setul de specificații mai sus amintit, SQL-89 a inclus și specificațiile pentru apelul comenzilor și funcțiilor SQL din limbaje-gazdă, precum COBOL, Fortran și C.

Pentru a umple golurile SQL-1, ANSI și ISO au elaborat în 1992 versiunea SQL-2, ANSI X3.135-1992 (Database Language SQL), respectiv ISO/IEC 9075:1992, specificațiile fiind prezentate la un nivel mult mai detaliat (dacă SQL-1 se întindea pe numai 100 de pagini, SQL-92 a fost publicat în aproape 600). Dintre numeroasele facilități aduse de SQL-92, merită amintite cu deosebire: joncțiunea externă (OUTER JOIN), atribute zi-oră și de alte tipuri, raportare standardizată a erorilor, un set standard de tabele din catalog (dictionarul de date), modificarea schemei bazei (DROP, ALTER, GRANT, REVOKE), SQL dinamic, modificări și ștergeri referențiale în cascadă, amânarea verificării restricțiilor, niveluri de consistență a tranzacțiilor etc.

Standardul SQL-92-definește trei niveluri de conformitate:

• Entry – intrare, de bază (opțiunile din SQL-89 corectate);

• Intermediate- intermediar (ce include aproximativ jumătate dintre facilități);

• Full – deplin.

Fiecare firmă își declară nivelul de conformitate al SGBD-ului în raport cu SQL-92. Spre exemplu, nucleul SQL din Oracle 8 este conform cu nivelul de bază (entry), dar, după declarațiile producătorului, prezintă multe elemente suplimentare specifice celorlalte trei niveluri superioare.

Certificarea nivelului de conformitate cădea, până nu demult, în sarcina unui organism independent, National Institute for Standards and Technology (NIST), care utiliza Federal Information Processing Standards (FIPS), FIPS PUB 127-2. Din 1997 însă, FIPS și-a declinat implicarea în activitatea de certificare.

Pe lângă ANSI, ale cărui standarde au cea mai largă audiență, mai există și alte organisme de standardizare SQL. X/Open este un grup de firme europene care a adoptat SQL ca nucleu al unei întregi serii de standarde menite să asigure realizarea unui mediu general pentru aplicații portabile, grefat pe sistemul de operare UNIX. IBM a avut un aport incontestabil la apariția și maturizarea SQL, find un producător cu mare influență în lumea SGBD-urilor, iar produsul său, DB2, este unul din standardele de facto ale SQL.

În 1989, un grup de producători de instrumente dedicate bazelor de date au format SQL Access Group, în vederea realizării conexiunilor dintre SGBDR-urile fiecăruia, pe baza unor specificații comune, din care un prim set a fost publicat în 1991 sub titulatura RDA (Remote Database Access). Specificațiile RDA n-au reușit să se impună pe piața SGBD-urilor. La insistentele firmei Microsoft, SQL Access Group și-a concentrat eforturile pentru elaborarea unei interfețe-standard pentru SQL. Pe baza unui set de propuneri înaintat de companie, în 1992, au rezultat specificațiile CLI (Call Level Interface). Având drept reper CLI, Microsoft elaborează și implementează în același an un set propriu, ODBC (Open DataBase Conectiviry), care a devenit standard în materie de interfață SQL pentru accesarea diferitelor baze de date.

Cel mai recent standard este SQL-3, care a fost publicat în cea mai mare parte în iulie 1999. Complexitatea superioară față de precedesor este sugerată și de numărul de pagini, aproape 2000 (față de 600 ale SQL-92). Scadența finalizării sale a fost repetat amânată.

Principalele orientări ale SQL-3 vizează transformarea acestuia într-un limbaj complet, în vederea definirii și gestionării obiectelor complexe și persistente. Aceasta include:

– generalizarile și specializararile,

– moștenirile multiple,

– polimorfismul,

– încapsulare,

– tipuri de date definite de utilizator,

– suport pentru sisteme bazate pe gestiunea cunoștințelor,

– expresii cu rol de interogări recursive și alte instrumente adecvate de administrare a datelor.

În 1997, organizația X3 a ANSI a fost redenumită NCITS – National Committee for Information Technology Standards, iar comitetul care se ocupă de standardizarea SQL se numește acum ANSI NCITS-H2.

Putem afirma că incepand cu 1999 si publicarea standardului, SQL paraseste sfera normalizării relațiilor si a relaționalului, așa cum le-a formulat Codd.

„Obiectivul principal al SQL constă în a oferi utilizatorului mijloacele necesare formulării unei consultări numai prin descrierea rezultatului dorit, cu ajutorul unei aserțiuni (expresie logică), fără a fi necesară și explicitarea modului efectiv în care se face căutarea în BD. Altfel spus, utilizatorul califică (specifică) rezultatul, iar sistemul se ocupă de procedura de căutare.”

Cu toate ca este considerat, un limbaj de interogare, SQL reprezinta mai mult decât o modalitate de consultare a bazelor de date, pentru ca permite,:

– Definirea de date

– Consultarea bazei de date

– Manipularea datelor din BD

– Controlul accesului in BD

– Partajarea BD între mai mulți utilizatori

-Menținerea integrității bazei de date.

Groff și Weinberg sustin ca principalele atuuri ale SQL sunt:

1. Este independent de producator

2. Este portabil între diferite sisteme de operare

3. Este standardizat

4. „Filozofia" sa se bazează pe modelul relațional de organizare a datelor

5. Este un limbaj de nivel înalt, cu structură ce se apropie de limba engleză

6. Permite formularea de răspunsuri la numeroase interogări simple, ad-hoc, neprevăzute inițial

7. Constituie suportul programatic pentru accesul la baza de date

8. Permite multiple imagini asupra datelor bazei

9. Este un limbaj relațional complet

10. Datele se pot defini dinamic, în sensul modificării structurii bazei chiar în timp ce o parte dintre utilizatori sunt conectați la BD

11. Este un suport excelent pentru implementarea arhitecturilor client-server.

1.6 Access

„Access 2003, programul de gestiune a bazelor de date din Microsoft Office, oferă o utilizare mai ușoară și extinderea abilităților de a importa, exporta și de a lucra cu fișiere de date XML. Lucrul în Access 2003 este mai ușor, deoarece erorile uzuale sunt identificate și marcate, apoi vi se propun opțiuni de corectare a lor.” De asemenea, o nouă caracteristică îi ajută pe dezvoltatorii de baze de date să identifice dependențele dintre obiecte.

Se pot utiliza bare de meniu proprii sau meniuri contextuale proprii în trei moduri

– Atașate de o formă sau de un raport. Microsoft Access afișează meniurile proprii la deschiderea formei sau la afișarea raportului în print preview.

– Drept un meniu contextual atașat unei forme, unui raport sau unui control dintr-o formă. Microsoft Access afișează un asemenea meniu la click dreapta pe formă, raport sau control.

– Ca o bară meniu globală, a aplicației. Microsoft Access afișează această bară proprie în toate ferestrele, cu excepția formelor sau rapoartelor care au propria bară definită.

Se pot utiliza una sau mai multe bare de unelte proprii într-o aplicație. Se creează barele de unelte necesare și se alege pentru afișare una dintre metodele următoare:

– Dacă aplicația are doar o bară de unelte utilizator, se va utiliza commanda Toolbars (din meniul View) pentru a o afișa; bara respectivă va apare de fiecare dată când se pornește aplicația.

– Dacă aplicația are bare diferite pentru forme sau rapoarte, se va specifica bara necesară în proprietatea Toolbar a formei sau raportului. Bara indicată se va afișa și ascunde împreună cu forma.

– Dacă sunt necesare mai multe bare de unelte proprii pentru o formă sau raport, sau dacă se dorește ascunderea/afișarea barelor predefinite, se va utiliza proprietatea Visible a obiectului CommandBar în Visual Basic sau acțiunea ShowToolbar în macro-uri.

– Dacă se dorește ca aplicația să afișeze doar barele proprii, se pot ascunde barele de unelte built-in prin comanda Startup (meniul Tools) și se deselectează boxa de control Allow Built-in Toolbars.

1.7 Tehnologii vizuale și de reprezentare grafică

Programele de reprezentare grafica moderne sunt suficiente. Printre aceste aplicații, OpenOffice.org Draw, Adobe Photoshop, face ca munca să fie mai creativa, mai ușoară și chiar mai interesantă.

Pentru designeri, ilustratori, fotografi și graficieni, pentru cei implicați în multimedia atunci când lucrează cu imagini scanate si în general pentru cei ce prelucrează imagini cu ajutorul computerului, apariția a tot mai multe programe de editare grafică a însemnat o îmbunătățire simțitoare muncii lor. Consecințele nu au constat numai în facilitățile oferite de această aplicație în sine, ci de industria ce s-a dezvoltat în spatele ei, aceea de producere a programelor adiționale, pe de o parte si de creiere de noi algoritmi pentru noi efecte care să poată fi aplicate asupra imaginilor digitale, pe de altă parte si de concurența pe care a creat-o în acest domeniu, concurență ce a dus si la dezvoltarea rapidă a altor aplicații de același calibru.

Practic astăzi nu putem concepe un sistem de calcul dirijat de un sistem de operare fără interfață grafică. Deși se concep în continuare atât sisteme de operare cât si limbaje de programare ce lucrează exclusiv în modul text, acestea se adresează unui număr restrâns de utilizatori, de cele mai multe ori specializați, pe o aparatură dedicată.

Folosirea mesajului vizual în locul mesajului scris este o abordare noua ce tinde sa acopere o arie din ce în ce mai întinsă în realizarea paginilor de web, si a diverselor tipuri de interfețe. S-a observat o creștere semnificativă a randamentului în operare, în momentul în care au fost introduse imaginile ca o completare a textului. Este vorba despre clasicele icon-uri. Firma Apple a introdus prima dată conceptul de icon la sistemele de operare mac-os prezente pe sistemele de calcul Macintosh. Această abordare a constituit pasul cel mai important în evoluția interfețelor utilizator. Imediat după apariția lui mac os, Microsoft a preluat fără prea multe ezitări ideea de la APPLE, și a dezvoltat interfețele grafice WINDOWS versiunile 3.x, urmate în 1995 de WINDOWS95, numele de cod CHICAGO. Din acel moment, Microsoft nu a mai produs nici o versiune de sistem de operare gen DOS. Mai mult de atât, sisteme de operare ce aveau tradițional un mod de lucru tip terminal text, cum ar fi versiunile de UNIX, au renunțat la modul text sau au completat sistemele cu interfețe grafice, generându-se astfel noțiune de XWINDOW. Acest mod de lucru, tipurile de operațiuni fundamentale ce pot fi executate în acest mod de lucru, au devenit standard în foarte scurt timp. Trăim practic în epoca de aur a tehnologiei. Deși ne este greu să avem o imagine de ansamblu asupra creșterii și dezvoltării hardware a tehnicii de calcul, în ce privește standardele interfețelor umane, noi, utilizatorii fără experiență și training deosebit. Paradoxal, dar utilizatorii de rând prin alegerile pe care le fac, prin feedback-ul pe care îl dau producătorilor de software reușesc să facă schimbări uneori radicale. Nu același lucru îl putem spune despre influențele pieței tehnicii de calcul asupra producătorilor. Chiar în acest moment, un observator fin, ar putea sesiza spre exemplu infiltrarea subtilă în modul de operare pe calculator a unei noțiuni absolut noi, necunoscută acum 1 an. Este vorba despre mouse gesture, ce s-ar putea traduce ca gesturi efectuate cu mouse-ul. Foarte puțini utilizatori ai internetului știu ca exista un browser de internet ce se numește Opera, și care permite realizara unor funcții elementare cum ar fi refresh, open în new window, back, forward, etc, prin simpla mișcare a mouse-lui. În momentul în care utilizatorul s-a familiarizat cu aceste operațiuni noi, ele devin o a doua natură, de multe ori încercând să le folosească și în alte aplicații inferioare din punct de vedere al tehnicii de programare, cum ar fi Internet Explorer, Mozilla, etc. Fără îndoială, aceste mici dezvoltări și tendințe vor deveni standard în mai puțin de 5 ani, le vom găsi în absolut toate aplicațiile vizuale sau nu, ca un mod obișnuit de operare.

C# Sharp

C# este pasul urmator in evolutia limbajelor de programare. Limbajul a preluat facilitati din Java si din C++, dar in acelasi timp a adus inovatii proprii ca delegarile sau indexarile. „Microsoft a creat limbajul C# la sfarsitul anilor 90 ca parte a ansamblului strategiei .NET, dezvoltata tot de Microsoft. Prima lansare a versiunii alfa a avut loc la mijlocul anului 2000. Arhitectul sef al constructiei C# este Anders Hejlsberg.”- Herbert Schildt, C# Osborne, editura Teora 2002 pag7

Arhitectura .NET este un mediu care permite dezvoltarea si executia aplicatiilor independente de platforma. Aceasta permite amestecarea diferitelor limbaje de programare si ofera facilitati de securitate si portabilitate a programelor si mediu de programare comun pentru platformele Windows.

„Motorul comun de programare genereaza un cod la compilare. Acesta nu este executabil. Ulterior acesta este transformat in cod executabil in momentul rularii programului. Concluzionand, orice program compilat in limbajul intermediar (Microsoft Intermediate Language) poate rula in orice mediu pentru care motorul comun de programare este implementat, Aceasta este o parte a modului prin care arhitectura .NET asigura portabilitatea. Limbajul intermediar Microsoft este transformat in cod executabil folosind compilatorul JIT(just in time). Procesul de conversie decurge astfel: atunci cand un program .NET este executat, motorul comun de programare activeaza compilatorul JIT. Compilatorul JIT converteste MSIL in cod nativ la cerere, pe masura ce fiecare parte a programului este necesara. In acest fel, programul C# se executa de fapt sub forma de cod nativ, chiar daca initial este compilat pana la formatul MSIL. Aceasta inseamna ca programul ruleaza aproape la fel de rapid ca si cand ar fi fost compilat de la inceput pana la cod nativ, dar castiga avantajul portabilitatii oferit de MSIL.

Pe langa MSIL mai exista un alt rezultat al compilarii unui program C#: meta-date.

Metadatele descriu datele utilizate de program si permit interactiunea codului dumneavoastra cu alt cod. Metadatele se gasesc in acelasi fisier ca si MSIL”

Cand se scrie un program in C# se creeaza un cod tratat. Codul tratat se executa sub controlul motorului comun de programare. Restrictiile sunt usor de descris si de indeplinit: compilatorul trebuie sa produca un fisier MSIL destinat motorului de programare si sa foloseasca bibliotecile arhitecturii .NET. Avantajele codului tratat sunt multiple, printre care gestionea moderna a memoriei, posibilitatea de a amesteca limbaje, o securitate buna si posibilitatea de interactiune a componentelor software.

Opusul codului tratat este codul netratat. Acesta nu se executa sub controlul motorului comun de programare. Concluzionand, toate programele Windows anterioare crearii arhitecturii .NET contin cod netratat.

„Ideea centrala a limbajului C# este programarea orientata spre obiect (POO). Metodologia orientata spre obiect este inseparabila de C#, toate programele C# fiind cel putin intr-o anumita masura orientate spre obiect. Datorita importantei deosebite in C#, este bine sa intelegem principiile de baza ale POO inainte de a scrie programe in C#.”

Meniul

Meniurile sunt liste cu comenzi din care utilizatorul poate să aleagă. Ele oferă un mod convenabil și consistent de a grupa comenzi asociate după funcțiuni și un mod simplu de acces al utilizatorului. Anumite comenzi pot să determine afișarea unor submeniuri, pe diferite nivele de organizare. Există de asemenea meniuri contextuale (shortcut menus) care oferă o modalitate de grupare a comenzilor uzuale aplicabile în contextul limitat al unei acțiuni specifice.

Se pot asigura chei de acces pentru a permite afișarea imediată a unui meniu, ca și asignarea unor taste directe la comenzi. În plus, meniurile ocupă mai puțin loc decât barele de unelte (nu toate comenzile sunt afișate permanent).

Avantajul meniurilor este că oferă utilizatorului mai puțină informație la un moment dat și aplicația crește în claritate.

Barele de unelte conțin controale care permit executarea comenzilor des utilizate. Barele de unelte sunt adecvate pentru prezentarea atributelor individuale (cum ar fi bold, italic etc.), pentru comenzile care se pot reprezenta vizual (cum ar chenare, dimensiunile liniilor etc.) și pentru comenzile pentru care se dorește accesul printr-un simplu click. Barele de unelte rămân mereu vizibile și acest fapt conduce la o parcurgere mai ușoară pentru determinarea comenzii dorite. Dezavantajele includ necesitatea mouse-ului (controalele nu pot fi accesate din tastatură) și ocuparea spațiului de lucru în detrimentul documentului principal.

O bară de meniu este o bară așezată în partea superioară a ferestrei active și care afișează numele tuturor meniurilor care sunt permise în aplicație la un moment dat. Sistemul de meniuri este compus dintr-o mulțime de meniuri și câte o mulțime de intrări în fiecare meniu. Fiecare menu este fie un meniu, un submeniu sau un meniu contextual.

Astăzi aplicațiile contabile sunt cele mai multe structurate pe module cum ar fi: aplicații contabile pentru machintosh, pentru dos, pentru windows 95, 98, xp,2000, milenium, profesional. Ele sunt aplicații pentru imobilizării, pentru gestiune, pentru salarii, balanță și bilanț, venituri și cheltuieli. Bara de meniu este o bară așezată în partea superioară a ferestrei active și care afișează numele tuturor meniurilor care sunt permise în aplicație la un moment dat. Sistemul de meniuri este compus dintr-o mulțime de meniuri și câte o mulțime de intrări în fiecare meniu. Fiecare meniu este fie un meniu, un submeniu sau un meniu contextual

Organizarea submeniurilor se poate baza pe entitățile procesate (comenzi, clienți etc.) sau pe acțiunile suportate de entități (adăugare, editare etc.).

Există și meniuri pop-up sau verticale care nu sunt legate de bara de meniuri a aplicației și care se afișează în interiorul unei ferestre, în funcție de poziția cursorului în zona client a acesteia. O altă deosebire între aceste tipuri de meniuri privește modul de accesare al acestora, discutat în continuare.

Controalele care afișează meniuri sunt cunoscute drept controale pop-up

La orice bară de unelte, built-in sau proprie, se pot adăuga controale pop-up, aceleași ca la crearea meniurilor/submeniurilor. Această acțiune este un compromis acceptabil între modificarea unei bare de meniu și introducerea unui mare număr de butoane unelte.

Meniurile pop-up au fost introduse sistematic în versiunile pe 32 de biți ale lui Windows. Există unele aplicații Windows pe 16 biți care le folosesc, însă acest lucru nu este general valabil. Accesarea lor se face cu mouse-ul, prin click pe butonul din dreapta.

Meniurile sunt astăzi elemente nelipsite din interfața aplicațiilor. Meniurile sunt elemente de bază ale interfeței utilizator pentru aplicațiile grafice. De regulă, fereastra principală a unei astfel de aplicații are o bară de meniuri, cu ajutorul cărora se pot prezenta și accesa funcțiunile acesteia. Împreună cu bara de instrumente, toolbar-ul, meniurile reprezintă cea mai comodă modalitate de expunere și accesare a funcționalității unei aplicații, caracterizată în primul rând prin compactitatea sa.

Bara de meniuri apare imediat sub bara de titlu a ferestrei. Ea conține unul sau mai multe titluri de meniuri (sau pe scurt meniuri). Un astfel de titlu, care are numele dat de regulă printr-un singur cuvânt, are menirea de a grupa funcții înrudite, cunoscute sub numele de elemente de meniu. Spre exemplu, aproape toate aplicațiile standard din Windows posedă în bara de meniuri titlurile File și Help. Primul dintre acestea conține funcțiile legate de lucrul cu fișiere (deschiderea, salvarea, schimbarea numelui, imprimarea unui fișier), iar cel de al doilea prezintă cartea de vizită a aplicației (elementul About), tabla de materii a facilității de help on-line (Contents), respectiv indexul elementelor cuprinse în sistemul de asistență (Index).

Fiecare element de meniu are un nume (titlu) care sugerează funcționalitatea sa. Elementele de meniu pot să reprezinte comenzi, bare de separare și titluri de submeniuri. Elementele unui meniu sunt statice și dinamice. Elementele statice sunt cele prevăzute la proiectarea meniului, ele fiind afișate în ordinea prevăzută acolo. Un meniu poate conține și elemente dinamice. Luând ca exemplu editorul de texte Microsoft Word, putem găsi astfel de elemente dinamice în meniul File (lista ultimelor fișiere editate) sau în meniul Window (lista fișierelor deschise, Word fiind o aplicație MDI). Ca regulă, partea dinamică a unui meniu este separată de partea sa statică prin bare de separare.

Meniurile și elementele de meniu au ca atribute importante vizibilitatea și accesibilitatea. Dacă un meniu (submeniu) nu este vizibil, atât el cât și elementele sale nu se afișează. Accesibilitatea se referă la răspunsul aplicației, la selectarea unui meniu sau element de meniu. Un meniu sau element de meniu este activabil dacă selectarea sa provoacă executarea funcțiunii specifice acestuia. Invers, dezactivarea unui meniu sau element de meniu inhibă executarea funcțiunii specifice, când acesta este selectat

Submeniurile permit organizarea meniurilor pe nivele. Ele sunt utile când bara de meniuri s-a umplut deja sau când se dorește o mai bună structurare a elementelor (prea numeroase ale) unui meniu. Abstract vorbind, fiecare meniu are o structură arborescentă, în care rădăcina este reprezentată de titlul meniului din bara de meniuri, nodurile interioare sunt submeniurile, iar frunzele sunt celelalte elemente ale meniului sau submeniurilor, adică comenzile sau separatorii. Vizual, titlul unui submeniu are ca sufix o săgeată spre dreapta, fapt ce indică expandarea acestuia. Acest mod de organizare permite mărirea considerabilă a numărului de funcții distincte pe care o aplicație le poate expune în meniul său. Totuși, se recomandă să nu se folosească mai mult de 4-5 nivele de meniuri, deoarece scade gradul de confort al utilizatorului în găsirea unui anumit element: cu cât sistemul de meniuri este mai plat, cu atât utilizatorul se simte mai confortabil în folosirea lui. Referindu-ne la editorul Microsoft Word, trebuie să remarcăm că sistemul său de meniuri este în întregime plat, neexistând nici un submeniu între elementele meniurilor sale.

Implicit, forma aplicației prezintă numai titlurile din bara de meniuri. În momentul în care este selectat un titlu, acesta se expandează sau se derulează, prezentându-și elementele sale. Meniurile derulante sunt legate de bara de meniuri, titlul lor rămânând vizibil și la expandarea lor, în aceeași locație a barei, pe când elementele sunt afișate într-o fereastră poziționată imediat sub titlu.

Accesarea meniurilor derulante se poate face cu mouse-ul sau cu tastatura. Folosirea mouse-ului presupune deplasarea cursorului pe denumirea titlului de meniu și apăsarea butonului stânga (click).

Capitolul II.

2.1 Arhitectura unui sistem pentru softul de gestiune monetara

In viata noastra de zi cu zi, calculatoarele sunt ceva obisnuit, ba chiar indinspensabil in unele cazuri. Se poate spune, ca trăim intr-o societate informatizată. în zilele noastre, întalnim calculatoare peste tot, de la magazinul din colț, care-și ține evidențele sale cu ajutorul unui PC și pană la ghișeul la care plătim telefonul, internetul sau alte utilități. Peste tot sunt calculatoare, legate eventual între ele și formand astfel rețele de calculatoare. Toate acestea se datoreaza faptului ca ne dam seama din ce in ce mai mult că PC-ul ne ușureaza munca. Dar trebuie subliniat faptul că un calculator este de fapt o mașinărie care prelucreaza o serie de informații pe care i le dăm. Informația, este elementul esențial din acest intreg lanț. De fapt, în practica întalnim, printre altele, doua concepte legate de aceasta si anume sistemul informațional si sistemul informatic. Sistemul informațional este ansamblul de elemente implicate în procesul de colectare, transmisie, prelucrare de informații.

Rolul sistemului informațional este de a transmite informatia intre diferite elemente . De exemplu, în cadrul unei unitati economice, roulul sistemului informational este de a asigura persoanele din conducere cu informatii necesare pentru luarea diferitelor decizii economice sau de alta natură.

In cadrul sistemului informational se regasesc : informatia vehiculata, documentele purtatoare de informatii, personalul, mijloace de comunicare, sisteme de prelucrare a informatiei.

Printre posibile activitati desfasurate in cadrul acestui sistem, pot fi enumerate :achizitionarea de informatii din sistemul de baza, completarea documentelor si transferul acestora intre diferite compartimente, centralizarea datelor.

în cadrul sistemului informational, majoritatea activitatilor se pot desfasura cu ajutorul tehnicii de calcul. Se pot prelucra datele primare si apoi, rezultatul poate fi transferat mai departe, către alt compartiment spre prelucrare. Transferul se poate face si el pe cale electronică, prin intermediul unei retele de calculatoare sau cu ajutorul modemului.

Ansamblul de elemente implicate în tot acest proces de prelucrare și transmitere a datelor pe cale electronică alcatuiesc un sistem informatic.

într-un sistem informatic pot intra: calculatoare, sisteme de transmisie a datelor, alte componente hardware, softwer-ul, datele prelucrate, personalul ce exploatează tehnica de calcul, teoriile ce stau la baza algoritmilor de prelucrare.

2.2 Etapa I: Dezvoltarea aplicatiei

Pentru realizarea aplicatiei voi avea nevoie de un sistem de baze de date si de interfata pentru utilizatorii finali.

Sistemul de baze de date are rolul de a stoca (memora) informatiile introduse si de a le reda in momentul interogarii.

Componentele unui sistem de baze de date sunt in numar de patru, si anume : date, hardware, software si utilizatori.

Datele se memoreaza intr-una sau mai multe baze de date. Acestea din ruma pot si integrare sau partajate.

Prin partajare intelegem ca mai multi utilizatori pot accesa in acelasi timp aceleasi informatii si le pot folosi in scopuri diferite, acestea se numesc sisteme multiutilizator.

Hardware-ul e reprezentat prin mediul de stocare al sistemului de baze de date. Printre cele mai cunoscute se numara : hard diskurile, cd/dvd-urile, stikurile si cloud-u.

Sofware-ul intervine intre baza de date fizica si utilizator si permite acestuia sa opereze asupra informatiilor stocate.

Utilizatorii se impart in 3 categorii. Primul este programatorul de aplicatie care este responsabil cu scrierea programului intr-un limbaj de programare. Aceste aplicatii opereaza asupra bazei de date in toate modurile cunoscute : crearea informatiilor noi, regasirea acestora, modificarea sau stergerea lor. Limbajul ales de mine pentru realizarea aplicatiei este C Sharp.

A doua categorie de utilizatori este reprezentata de utilizatorii finali (end-userii) care folosesc un limbaj de interogare (query language), in cazul acesta vom folosi SQL (Structured Query Language).

Administratorul bazei de date reprezinta a treia categorie de utilizatori. El se mai numeste DBA.

Administratorul bazei de date are atributii de proiectare. Decide continutul de informative pe baza necesaitatilor utilizatorilor, stabileste stuctura fizica de date si strategiile de acces.

Atributiile administrative ale administratorului presupun contactul directu cu utilizatorii si crearea unor standard si reguli in vederea accesarii datelor.

Administratorul trebuie sa fie operativ in vederea arhivarii, salvarii sau restaurarii bazei de date in cazul defectarii.

Arhitectura sistemului de baze de date este structurata pe trei nivele : nivelul exterior, conceptual si nivelul intern.

Nivelul intern se mai numeste si baza de date fizica. Este o colectie de fisiere care contin date fizice si structuri auxiliare care sa asigure accesul operativ la date. Structurile auxiliare pot fi directoare, indecsi, pointeri etc.

Nivelul conceptual este numit si schema conceptuala si are un model propriu prin care sunt numite si descrise toate unitatile logice din baza de date. Unitatile logice sunt concepte prin care utilizatorii bazei de date particularizeaza aplicatia.

De exemplu : in descrierea bazei de date a aplicatiei de management monetar vor aparea concepte de genul:

De exemplu : La nivelul conceptual, baza de date contine informatii despre un tip de entitate numit CHELTUIALA. Fiecare CHELTUIALA va avea un NUMAR-CHELTUIALA (6 caractere), NUMAR-CATEGORIE (4 caractere) si o SUMA (5 cifre). La nivelul intern, cheltuielile sunt reprezentate printr-un tip de inregistrare STOREG-CHELT de 18 octeti. STORED-CHELT contine patru tipuri de campuri : un prefix de 6 octeti si trei campuri de date corespunzatoare celor 3 proprietati ale lui CHELTUIALA.

La nivelul extern, utilizatorul va vedea numaitrei campuri : NUMAR CHELTUIALA, CATEGORIE CHELTUIALA si SUMA.

Sistemul de gestiune al bazei de date – SGBD este intregul ansamblu software care trateaza toate cererile de acces la baza de date. O cerere de acces la baza de date este formulata de catre utilizator in termenii conceptelor de la nivelul uneia din vederile definite in sistem.

Cererea este preluata de catre sistemul de gestiune al bazei de date si interpretata de o componenta a acestuia. Rezultatul va fi o reprezentare in format intern al interogarii.

Diagrama structurii de date este un graf orientat reprezentand tipuri de entitati si legaturi functionale intre acestea. Nodurile grafului corespund tipurilor de entitati. Arcurile grafului sunt legaturi functionale intre tipuri de entitati.

Modelul de date ierarhic se poate reprezenta sub forma unui arbore de definitie.

Fig. 1. Arborele de definitie ierarhic pentru baza de date

Modelarea datelor logice este o metoda de a stabili si a mentine controlul adupra resurselor de date.

Modelele de date logice: “un model de date logice este o reprezentare riguroasa a semnificatiei datelor intr-un anumit domeniu de interes. Se mai numeste model semantic de date deoarece accentual modelului cade pe semnificatia datelor. “

Pentru a crea interfata care interactioneaza cu baza de date, voi folosi mediul integrat Visual Studio 2010. Proiectul se creeaza selectand File | New | Project, mai apoi in sectiune C# se selecteaza Windows Form Application. Conectarea cu baza de date Oracle se face din meniul Data, unde se selecteaza Add ne data source. In continuare selectam database si introducem numele si parola, iar in final se testeaza conexiunea.

In cod vom avea secventa:

OleDbConnection con = new OleDbConnection("Provider=MSDAORA;Data Source=XE;Persist Security Info=True;User ID=NUME_BD;Password=PAROLA;Unicode=True");

Daca avem o conexiune valida, putem trece la urmatorii pasi.

Creare de butoane se poate face cu urmatoarea secventa de cod:

private void denumire_buton(object sender, EventArgs e)

{

con.Open();

OleDbCommand cmd = new OleDbCommand("modul in care interactioneaza cu baza de date", con);

cmd.ExecuteNonQuery();

con.Close();

}

A doua varianta pentru crearea de butoane si cea preferata de mine, este designul. Visual Studio 2010 ne pune la dispozitie un toolbox foarte ofertant de unde putem alege lucruri comune cum ar fi: tabel (label), picturebox, butoane etc.

La butoanele care interogheaza baza de date vom folosi selecturi simple sau complexe dupa caz.

Exemplu:

private void button5_Click(object sender, EventArgs e)

{

con.Open();

OleDbDataAdapter oda = new OleDbDataAdapter("SELECT BALANTA FROM (SELECT SUM(E.SUMA) BALANTA,C.DENUMIRE CATEGORIE FROM EXEMPLU E,CATEGORII C WHERE E.CATEGORIA=C.ID )GROUP BY BALANTA", con);

DataTable dt = new DataTable();

oda.Fill(dt);

dataGridView1.DataSource = dt;

con.Close();

In cazul expus mai sus avem butonul cu numarul 5 care interogheaza baza de date. Se face un select care incorporeaza un alt select din tabela EXEMPLU. In al doilea select avem si o conditie legata de categoria articolului, iar in final, rezultatul returnat de baza de date va fi sortat dupa campul BALANTA.

Scopul acestui buton in aplicatie nu este acela de a a fisa o balanta contabila, asa cum am fi tentati sa credem la prima vedere, ci doar face raportul dintre venituri si cheltuieli si indica suma pe care utilizatorul ar trebui sa o detina in acel moment.

2.3 Aplicabilitate

Inca din trecutul indepartat, oamenii au simtit nevoia de a gestiona, de a numara si de a face statistici.

In secolul al VII-lea aceasta sete de cunoastere a omului a dat nastere unor rezultate spectaculoase. A fost inventata rigla de calcul, mai apoi in 1820 Charles Babbage a inventat o masina mecanica de calcul mai complexa decat orice la acea vreme.

Acestea au fost urmate de alte inventii care au dus la creearea calculatoarelor de astazi. Legat de termenul “Baze de date”, acesta a fost dezbatut pentru intaia oara in 1962 in cadrul unei conferinte a unei firme private.

Aplicatia este destinata tuturor persoanelor fizice care doresc sa monitorizeze veniturile si cheltuielile pe anumite interval de timp.

De cele mai multe ori am auzit in grupul meu de prieteni expresia “nu stiu pe ce am dat banii” sau “nu inteleg cum se descurca altii”, ambele freaze referindu-se la o proasta gestiune a banilor proprii.

Am decis sa aplic pe propria piele un management monetare cu ajutorul unei aplicatii de pe telefonul mobil denumitea “My Expenses” care imi oferea optiunile de introducere tip tranzactie (intrare/iesire), cateva categorii predefinite si needitabile (food –mancare, bills-facturi, clothes- haine, entertaimen – distractie, medical, gifts-cadouri) categorii care la inceput pareau suficiente, dar in timp, am dorit sa vad rapoarte si mai detaliate pe mai multe categorii si subcategorii, de aici si ideea dezvoltarii unei aplicatii mai complexe.

Rapoartele se vor putea extrage pe zile, luni, ani si/sau pe categorii, doar pe intrari/iesiri sau raport combinat care va face o balanta.

Ca in orice operatiune cu bazele de date, este extrem de important ca datele introduse sa fie clare, precise si sa nu fie redundante. Cu cat acuratetea utilizatorului in procesul de inserare si prelucrare a bazei de date este mai mare, cu atat va fi realitatea mai bine reflectata de aplicatie.

2.4 Inregistrarea si prelucrarea tranzactiilor

Aplicatia va functiona cu o singura moneda (Leu-RON)

Pentru a adauga o tranzactie noua se va determina natura ei si anume dacă este o tranzactie de intrare sau iesire. Dupa caz se va apasa butonul “Venit” sau “Cheltuiala”, se alege data, apoi se va selecta una din categoriile deja definite, se va complete suma si daca este cazul se va nota o observatie in campul “Explicatii”.

Exemplu:

Cheltuiala 15.05.2015 Cadouri -250 aniversare tata.

In acest moment balanta generala va fi -250, daca adaugam o noua tranzactie de tip Venit pe o categorie diferita(ex. Salariu) cu valoarea 100, balanta generala va inregistra si aceasta tranzactie si va afisa -150, dar rapoartele pe categorii vor afisa: Cadouri – 250; Salariu 100;

Cap. III. Aplicatie cu baze de date pentru gestiune monetara

Pentru realizarea aplicatiei voi avea nevoie de un sistem de baze de date si de interfata pentru utilizatorii finali.

Sistemul de baze de date are rolul de a stoca (memora) informatiile introduse si de a le reda in momentul interogarii.

Componentele unui sistem de baze de date sunt in numar de patru, si anume : date, hardware, software si utilizatori.

Datele se memoreaza intr-una sau mai multe baze de date. Acestea din ruma pot si integrare sau partajate.

Prin partajare intelegem ca mai multi utilizatori pot accesa in acelasi timp aceleasi informatii si le pot folosi in scopuri diferite, acestea se numesc sisteme multiutilizator.

Hardware-ul e reprezentat prin mediul de stocare al sistemului de baze de date. Printre cele mai cunoscute se numara : hard diskurile, cd/dvd-urile, stikurile si cloud-u.

Sofware-ul intervine intre baza de date fizica si utilizator si permite acestuia sa opereze asupra informatiilor stocate.

Utilizatorii se impart in 3 categorii. Primul este programatorul de aplicatie care este responsabil cu scrierea programului intr-un limbaj de programare. Aceste aplicatii opereaza asupra bazei de date in toate modurile cunoscute : crearea informatiilor noi, regasirea acestora, modificarea sau stergerea lor. Limbajul ales de mine pentru realizarea aplicatiei este C Sharp.

A doua categorie de utilizatori este reprezentata de utilizatorii finali (end-userii) care folosesc un limbaj de interogare (query language), in cazul acesta vom folosi SQL (Structured Query Language).

Administratorul bazei de date reprezinta a treia categorie de utilizatori. El se mai numeste DBA.

Administratorul bazei de date are atributii de proiectare. Decide continutul de informative pe baza necesaitatilor utilizatorilor, stabileste stuctura fizica de date si strategiile de acces.

Atributiile administrative ale administratorului presupun contactul directu cu utilizatorii si crearea unor standard si reguli in vederea accesarii datelor.

Administratorul trebuie sa fie operativ in vederea arhivarii, salvarii sau restaurarii bazei de date in cazul defectarii.

Arhitectura sistemului de baze de date este structurata pe trei nivele : nivelul exterior, conceptual si nivelul intern.

Nivelul intern se mai numeste si baza de date fizica. Este o colectie de fisiere care contin date fizice si structuri auxiliare care sa asigure accesul operativ la date. Structurile auxiliare pot fi directoare, indecsi, pointeri etc.

Nivelul conceptual este numit si schema conceptuala si are un model propriu prin care sunt numite si descrise toate unitatile logice din baza de date. Unitatile logice sunt concepte prin care utilizatorii bazei de date particularizeaza aplicatia.

De exemplu : in descrierea bazei de date a aplicatiei de management monetar vor aparea concepte de genul:

De exemplu : La nivelul conceptual, baza de date contine informatii despre un tip de entitate numit CHELTUIALA. Fiecare CHELTUIALA va avea un NUMAR-CHELTUIALA (6 caractere), NUMAR-CATEGORIE (4 caractere) si o SUMA (5 cifre). La nivelul intern, cheltuielile sunt reprezentate printr-un tip de inregistrare STOREG-CHELT de 18 octeti. STORED-CHELT contine patru tipuri de campuri : un prefix de 6 octeti si trei campuri de date corespunzatoare celor 3 proprietati ale lui CHELTUIALA.

La nivelul extern, utilizatorul va vedea numaitrei campuri : NUMAR CHELTUIALA, CATEGORIE CHELTUIALA si SUMA.

Pentru a crea interfata care interactioneaza cu baza de date, voi folosi mediul integrat Visual Studio 2010. Proiectul se creeaza selectand File | New | Project, mai apoi in sectiune C# se selecteaza Windows Form Application. Conectarea cu baza de date Oracle se face din meniul Data, unde se selecteaza Add ne data source. In continuare selectam database si introducem numele si parola, iar in final se testeaza conexiunea.

In cod vom avea secventa:

OleDbConnection con = new OleDbConnection("Provider=MSDAORA;Data Source=XE;Persist Security Info=True;User ID=NUME_BD;Password=PAROLA;Unicode=True");

Daca avem o conexiune valida, putem trece la urmatorii pasi.

Creare de butoane se poate face cu urmatoarea secventa de cod:

private void denumire_buton(object sender, EventArgs e)

{

con.Open();

OleDbCommand cmd = new OleDbCommand("modul in care interactioneaza cu baza de date", con);

cmd.ExecuteNonQuery();

con.Close();

}

A doua varianta pentru crearea de butoane si cea preferata de mine, este designul. Visual Studio 2010 ne pune la dispozitie un toolbox foarte ofertant de unde putem alege lucruri comune cum ar fi: tabel (label), picturebox, butoane etc.

La butoanele care interogheaza baza de date vom folosi selecturi simple sau complexe dupa caz.

Exemplu:

private void button5_Click(object sender, EventArgs e)

{

con.Open();

OleDbDataAdapter oda = new OleDbDataAdapter("SELECT BALANTA FROM (SELECT SUM(E.SUMA) BALANTA,C.DENUMIRE CATEGORIE FROM EXEMPLU E,CATEGORII C WHERE E.CATEGORIA=C.ID )GROUP BY BALANTA", con);

DataTable dt = new DataTable();

oda.Fill(dt);

dataGridView1.DataSource = dt;

con.Close();

In cazul expus mai sus avem butonul cu numarul 5 care interogheaza baza de date. Se face un select care incorporeaza un alt select din tabela EXEMPLU. In al doilea select avem si o conditie legata de categoria articolului, iar in final, rezultatul returnat de baza de date va fi sortat dupa campul BALANTA.

Scopul acestui buton in aplicatie nu este acela de a a fisa o balanta contabila, asa cum am fi tentati sa credem la prima vedere, ci doar face raportul dintre venituri si cheltuieli si indica suma pe care utilizatorul ar trebui sa o detina in acel moment.

Bibliografie

Despi I., Petrov G., Reisz R., Stepan A.; Teoria generală a bazelor de date, Editura Mirton, Timișoara, 1999/2000

Octavian Bască; Baze de date, Editura All, 1997

Stepan A., Petrov G., Iordan V. – Fundamentele proiectarii si realizarii sistemelor informatice, Ed. Mirton, Timisoara, 1995

Vasile Florescu, Victoria Stanciu, Gabriel Cozgarea, Adrian Cozgarcea; Baze de date, Editura Economica, 1999

Biriescu Simona; Baze de date în mediul access, Editura Mirton 2006

Herbert Schildt, C# Osborne, editura Teora 2002

Similar Posts