Maison  >  Article  >  Que signifie la contrainte de clé étrangère MySQL ?

Que signifie la contrainte de clé étrangère MySQL ?

百草
百草original
2023-07-10 09:56:332066parcourir

La contrainte de clé étrangère MySQL fait référence à une contrainte qui limite la relation entre les tables. Vous pouvez définir une colonne dans une table, et cette colonne référencera une colonne dans une autre table. Cette association peut garantir l'intégrité et la cohérence des données.

Que signifie la contrainte de clé étrangère MySQL ?

Le système d'exploitation de ce tutoriel : système Windows 10, mysql version 8.0, ordinateur Dell G3.

Les contraintes de clé étrangère MySQL font référence à une contrainte qui limite la relation entre les tables. Il peut définir une colonne dans une table qui fera référence à une colonne dans une autre table. Cette corrélation garantit l’intégrité et la cohérence des données.

MySQL est un système de gestion de bases de données relationnelles largement utilisé, généralement utilisé pour le stockage de données et la gestion d'applications réseau. Les contraintes de clé étrangère MySQL font référence à un mécanisme utilisé pour garantir l'intégrité des données et gérer les relations entre les données. Dans MySQL, en raison de la relation entre les tables, l'utilisation de contraintes de clé étrangère peut limiter les opérations telles que la suppression et la mise à jour des données, garantissant ainsi la cohérence et l'exactitude des données. données dans tout le système.

La clé étrangère elle-même est une colonne spéciale qui crée une connexion entre deux tables via la colonne de clé étrangère pour former une relation d'association. Dans MySQL, certaines conditions doivent être remplies pour créer des contraintes de clé étrangère. Par exemple, les deux tables doivent utiliser le type de moteur InnoDB et la colonne de clé étrangère doit être du même type que la colonne de clé primaire de la table associée. Lors de la création d'une contrainte de clé étrangère, vous pouvez définir un index sur la colonne de clé primaire de la table associée pour améliorer la vitesse des requêtes.

L'utilisation de contraintes de clé étrangère peut apporter de nombreux avantages, tels qu'éviter la redondance et les erreurs des données, prévenir l'incohérence des données et améliorer l'intégrité et l'exactitude des données. Dans MySQL, les contraintes de clé étrangère peuvent également implémenter des opérations de suppression et de mise à jour en cascade, c'est-à-dire que lorsqu'un enregistrement de la table principale est supprimé ou mis à jour, les enregistrements associés dans la table esclave peuvent être automatiquement supprimés ou mis à jour, simplifiant ainsi la maintenance et la gestion du système. .

L'utilisation de contraintes de clé étrangère peut atteindre les points suivants :

1. Empêcher la suppression des enregistrements dans la table parent

CREATE TABLE 表名(
id INT PRIMARY KEY,
...
);
CREATE TABLE 子表名称(
id INT PRIMARY KEY,
rid INT,
...
CONSTRAINT fk_table1 FOREIGN KEY(rid) REFERENCES 表名(id)
);

Dans ce code, les mots-clés FOREIGN KEY et REFERENCES sont utilisés pour l'association. L'utilisation de contraintes de clé étrangère dans la table enfant pour référencer la table parent empêchera la suppression des lignes de la table enfant lorsqu'un enregistrement de la table parent est supprimé.

2. Empêcher l'insertion de valeurs invalides

CREATE TABLE 表名(
id INT PRIMARY KEY,
...
);
CREATE TABLE 子表名称(
id INT PRIMARY KEY,
rid INT,
...
CONSTRAINT fk_table1 FOREIGN KEY(rid) REFERENCES 表名(id)
);

Dans ce code, les mots-clés FOREIGN KEY et REFERENCES sont utilisés pour l'association. Lorsqu'une contrainte de clé étrangère est utilisée dans une table enfant pour référencer une table parent, les tentatives d'insertion d'une valeur dans la table enfant qui n'existe pas dans la table parent seront rejetées.

3. Assurer l'intégrité et la cohérence des données

CREATE TABLE 表名(
id INT PRIMARY KEY,
...
);
CREATE TABLE 子表名称(
id INT PRIMARY KEY,
rid INT,
...
CONSTRAINT fk_table1 FOREIGN KEY(rid) REFERENCES 表名(id)
);

Dans ce code, les mots-clés FOREIGN KEY et REFERENCES sont utilisés pour l'association. L'utilisation de contraintes de clé étrangère dans la table enfant pour référencer la table parent garantit que la colonne rid de la table enfant doit être obtenue à partir de la colonne id de la table parent. Cette corrélation peut garantir l’intégrité et la cohérence des données.

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