Uno dei più frustranti per un utente di database è trovare voci duplicate in una tabella. Sebbene ci siano alcuni casi in cui avere valori duplicati può essere una necessità, raramente accade.
Pertanto, invece di tornare al tavolo per filtrare e rimuovere i record duplicati, è bene evitare il problema in primo luogo.
Fortunatamente, non è un'impresa enorme poiché, grazie al vincolo univoco nel server SQL, è possibile assicurarsi che i dati in una determinata colonna siano univoci e non esistano valori duplicati.
Unisciti a noi mentre impariamo cosa fa il vincolo unico.
SQL Server Vin dal server univoco
È bene pensare alla funzionalità del vincolo unico. Una volta creato un vincolo univoco, il server SQL crea automaticamente un indice univoco per l'operazione. Ciò garantisce che il motore del database possa applicare l'unicità dei dati come definito dal vincolo.
Esploriamo come possiamo usare il vincolo unico.
SQL Server Crea una tabella con vincolo univoco
La seguente query fornita crea una tabella con vincoli unici:
Drop database se esiste in rete;Le istruzioni precedenti impostano la colonna ip_address come univoco. Ciò garantisce che una sola voce con lo stesso IP venga aggiunta alla tabella.
Puoi anche impostare una colonna come unica, come mostrato nel seguente:
Crea informazioni sulla tabella (Una volta che abbiamo il tavolo con un vincolo unico, possiamo aggiungere un nuovo record come segue:
Insert in Information (nome utente, ip_address, country, browser, byte)L'istruzione insert precedente aggiunge due record alla tabella.
Se riesaminiamo l'istruzione precedente, il server SQL restituisce un errore.
Violazione del vincolo chiave univoco 'uq__informat__5376bcc424ce6277'. Impossibile inserire la chiave duplicata nel DBO dell'oggetto.informazione'. Il valore chiave duplicato è (88.241.248.129).
In questo caso, il server SQL indica che l'istruzione insert precedente viola le regole del vincolo univoco.
SQL Server Imposta vincolo univoco per più colonne
È inoltre possibile assegnare un vincolo univoco a più di una colonna come previsto nella sintassi seguente:
Crea table table_name (SQL Server Imposta vincolo univoco sulla tabella esistente
Per aggiungere un vincolo univoco a una tabella esistente, è possibile utilizzare il comando della tabella Alter come mostrato nella seguente sintassi:
Alter table table_namePer esempio:
altera le informazioni sulla tabellaLa query precedente aggiunge un vincolo univoco alla colonna IP_ADDRESS.
SQL Server Drop un vincolo univoco
È possibile rimuovere un vincolo univoco esistente utilizzando il comando della tabella Alter come segue:
Alter table table_nameEsempio:
Altera le informazioni sulla tabellaTieni presente che non puoi apportare modifiche a un vincolo unico esistente. Pertanto, per modificare un vincolo attuale, è necessario lasciarlo cadere e quindi ricrearlo con nuove definizioni.
Conclusione
Grazie per esserci unito a noi in questo tutorial. Questa guida ha spiegato le basi del lavoro con i vincoli univoci in un server SQL.
Grazie per aver letto. Ci vediamo nel nostro prossimo tutorial!