ECDL 5-2.

Di Giuseppe Servidio.

Modulo 5 lezione 2. 
Le chiavi, gli indici, i campi contatore, le relazioni fra tabelle

In questa lezione impareremo a creare una chiave primaria e un indice, nonch a mettere in relazione due tabelle.

Ragioniamo un attimo su cosa significa ci che abbiamo fatto. Riapriamo innanzitutto Access. Se necessario si pu tornare alle spiegazioni su come farlo.

Nella prima finestra di dialogo che compare, per,  cambiato qualcosa: infatti, il nostro database, Tabelle, che si trova nella cartella "Corso Access
2000",  selezionato. Se confermiamo questa selezione, il database verr aperto.

Anche nella seconda finestra, quella con le sei linguette,  cambiato qualcosa. Infatti,  selezionata Tabelle e possiamo verificare come la tabella Indirizzi
sia presente. Tutti e tre i pulsanti di destra sono attivi. La scelta ALT + T ci consentir di aprire la tabella in visualizzazione struttura.

Leggendo la riga di stato ci rendiamo conto che la tabella non si chiama pi Tabella1, ma indirizzi e che il primo campo non  pi cognome: infatti, esso
 il secondo. Il primo  un campo chiamato ID. Se esaminiamo il suo tipo dati, vediamo che  identificato come contatore. Nel quadrettino grigio a sinistra
si vedrebbe una chiave, simbolo di Access ma anche della chiave, e naturalmente la piccola freccia che indica che quella riga  selezionata. Posizioniamoci
dunque sul tipo di dati contatore, e con F6 andiamo nelle propriet per capire cosa ci viene mostrato.

Nell'etichetta generale ci sono pochi campi questa volta:
Elenco di 4 elementi

 dimensione - intero lungo

 nuovi valori - incremento

 formato ed etichetta - senza dati

 indicizzato - s (duplicati non ammessi).

fine elenco

Cerchiamo di capire adesso cosa significa tutto questo.

Il contatore  come tipo di dati un intero lungo, cio un campo atto a contenere degli interi di dimensioni superiori al 35.000, che  il massimo ammissibile
in un campo di tipo intero. Il contatore indica che questo campo viene incrementato direttamente da Access: infatti il campo "nuovi valori" contiene "incremento".
Ogni volta che comparir una nuova scheda in cui figura il campo contatore, questo verr incrementato automaticamente di 1. Questo significa anche che
il primo record che memorizzeremo in questo database nella tabella Indirizzi avr come ID il numero 1, il secondo prender automaticamente il valore 2,
e cos via in successione. Questo vorr anche dire, e ci sar utile in seguito, che se vogliamo mettere in relazione questo campo con un campo di un'altra
tabella per collegare fra loro le tabelle come vedremo essere necessario, dovremo fare in modo che il campo dell'altra tabella sia anch'esso un intero
lungo, in quanto si richiede che i campi collegati siano dello stesso tipo.

Abbiamo visto come far s che Access generi automaticamente un campo chiave univoco in una tabella. Vediamo ora, nel caso in cui ci ci interessi, come
fare a selezionare noi un campo da usare come campo chiave.

A questo punto vogliamo creare una nuova tabella. Per fare questo, cosa ormai nota, selezioniamo il pulsante "Nuovo" o battiamo ALT + U. Appare a questo
punto la finestra che ci offre come prima opzione quella di creare una tabella in visualizzazione foglio dati. Tramite la freccia gi, scegliamo invece
"creazione tabella in visualizzazione struttura", che  la modalit che preferiamo, e confermiamo la scelta con OK. Ci viene presentata la solita tabella
in cui  possibile inserire i nomi dei campi.

Nella prima riga, scriviamo "Matricola". Passiamo con TAB al tipo dati. Questa volta non accettiamo il tipo "testo". Apriamo l'elenco dei tipi con alt +
freccia gi e scegliamo "numerico". Dopo averlo confermato con INVIO, premiamo F6 per spostarci nella parte inferiore della finestra. Vogliamo verificare
che la caratteristica del campo sia "intero lungo". Se questo  vero, possiamo tornare, con F6, alla parte superiore. Premiamo ancora TAB fino ad arrivare
alla colonna "nome campo", seconda riga, in cui scriviamo "Cognome". Con TAB ci spostiamo su "tipo dati". Testo questa volta ci va bene; spostiamoci per
con F6 nella parte bassa della finestra, perch vogliamo cambiare la lunghezza. Al posto di 50, inseriamo 30. Torniamo con F6 a "tipo dati", e con TAB
ci spostiamo fino ad arrivare alla riga successiva.

