CATEGORII DOCUMENTE |
SISTEMUL DE GESTIUNE AL BAZELOR DE DATE(SGBD)
FUNCTII SGBD
FUNCTII
FUNCTIA este o componenta a sistemului de gestiune a bazelor de date care se aplica unor operanzi si reintoarce utilizatorului un rezultat(o valoare numerica,un sir de caractere, o valoare logica etc.).Rolul si mecanismul de functionare este cel cunoscut din matematica.Functiile se impart in mai multe clase in func
-tie de natura operanzilor carora li se aplica dar este dificila o delimitare clara in categorii distincte.
Functii de tip caracter
ALLTRIM(expr_car) –Returneaza un sir de caractere din care a eliminat spatii nesimnificative.expr_car
Este sirul initial care contine spatii nesemnificative.
ASC(expr_car) -Returneaza codul ASCII al primului caracter din expresie. Orice alt caracter din
Expr_ car este ignorat.
Car2,[expr_num]) –Returneaza pozitia unei expresii de tip caracter in alta:
Expr_car1-este sirul care se cauta ;
Expr_car2-este sirul in care se cauta;
Expr_num-reprezinta a cata aparitie a expr-car1 in expr_car2 se cauta(implicit expr_
Num =1,adica se cauta prima aparitie).
Daca expr_car1 nu se gaseste in expr_car2 se returneaza 0. Cautarea realizata prin
AT() tine cont de scrierea cu litere mici si mari ; pentru a nu face diferente se foloses
-te functi ATC().
BETWEEN(expr_1,
Expr_2,expr_3) -Indica daca o expresie de tip caracter,numerica sau data calendaristica se afla intre
Alte doua expresii de acelasi tip.functia returneaza(.T.)daca expr_1 este mai mare sau
Egala cu expr_2 si mai mica sau egala cu expr_3(expr_2<=expr_1<=expr_3), si (.F.)
In caz contrar.
CHR(expr_num) -Returneaza caracterul al carui cod ASCII este dat de valoarea expresiei expr_num.
CTOD(expr_car) -Converteste o expresie de tip sir de caractere intr-o expresie de tip data. Expresia de
Tip caracter trebie sa contina o data valida cuprinsa intre “1/1/100”si “12/31/9999”
SET DATE si SET CENTURY. Daca secolul nu este specificat la introducerea datei ,
Se considera implicit secolulu 20.
Car) -Returneaza (.T.) daca expresia caracter incepe cu o litera. Toate celelalte caractere
Sunt ignorate.
Car)-Returneaza (.T.) daca expresia caracter incepe cu o litera mica. Toate celelalte caractere sunt ignorate.
Car)-Returneaza (.T.) daca expresia caracter incepe cu o litera mare. Toate celelalte carac
-tere sunt ignorate.
LEN(expr_car) - Returneaza lungimea unei expresii de tip caracter.
LOWER(expr_car)-Converteste toate literele din expr_car in litere mici.
LIKE(expr_car1,
Expr_car2)-Compara doua expresii de tip caracter. Expr_car1 poate contine caracterele *si?
pentru cautari globale .Functia returneaza(.T.) daca expresia expr_car2 se potriveste
cu sablonul expr_car1 si(.F.) in caz contrar.
LEFT(expr_car,
Expr_num) -Returneaza caracterele din stanga.
Expr_car-reprezinta expresia din care se extrag caractere .
Expr_num-reprezinta numarul de caractere returnate.
Observatie: Functia LEFT() este identica cu o functie SUBSTR() cu pozitia de inceput1.
Car) -Elimina spatiile nesemnificative dintr-o expresie. Se foloseste de obicei in combinatie cu
Functia STR() pentru a converti numere in siruri de caractere .
car1,expr_car2) –Returneaza numarul de aparitii ale unei expresii in interiorul celeilalte.
Expr_car1-expresia care se cauta ..
Expr_car2-expresia in care se cauta.
Daca o expresie nu se gaseste in cealalta se returneaza 0.
num,[expr_car]) –Aliniaza la dreapta.
PADR(expr,expr
num,[expr_car]) –Aliniaza la stanga.
num,[expr_car]) –Centreaza
expr- expresia care se aliniaza.
Expr_num-numarul de pozitii pe care se va face alinierea.
Expr_car – textul de fundal peste care se suprapune expresia de aliniat. Implicit aceasta
Expresie este vida , se va face o aliniere simpla.
REPLICATE
(expr_car,expr
_num) -Returneaza un sir de caractere rezultata din repetarea expresiaei de tip caracter de un
numar de ori .expr_car este sirul de caractere care se repeta iar expr_num indica de ca
-te ori se va repeta expresia.
car,expr_num) -Returneaza cararcterele cele mai din dreapta .
expr_num-indica cate caractere va avea noul sir. Daca se indica un numar de caractere
mai mare decat lungimea expresiei expr_car se va returna tot sirul de caractere desem-
nat de expr_car.
RTRIM(expr_car)-Elimina spatiile insignifiante dintr-o expresie. Functia este identica cu TRIM() .
num -Returneaza un sir compus din spatii.expr_num reprezinta numarul de spatii returnate.
STR(expr_num1,
[expr_num2[,
expr_num3]]) -Converteste un numar intr-un sir de caractere.
Expr_num1-reprezinta numarul de convertit.
Expr_num2-reprezintanumarul de caractere pe care se face conversia,incluzand punctul
Zecimal si cifrele zecimale. Daca se specifica o lungime mai mare decat nr.
De cifre rezultate se vor adauga spatii in stanga nr-ului. Daca se specifica o
Lungime mai maica decat nr.-ul de cifre rezultate ,STR() va returna un sir
De asteriscuri indicand depasirea.
Expr_num3-reprezinta numarul de pozitii zecimale care se returneaza . Daca se specifica
Mai putine zecimale decat are nr-ul se va face o trunchiere pe nr-ul de pozi-
Tii specificat.
SUBSTR(expr_car,
Expr_num1[,expr
_num2]) -Returneaza un nr specificat de caractere dintr-o expresie de tip caracter.
Expr_car-expresia din care se extrag caractere
Expr_num1-reprezinta pozitia in cadrul expresiei expr_car din care incepe extragerea.
Prima pozitie intr-o expresie de tip caracter este 1.
Expr_num2-reprezinta nr-ul de caractere extrase. Daca parametrul lipseste se vor extra-
Ge toate caracterele pana la sfarsitul expresiei.
TRIM(expr_car) –Elimina spatiile insignifiante dintr-o expresie. Functia este identica cu RTRIM().
UPPER(expr_car)-Converteste
toate literele din expr_car in litere mari.
Exista functii numerice corespondente pentru toate functiile trigonometrice,exponentiale, loga-
Ritmi,radicali valoarea luiPi,etc.
INT(expr_num) -Returneaza partea intreaga a unei expresii numerice.
ROUND(expr_num1,
Expr_num2) -Rotunjeste o expresie numerica, cu un numar de zecimale precizat.SET
DECIMALS este ignorat.
Expr_num1-expresia de rotunjit
expr _num2 –numarul de zecimale la care se face rotunjirea. Daca se
precizeaza o valoare negativa, se va returna un numar intreg
continand in fata punctului zecimal un numar de zerouri pre-
cizat prin expr_num2.
Exemplu :ROUND(1234.1962,-1)produce 1230.0000
ROUND(1234.1962,-2)produce 1200.0000
ROUND(1234.1962,-3)produce 1000.0000
VAL(expr_car) -Returneaza valoarea numerica a unui sir de caractere compus din cifre . Daca
Primul caracter din sir nu este o cifra VAL() returneaza 0.
Functii de tip data calendaristica
CDOW(expr_data) -Returneaza numele zilei din saptamana pentru o data calendaristica.
CMONTH(expr_data) -Returneaza numele care corespunde expresiei de tip data.
DATE( -Returneaza data sistem.
DAY(expr_data) -Returneaza numarul zilei din luna pentru o expresie de tip data.
DOW(expr_data) -Returneaza numarul zilei din saptamana pentru o expresie de tip data(1pt.
Duminica si 7 pentru sambata).
DTOC(expr_data,
[1]) -Converteste o expresie de tip data in sir de caractere.
DTOS(expr_data) -Converteste o expresie de tip data intr-un sir de 8 cifre in forma aaaallzz.
Data,expr_num) -Returneaza o data cu un nr de luni inainte sau dupa data precizata .
MONTH(expr_data) -Returneaza nr-ul lunii (1-12) pentru o expresie data .
SECONDS( -Returneaza nr-ul de secunde care a trecut de la miezul noptii in forma de mii
De secunde.
TIME( -Returneaza ceasul sistem intr-un format cu 24 de ore sub forma unui sir de 8
Caractere(hh:mm:ss)
YEAR(expr_data) -Returneaza anul pt o expresie de tip data. Valoarea returnata contine intotdea-
Una si secolul, nu este afectata de SET CENTURY.
ALIAS([nr_zona]) -Returneaza aliasul zonei de lucru curente sau al unei zone de lucru precizate.
Daca nu gaseste nici o baza de date deschisa in zona precizata va returna sirul
Nul.
SELECT([0|1]) -Returneaza numarul zonei de lucru curente (SELECT (0))sau cel mai mare nu
-mar de zona ne folosit (SELECT(1))
BOF([nr_zona|alias]) -Returneaza (.T.) daca pointerul dearticol este pozitionatla inceputul bazei de
Date implicit referirea se face la zona de lucru curenta dar se poate preciza si o
Alta zona de lucru. Daca nu gaseste o baza de date deschisa va returna (.F.)
DELETED([alias|nr_
Zona]) -Returneaza (.T.) daca articolul curent este marcat pentru stergere . implicit se
Refera la zona de lucru curenta dar se poate folosi pentru o zona de lucru preci-
-zata prin alias sau nr_zona
EOF([nr_zona|alias]) -Returneaza (.T.) daca pointerul de articol este pozitiuonat la sfarsitul bazei de
Date. Pointerul de articol este pozitionat la sfarsitul bazei de date:
-cand s-a incercat o mutare a pointerului de articol ultimul articol din baza de
date;
-cand o comanda LOCATE sau SEEK a esuat . In caz contrar returneaza(.F.)
implicit referirea se face la zona de lucru curenta dar se poate preciza si o alta
zona de lucru. Daca nu gaseste o baza de date deschisa va rteturna (.F.)
FCOUNT([nr_zona|
Alias]) -Returneaza numarul de campuri prntru o baza de date deschisa
Alias]) -Returneaza (.T.) daca ultima comanda Continue ,LOCATE sau SEEK s-a teminat cu succes.
RECCOUNT([nr_
Zona|alias]) -Returneaza numarul de articole din baza de date
RECNO([nr_zona|
Alias]) -Returneaza numarul articolului curent.
Alias]) -Returneaza lungimea unui articol din baza de date
POSIBILTATI DE LUCRU IN FOXPRO
Accesarea programului FOXPRO se face fie din Windows prin etapele
Start/Programs/Windows explorer/fpd26/fox. exe fie din Norton Commander cand ma plasez pe calea C:/fp26/fox. exe. .
1) Crearea unei baze de date (tabele) se face cu Create[<numele tabelei care se creeaza >/?] ,introduc campurile care pot fi : numerice, caractere, data caldaristica, cu zecimale (float) sau logice, memo (cifre si litere),dupa care o sa fim intrebati daca introducem inregistrarile si aleg YES si cu CTRL +W salvez informatiile.
In crearea tabelelor mai intervin comenzii ca :
COPY TO<noua tabela care se creeaza cu aceiasi stuctura cu ceadeschisa in prealabil >STRUCTURE
EXTENDED[ FIELDS<campurile care apar>]FIELDS
LIKE< conditia de aparitie a campurilor >]FIELDS
EXCEPT< conditie complementara >]
CREATE[<se creaza aceasta tabela cu aceiasi structura ca si tabela de dupa clauza from >]FROM<numele tabelei ce se importa ca strucura>
Copierea sructurii unei tabele intr-o alta tabela se face cu :
COPY STRUCTURE TO <numelee tabelei nou create >[FIELDS<lista caracteristici pentruaparitie a campurilor>]FIELDS EXCEPT <conditia>]FIELDS LIKE <conditie de aparitie a campurilor pe noua baza de date>]
2) Pentru a efectua orice prelucrare a unei informatii dintr-o baza de
date , aceasta in prealabil trebuie deschisa:
_USE[<nume tabela >/?][IN<zona de lucru unde se deschide tabela >][AGAIN][INDEX<fisierele index care se deschid si ele >/?][ORDER<numarul fisierului index care se deschide primul>]/[<cheia principal dupa care se sorteaza>][OF<denumirea fisierului index compus de unde face parte cheia principala>][ASCENDING][DESCENDING][ALIAS<o noua denumire a tabelei prin care poate fi accesate>]
Inchiderea bazelor de date se face cu una din comenzile:CLOSE ALL sau CLOSE DATABASE
3) Adaugarea unei inregistrari goale se face cu {APPEND[BLANK] iar adaugarea in baza de date activa (deschisa acum) se face cu:
_APPEND FROM < de unde se importa date>/?[FIELDS<campurile ale caror valori vor fi adaugate >]/FIELDS LIKE< conditiile indeplinite de campuri>/[FIELDS EXCEPT<conditii complememtare>][FOR<conditii de adaugare>][TYPE]WIDTH<delimitatorul dintre campuri >
Adaugarea dintr-un tablou intr-o baza de date se face cu:
APPEND FROM ARRAY <din ce tablou se iau inregistrari cas a pun in tabela activa [FOR<conditiile ce trebuie indeplinite de inregistrari pentru a le pune in tabel ]
[FIELDS <decat campurile in care se pun elementele>|FIELDS LIKE <conditiile care le indeplinesc campurile >| FIELDS EXCEPT<conditii complementare >]
4)Modificarea inregistrarilor se face fie pe linie cu CHANGE fie pe coloana cu BROWSE cu structura urmatoare :
CHANGE [FIELDS<campurile care se afiseaza >]
[<domeniul in care
se fac modificari >][FOR<conditiile pentru care se fac modificari
>][WHILE <pana cand se fac modificari>][FONT<tipul de litera ,marimea >][STYLE <stilul de
litere>][FREEZE<numai acest
5)Marcarea pentru stergere se face cu :
DELETE[<domeniul >][FOR<conditia de stergere>]
[WHILE<pana cand se sterge>]
Acumularea marcarii pentru stergere are aceeasi structura numai ca in loc de “DELETE”se foloseste”RECALL” in comanda anterioara .
Stergerea efectiva(eventual a unui camp memo)se face cu:PACK[MEMO]
[DBF] iar stergerea tuturor inregistrarilor se face cu ZAP,stergerea unor fisiere(baze de date ,tabele)se face cu DELETE FILE[<numele lor>|?]
Deosebirea intere indexare si sortare este ca fisierele index ocupa spatiu mult mai mic.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 39
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved