Maison >base de données >tutoriel mysql >Analyse sur la différence entre super clé, clé primaire et clé candidate dans MySQL
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.
Apprentissage recommandé : Tutoriel vidéo MySQL
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 :
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é candidateUne 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é primaireTrouvez 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 relationConcepts de basea Les super clés sont :
b.
c. Sélectionnez la clé primaire
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 Major20020612 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}Etude recommandée :b) {numéro d'étudiant, nom}
c) {âge, département}
d) {nom, sexe}
e) {nom, majeur }
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!