torna all'home page
 
  Spazio Culturale
 
MANUALI

accesso diretto
 OFFICE
   access2000
   excel2000
   word2000
   backup
   virus
 TOOLS
   harddisk
   registry
   winzip
   dos
 WEB
   flash5
percorso:: _Home > _Manuali > _ACCESS2000 > _Capitolo 12 > _Capitolo 06
 fine testo aumenta dimensioni testo diminuisci dimensioni testo informazioni indice manuale ACCESS2000 indice capitolo 12
     Manuale ACCESS2000
12.06    PROPRIETA' TIPI DI DATI (SECONDA PARTE)     
INDICIZZATO    
 aggiungi ai preferiti

INDICIZZATO

La ricerca dei dati negli archivi è una delle operazioni più onerose, in termini di tempo di attesa per l'utente, quindi, è una delle attività da gestire con cautela.
I dati sono memorizzati nel disco nello stesso ordine in cui vengono inseriti. Anche se, dopo l'inserimento, è possibile ordinare le tabelle, l'ordine risulta sulla memoria RAM, non sul disco.
Un INDICE è una struttura ausiliaria che serve per fare le ricerche in modo più rapido, cosicché l'utente debba aspettare meno le risposte. Essendo una struttura, che deve essere aggiunta al database e memorizzata sul disco (struttura ausiliaria), ha lo svantaggio di incrementare la memoria totale dell'archivio e di appesantire l'inserimento dei dati.

ESEMPIO.
La figura 12.17 visualizza una tabella non ordinata, così come si trova nel disco.



FIG. 12.17


Si provi a cercare Bianchi Umberto di Treviso: si deve cercare il record partendo dalla prima riga e controllando una riga alla volta, finché non si trova quello giusto. Potrebbe anche succedere di non trovare il record, cosicché si perde tutto il tempo (controllo di tutte le righe) per avere una risposta negativa (le tabelle degli archivi contengono, di solito, molte più righe di quella della figura).
Questo sistema di ricerca è molto inefficiente, perché richiede di passare quasi tutte le righe della tabella, finchè non viene trovato il valore o non è terminata la tabella.
Utilizzando gli indici si crea una struttura "a parte", rispetto alla tabella, che tiene gli elementi in ordine. Il modo in cui viene gestita questa struttura va oltre gli scopi del manuale, per semplificare le cose, supponiamo che anche l'indice sia memorizzato su una tabella (se fosse veramente così non sarebbe molto efficiente). Questo significa che, per ogni indice, si deve creare e gestire una tabella in più (spazio su disco e spazio su RAM). La tabella dell'indice, a differenza della tabella di partenza, è sempre ordinata, per cui, ogni volta che si inserisce un nuovo record, questo deve essere aggiunto nella tabella e deve anche essere aggiunto nell'indice; aggiungere un elemento nell'indice è un po' più oneroso, in quanto la tabella deve essere riordinata.
La prima colonna della figura 12.17 rappresenta la posizione sull'hard disk (settore di memorizzazione, per ulteriori informazioni sui settori consultare il manuale sugli hard disk: www.manualipc.it).
Le figura 12.18 e 12.19 visualizzano gli indici costruiti sulla tabella 12.17, rispettivamente per i campi "Cognome" e " Città".



FIG. 12.18



FIG. 12.19


La ricerca sugli indici, essendo ordinati, è molto più rapida rispetto a quella sulla tabella: non si devono passare tutte le righe, ma si cerca direttamente il valore nella posizione in cui dovrebbe trovarsi. Per capire bene la differenza tra una ricerca su un indice e la stessa ricerca sulla tabella corrispondente, si pensi all'elenco telefonico. La ricerca di un numero sull'elenco, per come è strutturato, è molto simile a quella su un indice. La ricerca sulla tabella, invece, è simile a quella che si dovrebbe fare se l'elenco telefonico non fosse ordinato, ma i numeri fossero sistemati casualmente. Il paragone vale anche per il tempo impiegato a trovare i valori: nel primo caso si cerca direttamente in una posizione dell'elenco, nel secondo caso si deve partire del primo numero e leggere tutti i seguenti fino a quando non si trova quello cercato.
Non è corretto creare un indice per ogni campo, infatti, la struttura degli indici occupa memoria e rallenta l'inserimento dei record, quindi, si deve scegliere in quali campi creare la struttura. Di solito sono scelti i campi più importanti, intendendo quelli su cui si effettuano spesso le ricerche, per decidere se creare o meno l'indice su un campo si deve controllare l'analisi dei requisiti.
In Access si può scegliere tra 3 opzioni:

1. Non indicizzato: non viene creata la struttura;
2. Indicizzato con ripetizioni: il campo ha un indice e i valori della colonna possono essere ripetuti;
3. Indicizzato senza ripetizioni: il campo ha un indice, in più viene effettuato un controllo in modo da impedire valori ripetuti sulla colonna.

ESEMPIO. Indici.
Creare una nuova tabella e definire il campo "Codice", tipo di dati "Contatore". Definire il campo "Cognome", tipo di dati "Testo", indicizzato "Sì, duplicati ammessi", come visualizzato nella figura 12.20.



FIG. 12.20


Definire il campo "Nome", tipo di dati "Testo", indicizzato "Sì, duplicati non ammessi", figura 12.21.



FIG. 12.21


Definire il campo Codice come chiave primaria e salvare la tabella con il nome "TProva8". Passare in visualizzazione foglio dati e provare ad inserire valori. Tentando di inserire due volte lo stesso nome, viene visualizzato il messaggio di errore della figura 12.22, dovuto alla scelta "duplicati non ammessi".



FIG. 12.22


Per vedere l'effetto degli indici sulla ricerca si devono inserire centinaia di record e provare a fare la ricerca sulla stessa tabella, con e senza gli indici.


     Manuale ACCESS2000
12.06     PROPRIETA' TIPI DI DATI (SECONDA PARTE)     
INDICIZZATO    
 
 inizio testo aumenta dimensioni testo diminuisci dimensioni testo informazioni indice manuale ACCESS2000 indice capitolo 12
 
 
Pubblicità  
 
Applicazioni iPhone













Condizioni d'uso | Informativa Privacy e Cookie Policy | Crediti
Copyright©2005 tutti i contenuti sono proprietà esclusiva di ManualiPc.it

 
Manualipc - Via Don Bosco, 8/A - San Michele al Tagliamento - 30028 Venezia, Italy - P.I. 03687860266