Qui scriviamo "Nome". Spostandoci con TAB al tipo dati, vediamo che anche in questo caso ci va bene "testo", ma anche questa volta modifichiamo la lunghezza
da 50 a 30. Ricordiamo di premere F6 per spostarsi nella parte in cui  possibile fare la modifica, e di nuovo F6 per tornare al tipo di dati del campo
Nome. Con TAB ci spostiamo alla nuova riga.

Dato che stiamo creando questa tabella solo per ragioni dimostrative, non  necessario inserire altri campi.

La ragione dimostrativa  data dal fatto che vogliamo che uno dei campi che abbiamo appena inserito, e precisamente il campo "Matricola", diventi la chiave
primaria di questa tabella.

Per farlo, tramite la freccia su, posizioniamoci sul nome campo "Matricola". Esso, come ricorderemo, risulter selezionato. A questo punto selezioniamo
l'opzione "chiave primaria" dal men "modifica". Questa opzione attiver la chiave primaria.

Un altro modo per ottenere lo stesso risultato  quello di scegliere lo stesso pulsante dalla barra degli strumenti. Per farlo, portarsi sulla barra dei
men tramite il tasto ALT, poi passare alla prima scelta della barra degli strumenti tramite CTRL + TAB; si potrebbero avere pi barre degli strumenti.
Per passare dall'una all'altra, usare sempre CTRL + TAB. Con freccia destra cerchiamo il pulsante "chiave primaria" e premiamo INVIO per eseguire il comando.

L'ausilio, a questo punto, dovrebbe indicare che la chiave primaria  impostata sul campo "Matricola". Si potrebbe avere qualche difficolt, ma utilizzando
le potenzialit dell'ausilio ed i comandi che esso mette a disposizione, si riuscir sicuramente a verificare quanto appena fatto.

Un ottimo modo per sapere se la chiave  stata creata correttamente, senza usare l'ausilio,  quello di andare nel men Visualizza ed attivare la scelta
Indici. Per farlo, dobbiamo gi trovarci in Visualizzazione struttura. Ci verr mostrata una finestra un po' diversa da quella che abbiamo gi visto ed usato
in visualizzazione struttura. Infatti, essa  sempre divisa in colonne, che per ogni campo indicano: nome indice, nome campo, criterio, ordinamento.
Se esploriamo quanto specificato per il campo Matricola, troveremo: Primari key, Matricola, crescente. Questo sta ad indicare che il campo  una chiave primaria,
che il nome del campo  matricola e che l'ordinamento  crescente.
Anche qui si pu usare la combinazione di tasti F6 per andare alle propriet del campo su cui ci troviamo, cio dell'indice; in questo caso, 'Primary  key'.
Noteremo che nella finestra 'propriet indice' vengono mostrati due valori: 'primario SI' e 'Univoco SI'. La spiegazione dice 'Se l'impostazione  s, si
tratta di una chiave primaria. Vedremo pi tardi altri modi d'uso di questa importante scelta. Per ora, abbiamo visto che immediatamente possiamo sapere
se un dato campo  considerato da Access come chiave primaria.
Possiamo ora, utilizzando la combinazione di tasti ALT+F4, chiudere la finestra Indici.

Possiamo a questo punto chiudere la nostra tabella (usare ALT + F per andare nel men File e, tramite freccia gi, scegliere il comando "Chiudi"). Verr
chiesto se si vuole salvare le modifiche e, dopo che avremo scelto il pulsante S per confermare, dovremo indicare il nome della nuova tabella. Scriviamo
"Matricole" al posto del nome standard "Tabella1" e premiamo INVIO.

Se tutto  andato bene, questa volta il programma non ci chieder pi se vogliamo inserire la chiave primaria, perch  appena stata inserita.

Passiamo ora ad un altro argomento molto importante, sempre relativo alle tabelle: la possibilit di mettere in relazione pi tabelle fra loro.

Nella parte generale del corso, abbiamo detto che un database si caratterizza appunto per il fatto che i dati devono essere inseriti una volta sola, e che
per fare questo bisogna strutturare in un certo modo il database.

