Documente Academic
Documente Profesional
Documente Cultură
r complex folosit la memorarea i gestionarea datelor. In Visual Foxpro o baz de date reprezinta un container n care sunt puse la un loc mai multe tabele cu date ntre care pot s existe legturi . Baza de date are asociat un fiier cu extensia DBC n care sunt memorate date referitoare la baza de date : tabelele componente, relaiile dintre tabele , dicionarul de date asociate. Tabelele sunt structuri n care se pot memora date descriind un anumit tip de elemente. Fiecare caracteristic a elementelor alctuiete un cmp, iar elementele propriu-zise sunt memorate n inregistrri. Din punct de vedere fizic, tabele sunt stocate n fiiere cu extensia dbf : Exemplu de structur tabelar n care sunt stocate datele: TABELA.DBF Cmp1 Cmp2 Inregistrar ea 1 Inregistrar ea 2 Inregistrar ea n Cmp m
Prenum DataN e
Studii
Venit
Popescu
Ion
11:11:1976 02:12:1973
Georgescu Mihai
nregistrrile
Avrom
Mihai
08:23:1964
MEDII
23000000
Fiecare cmp al unei tabele are mai multe caracteristici ce se precizeaz la definirea tabelului :
din caractere ( de obicei litere , cifre i liniua de subliniere) . Dac tabelul este inclus n baza de date , numele cmpului poate fi de lungime maxim 128 de caractere. Dac tabelul este liber, nefiind legat de o anumit baz de date , numele este format din maxim 10 caractere ( prima liter), tabelul fiind de fapt un fel de baz de date din versiunile mai vechi de Foxpro
(coloana) respectiv. Tipurile de date puse la dispoziie de Visual Foxpro sunt urmtoarele : 1) Character2) Curency folosit pentru a stoca valori n dolari (i se mai spune tipul monetar ) . Valoarea maxim permis este de $922 000 de miliarde i permite patru zecimale.( valorile sunt stocate pe 8 octei n memorie). 3) Numeric i Float folosite pentru pstrarea valorilor numerice , permind pnp la 20 de cifre semnificative, cu maxim 19 cifre zecimale. Valorile minime i maxim ntre care se poate lucra sunt 0.9999999999 x10-19 i 0.9999999999 x1020 . 4) Date i DateTime sunt folosite pentru pstrarea datelor calendaristice n memorie sub forma YYYYMMDD, iar DateTime pstreaz i data calendaristic i timpul n formatul HHMMSS . Datele variaz ntre limitele 01-01-100 i 12-31-
9999, iar timpul de la 12:00:00 AM la 11:59:59 PM. Trebuie precizat faptul c n tabel data calendaristic este afiat implicit n formatul american MMDDYY. Pentru a schimab acest format se poate tasta ( n fereastra de comand) comanda SET DATE TO DMY, iar pentru a avea anul cu 4 cifre trebuie tastat comanda SET CENTURY ON . 5) Logical - se folosete pentru pstrarea a dou valori : adevrat ( notat cu .T. ) i fals ( notat cu .F.) . n general , este folosit pentru mrimi cu dou stri, cum ar fi : adevarat / fals ; da/nu 6) Memo se folosete pentru stocarea irurilor mari de caractere , care depesc 254. De exemplu, un cmp Observaie sau un cmp Cv (curriculum vitae) pot fi declarate de tip memo. Trebuie s atenionm faptul c dac se folosesc cmpuri memo , sistemul va ma ataa un fiier la baza de date , fiier ce are extensia FPT i stocheaz textul cel lung al cmpului ( cmpurilor ) memo . De aceea , dac se dorete copierea unei baze de date , trebuiesc copiate mai multe fiiere : fiierul DBC (containerul b.d.) , DBF-urile ( tabelele cu date ), FPT-urile ( fiierele cu textul cmpurilor memo) . 7) General - folosit pentru stocarea de referine la anumite obiecte cum ar fi grafice. De asemenea , se folosete pentru adugarea de obiecte OLE (imagini, sunete, documente Windows). i el este stocat n fiierul cu extensia FPT asociat. lungimea cmpului - adic numrul de poziii necesare pentru pstrarea datelor acelui cmp ( numrul maxim estimat a se ocupa ) .
numrul de zecimale se refer la cmpurile numerice i precizeaz cte poziii pentru zecimale se vor aloca. fanionul (indicatorul) de indexare - acesta stabilete dac se folosete un index pe baza cmpului respectiv .
= egal == egalitate exact > mai mare dect < mai mic dect >= sau => mai mare sau egal cu <= sau =< mai mic sau egal cu <> diferit de diferit de != diferit de $ este cuprins n Operatorii relaionali se pot aplica doar operanzilor iruri de caractere, dat calendaristic i numerici.
operatorii caracter sunt operatorii + i - care concateneaz dou sau mai multe iruri de caractere; operatorii dat calendaristic sunt identici cu operatorii pentru irurile de caractere. Exist doar patru metode permise de combinare a operanzilor i a operatorilor dat calendaristic: - <dat>+<numr> - rezultat tip dat calendaristic - <numr>+<dat> - rezultat tip dat calendaristic - <dat>-<numr> - rezultat tip dat calendaristic - <dat>-<dat> - rezultat tip numeric operatorii logici folosii n limbajul Visual FoxPro sunt AND, OR, NOT; operatorii numerici sau operatorii aritmetici sunt: - unar genereaz negativul unui numr + unar genereaz pozitivul unui numr + adunare scdere * nmulire / mprire ** sau ^ ridicare la putere
% modulo ntoarce restul care rezult la mprirea a dou numere Funciile ntorc un anumit tip de date.
CREAREA BAZEI DE DATE I A TABELELOR COMPONENTE : Practic, pentru crearea bazei de date i (eventual) a tabelelor , utilizatorul are la dispoziie cel puin dou metode : a. folosind comenzile din meniurile mediului Visual Foxpro, fie tastnd comenzi dedicate n fereastra de comand .Prima metod const n alegerea opiunii New din meniul File , dup care , n fereastra deschis pe ecran, se alege butonul Database (n felul acesta se indic sistemului c se dorete construirea unui container baz de date ). n final , fie se acioneaz butonul New file , fie se alege asistentul Wizard pentru a construi baza de date . b.Cu ajutorul cu ajutorul comenzilor echivalente ce se tasteaz n fereastra de comand: Crearea bazei de date CREATE DATABASES < nume > sau CREATE DATABASES caz n care aprea o fereastr de dialog pentru introducerea numelui . Pentru deschiderea BD modificarea i afiarea acesteia MODIFY DATABASE < nume >
Crearea tabelelor se face cu comanda CREATE < nume tabel > Se deschide fereastra [Table Designer] pentru a putea introduce campurile tabelului.
In interiorul ferestrei gasim 6 etichete importante care reprezinta structura tebelului: 1. Name = numele campului 2. Type = tipul campului 3. Width = latimea campului 4. Zecimals = numarul de zecimale 5. index = sortarea crescatoare sau descrescatoare pe un anumit camp 6. NULL =
Automat va aparea fereastra in care se vor introduce inregistrarile in tabel. [ CTRL+W ] Deschiderea tabelelor
USE < nume tabel > Modificarea structurii tabelelor MODIFY STRUCTURE sau MODI STRU Listarea structurii tabelelor DISPLAY STRUCTURE DISPLAY STRUCTURE TO PRINTER Pe ecran se afiseaza - locatia tabelului - numarul de inregistrari - data ultimei modificari - toate etichetele tabelului
Afisarea unui tabel Afisarea unui tabel se poate face cu ajutorul mai multor comenzi : LIST / LIST TO PRINTER afisarea datelor pe ecran fa a putea fi modificate
LIST RECORD <nr inregistrarer> LIST NEXT 3 LIST REST EDIT sau CHANGE afisarea datelor pe nivele BROWSE afisarea datelor sub forma de tabel DISPLAY afisare in combinatie cu alte comenzi GO TOP GO BOTTOM GO RECORD <numar inregistrare> Introducerea de noi inregistrarilor in tabel USE < nume > APPEND sau INSERT Stergerea inregistrarilor din tabel Eliminarea inregistrarilor se face la nivel logic sau fizic prin utilizarea comenzilor : DELETE ALL stergere logica RECALL ALL - demarcarea inregistrarilor insemnate pentru stergere PACK - stergerea fizica a inregistrarilor marcate ZAP - stergerea tuturor inregistrrilor trecand peste marcare Stergerea logica (marcarea pentru stergere )- inregistrarile nu sunt eliminate definitiv. DELETE RECORD <numar inregistrare> stergere logica a unei inregistrari PACK DELETE RECORD 2 DELETE NEXT 3 DELETE REST
LIST <CAMP> FOR <CONDITIE> LIST STRUCTURE BROWSE <CAMP> FOR <CONDITIE>
- Prelucrarea inregistrarilor Un grup de inregistrari poate fi : ALL - toate inregistrarile NEXT - urmatoarele inregistrari RECORD - Inregistrarea cu numarul de ordine specificat REST - restul inregistrilor dinpozitia curenta pana la sfarsitul tabelului REPLACE <CAMP> WITH <EXPRESIE> REPLACE <CAMP> WITH <EXPRESIE>, <CAMP2> WITH <EXPRESIE 2> replace prenume with "jan" for nume ="mihai"
Stergerea tabelelor din BD CLOSE ALL DELETE FILE< nume tabel.dbf > - Inchiderea tabelelor CLOSE < nume > CLOSE ALL - daca sunt mai multe tabele deschise
F10 sau ALT (+prima litera din meniu) acceseaza meniurile CTRL + sageata stinga deplasare la stinga cu un cuvint CTRL + sageata dreapta deplasare la dreapta cu un cuvint HOME / END deplasare la inceputul / sfirsitul unei linii TAB deplasare la urmatorul tab SHIFT TAB deplasare la precedentul tab CTRL+ENTER salvare fisier, continuind editarea CTRL+END salvare fisier si revenire la prompter CTRL+W salvare fisier si revenire la prompter ESC abandon fisier si revenire la prompter CTRL+T marcheaza pentru stregere linia curenta CTRL+Y sterge cuvintul curent QUIT
USE [[NumeBaza!]Tabel | NumeVedereSQL | ?] [IN nWorkArea | cTableAlias] [ONLINE] [ADMIN][AGAIN] [NODATA] [INDEX IndexFileList | ? [ORDER [nIndexNumber | IDXFileName | [TAG] TagName
COPY STRUCTURE TO NumeTabel [FIELDS ListaCampuri] [[WITH] CDX | [WITH] PRODUCTION] [DATABASE NumeBaza [NAME NumeTabel]] APPEND FROM NumeTabel | ? [FIELDS ListaCampuri] [FOR lExpresie] [[TYPE] [DELIMITED [WITH Delimitator | WITH BLANK | WITH TAB | WITH CHARACTER Delimiator] | PDOX | RPD | SDF | WK1 | WK3 | WKS | WR1 | WRK | CVS | XLS | XL5 [SHEET cSheetName] | XL8 [SHEET cSheetName]]] [AS nCodePage]