Concetti Chiave
- Gli indici primari e secondari aiutano a velocizzare gli accessi ai dati, ma aumentano l'uso di memoria e i tempi di aggiornamento.
- Il comando SQL "create [unique] index" è utilizzato per dichiarare e creare indici su attributi di tabelle.
- Gli indici primari richiedono la clausola UNIQUE e sono associati a chiavi primarie o candidate.
- Gli indici secondari si applicano ad attributi con valori duplicati e non richiedono UNIQUE.
- L'istruzione "Create unique index" specifica l'indice associato e il campo chiave di riferimento nella tabella.
Parlando di progettazione fisica del database,abbiamo affrontato l'argomento riguardante gli indici primari e secondari che possono essere associati agli attributi delle tabelle allo scopo di velocizzare glia accessi ai dati,a spese tuttavia di una maggiore occupazione di memoria di massa per la loro memorizzazione e di tempi di risposta più lunghi nelle operazioni di aggiornamento.
Per dichiarare e creare un indice,il linguaggio SQL mette a disposizione il comando create [unique] index,che ha come argomento l'attributo (o gli attributi) ai quali si vuole associare un indice, si distinguono due casi:
Se si tratta di un indice primario,cioè associato a una chiave primaria,o comunque un indice associato a un'eventuale chiave candidata,occorrerà specificare la clausola UNIQUE.
Se si tratta di un indice secondario,cioè associato a un attributo che presenta valori duplicati,si userà il comando nella forma create index.
Con l'istruzione:
Create unique index IndiceMatricola:
ON Studenti(Matricola);
Si crea un indice primario identificato da IndiceMatricola associato al campo chiave primaria Matricola della tabella Studenti.
Con l'istruzione:
Create unique index IndiceMateria:
ON Valutazioni (Materia);
Si crea un indice secondario identificato da IndiceMateria associato al campo Materia della tabella Valutazioni.
Con l'istruzione:
Create unique index IndiceMatricolaEsterna:
ON Valutazioni (Matricola);
Si crea un indice primario identificato da IndiceMatricolaEsterna sulla chiave esterna Matriola della tabella Valutazioni.