Ad esempio, supponiamo che la nostra tabella Matricole sia quella che identifica coi campi Matricola, Cognome e Nome gli allievi di una scuola; desideriamo
tenere memorizzati in un'altra tabella tutti gli esami che ogni allievo ha sostenuto, col tipo di esame, la data e l'esito riportato in ogni esame.

E' evidente a tutti che, dato che ogni allievo nell'arco degli anni sosterr un numero molto elevato di esami, il dover ripetere nome e cognome per ogni
esame di ciascun allievo, sarebbe un inutile spreco di fatica e darebbe luogo a una grandissima duplicazione di dati. Ci conviene allora creare, come abbiamo
fatto, una tabella dove  memorizzata una volta per tutte la matricola, a cui viene accoppiato nome, cognome e tantissimi altri dati, come indirizzo, citt,
data di nascita, ecc., e poi un' altra che memorizzi, oltre alla matricola, i dati di ogni esame. Naturalmente dovremo poi mettere in relazione queste
due tabelle fra loro.

Procediamo allora a creare un'altra tabella. Chiediamo ad Access di creare una nuova tabella in visualizzazione struttura.

Nel primo nome campo immettiamo Matricola, perch identificheremo ogni studente tramite la sua matricola che  un valore univoco, col quale si identifica
cio un unico allievo. Come tipo di dati usiamo numerico ed intero lungo come abbiamo gi visto.

Nel secondo nome campo immetteremo il valore "Data", e questa sar la data in cui  stato sostenuto l'esame. Nel tipo di dati scegliamo "data e ora" e,
tramite F6, nella lista dei formati, scegliamo "data in cifre".

Dopo essere tornati nella parte alta della finestra con F6, ci spostiamo con tab fino alla terza riga. Nel nome campo scriviamo "esame". Qui identificheremo
il tipo di esame sostenuto dall'allievo. Nel tipo di dati accettiamo testo, ma dobbiamo spostarci nella parte relativa al formato per dare una lunghezza
di 20 caratteri.

Torniamo in alto con F6 e, tramite tab, ci spostiamo alla quarta riga. Nel nome campo scriviamo "Esito". Nel tipo di dati, apriamo la lista con ALT + freccia
gi come  ormai noto, e scegliamo "s/no": infatti, un esame pu avere solo esito negativo o positivo.

Definiamo adesso la chiave per questa tabella. Questa volta vogliamo che, attraverso la chiave, venga identificato uno solo tra i record del database, che
ne potrebbe contenere centinaia. Quindi, la matricola non va bene, perch un allievo potrebbe sostenere pi di un esame. Facciamo allora un'ipotesi semplificativa,
e cio che un allievo non sostenga pi di un esame al giorno. Cos, potremmo identificare come chiave la matricola combinata con la data.

Per creare una chiave cos fatta, esistono due modi. Li elenco entrambi, per completezza, ma consiglio di usare il primo perch, anche se meno immediato,
 sicuramente il pi gestibile.

Allora: per cominciare, attiviamo ancora la scelta "indici" dal men "Visualizza". Vedremo la finestra che ho descritto prima. Dovremmo gi essere posizionati
sulla colonna "nome indice". Qui scriviamo un nome che ci piace: ad esempio il nostro nome; poi premiamo TAB e nella colonna "nome campo" scriviamo "Matricola", che
 il primo dei due campi che vogliamo faccia parte della nostra chiave. Noteremo che, appena abbiamo battuto la lettera "M", il sistema ci completer in modo
corretto il nome.

OK. Adesso, usando freccia gi, portiamoci nella seconda riga della stessa colonna e scriviamo "data", cio il nome del secondo campo che far parte della chiave.

Se esploriamo quanto  accaduto usando il nostro ausilio, noteremo che la colonna "nome indice" contiene soltanto una riga, in cui  evidenziato il nome che gli
abbiamo appena dato; nella colonna "ordinamento" viene mostrato "crescente", mentre "nome campo" (seconda colonna) contiene i nomi dei due campi che compongono
la chiave.

