SQL Server Vin dal server univoco

SQL Server Vin dal server univoco

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;
creare reti di database;
utilizzare il networking;
Crea informazioni sulla tabella (
id int non null Identity Key primario,
Nome utente Varchar (50),
ip_address varchar (50) non null univoco,
paese varchar (50) non null,
browser varchar (50) predefinito null,
byte int non null predefinito 0
);

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 (
id int non null Identity Key primario,
Nome utente Varchar (50),
ip_address varchar (50) non null,
paese varchar (50) non null,
browser varchar (50) predefinito null,
byte int non null predefinito 0,
UNIVE (IP_ADDRESS)
);

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)
valori ('croosbar', '88.241.248.129 ',' noi ',' mozilla ', 34000),
("Codeyer", 219.199.7.49 ',' de ',' Chrome ', 5648);

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 (
Col_1,
Col_2,
.. ,
col_n,
univoco (col_1, col_2,… col_n)
);

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_name
Aggiungi vincoli vincoli_name
Univoco (colonna1, colonna2, ...);

Per esempio:

altera le informazioni sulla tabella
Aggiungi vincolo univoco_ip univoco (ip_address);

La 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_name
Drop vintrint vincolante_name;

Esempio:

Altera le informazioni sulla tabella
Drop vincolo uniquq_ip;

Tieni 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!