Condividi tramite


Procedura: Creazione di indici univoci (Visual Database Tools)

In Microsoft SQL Server è possibile creare un indice univoco su una colonna univoca, ad esempio employee id, o su un set di colonne che 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 selezionare Progetta.

    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 Colonne 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 e selezionare per ignorare i dati che comportano la creazione di una chiave duplicata nell'indice univoco (mediante 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.