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 Sì 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
In Esplora oggetti fare clic con il pulsante destro del mouse sulla tabella e selezionare Progetta.
La tabella verrà visualizzata in Progettazione tabelle.
Scegliere Indici/chiavi dal menu Progettazione tabelle.
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.
Nella griglia fare clic su Tipo.
Selezionare Indice dall'elenco a discesa a destra della proprietà.
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.
Nella griglia fare clic su Univoco.
Selezionare Sì dall'elenco a discesa a destra della proprietà.
Selezionare l'opzione Ignora chiavi duplicate e selezionare Sì 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.
Vedere anche