Ora, tramite MAIUSC+TAB, portiamoci sul nome dell'indice e premiamo F6 per esaminarne le propriet. Dalla finestra che esamineremo troveremo indicazioni sulle caratteristiche
della chiave che abbiamo appena creato. Noteremo che nella prima riga viene indicato il fatto che non si tratta di una chiave primaria. Infatti vi troviamo
scritto "primario no". Dato che noi vogliamo che essa sia primaria, apriamo la casella elenco per modificare questo valore con ALT+freccia gi. Spostiamoci con
freccia s e scegliamo SI'. Confermare con INVIO. Tutti gli altri valori dovrebbero corrispondere a quanto abbiamo voluto.

E ora vediamo i passi da seguire per svolgere la stessa operazione nel secondo modo. Prima, per, usare la combinazione di tasti ALT+F4 per chiudere la
finestra "indici".

Posizioniamoci quindi, attraverso le frecce, sul campo matricola che risulta cos selezionato. Per selezionare anche il campo data, il modo pi sicuro 
quello di bloccare il tasto sinistro del mouse (naturalmente prima si deve posizionare il puntatore sul campo Matricola), e scendere con la freccia fino
a data; poi sbloccarlo. Questa operazione fa ottenere lo stesso risultato che tenere premuto il tasto CTRL e fare clic col tasto sinistro su entrambi i
campi.

Ora, si pu premere il pulsante "chiave primaria" che si trova sulla barra degli strumenti (per farlo premere il tasto ALT per portarsi alla barra dei men,
poi CTRL + TAB per andare alla prima scelta della barra degli strumenti; infine, tramite freccia destra, cerchiamo il pulsante che ci interessa e premiamo
INVIO). Un altro modo  quello di andare nel men Modifica e scegliere l'opzione "chiave primaria".

A questo punto, se tutto  andato bene, si potr notare, esplorando la finestra, che i campi "matricola" e "data" costituiscono la chiave primaria di questa
tabella. Possiamo ora chiudere la tabella e, alla richiesta di Access, indicare come nome "Esami".

Vediamo ora cosa  successo alla nostra doppia chiave. Riapriamo la tabella in visualizzazione struttura con la combinazione di tasti ALT + T. Quando la
tabella  aperta, selezioniamo, dal men Visualizza, l'opzione "indici". Compare una finestra di dialogo intitolata "indici: esami". La finestra contiene
tre colonne: nome indice, nome campo, criterio di ordinamento.

Speriamo che l'ausilio consenta di identificare anche il simbolo grafico che si trova alla sinistra di ogni riga. Se la prima riga  selezionata, si potr
notare il simbolo della chiave. Come nome indice, vedremo scritto "primarykey" per indicare che questa  la chiave primaria; il nome campo  "Matricola",
il criterio di ordinamento  crescente. Bisogna notare per che c' una seconda riga, caratterizzata anch'essa dal simbolo della chiave. Nel nome indice,
in questa seconda riga, non c' scritto nulla: questo sta ad indicare che questo campo  la prosecuzione della chiave indicata nella riga precedente; come
nome campo troviamo "Data", e come criterio di ordinamento, crescente.

Esploriamo attentamente questa finestra. Essa ci indica che la tabella possiede un indice, chiamato "primarykey", costituito da due campi: matricola, con
criterio di ordinamento crescente, e data, anch'esso con lo stesso ordinamento.

Nella parte inferiore della finestra, divisa in due parti come quella della creazione delle tabelle, vediamo le propriet dell'indice: primario "S" nella
prima riga; univoco "S" nella seconda. Se siamo posizionati sulla prima riga, primario, nel riquadro di specificazione posto a destra, compare la dicitura
"Se l'impostazione  s, questo indice  la chiave primaria". Se ci spostiamo sulla riga Univoco, la dicitura cambia in "Se l'impostazione  s, ciascun
valore dell'indice deve essere univoco". Abbiamo verificato ci che noi stessi abbiamo creato e quindi possiamo chiudere la nostra tabella.

Ora che possediamo due tabelle che hanno un campo in comune, cosa indispensabile per mettere in relazione due tabelle, possiamo parlare di relazioni.

Apriamo il men strumenti con la combinazione di tasti ALT + S. Posizioniamoci su "relazioni" tramite freccia gi o su e premiamo INVIO. La finestra che
si apre  quasi completamente bianca. E' intitolata "mostra tabelle" ed ha tre linguette: tabelle, query ed entrambe. Quella attualmente selezionata 
tabelle. Nella parte inferiore sono elencate le tabelle del database. Quelle che a noi interessano sono Matricole ed Esami. Selezioniamo Esami e premiamo
INVIO sul pulsante "Aggiungi"; selezioniamo poi anche "Matricole", premiamo INVIO su "Aggiungi", infine scegliamo il pulsante "Chiudi" e premiamo INVIO.
Vogliamo creare una relazione tra il campo Matricola della tabella Matricole e Matricola della tabella Esami.

