Concetti Chiave
- La progettazione fisica del database include l'uso di indici primari e secondari per migliorare l'accesso ai dati, anche se aumenta l'uso di memoria e i tempi di aggiornamento.
- Il comando SQL per creare un indice è "create [unique] index", con l'indicazione degli attributi da indicizzare e la specifica della clausola UNIQUE per gli indici primari.
- Un indice primario è associato a una chiave primaria o a una chiave candidata e richiede la clausola UNIQUE, mentre un indice secondario non ha valori unici.
- La sintassi per creare un indice primario su una tabella include la specificazione dell'indice e della colonna, come dimostrato negli esempi con "Create unique index".
- Esempi pratici mostrano come creare indici sia primari che secondari su tabelle come Studenti e Valutazioni, evidenziando l'importanza della chiave primaria e esterna.
Progettazione fisica del database
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.
Esempi di istruzioni SQL
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.
Domande da interrogazione
- Qual è la differenza tra un indice primario e un indice secondario nella progettazione fisica del database?
- Qual è il comando SQL utilizzato per creare un indice?
- Puoi fornire un esempio di creazione di un indice primario e uno secondario?
Un indice primario è associato a una chiave primaria o a una chiave candidata e richiede la clausola UNIQUE, mentre un indice secondario è associato a un attributo con valori duplicati e non richiede tale clausola (come indicato nel testo).
Il comando SQL per creare un indice è "create [unique] index", dove si specificano gli attributi ai quali si vuole associare l'indice, come descritto nel testo.
Certamente! Un esempio di indice primario è "Create unique index IndiceMatricola ON Studenti(Matricola)", mentre un esempio di indice secondario è "Create unique index IndiceMateria ON Valutazioni(Materia)", come illustrato nel testo.