Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

 
CATEGORII DOCUMENTE
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Sortarea, ordonarea, indexarea unei baze de date

fox pro



+ Font mai mare | - Font mai mic



DOCUMENTE SIMILARE

\"Trimite
COMENZILE SCATTER SI GATHER

STERGEREA INREGISTRARILOR

Functiile meniului principal ale Visual FoxPro

COMENZI STATISTICE

SUBPROGRAME

Functia meniu File a Visual FoxPro

Instructiuni de acces la o baza de date

Deschiderea si inchiderea unei baze de date

Lansarea in executie a VFP

Comenzi de gestionare a fisierelor in VisualFoxpro

TERMENI importanti pentru acest document

sortarea intr o baza de date fox :

Sortarea, ordonarea, indexarea unei baze de date

Una dintre fazele cele mai importante ale lucrului cu o baza de date este cea de sortare si ordonare dupa un anumit criteriu. Aceasta faza poate usura foarte mult lucru cu o baza de date in vederea gasirii unei informatii sau grup de informatii. Lucrul este cu atat mai necesar deoarece incarcarea datelor intr-o baza de date se face in mare masura aleatoriu fara a se face o ordonare a actelor.

Sortarea unei tabele se face cu ajutorul comenzii SORT. Ea se poate realiza la nivelul unui camp sau la nivel de tabel. Pentru sortarea la nivelul unui camp instructiunile de comanda care sunt necesare sunt:

USE client

SORT ON Nume_cl /A TO client1

La nivel de camp se observa ca dupa apelarea tabelei care se doreste a se sorta se trece la introducerea liniei de comanda care are mai multe caracteristici. Prima este ca dupa instructiunea tipica SORT ON se va introduce numele campului care se va supune procesului de sortare urmat de unul din cele doua moduri de sortare a campului:

-          crescator comanda simbolizata cu /A,

-          descrescator comanda simbolizata cu /D.

Urmeaza introducerea numelui nou al tabelei in care se va trece rezultatul tabelei sortate. Rezulta deci ca avem un avantaj ca prin folosirea acestei comenzi se gasesc in calculator ambele tabele. Stergerea tabelului rezultat dupa sortare se poate face cu seria de comenzi:

DELETE FILE client1

PACK

Tabelul initial

Sortarea tabelului dupa mai multe campuri se face prin selectarea succesiva a ordini dupa care sa se realizeze sortarea in modul dorit. Liniile de comanda sunt:

USE client

SORT ON Nume_cl /A, Nr_f /A TO client1

In aceasta situatie tabelul fiind sortat ascendent dupa numele clientului si pentru acelasi client in ordinea crescatoare dupa numarul de factura.

Figura 11.21 Sortarea tabelului client dupa campul Nume_cl cu comanda SORT

Un alt mod de sortare este cel dupa o anumita conditie. Liniile de comanda folosite sunt:

USE client

SORT ON Nume_cl /A TO client1 FOR gigi

O alta modalitate de ordonare a unei tabele se poate realiza cu ajutorul comenzii INDEX care este o comanda de indexare a unui tabel. Pentru un tabel cu dimensiuni mari comanda de sortare dureaza mult motiv pentru care se recomanda sortarea prin indexare. Un alt dezavantaj al sortarii este ca dupa orice introducere de date este necesara o noua sortare care implica continuu ca spatiul folosit sa creasca dublu fata de dimensiunile initiale. Comanda de indexare se poate folosi numai pentru un camp. O modalitate eficienta de lucru este si aceea de a defini la inceputul lucrului cu tabele la faza de creare a tabelei o cheie de indexare pe criteriul dorit in acest moment apare un fisier suplimentar cu extensia .cdx si acelasi nume cu cel initial. Acest lucru face ca baza de date sa fie indexata automat la introducerea datelor. Pentru buna functionare a comenzii INDEX este necesara setarea comenzii SET TALK la valoarea ON. Linia de comanda este urmatoarea:

USE client

INDEX ON Nume_cl TO client1.idx

O alta modalitate este cea de indexare dupa mai multe campuri a carei linii de comanda sunt prezentate mai jos:

USE client

INDEX ON Nume_cl +Localit TO client1.idx UNIQUE

Indexarea se face dupa nume client si localitate simultan fara a admite inregistrari duble. Deoarece comanda nu stie sa lucreze in paralel cu variabile text si numerice pentru a transforma o variabila numerica in una text se va folosi instructiunea STR(Nr_f, 7).

O alta modalitate este indexarea dupa un anumit criteriu dat prin intermediul comenzii FOR. De exemplu se va face selectarea dupa criteriul Localiat Timisoara. Liniile de comanda sunt:

USE client

INDEX ON Nume_cl FOR Localit=Timisoara TO client1.idx

?? NDX(1) && Afiseaza primul fisier indexat

? RECOUNT() && Afiseaza numarul de inregistrari indexate

CLOSE ALL

Se observa aparitia fata de variantele anterioare a trei linii suplimentare. Prima asa dupa cum se observa si in partea dreapta din mesajul text de ajutor afiseaza numele primului fisier indexat, operatie necesara pentru a determina apoi numarul de inregistrari indexate in linia a patra din setul de instructiuni. In final sunt inchise toate tabelele deschise in linia de instructiune cinci.

OBS.

-          Indexarea dupa campuri numerice multiple poate sa nu ofere acelasi rezultat dorit,

-          Probleme pot sa apara si daca se uita sa se activeze un anumit tabel index si se folosesc instructiuni care lucreaza numai cu tabelele index active.

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1339
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou



Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024. All rights reserved