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?
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.
<code class="language-sql">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;</code>
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!