Maison >base de données >tutoriel mysql >Comparaison simple de la clé primaire et de la clé unique

Comparaison simple de la clé primaire et de la clé unique

青灯夜游
青灯夜游original
2019-01-29 14:32:498717parcourir

Les clés et les clés uniques sont utilisées pour identifier de manière unique les tuples et renforcer l'unicité au sein d'une colonne ou d'une combinaison de colonnes. Alors comment les distinguer ? L'article suivant vous donnera une brève comparaison entre les clés primaires et les clés uniques, et présentera les différences entre les clés primaires et les clés uniques. J'espère qu'il vous sera utile.

Comparaison simple de la clé primaire et de la clé unique

Qu'est-ce qu'une clé primaire ?

Une clé primaire est une colonne dans une table qui identifie de manière unique chaque tuple (ligne) de cette table. La clé primaire applique des contraintes d'intégrité sur la table. Une seule clé primaire est autorisée dans la table. La clé primaire n'accepte aucune valeur en double ni valeur nulle. Les valeurs de clé primaire dans un tableau changent rarement, vous devez donc être prudent lorsque vous choisissez une clé primaire et choisir un endroit qui change rarement. La clé primaire d'une table peut être référencée par la clé étrangère d'une autre table. [Recommandation du didacticiel vidéo : Tutoriel MySQL]

Afin de mieux comprendre la clé primaire, nous créons une table nommée Student, qui a des attributs tels que roll_number, name, batch, phone_number, Citizen_id , etc.

Comparaison simple de la clé primaire et de la clé unique

Dans l'exemple ci-dessus, l'attribut roll_number ne peut jamais avoir la même valeur NULL car un étudiant inscrit dans chaque université a un Roll_number unique, donc les deux étudiants ne peuvent pas avoir le même Roll_number , et chaque ligne du tableau peut être identifiée de manière unique par l'attribut roll_number de l'élève. Donc, dans ce cas, nous pouvons créer l'attribut Roll_number comme clé primaire.

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

Des contraintes de clé uniques peuvent identifier de manière unique un seul tuple dans une relation ou une table. Contrairement aux clés primaires, une table peut avoir plusieurs clés uniques. Une contrainte de clé unique ne peut accepter qu'une valeur nulle pour une colonne ; une contrainte de clé unique est également référencée par une clé étrangère d'une autre table. Il est utilisé lorsque l'on souhaite appliquer des contraintes uniques sur des colonnes et des groupes de colonnes qui ne sont pas des clés primaires.

Pour mieux comprendre la clé unique, nous utilisons la table Student avec les attributs Roll_number, Name, Batch, Phone_number et Citizen_ID où l'attribut Roll_number a été attribué à la clé primaire.

Comparaison simple de la clé primaire et de la clé unique

Dans cet exemple, Citizen_ID peut se voir attribuer une contrainte unique, où chaque entrée dans la colonne Citizen_ID doit être unique et non en double car chaque citoyen d'un pays doit avoir son numéro d'identification unique. Cependant, si l'étudiant migre d'un autre pays, dans ce cas il n'aura pas de Citizen_ID et l'entrée pourra avoir une valeur NULL puisqu'un NULL est autorisé dans la contrainte unique.

La principale différence entre la clé primaire et la clé unique :

Comparaison simple de la clé primaire et de la clé unique

1. Lorsqu'un attribut est déclaré comme clé primaire, il n'acceptera pas les valeurs NULL. En revanche, lorsqu'une propriété est déclarée Unique, elle peut accepter une valeur NULL.

2. Il ne peut y avoir qu'une seule clé primaire dans la table, mais il peut y avoir plusieurs clés uniques.

3. Créez automatiquement un index clusterisé lors de la définition de la clé primaire. En revanche, les clés uniques génèrent des index non clusterisés.

Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !

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!

Déclaration:
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
Article précédent:Quoi de neuf dans MySQL 8.0Article suivant:Quoi de neuf dans MySQL 8.0