Maison > base de données > tutoriel mysql > Comprendre les clés uniques dans SQL : garantir l'intégrité des données

Comprendre les clés uniques dans SQL : garantir l'intégrité des données

Linda Hamilton
Libérer: 2025-01-01 00:59:09
original
518 Les gens l'ont consulté

Understanding Unique Keys in SQL: Ensuring Data Integrity

Qu'est-ce qu'une clé unique en SQL ?

Une Clé unique en SQL est une contrainte qui garantit que toutes les valeurs d'une colonne (ou d'une combinaison de colonnes) sont distinctes sur les lignes d'une table. Cela signifie que deux lignes ne peuvent pas avoir la même valeur dans la ou les colonnes clés uniques. Il aide à maintenir l'intégrité des données en empêchant les entrées en double.


Caractéristiques clés d'une clé unique

  1. Unicité :

    Chaque valeur d'une colonne clé unique doit être distincte.

  2. Autorise les valeurs nulles :

    Contrairement aux clés primaires, les clés uniques autorisent une ou plusieurs valeurs NULL, selon le système de base de données. Cependant, ces valeurs NULL ne peuvent pas violer la règle d'unicité (par exemple, deux lignes ne peuvent pas avoir la même valeur non nulle dans une clé unique).

  3. Plusieurs clés uniques :

    Une table peut avoir plusieurs clés uniques, chacune assurant l'unicité de ses colonnes respectives.

  4. Création d'index :

    Les clés uniques créent automatiquement un index unique dans la base de données, ce qui optimise les recherches.


Syntaxe de création d'une clé unique

Lors de la création d'un tableau :

CREATE TABLE users (
    user_id INT PRIMARY KEY,
    email VARCHAR(255) UNIQUE,
    username VARCHAR(255) UNIQUE
);
Copier après la connexion
  • Ici, les colonnes d'e-mail et de nom d'utilisateur sont des clés uniques, garantissant qu'aucun utilisateur n'a le même e-mail ou le même nom d'utilisateur.

Ajout d'une clé unique à une table existante :

ALTER TABLE users ADD CONSTRAINT unique_email UNIQUE (email);
Copier après la connexion

Exemples

Insertion de données dans une table avec des clés uniques :

INSERT INTO users (user_id, email, username) 
VALUES (1, 'user@example.com', 'user123');
Copier après la connexion
  • Si vous essayez d'insérer une valeur en double dans les colonnes email ou nom d'utilisateur :
INSERT INTO users (user_id, email, username) 
VALUES (2, 'user@example.com', 'user456');
Copier après la connexion
  • Cette requête échouera car la valeur email existe déjà.

Différence entre la clé primaire et la clé unique

Aspect Clé primaire Clé unique ête>
Aspect Primary Key Unique Key
Uniqueness Ensures unique values. Ensures unique values.
Null Values Does not allow NULL values. Allows NULL values (varies by system).
Number in Table Only one primary key per table. Multiple unique keys per table.
Unicité Garantit des valeurs uniques. Garantit des valeurs uniques. Valeurs nulles N'autorise pas les valeurs NULL. Autorise les valeurs NULL (varie selon le système). Numéro dans le tableau Une seule clé primaire par table. Plusieurs clés uniques par table.

Pourquoi utiliser une clé unique ?

  1. Empêcher les données en double :

    Garantit que les champs importants, comme les e-mails ou les noms d'utilisateur, restent uniques.

  2. Règles commerciales de support :

    Assure l'intégrité des données en maintenant les contraintes spécifiques à l'application.

  3. Optimiser les requêtes :

    L'index unique sous-jacent permet d'accélérer la récupération des données.


Cas d'utilisation pratiques

  • Authentification de l'utilisateur :

    Assurez-vous d'avoir des adresses e-mail ou des noms d'utilisateur uniques pour la création de compte.

  • Gestion des stocks :

    Évitez les identifiants de produits ou les codes-barres en double.

  • Systèmes bancaires :

    Appliquez des numéros de compte ou des détails de carte uniques.


Conclusion

Une clé unique est une fonctionnalité SQL essentielle pour maintenir l'intégrité des données et éviter les entrées en double dans votre base de données. Il complète les clés primaires en permettant plusieurs contraintes uniques dans une table, ce qui en fait un outil polyvalent dans la conception de bases de données.

Bonjour, je m'appelle Abhay Singh Kathayat !
Je suis un développeur full-stack avec une expertise dans les technologies front-end et back-end. Je travaille avec une variété de langages et de frameworks de programmation pour créer des applications efficaces, évolutives et conviviales.
N'hésitez pas à me contacter à mon e-mail professionnel : kaashshorts28@gmail.com.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal