Professional Documents
Culture Documents
LUCRARE
pentru obtinerea atestatului profesional
- MAI 2011 -
Cuprins :
1. 2. 3. 4. 5. 6. 7.
Generalitati despre SGBD...pag.04 Scopul programului.....pag.06 Baza de datepag.06 Prezentarea programului.pag.08 Proceduri si functii folosite in realizarea proiectului..................pag.11 Anexe..pag.13 Bibliografie..pag.19
Sistemele de Gestiune a Bazelor de Date (pe scurt SGBD prescurtare foarte des intalnita in literature de specialitate) sunt sisteme informatice (soft) specializate in stocarea si prelucrarea unui volum mare de date, volumul de prelucrari implicat fiind relative mic (spre deosebire de programele orientate spre rezolvarea problemelor matematice, de exemplu, care necesita un volum mare de prelucrari asupra unui volum mic de date). Termenul de baza de date se va referi la datele de prelucrat, la modul de organizare al acestora pe suportul fizic de memorare, iar termenul de gestiune va semnifica totalitatea operatiilor ce se vor aplica asupra bazelor de date.
Un SGBD trebuie sa asigure urmatoarele functiuni elementare relativ la bazele de date: - Definirea, crearea bazei de date - Introducerea datelor in baza de date(adaugare) - Modificarea unor date deja existente in baza de date - Stergerea datelor din baza de date - Consultarea bazelor de date (interogarea, extragerea informatiilor)
Alaturi de acestea, SGBD-urile pot furniza si alte servicii, cum ar fi : - Suport pentru limbaj de programare - Interfata cat mai atractiva si performanta, pentru comunicarea cu utilizatorul - Diferite tehnici de memorare, organizare, accesare a datelor bazele de date - Utilitare incorporate: sisteme de gestiune a fisierelor, liste, tabele, etc - Help pentru ajutarea utilizatorului in lucrul cu bazele de date
Istoria SGBD-urilor incepe o data cu aparitia primelor suporturi magnetice de memorare, benzile magnetice pe care informatia era memorata secvential, acesta dand si caracterul secvential al accesului la date in cadrul acestor sisteme. Aceasta etapa de dezvoltare este caracterizata de o identitate perfecta intre structura logica si cea fizica a informatiei din bazele de date, ceea ce a dus la o manipulare greoaie a datelor.
2. Scopul programului :
Scopul programului meu este de a executa operatiile necesare tinerii evidentei modelelor si creatiilor unei case de moda.
3. Baza de date :
Situatie (Finalizat/Nefinalizat)
status
C(10)
b)
creatii.dbf Scopul Denumire Descrierea creatiei Pret Marime Campul denumire descriere pret marime Tipul C(50) C(254) N(4) C(3)
c) modele.dbf d) creatii.dbf Scopul Nume Prenume Varsta Inaltime Culoarea parului Bust Talie Solduri Telefon Campul nume prenume varsta inaltime par bust talie solduri tel Tipul C(40) C(40) N(2) N(3) c(18) N(3) N(3) N(3) C(10)
4. Prezentarea programului
Comenzi creatii Adaugare comanda creatie, Finalizare creatie, Abandonare creatie, Afisare comenzi creatii. Daca se apasa butonul Adauga comanda creatie, este deschisa o alta forma (denumita adc), unde vom introduce denumirea, marimea, pretul si descrierea pentru creatia comandata (in curs de executie). In momentul finalizarii unei creatii (butonul Finalizare creatie) creatia este stearsa din tabelul comenzi.dbf si mutata in tabelul creatii.dbf, pentru a fi prezentata/vazuta si de catre alte persoane. La abandonarea unei creatii, inregistrarea respectiva este stearsa din tabelul de comenzi. Putem apasa Afisare comenzi creatii pentru a vedea toate comenzile.(nefinalizate). Modele Se pot adauga, sterge, edita sau vizualiza modelele inscrise la casa de moda. (Nume, prenume, varsta, inaltime, culoarea parului, bust, talie, solduri si nr. de telefon).
Creatii Se pot adauga, sterge, edita sau vizualiza creatiile realizate de casa de moda. (Denumire, descriere, marime si pret)
10
De asemenea in ambele formuri (creatii si modele) exista un grup de butoane pentru navigare. (Top, Next, Back si End). In form-ul principal, denumit main, exista cateva filtre pentru modele respective creatii. Putem afisa modele cu varsa cuprinsa intre x si y ani, sau inaltimea cuprinsa intre a si b mm. Pentru creatii am considerat utile filtrele preturi cuprinse intre s si t RON si nu in ultimul rand filtru pentru marime (S, M, L, XL, XXL).
11
[IN [WINDOW] WindowName2 | IN SCREEN] [COLOR SCHEME nSchemeNumber] SET FILTER TO [lExpression] [IN nWorkArea | cTableAlias] APPEND [BLANK] [IN nWorkArea | cTableAlias] [NOMENU] USE [[DatabaseName!] TableName | SQLViewName | ?] [IN nWorkArea | cTableAlias] [ONLINE] [ADMIN] [AGAIN] [NOREQUERY [nDataSessionNumber]] [NODATA] [INDEX IndexFileList | ? [ORDER [nIndexNumber | IDXFileName | [TAG] TagName [OF CDXFileName] [ASCENDING | DESCENDING]]]] [ALIAS cTableAlias] [EXCLUSIVE] [SHARED] [NOUPDATE] [CONNSTRING cConnectionString | nStatementHandle ] REPLACE FieldName1 WITH eExpression1 [ADDITIVE] [, FieldName2 WITH eExpression2 [ADDITIVE]] ... [Scope] [FOR lExpression1] [WHILE lExpression2] [IN nWorkArea | cTableAlias] [NOOPTIMIZE] SCAN [NOOPTIMIZE] [Scope] [FOR lExpression1] [WHILE lExpression2] [Commands] [LOOP] [EXIT] ENDSCAN IF lExpression [THEN] Commands [ELSE Commands] ENDIF
12
6. Anexe
Main : Adaugare comanda creatie USE comenzi IN 0 ORDER denumire SELECT COMENZI APPEND BLANK GO top replace comenzi.denumire WITH thisform.text1.Value replace comenzi.marime WITH thisform.text2.Value replace comenzi.pret WITH thisform.text3.Value replace comenzi.descriere WITH thisform.edit1.Value replace comenzi.status WITH "NF" thisform.Release CLOSE TABLES
13
Finalizare creatie xdenumire='' xdenumire=thisform.list1.Value ydenumire='' ydescriere='' yprey='' ymarime='' thisform.Release SELECT comenzi SCAN IF comenzi.denumire=xdenumire then ydenumire=comenzi.denumire ydescriere=comenzi.descriere ymarime=comenzi.marime ypret=comenzi.pret endif endscan DELETE FOR comenzi.denumire=xdenumire CLOSE TABLES USE creatii ORDER denumire IN 0 SELECT creatii APPEND BLANK GO top replace creatii.denumire WITH ydenumire replace creatii.descriere WITH ydescriere replace creatii.pret WITH ypret replace creatii.marime WITH ymarime CLOSE TABLES USE COMENZI EXCLUSIVE PACK CLOSE TABLES Abandon creatie
14
xdenumire='' xdenumire=thisform.list1.Value thisform.Release SELECT comenzi DELETE FOR comenzi.denumire=xdenumire CLOSE TABLES USE comenzi EXCLUSIVE PACK CLOSE TABLES Afisare comenzi creatie USE comenzi ORDER denumire IN 0 SELECT comenzi BROWSE; TITLE 'Comenzi Creatii - Casa de Moda' ; FIELDS denumire :H = 'Denumire' , ; marime :H = 'Marime' , ; pret :H = 'Pret' , ; descriere :H = 'Descriere' ; noedit noappend nodelete CLOSE tables Filtru varsta USE modele ORDER nume IN 0 SELECT modele ani1=thisform.text1.Value ani2=thisform.text2.Value BROWSE FOR varsta>=ani1 AND varsta<=ani2 ;
15
TITLE 'Modele - Casa de Moda' ; FIELDS nume :H = 'Nume' , ; prenume :H = 'Prenume' , ; varsta :H = 'Varsta' , ; tel :H = 'Telefon' , ; par :H = 'Par' , ; inaltime :H = 'Inaltime' ,; bust :H = 'Bust' , ; talie :H = 'Talie' , ; solduri :H = 'Solduri' ; noedit noappend nodelete CLOSE TABLES Filtru inaltime USE modele ORDER nume IN 0 SELECT modele ani1=thisform.text1.Value ani2=thisform.text2.Value BROWSE FOR varsta>=ani1 AND varsta<=ani2 ; TITLE 'Modele - Casa de Moda' ; FIELDS nume :H = 'Nume' , ; prenume :H = 'Prenume' , ; varsta :H = 'Varsta' , ; tel :H = 'Telefon' , ; par :H = 'Par' , ; inaltime :H = 'Inaltime' ,; bust :H = 'Bust' , ; talie :H = 'Talie' , ; solduri :H = 'Solduri' ; noedit noappend nodelete CLOSE TABLES
16
Filtru pret USE creatii ORDER denumire IN 0 SELECT creatii pre1=thisform.text5.Value pre2=thisform.text6.Value BROWSE FOR pret>=pret AND pret<=pre2; TITLE 'Creatii - Casa de Moda' ; FIELDS denumire :H = 'Denumire' , ; marime :H = 'Marime' , ; pret :H = 'Pret' , ; descriere :H = 'Descriere' ; noedit noappend nodelete CLOSE tables
Filtru marime USE creatii ORDER denumire IN 0 SELECT creatii mar1=ALLTRIM(thisform.text7.Value) BROWSE FOR marime=mar1; TITLE 'Creatii - Casa de Moda' ; FIELDS denumire :H = 'Denumire' , ; marime :H = 'Marime' , ; pret :H = 'Pret' , ; descriere :H = 'Descriere' ; noedit noappend nodelete
17
CLOSE tables
Adaugare model APPEND BLANK GO TOP thisform.text1.ReadOnly= .F. thisform.text2.ReadOnly= .F. thisform.text3.ReadOnly= .F. thisform.text4.ReadOnly= .F. thisform.text5.ReadOnly= .F. thisform.text6.ReadOnly= .F. thisform.text7.ReadOnly= .F. thisform.text8.ReadOnly= .F. thisform.text9.ReadOnly= .F. thisform.command3.Enabled= .F. thisform.command4.Enabled= .F. thisform.command5.Enabled= .F. thisform.command6.Enabled= .F. thisform.command7.Enabled= .F. thisform.command8.Enabled= .F. thisform.command9.Enabled= .F. thisform.command10.Enabled= .F. thisform.command11.Enabled= .F. thisform.command1.Enabled= .T. _SCREEN.ActiveForm.REFRESH thisform.text1.ReadOnly= .T. thisform.text2.ReadOnly= .T. thisform.text3.ReadOnly= .T. thisform.text4.ReadOnly= .T. thisform.text5.ReadOnly= .T.
18
thisform.text6.ReadOnly= .T. thisform.text7.ReadOnly= .T. thisform.text8.ReadOnly= .T. thisform.text9.ReadOnly= .T. thisform.command3.Enabled= .T. thisform.command4.Enabled= .T. thisform.command5.Enabled= .T. thisform.command6.Enabled= .T. thisform.command7.Enabled= .T. thisform.command8.Enabled= .T. thisform.command9.Enabled= .T. thisform.command10.Enabled= .T. thisform.command11.Enabled= .T. thisform.command1.Enabled= .F. _SCREEN.ActiveForm.REFRESH
7.
Bibliografie
1. FoxPro 2.6 sub WindowsGabriel si Mihai Dima 2. Programare in FoxPro pentru Windows.Maria Boldea si Ioan Boldea 3. Programarea calculatoarelor .Ion Bica
19
20