Contrainte unique SQL Server

Contrainte unique SQL Server

L'un des plus frustrés pour un utilisateur de base de données est de trouver des entrées en double sur un tableau. Bien qu'il existe des cas où avoir des valeurs en double peut être une nécessité, cela se produit rarement.

Par conséquent, au lieu de retourner à votre table pour filtrer et supprimer les enregistrements dupliqués, il est bon d'éviter le problème en premier lieu.

Heureusement, ce n'est pas une entreprise massive car, grâce à la contrainte unique du serveur SQL, vous pouvez vous assurer que les données d'une colonne donnée sont uniques et aucune valeur en double n'existe.

Rejoignez-nous alors que nous apprenons ce que fait la contrainte unique.

Contrainte unique SQL Server

Il est bon de penser à la fonctionnalité de la contrainte unique. Une fois que vous avez créé une contrainte unique, le serveur SQL crée automatiquement un index unique pour l'opération. Cela garantit que le moteur de la base de données peut appliquer l'unicité des données telle que définie par la contrainte.

Explorons comment nous pouvons utiliser la contrainte unique.

SQL Server Créer une table avec une contrainte unique

La requête suivante fournie crée une table avec des contraintes uniques:

Drop Base de données s'il existe un réseautage;
Créer des réseaux de base de données;
utiliser le réseautage;
Créer des informations de table (
id int not null identité clé primaire,
Nom d'utilisateur Varchar (50),
ip_address varchar (50) non null unique,
pays varchar (50) pas nul,
BROWNER VARCHAR (50) par défaut NULL,
octets int not null par défaut 0
));

Les instructions précédentes définissent la colonne IP_ADDRESS comme unique. Cela garantit qu'une seule entrée avec la même IP est ajoutée au tableau.

Vous pouvez également définir une colonne comme unique, comme indiqué dans ce qui suit:

Créer des informations de table (
id int not null identité clé primaire,
Nom d'utilisateur Varchar (50),
ip_address varchar (50) pas null,
pays varchar (50) pas nul,
BROWNER VARCHAR (50) par défaut NULL,
octets int not null par défaut 0,
UNIQUE (IP_ADdress)
));

Une fois que nous avons la table avec une contrainte unique, nous pouvons ajouter un nouvel enregistrement comme suit:

Insérer dans les informations (nom d'utilisateur, IP_ADdress, pays, navigateur, octets)
Valeurs ('Croosbar', '88.241.248.129 ', «US», «Mozilla», 34000),
('Codeyer', '219.199.7.49 ', «de», «Chrome», 5648);

L'instruction d'insertion précédente ajoute deux enregistrements au tableau.

Si nous réévaluons l'instruction précédente, le serveur SQL renvoie une erreur.

Violation de la contrainte de clé unique 'UQ__Informat__5376BCC424CE6277'. Impossible d'insérer une clé en double dans l'objet 'dbo.information'. La valeur de clé en double est (88.241.248.129).

Dans ce cas, le serveur SQL indique que la déclaration d'insertion précédente viole les règles de la contrainte unique.

SQL Server définit une contrainte unique pour plusieurs colonnes

Vous pouvez également attribuer une contrainte unique à plus d'une colonne comme prévu dans la syntaxe suivante:

Créer une table table_name (
col_1,
col_2,
… ,
col_n,
UNIQUE (COL_1, COL_2,… COL_N)
));

SQL Server définit une contrainte unique à la table existante

Pour ajouter une contrainte unique à une table existante, vous pouvez utiliser la commande alter table comme indiqué dans la syntaxe suivante:

ALTER TABLE TABLE_NAME
Ajouter une contrainte de contrainte_name
UNIQUE (Column1, Column2,…);

Par exemple:

modifier les informations de la table
Ajouter une contrainte unique_ip unique (ip_address);

La requête précédente ajoute une contrainte unique à la colonne IP_ADDRESS.

SQL Server dépose une contrainte unique

Vous pouvez supprimer une contrainte unique existante à l'aide de la commande alter table comme suit:

ALTER TABLE TABLE_NAME
Drop Contraint CONSTRAINT_NAME;

Exemple:

Modifier les informations de la table
Drop Contrainte UniQQ_IP;

Gardez à l'esprit que vous ne pouvez pas apporter de modifications à une contrainte unique existante. Par conséquent, pour modifier une contrainte de courant, vous devez la laisser tomber, puis la recréer avec de nouvelles définitions.

Conclusion

Merci de vous rejoindre dans ce tutoriel. Ce guide a expliqué les bases du travail avec les contraintes uniques dans un serveur SQL.

Merci d'avoir lu. Rendez-vous dans notre prochain tutoriel!