Maison > base de données > tutoriel mysql > Les clés étrangères peuvent-elles référencer des index non uniques ?

Les clés étrangères peuvent-elles référencer des index non uniques ?

Linda Hamilton
Libérer: 2025-01-08 08:52:41
original
505 Les gens l'ont consulté

Can Foreign Keys Reference Non-Unique Indexes?

Contraintes de clés étrangères sur les index non uniques dans la conception de bases de données

Dans la conception de bases de données, les contraintes de clé étrangère établissent une relation entre deux tables, garantissant que les lignes d'une table font référence à des lignes valides de l'autre table. Cependant, il est généralement admis que les clés étrangères doivent faire référence à un index unique, ce qui signifie qu'il existe une relation biunivoque entre les lignes.

Cependant, dans certains systèmes de gestion de bases de données tels que MySQL, les clés étrangères peuvent référencer des index non uniques. Cela s'écarte de l'interprétation SQL standard.

Selon la documentation MySQL, les clés étrangères peuvent référencer des clés non uniques, ce qui est une extension du standard. Cependant, il est important de noter que l’utilisation de colonnes non uniques pour les références de clés étrangères peut poser de réels problèmes.

Par exemple, si la colonne du tableau référencé contient des valeurs en double et que la contrainte "ON DELETE CASCADE" est appliquée, le comportement des suppressions en cascade devient ambigu. Par conséquent, il est fortement recommandé d’utiliser des clés étrangères faisant référence à des clés uniques (y compris les clés primaires) et non nulles.

En résumé, bien qu'il soit possible de créer des clés étrangères sur des index non uniques dans certains systèmes de bases de données, il est recommandé d'éviter de le faire en raison d'incohérences et d'ambiguïtés potentielles dans la maintenance de l'intégrité 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!

source:php.cn
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