Maison >base de données >tutoriel mysql >Analyse sur la différence entre super clé, clé primaire et clé candidate dans MySQL

Analyse sur la différence entre super clé, clé primaire et clé candidate dans MySQL

WBOY
WBOYavant
2022-08-01 15:08:321938parcourir

Cet article vous apporte des connaissances pertinentes sur mysql Il présente principalement les différences entre les super clés, les clés primaires et les clés candidates dans MySQL. Il a une bonne valeur de référence et j'espère qu'il sera utile à tout le monde.

Analyse sur la différence entre super clé, clé primaire et clé candidate dans MySQL

Apprentissage recommandé : Tutoriel vidéo MySQL

À propos de la différence entre la super clé, la clé primaire et la clé candidate

J'ai récemment rencontré un problème en lisant des livres MySQL :

Maintenant que nous avons déjà le concept de clé primaire , la clé primaire peut déjà répondre aux besoins, alors pourquoi avons-nous besoin d'une clé candidate ? Quel est le rôle des clés candidats ? On lui donne une définition de clé de candidat, mais cela ne fait vraiment rien de compliqué.

Avec la mentalité de demander plus d'informations, j'ai cherché en ligne et regardé les explications des experts. Je me sentais encore un peu confus, alors j'ai voulu faire le tri ici pour m'aider à comprendre plus clairement J'espère aussi que si. il y a un malentendu, quelqu'un peut-il me donner quelques conseils ? Voici un peu de ma compréhension :

En fait, les clés primaires et les super clés sont meilleures. Par exemple, il existe une telle table :

Analyse sur la différence entre super clé, clé primaire et clé candidate dans MySQL

L'écriture. du tableau est un peu approximatif, donc c'est bon à lire.

Super clé

L'ensemble des attributs qui peuvent identifier de manière unique un tuple dans une relation est appelé la super clé du schéma relationnel. Notez le "ensemble d'attributs" dans la définition. La super clé peut être un grand ensemble, à condition qu'elle puisse déterminer de quelle ligne il s'agit, donc "id", "user", "pwd", "section", "name". tout va bien, c'est l'ensemble des super-clés.

Clé candidate

Une super-clé qui ne contient pas d'attributs redondants. Par exemple, dans la super-clé ci-dessus, 'id' peut déterminer de quelle ligne il s'agit par lui-même, il peut donc être une clé candidate par lui-même, à l'exception des quatre autres. Il peut également s'agir d'une clé candidate, mais ces cinq clés sont regroupées car il y a des colonnes redondantes, ce ne sont donc pas des clés candidates. (La raison pour laquelle les quatre autres peuvent être des clés candidates est que chaque colonne peut avoir un contenu en double)

Clé primaire

Trouvez l'une de toutes les clés candidates à utiliser comme clé primaire, ce qui signifie qu'elle peut être un identifiant ou autre chose. La combinaison des quatre peut également représenter d’autres choix, à condition qu’elle puisse garantir que l’ensemble des choix puisse être déterminé de manière unique.

En résumé, les clés candidates sont un sous-ensemble de super-clés et les clés primaires sont un sous-ensemble de clés candidates.

En fait, après tant de tri, je ne comprends toujours pas quelle est la fonction de la clé du candidat. En fait, cela ressemble peut-être à une salle d'attente. Il ne reste qu'un seul siège dans la voiture, et il y en a. plusieurs clés primaires assises dans la salle d'attente. Dites-moi : "Nous avons tous acheté des billets et sommes tous éligibles pour monter dans le bus. Celui que vous choisirez de monter dans le bus montera dans le bus avec vous." il.

Comprendre les concepts de super clé, clé candidate, clé primaire et relation

Concepts de base

    Super clé (super clé) : L'ensemble des attributs qui peuvent identifier de manière unique un tuple dans une relation est appelé super clé/code du modèle relationnel.
  • Clé candidate : une super-clé qui ne contient pas d'attributs redondants est appelée clé candidate, c'est-à-dire que son véritable sous-ensemble n'est plus une super-clé.
  • Clé primaire : une clé candidate sélectionnée par l'utilisateur comme identifiant de tuple est appelée clé primaire et est l'une des clés candidates.
Relation

Les clés candidates sont un sous-ensemble de super-clés, et la clé primaire est l'une des clés candidates.

À titre d'exemple

Considérez l'ensemble d'attributs (numéro d'identification, nom, sexe, âge), en supposant qu'il n'y a pas de noms en double

a Les super clés sont :

    Numéro de carte d'identité, nom, (nom. , sexe) ), (nom, sexe, âge), etc.
  • --On peut voir ici que la super clé est le groupe d'attributs qui peut identifier de manière unique une personne

b.

    Numéro de carte d'identité, Le nom est unique et n'a pas d'attributs redondants, c'est donc une clé candidate
  • --On peut voir ici que la clé candidate est une super clé sans attributs redondants

c. Sélectionnez la clé primaire

    Les utilisateurs peuvent envisager le choix en fonction de leurs propres préférences Nom ou numéro d'identification comme clé primaire
  • --La clé primaire est une clé candidate sélectionnée
Vous ne comprenez pas encore ?

Exemple :

Dans la base de données SQL Server, il existe un tableau d'informations sur les étudiants comme indiqué ci-dessous. L'ensemble d'attributs qui ne peuvent pas être utilisés comme clés de candidat dans ce tableau est ( ) (sélectionnez-en un)

Numéro d'étudiant. , nom, sexe, âge Département Major

20020612 Li Huinan 20 Développement de logiciels informatiques
20060613 Zhang Mingnan 18 ans Développement de logiciels informatiques
20060614 Wang Xiaoyu Femme 19 ans Physique et mécanique
20060615 Li Shuhua Femme 17 ans Zoologie biologique
20060616 Zhao Jingnan 21 Chimie Chimie Alimentaire
200 60617 Zhao Jingnu 20 Étude sur les plantes biologiques

a) {numéro d'étudiant}

b) {numéro d'étudiant, nom}
c) {âge, département}
d) {nom, sexe}
e) {nom, majeur }

Etude recommandée :

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