Creare un Indice

Una volta che avete una tabella, potete creare un campo o una espressione. Per usare gli indici con efficienza, create indici su campi che usate con maggiore frequenza nelle tabelle, queries o nei reports. Se impostate un indice in un campo che non è molto utile per l’applicazione di filtri o query, come ad esempio l’indirizzo di casa, potreste rallentare inutilmente le prestazioni del database.

Per creare un indice

  1. Nel Project Manager, selezionate la tabella a cui volete aggiungere un indice, e scegliete Modify.
  2. Nel Table Designer, selezionate la scheda Indexes.

    La scheda Indexes del Table Designer

  3. Nela campo Name, inserite il nome per l’indice.
  4. Dalla lista Type, selezionate il tipo di indice.

    Maggiori informazioni nella sezione seguente, Scegliere una tipologia di indice

    Nella finestra Expression, inserite il nome del campo con cui volete creare l’ordine.

    -oppure-

    Costruite una espressione selezionando il tasto in fondo alla finestra in modo da attivare l’ Expression Builder.

    Maggiori informazioni nella sezione seguente Ordinare attraverso Campi Multipli

    Se volete selezionare records, immettete una espressione nella finestra Filter oppure selezionate il tasto alla fine della finestra per costruire una espressione..

    (Per maggiori informazioni consultate la sezione Filtrare un record)

  5. Cliccate su OK.

Una volta che avete creato un indice per la tabella, potete utilizzarlo per ordinare i vostri record.

Per ordinare i record utilizzando un indice

  1. Nel Project Manager, selezionate la tabella con l’indice che avete creato.
  2. Selezionate Browse.
  3. Dal menu Table, scegliete Properties.
  4. Nella finetra Index order, selezionate l’indice che volete utilizzare.
  5. Scegliete OK.

La tabella apparirà nella finestra di Browse, mostrando i records nell’ordine in base all’indice che avete specificato. Potete anche ordinare il risultato di queries o di reports azionandoli quando è selezionato l’indice

Scegliere il tipo di Indice

Potete scegliere fra quattro tipi di indici:

Gli indici Primary assicurano che solamente valori unici siano inseriti in un campo e determinano l’ordine con cui vengono processati i records. Potete creare solamente un indice primario per ogni tabella se la tabella è inserita in un database. Se la tabella ha già un indice primario potete aggiungere un indice Candidate.

Anche gli indici Candidate forzano l’inserimento di valori unici nei campi e determinano in che ordine i records vengono processati, così come i Primary ma è possibile averne più di uno per ogni tabella del database e per le free tables.

Gli indici Regular determinano l’ordine in cui i records vengono processati ma consentono anche l’inserimento di valori duplicati. E’ possibile utilizzare più di un indice di tipo Regular in una tabella.

Per questioni di compatibilità con le precedenti versioni sono disponibili anche indici di tipo unique che selezionano e ordinano un sottordine di record basati sul primo valore di un campo che specificate. Se volete selezionare record in questo modo è preferibile creare una query o una view.

Ordinamento per campi multipli

Per aumentare la velocità delle queries o delle views che hanno filtri in più di un campo, potete ordinare i vostri record specificando più di un campo per l’espressione indice. I campi saranno considerati nello stesso ordine con cui appaiono nell’espressione. Se create una espressione filtro utilizzando campi numerici, l’indice ordinerà i records attraverso la somma dei valori dei campi, non solamente quello di un campo.

Per ordinare i records utilizzando più di un campo

Dal Project Manager, selezionate la tabella a cui volete aggiungere un indice e scegliete Modify.
1) Nella scheda Indexes, inserite il nome e il tipo dell’indice.

2) Nel campo Expression, inserite l’espressione che elenca i campi con cui volete l’ordinamento.

 

Per esempio, poterste volere un ordinamenti per Nazione, CAP all’interno delle nazioni e Ragione Sociale all’interno del codici CAP. Potete utilizzare il segno (+) per creare una espressione indice da un campo carattere.

Cliente.nazione + cliente.cap + cliente.ragsociale

Fate caso che il campo che cambia di meno è il primo della lista indice.

3) Scegliete OK.

Se volete utilizzare campi di tipo diverso, potete convertire i valori dei campi non carattere in valori carattere includendo il campo con la funzione STR( ). Per esempio potete provare a ordinare i record per MassimoImportoOrdine e quindi per RagioneSociale in questo modo ( considerando che MassimoImportoOrdine è di tipo Currency mentre RagioneSociale è di tipo Character)

STR(cliente.maximpord,20,4) + cliente.ragsoc

Filtrare i record

Potete decidere quali records saranno inclusi in un indice aggiungendo una espressione filtro.

Per filtrare i records

  1. Dal Project Manager, selezionate la tabella a cui volete aggiungere in indice e cliccate su Modify.
  2. Nella scheda Indexes, create o selezionate un indice.
  3. Nella casella Filter, inserite l’espressione filtro.

    Per esempio, volendo creare un filtro che selezioni solamente i clienti residenti in Canada:

    customer.country = "Canada"
  4. cliccate su OK.

 

 

Agosto 1999
 

FoxPro e Visual FoxPro® sono un marchi registrati da Microsoft Corporation©

Fonte: "Users Guide Visual FoxPro®" di Microsoft© in lingua inglese.
Questa guida ha il solo scopo di fornire le indicazioni
per muovere i primi passi con questo bellissimo strumento.

 


dal 22 Giugno 1999
webmaster@foxitaly.com