Maison > base de données > tutoriel mysql > Comment les clés étrangères garantissent-elles l'intégrité des données dans les relations MySQL?

Comment les clés étrangères garantissent-elles l'intégrité des données dans les relations MySQL?

Barbara Streisand
Libérer: 2025-01-24 14:31:10
original
668 Les gens l'ont consulté

How Do Foreign Keys Ensure Data Integrity in MySQL Relationships?

Clés étrangères MySQL : maintien de l'intégrité des données dans les relations entre les tables

Construire des bases de données robustes et fiables nécessite de gérer soigneusement les relations entre les tables. Le mécanisme de clé étrangère de MySQL est essentiel pour garantir l'intégrité des données au sein de ces relations.

Illustrons avec un exemple impliquant deux tables : accounts et customers. Chaque compte appartient à un client spécifique, identifié par un customer_id unique. Une contrainte de clé étrangère établit ce lien.

CREATE TABLE accounts (
    account_id INT NOT NULL AUTO_INCREMENT,
    customer_id INT(4) NOT NULL,
    account_type ENUM('savings', 'credit') NOT NULL,
    balance FLOAT(9) NOT NULL,
    PRIMARY KEY (account_id),
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
) ENGINE=INNODB;
Copier après la connexion

Ce code crée la table accounts et inclut une contrainte de clé étrangère sur la colonne customer_id. Cette contrainte fait référence au customer_id dans la table customers, imposant que chaque customer_id dans accounts doit correspondre à un customer_id existant dans la table customers.

Le principal avantage des clés étrangères est leur application de l'intégrité référentielle. Toute tentative d'insertion ou de mise à jour de données dans la table accounts qui viole cette relation (par exemple, faisant référence à un customer_id inexistant) sera rejetée par la base de données, préservant ainsi 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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal