Une clé étrangère peut-elle pointer vers plusieurs tables ?
La définition de contraintes de clé étrangère implique généralement la sélection d'une seule table cible. Cependant, dans le cadre de relations polymorphes, une seule table peut avoir des connexions avec plusieurs autres tables.
Relations polymorphes et clés étrangères
Dans les relations polymorphes, une table ( par exemple, images) entretient une relation avec l'une des nombreuses autres tables (par exemple, subordonnés ou produits). Ceci est réalisé grâce à une colonne (person_type) qui identifie la table spécifique vers laquelle la clé étrangère doit pointer.
Réponse
Malheureusement, non. Les contraintes de clé étrangère autorisent uniquement les références à une seule table parent. Cela signifie que vous ne pouvez pas créer une clé étrangère pointant vers plusieurs tables simultanément.
Alternatives
Cependant, il existe des moyens de simuler ce comportement en utilisant d'autres techniques, telles que :
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!