Maison  >  Article  >  base de données  >  Explication détaillée de la définition et de l'utilisation des super clés, clés primaires, clés étrangères, etc. dans la base de données

Explication détaillée de la définition et de l'utilisation des super clés, clés primaires, clés étrangères, etc. dans la base de données

藏色散人
藏色散人original
2018-09-05 15:09:364594parcourir

Cet article vous présente principalement les définitions et utilisations spécifiques des super clés, des clés candidates, des clés primaires, des attributs primaires et des clés étrangères dans la base de données MySQL. Pour une explication détaillée du contenu suivant, vous pouvez également vous référer au Tutoriel vidéo MySQL et au Manuel MySQL sur le site Web PHP chinois.

Regardons d'abord les définitions des différentes clés :

Super clé : l'ensemble des attributs qui peuvent identifier de manière unique les tuples dans une relation est appelé la super clé du modèle relationnel

Clé candidate (clé candidate) : Une super clé qui ne contient pas d'attributs redondants est appelée clé candidate

Clé primaire (clé primaire) : Une clé candidate sélectionnée par l'utilisateur comme identifiant de tuple Clé primaire du programme

Clé étrangère (clé étrangère) Si un certain attribut défini dans le schéma de relation R1 n'est pas la clé primaire de R1, mais la clé primaire d'une autre relation R2, alors l'ensemble d'attributs est la clé étrangère du schéma de relation R1.

Explication détaillée avec des exemples :

Supposons qu'il y ait les deux tableaux suivants :

学生(学号,姓名,性别,身份证号,教师编号)
教师(教师编号,姓名,工资)

Super clé :

Par la super clé Il ressort de la définition que toute combinaison de numéro d'étudiant ou de numéro d'identification dans la table des étudiants est une super clé de cette table. Par exemple : (numéro d'étudiant), (numéro d'étudiant, nom), (numéro de carte d'identité, sexe), etc.

Clé candidate :

La clé candidate est une super clé. C'est la plus petite super clé. C'est-à-dire que si un attribut de la clé candidate est supprimé, ce ne sera plus une super clé. super clé. Les clés des candidats dans la table des étudiants sont : (numéro d'étudiant), (numéro de carte d'identité).

Clé primaire :

La clé primaire est l'une des clés candidates, qui est artificiellement spécifiée. Par exemple, dans la table des étudiants, nous utilisons généralement le "numéro d'étudiant" comme clé primaire, et dans la table des professeurs, "numéro de professeur" "Faire la clé primaire.

Clé étrangère :

La clé étrangère est relativement simple. La clé étrangère dans la table des étudiants est "numéro d'enseignant". Les clés étrangères sont principalement utilisées pour décrire la relation entre deux tables.

Attributs primaires et clés primaires

À proprement parler, les attributs primaires : font référence à la colonne de clé primaire, c'est-à-dire que la clé primaire se compose d'une colonne. Définition de clé primaire : un attribut ou un ensemble d'attributs. qui peut identifier de manière unique un tuple, c'est-à-dire qu'il peut être composé de plusieurs compositions de colonnes.
Dans la plupart des exemples pédagogiques, la clé primaire est constituée d'une seule colonne, on peut donc simplement dire qu'il n'y a pas de différence entre l'attribut primaire et la clé primaire.

Première forme normale (1NF)

La première forme normale signifie que chaque colonne de la table de la base de données est un élément de données de base indivisible, et il ne peut pas y avoir plusieurs valeurs dans la même colonne, cela c'est-à-dire que dans l'entité Un attribut ne peut pas avoir plusieurs valeurs ou des attributs en double. C'est le concept de base de la première forme normale.

Qu'est-ce que cela signifie ? Par exemple, il y a un champ « téléphone » dans une table, et sa valeur inclut à la fois un numéro de téléphone mobile et un numéro de téléphone fixe. Cela ne répond donc pas aux exigences du premier paradigme. . À ce stade, « téléphone » doit être divisé en « téléphone mobile » et « fixe ». Cela en fera une table de données conforme au premier paradigme.

Résumé : Les champs ne peuvent pas être divisés.
Deuxième forme normale (2NF)
La deuxième forme normale est établie sur la base de la première forme normale, c'est-à-dire que pour satisfaire la deuxième forme normale, vous devez d'abord satisfaire la première forme normale. La deuxième forme normale exige que chaque instance ou ligne d'une table de base de données puisse être distinguée de manière unique. Afin de réaliser la différenciation, il est généralement nécessaire d'ajouter une colonne au tableau pour stocker l'identification unique de chaque instance, ce qui oblige les attributs de l'entité à dépendre entièrement de la clé primaire. La prémisse pour déterminer si un symbole de table n'est pas conforme à la deuxième forme normale est que la clé primaire de la table est une clé primaire composite. Si ce n'est pas une clé primaire composite, alors on ne peut pas dire que le symbole n'est pas conforme. avec la deuxième forme normale.
Résumé : La dépendance partielle n'est pas autorisée, ce qui signifie que lorsqu'une table possède une clé primaire composite, les autres champs de clé non primaire doivent dépendre entièrement de la clé primaire.
Troisième forme normale (3NF)

La troisième forme normale doit être conforme à la deuxième forme normale. La troisième forme normale signifie qu'une table de données ne peut pas contenir de champs de clé non primaire dans d'autres tables de données. pour dire, s'il y en a d'autres. Les champs de la table doivent être la clé primaire de cette table.

Supposons qu'une table comporte trois champs a b c, a—>b b—>c. Alors c et a sont des dépendances transitives, ce qui n'est pas conforme à la troisième forme normale. Et peu importe si a peut déterminer directement c, il s'agit d'une dépendance transitive, donc seuls b et c ne dépendent d'aucun champ autre que a pour se conformer à la troisième forme normale.

Résumé : Il ne peut pas y avoir de dépendances transitives, ce qui signifie que les champs autres que la clé primaire doivent dépendre de la clé primaire et ne peuvent pas dépendre d'autres champs.

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