Sunteți pe pagina 1din 3

INDEXAREA BAZELOR DE DATE

Indexarea unei b.d. presupune crearea unui fisier nou, numit fisier index asociat,
în care se memoreaza ordinea înregistrarilor din b.d. Accesul la o anumita
înregistrare se face prin intermediul fisierului index.

Fisierele index ce pot fi asociate unei b.d. pot fi de urmatoarele doua tipuri:

-fisiere index simple (cu extensia .IDX), care contin o singura cheie de
ordonare.

- fisiere index compuse (cu extensia .CDX), care memoreaza mai multe chei de
ordonare, numite etichete, una singura fiind activa la un moment dat si anume
eticheta activa.

Crearea unui fisier index este data de comanda INDEX.

sintaxa :

INDEX ON <expr> TO <fisier.idx> | TAG <nume eticheta>


[OF <fisier.cdx>][ FOR <exp L>][ ASCENDING | DESCENDING ]
[ UNIQUE ]

Unde:

<expr> cheia de ordonare (de indexare)

TAG <nume eticheta> fisier index compus poate contine mai multe chei de
indexare, fiecare corespunzând unui criteriu de ordonare a b.d

Clauza FOR determina ca numai înregistrarile care respecta <exp L> sa poata fi
accesate prin fisierul index respectiv. ASCENDING sau DESCENDING se
folosesc pentru a preciza modul de ordonare a b.d , asociat fisierului index.

Clauza UNIQUE – daca avem doua sau mai multe înregistrari cu aceeasi cheie
de indexare, determina accesul doar la prima înregistrare si blocarea accesului la
celelalte.

1
1. INCHIDEREA UNUI FISIER INDEX

SET INDEX TO sau CLOSE INDEX închide toate fisierele index din zona
de lucru curenta.

2. DESCHIDEREA UNUI FISIER INDEX

USE <fisier.dbf>INDEX <lista index>ORDER <nume_index>

Sau

SET INDEX TO <lista_index>[ORDER<nume_index>]

3. ACTUALIZAREA UNUI FISIER INDEX

REINDEX- permite reactualizarea bazei de date asociate

4. EXPLOATAREA UNEI BAZE DE DATE IMPREUNA CU


FISIERUL INDEX

COMANDA: SEEK <exp>

Pas 1. Se deschide baza de date impreuna cu fisierul index asociat cua


ajutorul comenzii:

USE NUME BAZA DATE INDEX fis_ind

Pas.2 Se introduce comanda SEEK (expresie)

Pas.3 Se introduce comanda DISPLAY (PENTRU AFISAREA


INREGISTRARILOR GASITE)

OBSERVATII:

Efectul comenzii SEEK este echivalent cu efectul comenzii LOCATE FOR


<cond>

5.

EXEMPLE

USE agenda

INDEX ON nume TO agenda1 creeaza fisierul agenda1 – fisier index


simplu cu cheia de indexare nume
2
Fisier index compus structurat cu cheile de indexare nume, prenume, numar de
telefon

INDEX ON nume TAG nume

INDEX ON prenume TAG prenume

INDEX ON nr_telefon TAG nr_telefon

SET ORDER TO 3 stabileste indexul activ

AFISAREA CAMPURILOR CALCULATE

Campurile calculate reprezinta expresii construite pe baza campurilor unei baze


de date si utilizate pentru afisarea unor care nu exista fizic, dar pot fi calculate.

Ex: Fie baza de date elevi pentru care s-a memorat data nasterii. Sa se afiseze
varsta fiecarui elev in parte.

1. Se deschide baza de date USE elevi

2. Se introduce comanda

LIST FIELDS nume_prenume, INT ((DATE( ) – data_n)/365)

LIST nume_prenume, INT ((DATE( ) – data_n)/365)