Baze de date
Comenzi statistice: indexarea==================
- executa calcule statistice SUM [lista expresii/camp][<domeniu>][FOR <conditie>][WHILE <conditie>] to NUME_variabila
USE PLATI SUM ACHITAT TO TOTAL
- CALCULUL MEDIEI AVERAGE [lista expresii/camp][<domeniu>][FOR <conditie>][WHILE <conditie>] to NUME_variabila
USE PLATI
INDEXAREA ========== - Permite accesul logic intr-o anumita ordine la articolele unui tabel dat de cheia de indexare. - se creaza separat->interactiv; nu prin comenzi in program indecsi - nestructurali (in fisiere cu nume diferit de numele tabelului sursa) - structurali (memorati intr-un fisier cu acelasi nume cu tabelul sursa dar de extensie cdx) - fisier multiindex - contine toate cheile de indexare
Vizualizarea continutului fisierului cdx se face cu: DISPLAY STATUS
INDECSI STRUCTURALI pot fi: - regular(normal): indecsi care pentru fiecare articol din tabel.dbf creaza o inregistrare in tabel.cdx (admit si duplicarea cheii de indexare) - unici: indecsi care introduc o singura valoare pentru o cheie in fisierul cdx . Intabel raman valorile. O singura cheie intr-un tabel poate fi unica. - candidat: nu admite valori duble, dar putem sa avem mai multi indecsi candidati intr-un tabel. - primar: cand lucram cu mai multe tabele; nu admite valori duble.
Crearea indecsilor -------------------------- - se creaza interactiv in tabel designer - in cazul indecsilor compusi campurile care intra incomponenta acestora se converteste in tipul caracter - functiile de conversie sunt: STR(camp_numeric,lungime,nr_zecimale)
DTOS(<data_calendaristica>) OBS.: In momentul extragerii zilei,lunii sau anul dintr-o data calendaristica acestea sunt numere care trebuiesc convertite ca numere. ex.: codcurs+str(year(datan),4)
ex.: codcurs+str(nrmat,5)+DTOS(datan)
crearea indecsilor prin cod: ====================== ex.: INDEX ON str(ancurs,4)+codcurs+str(serie,2)+nume TAG cheia1
Deschiderea tabelului indexat ------------------------------------------- USE <nume_tabel> ORDER <nume_cheie>
Schimbarea cheii de indexare in timpul execitiei programului : SET ORDER TO <nume_cheie> [ascending(implicit)|descending] SET ORDER TO - revine la cheia initiala
LOCATE face o cautare secventiala In cazul tabelelor indexate cautarea se face in acces direct. Pentru aceasta indexul master (activ) trebuie sa corespunda cheii dupa care se face cautarea. Fox-ul cauta intai in fisierul cdx, iar in momemntul in care gasese cheia cautata sare in tabelul dbf la articolul respectiv. Comanda de cautare este: SEEK (<expresie>)
unde: expresie = expresia cheii de indexare + informatia cautata
Exemplu: set order nume accept 'Cum se numeste ? ' to mnume seek (mnume)
set order to ann input 'Anul cursului: ' to man accept 'Codul cursului: ' to codcurs accept 'Nume cursant: ' to mnume seek str(man,4)+ mcurs + mnume
cand lucram prin cod seek() este urmata de found(): if found disp codcurs,nume,datan endif
Stergerea cheilor de indexare ----------------------------------------- - in tabel designer sau prin cod cu comanda: DELETE TAG <lista_chei_de_indexare> DELETE TAG nume,ann
Campurile memo ==============
Pentru fisierul dbf care are campuri memo , exista asociat un tabel de extensie .fpt In campul memo exista un cod care ne arata daca campul este gol sau contine o informatie. de asemenea se gaseste informatie care ne duce la locul de depozitare a informatiei -> tabel.fpt Pentru a vedea sau construi aceste campuri: 1.intram in browse 2.dubluclick pe memo 3.se deschide o fereastra de editare unde putem introduce orice sau doar sa-l vizualizam 4.dupa editare salvam continutul cu CTRL+W
Utilizarea unui filtru -----------------------------
SET FILTER TO <conditie> unde: conditie este conditia de filtrare (simpla sau compusa)
Obs.: O comanda SET FILTER este valabila numai pentru tabelul activ, adica tabelul respectiv trebuie sa fie deschis inainte de a da comanda.
exemplu: use reg_cat set filter to codcurs='ajut' and n1>=6 disp codcurs, nume,n1 all
|