Sunteți pe pagina 1din 11

VISUAL FOXPRO SGBD RELAIONAL Visual Foxpro este un SGBD modern , O baz de date relaional relaional reprezint o structur

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

Exemplu Structura tabelului Nume

un tabel datep.dbf dintr-o baz de date cursani.dbc ,


Cmpurile tabelului

Prenum DataN e

Studii

Venit

Popescu

Ion

11:11:1976 02:12:1973

SUPERIOA 12000000 RE SUPERIOA 23400000 RE

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 :

numele su folosit la identificare ( de fapt numele coloanei ). Numele este format

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

tipul cmpului - precizeaz tipul datelor , valorilor ce vor fi stocate n cmpul

(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 .

Operatorii leag datele ntre ele i se mpart n:

operatorii relaionali - folosii n diverse expresii logice:

= 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

Dupa introducerea inregistrarilor tabelul se va salva cu combinatia de taste

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

REMOVE TABLE, cu sintaxa: REMOVE TABLE TableName | ? [DELETE] [RECYCLE]

DELETE FILE [NumeFis | ?] [RECYCLE] Exemplu: USE DELETE FILE tabel1.dbf

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]

S-ar putea să vă placă și