Maison  >  Article  >  base de données  >  La différence entre la clé primaire d'union et la clé primaire composite

La différence entre la clé primaire d'union et la clé primaire composite

王林
王林avant
2019-08-28 14:22:459283parcourir

1. Clé primaire composite

La clé primaire dite composite signifie que la clé primaire de votre table contient plus d'un champ. S'il n'est pas utilisé, il n'a aucune signification commerciale. L'identifiant auto-incrémenté est utilisé comme clé primaire.

Par exemple :

create table test 
( 
   name varchar(19), 
   id number, 
   value varchar(10), 
   primary key (name,id) 
)

La combinaison des champs name et id ci-dessus est la clé primaire composite de votre table de test. Elle apparaît car votre champ name peut avoir le même nom, vous en avez donc besoin. ajouter Le champ ID peut garantir l'unicité de votre enregistrement. Généralement, la longueur du champ et le nombre de champs de la clé primaire doivent être aussi petits que possible.

Il y aura un doute ici ? La clé primaire est le seul index, alors pourquoi une table peut-elle créer plusieurs clés primaires ?

En fait, "la clé primaire est le seul index" est un peu ambigu. Par exemple, nous créons un champ ID dans la table, l'agrandissons automatiquement et le définissons comme clé primaire. Cela ne pose aucun problème car "la clé primaire est le seul index" et le champ ID s'agrandit automatiquement pour garantir l'unicité. c'est OK.

À ce stade, nous créons un autre nom de champ avec le type varchar et le définissons comme clé primaire. Vous constaterez que vous pouvez remplir la même valeur de nom dans plusieurs lignes de la table. ? Cette phrase est-elle « la clé primaire est le seul index » ?

C'est pourquoi j'ai dit que « la clé primaire est le seul index » est ambigu. Cela devrait être "Quand il n'y a qu'une seule clé primaire dans la table, c'est le seul index ; lorsqu'il y a plusieurs clés primaires dans la table, on parle de clé primaire composite. L'union de clé primaire composite garantit une clé primaire unique. indice".

Pourquoi l'ID auto-croissant est-il une clé primaire qui peut être utilisée comme identifiant unique, alors pourquoi une clé primaire composite est-elle encore nécessaire ? Parce que toutes les tables ne doivent pas nécessairement avoir le champ ID. Par exemple, si nous construisons une table d'étudiant et qu'il n'y a pas d'ID identifiant de manière unique l'étudiant, que devons-nous faire ? Un seul champ ne peut pas être utilisé pour une identification unique. À l'heure actuelle, nous pouvons définir plusieurs champs comme clés primaires pour former une clé primaire composite. Parmi eux, il n'y a aucun problème si certaines valeurs de champ de clé primaire. sont répétés, tant qu'il n'y a pas plusieurs enregistrements. Si toutes les valeurs de clé primaire sont exactement les mêmes, elles ne sont pas considérées comme des doublons.

2. Clé primaire commune

Comme son nom l'indique, la clé primaire commune est la combinaison de plusieurs clés primaires pour former une combinaison de clé primaire (la clé primaire est en principe unique, ne vous inquiétez pas des valeurs uniques. )

La signification de la clé primaire commune : utiliser 2 champs (ou plusieurs champs, spécifiquement une combinaison de 2 (les champs seront utilisés plus tard) pour déterminer un enregistrement, indiquant que ces 2 champs ne sont pas uniques. Les deux champs peuvent être répétés séparément. L'avantage de ce paramètre est que vous pouvez voir intuitivement le nombre d'enregistrements dans un champ répété.

Un exemple simple :

La clé primaire A et la clé primaire B forment une clé primaire commune

Les données de la clé primaire A et de la clé primaire B peuvent être exactement les mêmes. L'union est la clé primaire A et la clé primaire B. La clé primaire conjointe résultante est unique.
Dans l'exemple suivant, les données de la clé primaire A sont 1, les données de la clé primaire B sont également 1 et la clé primaire combinée est en fait 11. Ce 11 est une valeur unique, et la valeur unique de 11 est absolument pas autorisé à réapparaître. (Il s'agit d'une relation plusieurs-à-plusieurs)

Données de clé primaire A Données de clé primaire B La plus précieuse est

11
12

13

21

22

23
31
32
33

Résumé : De mon point de vue, une clé primaire composite se compose de plus d'un champ, tel que ID+nom, ID +téléphone, etc., tandis qu'une clé primaire commune doit être une combinaison des thèmes de deux tables à la fois. C'est la plus grande différence avec la clé primaire composite !

Pour plus de problèmes connexes, veuillez visiter le site Web PHP chinois :
Tutoriel vidéo MySQL

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer