Professional Documents
Culture Documents
1. Introducere …………………………………………………………….4
2. Prezentarea limbajului si a tehnologiei utilizate……………………….5
2.1. Baze de date……………………………………………………….5
2.1.1. Definire………………………………………………………..5
2.1.2. Scurt istoric……………………………………………………9
2.1.3. Nivelul de organizare al datelor într-o baza de date…………13
2.1.4. Sistemul de gestiune a bazelor de date………………………13
2.1.5. Regulile lui Codd…………………………………………….18
2.1.6. Proprietăţile câmpurilor bazelor de date……………………..20
2.2. SQL………………………………………………………………21
2.2.1. Caracteristicile limbajului SQL……………………………....22
2.2.2. Setul de comenzi SQL………………………………………..23
2.3. Visual FoxPro…………………………………………………….26
2.3.1. Arhitectura VFP 6.0…………………………………………..26
2.3.2. Modurile de lucru in VFP……………………………………...28
2.3.3. Dezvoltarea unei aplicaţii……………………………………....32
2.3.4. Tipuri de aplicaţii……………………………………………..33
2.3.5. Crearea si normalizarea unei baze de date…………………....34
2.3.6. Crearea interfeţei……………………………………………...37
3. Prezentarea aplicaţiei…………………………………………………..41
3.1. Descrierea facilităţilor…………………………………………..41
3.2. Descrierea bazei de date………………………………………...42
4. Concluzii……………………………………………………………….49
Bibliografie……………………………………………………………….50
1.Introducere
4
2. Prezentarea limbajului si a tehnologiei folosite
2.1.1. Definiţie
Evoluţia diferitelor metode şi tehnici de organizare a datelor, pe
suporturi de memorie externă, a fost determinată de necesitatea de a avea un acces
cât mai uşor la un volum cât mai mare de date. Datele stocate şi prelucrate sunt
foarte complexe cu foarte multe interdependenţe, lucru care a făcut necesară
apariţia bazelor de date.
Din punct de vedere al serviciilor pe care le oferă, baza de date este o colecţie
de date care poate descrie întreaga activitate a unei organizaţii şi care furnizează
acces la diferite informaţii, prezentate in diferite formate.
Din punct de vedere al organizării datelor sub forma unei structuri de date pe
mediul de memorare, ea este forma optima de organizare a datelor. Se poate spune
ca: Baza de date (database) este o colecţie de fişiere şi înregistrări legate între ele.
8
2.1.2. Scurt istoric
Gama largă de aplicaţii ale informaticii necesită acces rapid la mari cantităţi
de date. Iată câteva exemple:
• sistemele computerizate de marcare din supermarketuri trebuie să
traverseze întreaga linie de produse din magazin;
• sistemele de rezervare a locurilor la liniile aeriene sunt folosite în
mai multe locuri simultan pentru a plasa pasageri la numeroase zboruri la date
diferite;
• calculatoarele din biblioteci stochează milioane de intrări şi accesează
citaţii din sute de publicaţii;
• sistemele de procesare a tranzacţiilor în bănci şi casele de brokeraj
păstrează conturi care generează fluxul mondial de capital;
• motoarele de căutare World Wide Web scanează sute de pagini Web
pentru a produce răspunsuri cantitative la interogări aproape instantaneu;
• sute de mici întreprinzători şi organizaţii utilizează bazele de date pentru
a stoca orice de la inventare şi personal la secvenţe ADN şi informaţii despre
obiecte provenite din săpături arheologice.
Un produs software care presupune managementul fişierelor suportă
descompunerea logică a unui fişier în înregistrări. Fiecare înregistrare descrie o
entitate şi constă dintr-un număr de câmpuri, unde fiecare câmp dă valori unei
anumite proprietăţi (sau atribut) al entităţii.
Problemele reale ale procesării datelor solicită frecvent legarea datelor din
mai multe fişiere. Astfel, în mod natural s-au conceput structuri de date şi
programe de manipulare a datelor care să suporte legarea înregistrărilor din fişiere
diferite.
Au fost create, pentru a suporta legarea înregistrărilor de tipuri diferite,
trei modele de baze de date:
9
• modelul ierarhic: tipurile înregistrărilor sunt legate într-o structură
arborescentă exemplu înregistrările unor angajaţi s-ar putea grupa după o
înregistrare care să descrie departamentele în care aceştia lucrează); IMS
(Information Management System produs de IBM) este un exemplu de astfel
de sistem;
• modelul reţea : se pot crea legături arbitrare între diferitele tipuri de
înregistrări (de exemplu înregistrările unor angajaţi s-ar putea lega pe de o
parte de o înregistrare care să descrie departamentele în care aceştia lucrează
şi pe de altă parte supervizorii acestora care sunt de asemenea angajaţi);
• modelul relaţional: în care toate datele sunt reprezentate într-o formă
tabelată simplă.
În modelul relaţional descrierea unei entităţi particulare este dată de setul
valorilor atributelor, stocate sub forma unei linii în tabel şi numită relaţie. Această
legare a n valori de atribute furnizează cea mai potrivită descriere a entităţilor din
lumea reală.
Modelul relaţional suportă interogări (cereri de informaţii) care implică
mai multe tabele prin asigurarea unor legături între tabele (operaţia join) care
combină înregistrări cu valori identice ale unor atribute ale acestora.
Statele de plată, de exemplu, pot fi stocate într-un tabel iar datele
personalului beneficiar în altul. Informaţiile complete pentru un angajat pot fi
obţinute prin reunirea acestor tabele (join) pe baza numărului personal de
identificare.
Pentru a suporta o varietate de astfel de structuri de baze de date, o largă
varietate a software denumită sistem de gestiune a bazelor de date este necesară
pentru a stoca şi reda datele şi pentru a pune la dispoziţia utilizatorului posibilitatea
de a interoga şi actualiza baza de date.
10
va conduce la o maximă independenţă între programe, pe de o parte, şi
reprezentarea în calculator, pe de altă parte.
Cu alte cuvinte modelul relaţional consistă din:
• independenţa datelor faţă de hardware şi modul de memorare;
• navigarea automată sau un limbaj de nivel înalt neprocedural pentru
accesarea datelor;
În loc ca să se proceseze câte o înregistrare, programatorul utilizează
limbajul pentru a specifica operaţii unice care trebuie realizate asupra întregului set
de date. Limbajele de generaţia a 4-a (4th GLs) sunt mai aproape de limbajul uman ca
limbajele de nivel înalt (de generaţia a 3-a, 3th GLs). Primele dintre acestea sunt
FOCUS (Information Builders) SQL (IBM), QBE (Querry by example, IBM),
dBASE (succesorul lui SQL). Necesitatea pentru mai multă flexibilitate şi
performanţă din partea modelelor de date cum ar fi de a suporta aplicaţiile ştiinţifice
sau inginereşti a făcut ca să se extindă conceptul de model relaţional aşa încât
intrările în tabele să nu mai fie simple valori ci să poată fi programe, texte,
date nestructurate mari în formă binară sau orice alt format solicitat de
utilizator.
Un alt progres s-a făcut prin încorporarea conceptului de obiect devenit
esenţial în limbajele de programare. În bazele de date orientate obiect toate datele
sunt obiecte. Obiecte se pot lega între ele printr-o relaţie de apartenenţă pentru a
forma o familie mai largă şi mai diversă de obiecte (în anii '90 au fost lansate
primele sisteme de management orientat obiect OODMS). Datele care descriu un
transport pot fi stocate, de exemplu, ca familie mai largă care poate conţine
automobile, vapoare, vagoane, avioane. Clasele de obiecte pot forma ierarhii în
care obiecte individuale pot moşteni proprietăţi de la obiectele situate deasupra în
ierarhie. Bazele de date multimedia, în care vocea, muzica şi informaţia video se
stochează împreună cu informaţiile de tip text, devin tot mai frecvente şi îşi
imprimă trendul în dezvoltarea sistemelor de gestiune a bazelor de date
orientate obiect.
13
- securitatea datelor.
Aşadar, sistemul de gestiune al bazei de date apare ca un sistem
complex de programe care asigura interfaţa între o baza de date şi utilizatorii
acestuia.
În plus un SGBD mai asigură şi alte servicii:
- suport pentru limbaj de programare;
- interfaţă cât mai atractivă pentru comunicare cu utilizatorul;
- tehnici avansate de memorare, organizare, accesare a datelor din baza de
date;
- utilitare încorporate: sistem de gestiune a fişierelor, liste, tabele etc.;
- -“help” pentru ajutarea utilizatorului în lucrul cu baza de date.
Apariţia şi răspândirea reţelelor de calculatoare a dus la dezvoltarea SGBD-
urilor în direcţia multiutilizator: mai mulţi utilizatori folosesc simultan aceeaşi bază
de date.
Principalul avantaj al reţelelor a fost eficienţa mult sporită de utilizare a
resurselor sistemelor de calcul: la o bază de date aflată pe un server central au
acces simultan mai mulţi utilizatori, situaţi la distanţă de server, de unde rezultă o
bună utilizare a resurselor server-ului şi o economie de memorie datorată memorării
unice a bazei de date.
14
dar şi informaţii suplimentare, necesare accesului la datele din baza de date.
- Nivelul conceptual reprezintă descrierea unităţilor logice din care este
formata baza de date şi a legăturilor dintre ele. Tot în modelul conceptual sunt
specificate constrângerile aplicate asupra datelor, care determină restricţii ale
operaţiilor de actualizare. Ele sunt necesare pentru asigurarea integrităţii datelor.
- Nivelul extern reprezintă modelul extern cu care operează utilizatorul
bazei de date. Acesta este format din unităţile logice de la nivelul conceptual cu
care operează un utilizator sau un grup de utilizatori. Pentru modelul extern se mai
foloseşte si termenul de vizualizare sau tabel virtual, deoarece se defineşte pe baza
unei expresii relaţionale aplicate câmpurilor din tabelele reale de fiecare dată când
este folosita. Cea mai importantă utilitate a unei vizualizări este aceea că prin
intermediul ei se poate controla accesul unui grup de utilizatori la baza de date.
Deoarece utilizatorul are acces la baza de date nu prin modelul conceptual, ci prin
vizualizări, acestea pot să ascundă unui utilizator acele unităţi logice la care nu are
drept de acces. Vizualizările pot să controleze şi operaţiile pe care le poate executa
cu unităţile logice: unele vizualizări îi permit numai să le consulte.
Un SGBD trebuie să asigure următoarele activităţi:
- definirea şi descrierea structurii bazei de date: se realizează printr-un
limbaj propriu, limbaj de definire a datelor (LDD), conform unui anumit model de
date;
- încărcarea datelor în baza de date: se realizează prin comenzi în
limbaj propriu, limbaj de manipulare a datelor (LMD);
- accesul la date : se realizează prin comenzi specifice din limbajul de
manipulare a datelor. Accesul la date se referă la operaţiile de interogare şi
actualizare. Interogarea este complexă şi presupune vizualizarea, consultarea,
editarea de situaţii de ieşire (rapoarte, liste, regăsiri punctuale). Actualizarea
presupune trei operaţiuni: adăugare, modificare efectuate prin respectarea
restricţiilor de integritate ale BD şi ştergere;
- flexibilitatea aplicaţiilor şi
15
- protecţia datelor.
17
2.1.5. Regulile lui Codd
19
sarcina recompunerii datelor trebuie să revină sistemului şi nu utilizatorului.
R13: Regula privind prelucrarea datelor la nivelul de bază
Dacă sistemul posedă un limbaj de bază (de nivel scăzut) orientat pe prelucrare
de recorduri (tupluri) şi nu pe prelucrarea mulţimilor (relaţiilor), acest limbaj nu
trebuie să fie utilizat pentru a se evita restricţiile de integritate sau restricţiile introduse
prin utilizarea limbajelor de nivel înalt, adică accesul la toate bazele va fi controlat de
SGBDR, altfel integritate bazelor de date nu poate fi compromisă fără cunoaşterea
utilizatorului sau a administratorului bazei de date.
Pe parcursul anilor regulile lui Codd au generat o seamă de controverse.
Câteva argumente sunt că aceste reguli nu sunt mai mult decât nişte exerciţii
academice. Unele revendicări ale produselor existente sunt că ele pot îndeplini cea
mai mare parte din reguli, dar nu toate. Această discuţie a generat într-o dispută între
utilizatori şi teoreticienii proprietăţilor esenţiale ale unui SGBDR.
Într-un câmp al bazei de date pot fi păstrate date elementare. Tipul datei
elementare determina tipul câmpului. Un câmp dintr-un tabel al bazei de date mai
are si alte proprietăţi pe lângă proprietatea dată de tipul datelor. Acestea sunt:
formatul, masca de introducere, eticheta, valoarea implicita, regula de validare,
textul regulii de validare, indexarea, valoarea nula.
20
Textul regulii de validare (validation text). Această proprietate controlează
textul afişat in cazul în care datele introduse în câmp nu respectă regula de validare
(în cazul în care condiţia logică pentru validare are valoarea „false” după
introducerea câmpului ).
21
încapsulare şi toate celelalte facilităţi care sunt asociate uzual cu managementul
datelor de tip obiect.
În prezent, industria bazelor de date, ca segment al industriei de software
generează anual aproximativ 8 miliarde de dolari. Companiile care deţin supremaţia
pe acest segment de piaţă sunt IBM, Oracle, Informix, Sybase, Teradata (NCR),
Microsoft, Borland.
Primul pentru crearea structurii de bază de date, al doilea pentru a adăuga date in
22
tabele şi pentru a le manipula. A treia componenta oferă posibilitatea de a proteja
(securiza) datele.
Comanda SELECT
23
select). Construcţia aceasta corespunde unei succesiuni de operatori algebrici de
forma selecţie-proiecţie-cuplare. Clauza SELECT realizează operaţia de proiecţie
si este urmată de lista atributelor care se reţin în relaţia rezultat. Eliminarea tuplelor
duplicate, atunci când este necesară, trebuie solicitată în mod explicit de către
utilizator prin folosirea operatorului DISTINCT.
Comandă SQL pentru inserare este INSERT INTO şi prezintă două variante:
24
INSERT INTO nume_relaţie (nume_atribut…)
VALUES (valoare…)
Comanda specifică numele relaţiei care se creează precum şi una sau mai
multe descrieri de atribute. La descrierea fiecărui atribut se specifică numele
atributului şi tipul de dată corespunzător împreună cu dimensiunea asociată.
Opţiunea NOT NULL asociată unui atribut indică faptul că în coloana
corespunzătoare acestuia nu pot să apară valori nedefnite (NULL). Această opţiune
este utilă în special în definirea atributelor care compun cheia primară a relaţiei.
25
Comanda simetrică celei de creare a unei relaţii este DROP TABLE, care şterge
relaţia respectivă. Sintaxa comenzii este următoarea:
26
cereri de regăsire (QUERY), videoformate (FORM), rapoarte (REPORT),
etichete (LABEL), meniuri (MENU). Un produs DESIGNER se
apelează printr-o comandă CRETE/MODIFY aferentă obiectului
respectiv. Comanda poate fi generată de sistem sau scrisă de utilizator.
- BUILDER - permite adăugarea rapidă a unor noi elemente la obiectele tip
VFP create deja cu produsul DESIGNER.
- WIZARD - permite realizarea completă şi rapidă a obiectelor de tip
VFP. Utilizarea modulului WIZARD presupune asistarea utilizatorului
de către sistem în proiectarea obiectelor. Generarea lor se face automat,
pe baza opţiunilor exprimate de utilizator, sub formă de răspuns la diferite
întrebări. Acest modul face parte din categoria instrumentelor de proiectare
asistată de calculator.
- EXPORT/IMPORT - permite schimbul de date între VFP şi alte sisteme.
27
Fig.2 Fereastra VFP
- bara de titlu pe care este scris “Microsoft Visual FoxPro” (în stânga) şi
butoanele pentru minimizare/maximizare şi închidere fereastră (dreapta).
- bara meniului sistem care conţine un meniu orizontal cu opţiunile de
lucru (modul de lucru meniu sistem):File, Edit, View, Format, Tools, Program,
Window, Help. La selectarea unei opţiuni apare un submeniu vertical, de unde se
alege mai departe subopţiunea dorită.
- bara cu instrumente care conţine butoane (icon-uri) dispuse orizontal.
Acestea pot fi active sau nu, în funcţie de starea curentă de lucru. Prin aceste
butoane se poate apela, sub o altă formă, o suboperaţiune din meniul sistem.
- fereastra de comandă care conţine un cursor şi permite introducerea unei
comenzi VFP sau apelul unui program (modul de lucru prin comenzi).
- aria de ieşire este formată din restul spaţiului neocupat din fereastra
principală unde vor fi afişate rezultatele execuţiei unei comenzi sau a unui
program VFP.
29
activarea/dezactivarea opţiunii de diferenţiere între litere mari/litere mici.
- View - permite setarea unor parametri privind bara curentă de instrumente
de lucru.
- Format - permite setarea unor parametri privind litele (Font), spaţierea etc.
- Tools - permite apelul interfeţelor şi instrumentelor VFP.
- Program - permite lansarea sau oprirea unuia din paşii ce se parcurg la
execuţia unui program VFP
o Do - lansează în execuţie un program.
o Cancel - anulează execuţia programului.
o Resume - reia execuţia programului.
o Suspend - suspendă execuţia programului.
o Compile - compilează programul.
- Window - permite setarea parametrilor ferestrei curente de lucru
(inclusiv fereastra de comandă). Conţine optiuni pentru operatii cu ferestrele
document: aranjarea ferestrelor (Arrange All), ascunderea ferestrei active (Hide),
ştergerea ferestrei active (Clear), comutarea între ferestre (Cycle), deschiderea
ferestrei de comenyi (Command Window), deschiderea ferestrei pentru vizualizarea
tabelelor din baza de date deschisa şi a legăturilor dintre tabele (View Window).
- Help - apelează instrumentele pentru autodocumentare.
30
La alegerea opţiunii Browse (răsfoire), fie din meniul View fie din
fereastra Data Session, va apare meniul Table în bara de meniuri cu următoarele
subopţiuni:
- Go to Record - regăsirea unei înregistrări după diferiţi parametri:
număr înregistrare, deplasare la începutul/sfârşitul tabelului, localizare
înregistrare după valoarea unui câmp etc.
- Append New Record - adăgarea unei noi înregistrări.
- Append Records - adăugarea de noi înregistrări dintr-un alt fişier
- Delete Records - marcare pentru ştergere (la nivel logic).
- Recall Records - anularea marcării pentru ştergere.
- Remove Deleted Records - ştergerea definitivă din tabel a înregistrărilor
marcate (la nivel fizic).
- Replace Field - actualizare câmp înregistrare (schimbarea valorii câmpului).
- Size Field - modificarea lăţimii de afişare a câmpului în browser. Fig.7
- Move Field - schimbarea poziţiei de afişare a câmpului în browser.
31
În FoxPro o aplicaţie comportă o serie de elemente componente cum sunt:
- una sau mai multe baze de date
- unul sau mai multe programe, din care unul este principal
- obiecte de interfaţă cum ar fi: meniuri, formulare cu obiecte, etc.
Toate componentele se prezintă ca fişiere de diferite tipuri, astfel încât o
aplicaţie este o mulţime de fişiere. Pentru o aplicaţie este necesar să se definească
un director cel puţin (o structură de directoare), iar fişierele trebuie organizate ca
proiect, într-un fişier de proiect cu extensia .pjx. Directorul numit director cadru
(Framework Directory) se construieşte cu ajutorul sistemului de operare (de ex.
Windows Explorer). Fişierul de proiect se construieşte în mediul FoxPro alegând
File → New → Project. Se dă un nume proiectului, care e un nume şi pentru fişier.
Aplicaţiile sub formă de proiect pot fi dezvoltate prin intermediul unui
program special oferit de mediu şi numit Project Manager(Fig. 3). Acest fişier,
lansat în execuţie, gestionează fişierul .pjx şi organizează fişierele componente ale
proiectului în structuri arborescente. Componentele sunt împărţite în categorii,
fiecare categorie având un arbore de structură. Categoriile sunt:
Data
- Databases (baze de date)
- Tables (tabele)
- Views (vizualizări)
- Cursors (tabele cursor - alias)
- Free Tables (tabele libere)
- Queries (cereri - interogări)
Docs
- Form (ecrane - formulare)
- Reports (rapoarte)
- Labels (etichete)
Class Libraries (librării de clase)
- Code
- Programs (programe)
- API Libraries (biblioteci API)
- Applications (aplicaţii)
Others
- Menus (meniuri)
- Text Files (fişiere text)
Fig.3 Project Manager
32
2.3.4. Tipuri de aplicaţii
Aplicaţiile au în vedere mulţimea tranzacţiilor ca tipuri de tranzacţii. În
FoxPro sunt următoarele tipuri de tranzacţii:
- de inserare;
- de modificare;
- de ştergere;
- de accesare.
Primele trei desemnează situaţia de actualizare a bazei de date, ultima referindu-
se la interogare bazelor de date.
Dacă aplicaţia nu are meniu, ea poate fi condusă prin casete de dialog. Trebuie
să existe o casetă principală care să fie lansată în programul principal în forma: do
MainForm.frm.
34
Fig. 5 Crearea unei tabele
Pentru a crea o tabela se alege opţiunea New Table si apar alte două
opţiuni: New Table si Table Wizard. După aceasta se vor introduce câmpurile
tabelei specificându-se tipul fiecărui câmp(numeric, character, date etc.) si
lungimea sa.
35
Experienţa şi instinctul totdeauna joacă un rol important în crearea unei bune
baze de date.
Normalizarea se poate realiza prin trecerea succesivă a datelor prin câteva
forme normale. Până în prezent s-au stabilit 7 astfel de forme normale, dintre care
primele 3 asigură o calitate destul de bună a organizării relaţionale a bazei de date şi
majoritatea bazelor de date relaţionale sunt organizate până la această formă.
Prima formă normală a datelor necesită ca:
• datele să fie structurate într-un tabel;
• fiecare coloană trebuie să conţină o singură valoare de un singur tip,
adică să existe o singură valoare în fiecare celulă; nu sunt permise şiruri sau
alte forme de reprezentare a mai mult de o valoare pe celulă;
• fiecare coloană trebuie să aibă un nume unic;
• tabelul trebuie să aibă un set de valori care identifică în mod unic o
linie; valorile din această coloană se numesc chei primare pentru tabel;
• nu trebuie să existe două linii identice în tabel;
• nu sunt permise grupuri repetitive de date;
Cheile primare sunt o coloană sau un set de coloane care au pe fiecare linie o
valoare unică în şirul valorilor coloanei respective.
Dependenţa datelor este un element esenţial în organizarea lor relaţională. O
coloană este dependentă (de cheia primară) dacă ea nu poate exista în tabel când
cheia primară este înlăturată.
A doua formă normală intervine când la sfârşitul primei normalizări
obţinem o cheie primară formată din mai multe coloane. A doua formă normală nu
se aplică pentru tabelele care au o cheie primară formată de o singură coloană.
A 3-a formă normală rezolvă dependenţele tranzitive. O dependenţă
tranzitivă este atunci când o coloană există în tabel dar nu este condiţionată direct de
cheia primară. În loc de aceasta, ea este condiţionată de alte câmpuri, care la
rândul lor sunt condiţionate de cheia primară. O cale rapidă de a se ajunge la a 3-a
formă normală este de a ne uita la toate câmpurile din tabel şi de a ne întrebam dacă
aceste câmpuri descriu cheia primară.
Observaţie
Prin lansarea Constructorului de formulare, în fereastra Form Designer, meniul
principal va include opţiunea Form care oferă instrumentele de lucru necesare.
37
• Properties - fereastra de proprietăţi având ca rol modificarea proprietăţilor
obiectelor formularului (metode, nume, titluri, dimensiuni, fonturi, culori,
etc.).
• Data Environment - mediul de date al formularului, fereastra pentru
precizarea tabelelor de date care vor fi deschise automat în momentul rulării
formularului.
• Ferestrele pentru cod - succesiunile de instrucţiuni care urmează a fi
executate la apariţia diferitelor evenimente din cadrul formularului cum ar fi:
acţionare unui buton, selectare unui obiect, etc.
- Barele utilitare
• Form Designer Toolbar - bara de butoane standard a formularului. Butoanele
din această bară de instrumente permit deschiderea/închiderea
ferestrelor: Data Environment, Properties, Code (afişarea secvenţei de cod)
sau a barelor de lucru.
• Form Control Toolbar - butoanele de control;
• Color Palette Toolbar - stabilirea atributelor de culoare;
• Layout Toolbar -alinierea obiectelor în formular,suprapunerea obiectelor,
etc.
Raportul
In general un raport este perceput ca fiind o lista sau o sturctura de afisare(sau
format de listare) a unor informatii (inregistari)provenind din tabelele bazei de
date.
In Visual Fox Pro,rapoartele pot fi percepute ca avand o structura duala:
• pe de o parte,structura de date,care poate consta din una sau mai multe
tabele din baza de date,intre care exista eventual relatii permanente;
• pe de la,structura de afisare(listare)care se refera la formatul efectiv al
raportului sau,mai exact,la obiectele prin care se face legatura cu structura
de date si benzile(zonele) care compun raportul.
Clasic, structura de date a unui raport este specificata prin mediul de date(data
environment) asociat fiecărui raport.
In data environment pot fi aduse tabele sau view-uri din baza de date.Trebuie
precizat faptul ca atunci cand se doreste crearea unui raport mai complex,care
implica date din mai multe tabel,iar intre cele doua tabele este stabilita o relatie
permanenta,in Data Environment va fi mostenita si respectiva relatie.
Proiectarea meniurilor
Meniurile si barele de instrumente pun la dispoziţia utilizatorului o metoda
structurala si accesibila de lucru cu comenzile si instrumentele aplicaţiei.
Cea mai mare parte a procesorului de creare a unui sistem de meniuri se
desfăşoară in fereastra Proiectantului de meniuri(Menu Designer),in cadrul căreia
se creează efectiv meniurile, submeniurile si opţiunile de meniu. Crearea unui
38
sistem de meniuri comporta mai mulţi paşi. Indiferent de mărimea aplicaţiei si de
complexitatea meniurilor se va proceda in modul următor:
- planificare si proiectarea sistemului
- se decide care meniuri sunt necesare,unde vor apărea acestea in cadrul
interfeţei,care dintre ele vor avea submeniuri
- crearea meniurilor si submeniurilor
- cu ajutorul proiectantului de meniuri se definesc titlurile meniurilor,ale
articolelor de meniu si ale submeniurilor
- generarea programului pentru meniuri
- rularea programului in vederea testării sistemului
Meniurile pot fi create prin personalizarea sistemului de meniuri Visual Fox
Pro sau prin generarea propriului sistem de meniuri. Pentru a porni de la sistemul
de meniuri existent in Visual Fox Pro se foloseşte opţiunea Quick Meniu. De
obicei,meniul apare in partea superioara a ferestrei unei aplicaţii si are o structură
standard. In cadrul unui meniu sunt incluse diferite opţiuni,la alegerea cărora sunt
declanşate prelucrări ce pot fi realizate in aplicaţia respectiva.
Meniul reprezinta deci un mijloc prin care utilizatorul comunica sistemului ce
operatie sa efectueze la un moment dat.Desi meniurile pot fi de mai multe
tipuri,de-a lungul evolutiei interfetelor cu utilizatorul s-a conturat o structura
standard a acestor tipuri de elemente.Un meniu este format,in general ,dintr-o bara
care contine mai multe optiuni.Fiecare dintre acestea are asociata un submeniu
vertical,care este activat numai la alegerea optiunii respective.Alegerea de catre
utilizator a optiunii meniurilor verticale poate declansa o operatie de prelucrare sau
poate determina afisarea unui nou submeniu vertical.Constuctorul de meniu
realizeaza colectarea interactiva de la utilizator a parametrilor de construire a
meniului si depozitarea lor intr-un fisier special cu extensia ”mnx”. Odata
specificate caracteristicile de ansamblu ale meniului,se poate trece la precizarea
elementelor sale,adica a optiunilor si a proprietatilor acestoa.
39
3. Prezentarea aplicaţiei
40
Fig.7 Formular de login
41
Accesând opţiunea Vizualizare din meniu, vom putea vizualiza evidenţa
principalelor tabele din cadrul bazei de date şi întocmi rapoarte cu privire la
facturile emise, clienţii existenţi şi produsele aflate în stoc.
Gestiunea magazinului se face prin ţinerea evidenţei facturilor emise, a
preţurilor, a clienţilor a produselor dar şi a transporturilor efectuate.
42
am împărţit informaţiile în cinci tabele: autentificare.dbf, clienţi.dbf, facturi.dbf,
produse.dbf şi transportur.dbf pe care le-am inclus în baza de date a
aplicaţiei.Câmpurile şi legâturile existente între aceste tabele conlucrează la buna
organizare si gestiune a datelor ce urmează să fie prelucrate.
Tabela autentificare are rolul de a memora numele si parola utilizatorului
aplicaţiei. Ea are următoarea structură:
43
• cnp N(13)- codul numeric personal al clientului
44
Tabela produse cuprinde:
• Nr_produs N(7)- codul produsului
• Nume_prod C(20)- denumirea produsului
• Cantitate N(4)- cantitatea aflată în stoc
• Valoare N(7)- preţul produsului fără TVA
• Tva N(7)- valoarea TVA
45
Fig.13 Tabela transport
thisform.refresh()
47
4.Concluzii
48
Bibliografie
[1] Gabriel Dima, Mihai Dima –„Microsoft Visual FoxPro 7.0”, Editura Teora,
Bucureşti, 2003.
[2] Crăciunaş L-„Baze de date”,Editura Teora, 2001
[3] Marian Fotache- „SQL de la simplu la complex”, Editura Polirom,
Bucureşti, 2001
[4] Marian Fotache, Ioan Brava, Liviu Creţu- „Visual FoxPro – Ghidul
dezvoltării aplicaţiilor profesionale”, Editura Polirom, Iaşi, 2002
[5] Mariana Miloşescu- „Baze de date în Visual FoxPro”, Editura Teora,
Bucureşti, 2003
[6] M. Baziah, J. Booth, J.Long, V. Miller, C. Silver, R.A. Bzers- „Totul despre
Visual FoxPro 6.0”, Editura Teora, 2004
49