La procedura standard per fare questa operazione  di selezionare Matricola dalla tabella Matricole e, tenendo premuto il pulsante sinistro del mouse, trascinarlo
sul campo omonimo della tabella Esami. L'ausilio ha sicuramente il suo comando che, dopo aver selezionato il primo campo che partecipa alla relazione, si deve
immettere per iniziare la procedura. Probabilmente, dopo aver selezionato il secondo campo, si potr immetterlo nuovamente per concludere l'operazione
di creazione della relazione. Per selezionare i campi si debbono usare le frecce. Il campo  selezionato quando ci si trova su di esso con la freccia.

Se tutto  andato bene, si aprir la finestra "relazioni" cos strutturata: nella parte sinistra, vediamo una tabella con due colonne. La prima colonna,
Matricole,  intitolata "Tabelle e query", la seconda, Esami,  intitolata "Tabelle e query correlate".

Nella seconda riga di entrambe le colonne vediamo che  evidenziato il campo Matricola che , appunto, quello che abbiamo appena indicato come campo da
mettere nella relazione. C' una casella, che pu essere selezionata oppure no, con l'indicazione "Applica integrit referenziale". La selezioniamo subito
tramite lo spazio. Vediamo subito quale  il significato di questa casella. Supponiamo di avere inserito dati nelle nostre due tabelle. Supponiamo anche
di voler eliminare un alunno dalla tabella Matricole e che questo alunno abbia gi sostenuto degli esami. Se ci fosse permesso di eseguire questa operazione,
rimarrebbero nella tabella Esami dei record "zoppi", perch ci sarebbero degli esami sostenuti da uno studente i cui dati non sono pi presenti nella tabella
Matricole. Questo fatto potrebbe mandare in errore dei programmi che usano questi dati. Selezionando la casella "applica integrit referenziale", verremo
messi in guardia da Access se dovessimo cancellare record a cui si fa riferimento in una tabella correlata.

Nel nostro caso, prima di cancellare record della tabella Matricole dovremmo fare due cose: o eliminare la relazione tra le due tabelle, o cancellare prima
tutti gli esami di un dato studente, e poi i suoi dati dalla tabella Matricole.

Tornando alla nostra finestra, la selezione della casella "applica integrit referenziale" ha fatto comparire altre due caselle che  possibile selezionare:
una "aggiorna campi correlati a catena", l'altra "elimina record correlati a catena". Questo implica che vengano effettuate operazioni automatiche sui
record correlati quando si eseguono delle operazioni su uno di essi, ma su questo argomento torneremo in seguito.

Per il momento non le selezioniamo. In basso la relazione viene identificata come relazione "uno a molti". Torneremo pi avanti su questo argomento per
spiegare i tipi di relazione. Abbiamo i pulsanti "Crea" (ALT + C), Annulla e Tipo Join.

