Maison >base de données >tutoriel mysql >Une clé étrangère peut-elle référencer plusieurs tables dans des associations polymorphes ?
Clés étrangères polymorphes : une clé étrangère peut-elle référencer plusieurs tables ?
Le concept de clés étrangères dans les bases de données relationnelles implique généralement de spécifier la cible exacte table vers laquelle une colonne de référence doit pointer. Cependant, lorsqu'il s'agit d'associations polymorphes, où une table a une relation avec plusieurs autres tables d'un ensemble, la question se pose : est-il possible d'avoir une clé étrangère pouvant référencer l'une de ces tables ?
La réponse : non
Dans MySQL et PostgreSQL, une contrainte de clé étrangère ne peut faire référence qu'à une seule table parent. Cette contrainte garantit l'intégrité des données en maintenant une relation claire entre les lignes de référencement et les lignes référencées dans la table parent.
Alternatives pour les associations polymorphes
Puisqu'une clé étrangère ne peut pas pointent directement vers plusieurs tables, des solutions alternatives sont nécessaires pour modéliser les associations polymorphes :
Ressources supplémentaires
Pour plus d'informations sur les associations polymorphes et leurs solutions, reportez-vous aux ressources suivantes :
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!