"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Une clé étrangère peut-elle référencer plusieurs tables dans une base de données relationnelle ?

Une clé étrangère peut-elle référencer plusieurs tables dans une base de données relationnelle ?

Publié le 2024-11-09
Parcourir:246

Can a Foreign Key Reference Multiple Tables in a Relational Database?

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 contexte des 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 :

  • Colonnes discriminatrices : Ajoutez une colonne à la table parent qui identifie le type d'enfant table.
  • Union des tables : Créez une seule table contenant les données combinées de toutes les tables associées.
Déclaration de sortie Cet article est reproduit à l'adresse : 1729692950. En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3