Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

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


Indexarea bazelor de date

fox pro

+ Font mai mare | - Font mai mic




Indexarea bazelor de date

Indexarea presupune crearea unui fisier nou numit fisier-idex, asociat bazei de date, in care se memoreaza ordinea inregistrarilor din baza de date. Accesul la baza de date se face prin intermediul acestui fisier index.




Sa luam un exemplu: o baza de date in care avem incarcate 7 materiale, cu seria, cantitatea si valoarea acestora. Indexarea acestei baze de date, dupa valoare, in ordinea crescatoare, presupune crearea fisierului MATERIAL.CDX in care se vor memora pozitiile inregistrarilor din baza de date, in ordinea dorita. Accesul la inregistrari se face prin intermediul fisierului index asociat .

Indexii pot fi depusi:

1. In fisiere simple index, care retin un singur index; ele trebuiesc deschise pentru a avea acces la acesta, fie in vederea parcurgerii ordonate a bazei de date asociate, fie pentru a reflecta si in fisierul index modificarile din baza de date. Dificultatea apare odata cu cresterea numarului de astfel de fisiere, care trebuie intretinute si actualizate.

2. In fisiere multi-index, care pot permite accesul, odata cu deschiderea multifisierului la toti membrii lui.

Fisierele multiindex pot fi:

a. Asociate bazei de date (au acelasi nume si se deschid sau se inchid odata cu baza de date, orice operatie de actualizare asupra bazei reflectandu-se automat si asupra tuturor fisierelor index membre);

b. Izolate: au nume propriu diferite de al bazei de date, sunt create prin depunerea unui prim fisier index si gestionate (deschise, actualizate, inchise) prin comenzi explicite.

Fisiere index simple:

Crearea unui fisier index simplu se face prin comanda INDEX:

Exemplu: crearea unui fisier index simplu pentru baza de date mijloacef.dbf

USE mijloacef

INDEX ON cod TO mijloace_n

NOTE se creaza fisierul index simplu mijloace_n.idx

LIST && inregistrarile sunt in ordinea campului cod

USE

Crearea unei etichete intr-un fisier index compus nestructurat se face astfel:

USE mijloacef

INDEX ON valoare TAG val_n OF mijloacef_d

NOTE se creaza eticheta val_n in fisierul index compus nestructural mijloacef_d.cdx

LIST

USE

Adaugarea unei noi etichete la fisierul index anterior:

USE mijloacef

INDEX ON SUBSTR ( cod, 1, 4 ) + SUBSTR ( denumire ,1 , 4 ) TAG codden OF mijloacef_d;

FOR data_inst >

NOTE se adauga eticheta codden la fisierul index mijloacef_d se va prdona dupa cod si denumire, doar;

Primele patru caractere din aceste campuri fiind semnificative. Se selecteaza doar mijloacele; fixe ce s-au instalat dupa 1 ianuarie 1990

LIST

USE

Indexarea unei baye de date folosind un fisier index compus structural, in care se vor introduce patru etichete, corespunzatoare ordonarii dupa campurile bazei de date:

USE mijloacef

INDEX ON cod TAG tcod

INDEX ON valoare TAG tvaloare

INDEX ON amortizare TAG tamortizare DESCENDING

INDEX ON stare TAG tstare

USE

Inchiderea unui fisier index se face prin inchiderea bazei de date asociata, (USE, CLOSE DATABASES), prin crearea unui alt index (INDEX ON) sau prin comenzi explicite de inchidere:

SET INDEX TO

CLOSE INDEX

Deschiderea unui fisier index se poate face si odata cu deschiderea bazei de date careia i-a fost asociat, prin indicarea numelui de index in comanda USE. Pentru ca prin aceeasi comanda se pot deschide si alte fisiere index (simple sau multiple), vom nota lista acestora <lista-index> fara sa precizam tipul fisierului index.



USE <fis.dbf> INDEX <lista-index> ORDER <nume-index>

Exemplu: se deschide baza de date mijloacef si odata cu ea o serie de fisiere index create in exemplele precedente.

CLOSE ALL

NOTE prima eticheta din mijloacef.cdx ca fi cea activa, adica ordonarea dupa cod

LIST

USE

USE mijloacef INDEX mijloacef_n.idx, mijloacef_d.cdx , mijloacef.cdx ORDER mijloacef_n

NOTE se selecteaza ca activ primul fisier index simplu, cheia de indexare fiind campul cod

LIST

USE

USE mijloacef INDEX mijloacef ORDER TAG tvaloare

NOTE se selecteaza eticheta tvaloare din fisierul index compus structural mijloacef.cdx

LIST

USE

Deschiderea unui fisier index se poate face si prin comanda explicita:

SET INDEX TO <lista-index> [ORDER <nume-index>]

Exemplu:

CLOSE ALL

USE mijloacef

SET INDEX TO mijloacef ORDER TAG tcod ADDITIVE

LIST

USE

Chiar daca prin comanda s-a deschis o lista de fisiere index, numai primul din lista este considerat principal. Clauza ORDER fixeaza la deschidere fisierul index principal.

Schimbarea ordinii de prioritate se face printr-o comanda explicita:

SET ORDER TO <nume-index>]

Exemplu:

CLOSE ALL

USE mijloacef INDEX mijloacef_n.idx, mijloacef_d.cdx , mijloacef.cdx

SET ORDER TO 2

LIST

SET ORDET TO codden OF mijloacef_d.

LIST

USE

Comanda permite indicarea indexului principal din lista de indexi deschisi.

Actualizarea unui fisier index nu se face automat daca acesta nu a fost deschis in momentul actualizarii bazei de date. O actualizare posibila se face fie prin o noua creare a fisierului fie prin comanda REINDEX:

REINDEX

Pentru o lista de fisiere index deschisa, comanda permite reactualizarea acestora in functie de baza de date asociata.

Exemplu:

USE mijloacef INDEX mijloacef_n. mijloacef_d

REINDEX

USE

Functii standard relativ la indexare:

1) NDX ([ [<nr-zona>][, <nr-ord>] ]) intoarce numele fisierului index deschis intr-o zona specificata prin <nr-zona> (implicit zona ultim selectata) si a carui ordine in lista fisierelor active este <nr-ord>.

2) ORDER ([<nr-zona>]) intoarce numele fisierului index activ in zona data prin numarul ei; implicit este zona curenta.

3) KEY ([ [<nr-ord>][, <nr-zona>] ]) intoarce expresia cheii de indexare a fisierului index identificat prin <nr-ord> in lista deschisa in zona de lucru indicata prin numarul ei, implicit zona curenta.






Politica de confidentialitate



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1588
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 2021 . All rights reserved

Distribuie URL

Adauga cod HTML in site