Ora scegliamo "crea"; torneremo pi avanti sul significato di "Tipo join", cio unione tra i record. La selezione del pulsante Crea ha chiuso la finestra
di dialogo. Possiamo vedere ora una linea che unisce il campo matricola della tabella matricole col campo matricola della tabella esami. Questa linea 
contrassegnata da 1 dalla parte della tabella Matricole, e dal simbolo di infinito (una specie di 8 sdraiato) dalla parte della tabella Esami. Questo significa
che per ogni record della tabella matricole (dati dell'alunno) ci potranno essere molti record nella tabella esami (esami che egli ha sostenuto). Ed 
proprio questo che volevamo fare. Possiamo chiudere la finestra delle relazioni e salvare le modifiche che abbiamo fatto.

Parliamo adesso dei tipi di relazioni che esistono fra le tabelle e del loro significato.

Fondamentalmente esistono quattro tipi di relazione fra tabelle:

Le relazioni uno a uno: il valore del campo chiave in un record della nuova tabella deve essere uguale al corrispondente valore del campo correlato della
tabella esistente. In questo caso il campo chiave nella nuova tabella deve essere unico, i duplicati nel campo chiave non sono consentiti. Una relazione
uno a uno equivale ad un'unica tabella che contiene i campi della tabella esistente e di quella nuova. Questo tipo di relazione  poco usata. Potrebbe
essere utile, ad esempio, immaginando un anagrafico di una persona che contenga dati che possono essere visti da tutti: nome, cognome, indirizzo, telefono,
ecc:, e che sia necessario avere per questa persona dati riservati: analisi mediche, risultati di analisi, ecc. Si potrebbe allora mettere questi ultimi
dati in una seconda tabella, che abbia anch'essa la matricola della persona per poterle poi collegare, creando una relazione uno a uno. Come gi detto,
questa relazione equivale, dal punto di vista logico, ad avere un'unica tabella che contenga sia i dati anagrafici che clinici.

La relazione molti a uno consente di avere pi di un valore nel campo chiave della nuova tabella, corrispondente ad un singolo valore nel campo correlato
della tabella esistente. In questo caso nel campo chiave sono consentiti i duplicati. Le relazioni molti a uno sono il tipo pi comune. La possibilit
di creare relazioni di questo tipo  il motivo fondamentale per cui si sceglie di usare un sistema di gestione dati di tipo relazionale invece che file
normali per la gestione di database.

La relazione uno a molti  il duale della precedente: prevede che il campo chiave della nuova tabella sia unico, pur potendo corrispondere a molti valori
nel campo correlato della tabella esistente. In questo caso il campo correlato della tabella esistente ha una relazione molti a uno col campo chiave della
nuova tabella. Abbiamo detto appunto che  il duale del tipo precedente. Noi infatti abbiamo creato una relazione uno a molti, dove il lato 1  quello
della tabella anagrafica (matricole), il lato molti  quello degli esami, dato che ogni alunno pu sostenere molti esami.

Infine, nelle relazioni molti a molti non esiste una relazione unica tra i campi chiave nella tabella esistente e in quella nuova, ed entrambi i campi chiave
delle tabelle contengono duplicati. Anche questo  un caso un po' meno frequente, e consente di avere una relazione in cui, ad esempio, per una persona
ci sono molti esami e per un esame ci sono molte persone che lo hanno sostenuto.

Continuiamo per un attimo a parlare degli indici. Essi sono degli elementi che consentono di effettuare una ricerca in una tabella vedendo la tabella nel
modo da noi desiderato. Naturalmente la chiave primaria, che dovrebbe sempre esistere,  l'indice primario ed  univoco. Ma vediamo come  possibile aggiungere
altri indici che potranno velocizzare e facilitare la ricerca.

Andiamo fra le nostre tabelle e selezioniamo la tabella Indirizzi, la prima da noi creata; portiamoci in modalit visualizzazione struttura. A questo punto,
dal men visualizza, selezioniamo l'opzione Indici. Compare la finestra Indici che gi conosciamo. Ci sono le solite tre colonne: nome indice, nome campo
e criterio di ordinamento. Vediamo che la primarykey c' ed  il campo ID, ordinato in modo crescente. Dato che questa  una finestra di dialogo, ci 
possibile immettere delle informazioni. Nella seconda riga, quindi, scriviamo nel nome indice "Loc"; poi, aprendo la casella elenco con ALT + freccia gi,
selezioniamo, nel nome campo, il campo localit e nel criterio di ordinamento lasciamo crescente.

Con F6 andiamo nel riquadro delle propriet dell'indice, vediamo che c'  scritto "primario no", "univoco no". Questo  quello che volevamo, e quindi possiamo
confermare e chiudere la finestra di dialogo. Si pu verificare nuovamente questa finestra scegliendo ancora Indici dal men visualizza. Scopriremo che
l'indice "primarykey"  identificato dal campo ID e ha l'ordinamento crescente; ma questa volta  stata aggiunta un'altra riga, quella che avevamo scritto,
con un indice "Loc" sul campo localit, con criterio di ordinamento crescente. Il primo (primarykey)  primario e univoco, il secondo (Loc) non  primario
e non  univoco: serve semplicemente per velocizzare alcune ricerche.

Possiamo chiudere questa finestra e anche la tabella, salvando ovviamente le modifiche che abbiamo apportato, cio la creazione di un nuovo indice.

Giuseppe Servidio.

