Condividi tramite


Procedura: creare indici univoci

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

Se, ad esempio, si prevede di eseguire spesso query sulla colonna dei numeri di previdenza sociale (ssn) nella tabella employee (in cui la chiave primaria è emp_id) e si desidera assicurarsi che i numeri di previdenza sociale siano univoci, creare un indice univoco in ssn.Se viene immesso lo stesso numero di previdenza sociale per più dipendenti, verrà visualizzato un messaggio di errore e non sarà possibile salvare la tabella.Per ulteriori informazioni sugli indici univoci, vedere "Linee guida per la progettazione di indici univoci" sul sito Web Microsoft.

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 tenta di creare chiavi duplicate aggiungendo dati che interessano più righe (con l'istruzione INSERT), la riga che contiene un duplicato 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.

[!NOTA]

Viene visualizzata una nuova versione di Progettazione tabelle per i database nel formato SQL Server 2012. In questo argomento viene descritta la versione precedente di Progettazione tabelle, utilizzata con i database in formati precedenti di SQL Server.

Nella nuova versione è possibile modificare definizioni di tabella mediante un'interfaccia grafica o direttamente in un riquadro di script. Se si utilizza l'interfaccia grafica, la definizione della tabella viene automaticamente aggiornata nel riquadro di script. Per applicare il codice SQL nel riquadro di script, selezionare il pulsante Aggiorna. Per ulteriori informazioni sulla nuova versione, vedere Procedura: Creazione di oggetti di database tramite Progettazione tabelle.

[!NOTA]

Nel computer in uso è possibile che vengano visualizzati nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per ulteriori informazioni vedere Impostazioni di Visual Studio.

Per creare un indice univoco

  1. In Esplora server selezionare la tabella di database che si desidera aprire.

  2. Scegliere Apri definizione tabella dal menu Database.

    La tabella verrà visualizzata in Progettazione tabelle.

  3. Scegliere Indici/chiavi dal menu Progettazione tabelle.

  4. Scegliere Aggiungi.Nell'elenco Indice o chiave primari/univoci selezionati verrà visualizzato il nome assegnato automaticamente dal sistema al nuovo indice.

  5. Nella griglia fare clic su Tipo.

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

  7. 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.

  8. Nella griglia fare clic su Univoco.

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

  10. Selezionare l'opzione Ignora chiave duplicata per ignorare i dati nuovi o aggiornati che comportano la creazione di una voce duplicata nell'indice (con l'istruzione INSERT o UPDATE).

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.

[!NOTA]

Non tutti i database utilizzano gli indici allo stesso modo.Per ulteriori informazioni, vedere la documentazione relativa al database.

Vedere anche

Riferimenti

Finestra di dialogo Indici/chiavi

Altre risorse

Operazioni con gli indici

Operazioni con le chiavi