Maîtriser les relations MySQL avec les contraintes FOREIGN KEY
MySQL, l'un des principaux systèmes de gestion de bases de données relationnelles (SGBDR), s'appuie fortement sur l'établissement de relations entre les tables pour une gestion efficace des données. Cet article se concentre sur la création de relations, en reliant spécifiquement les tables accounts
et customers
, en attribuant chaque compte à un client unique.
La pierre angulaire de ce processus est la contrainte FOREIGN KEY. Illustrons comment implémenter cela dans MySQL :
<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>
La ligne clé, FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
, définit la relation. Il stipule que le customer_id
dans le tableau accounts
doit correspondre à un customer_id
valide dans le tableau customers
.
Cette contrainte maintient l'intégrité référentielle, garantissant l'exactitude et la cohérence des données. Il empêche la création d'enregistrements « orphelins » (comptes sans clients correspondants) et maintient les relations entre les données.
Considération importante : Le moteur MyISAM de MySQL ne prend pas en charge FOREIGN KEY. Pour les tables MyISAM, des méthodes alternatives telles que les déclencheurs sont nécessaires pour imiter la fonctionnalité FOREIGN KEY.
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!