Condividi tramite


Procedura: Creazione di indici univoci (Visual Database Tools)

Data aggiornamento: 12 dicembre 2006

In Microsoft SQL Server è possibile creare un indice univoco su una colonna univoca, ad esempio employee id, o su un set di colonne che nel loro insieme identificano in modo univoco ogni record, ad esempio author + title.

Se, ad esempio, si eseguono spesso query sulla colonna del numero di previdenza sociale (ssn) nella tabella employee (dove la chiave primaria è emp_id) e si desidera assicurarsi che i numeri di previdenza sociale siano univoci, creare un indice univoco su ssn. Se viene immesso lo stesso numero di previdenza sociale per più dipendenti, verrà visualizzato un messaggio di errore e sarà impossibile salvare la tabella.

Quando si crea o si modifica un indice univoco, è possibile impostare un'opzione che consente di ignorare le chiavi duplicate. Se questa opzione è impostata su e si cerca di creare chiavi duplicate aggiungendo dati che coinvolgono più righe (utilizzando l'istruzione INSERT), la riga che contiene la chiave duplicata non verrà aggiunta. Se invece l'opzione è impostata su No, l'intera operazione avrà esito negativo e verrà eseguito il rollback di tutti i dati.

Per creare un indice univoco

  1. In Esplora oggetti fare clic con il pulsante destro del mouse sulla tabella e scegliere Progetta (Modifica in SP1 o versioni precedenti).

    La tabella verrà visualizzata in Progettazione tabelle.

  2. Scegliere Indici/chiavi dal menu Progettazione tabelle.

  3. Fare clic su Aggiungi. Nell'elenco Indice primario/univoco o chiave primaria/univoca selezionato verrà visualizzato il nome assegnato automaticamente dal sistema al nuovo indice.

  4. Nella griglia fare clic su Tipo.

  5. Selezionare Indice dall'elenco a discesa a destra della proprietà.

  6. In Nome colonna selezionare le colonne da indicizzare. È possibile selezionare fino a 16 colonne. Per ottenere prestazioni ottimali, selezionare una o due colonne per indice. Per ogni colonna selezionata, è possibile specificare se nell'indice i valori della colonna dovranno essere organizzati in ordine crescente o decrescente.

  7. Nella griglia fare clic su Univoco.

  8. Selezionare dall'elenco a discesa a destra della proprietà.

  9. Selezionare l'opzione Ignora chiavi duplicate per ignorare i dati che comportano la creazione di una chiave duplicata nell'indice univoco (attraverso l'istruzione INSERT).

Dopo avere salvato la tabella o il diagramma viene creato l'indice nel database.

[!NOTA] Non è possibile creare un indice univoco su un'unica colonna se tale colonna contiene il valore NULL in più righe. Analogamente, non è possibile creare un indice univoco su più colonne se la combinazione di colonne contiene il valore NULL in più righe. Ai fini dell'indicizzazione, tali valori sono considerati duplicati.

Vedere anche

Concetti

Linee guida per la progettazione di indici univoci

Altre risorse

Utilizzo degli indici (Visual Database Tools)
Finestra di dialogo Indici/chiavi (Visual Database Tools)
Utilizzo di chiavi (Visual Database Tools)

Guida in linea e informazioni

Assistenza su SQL Server 2005