Maison > base de données > tutoriel mysql > 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 ?

Linda Hamilton
Libérer: 2024-10-23 23:10:29
original
318 Les gens l'ont consulté

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

  • Colonnes discriminatrices : Ajoutez une colonne à la table parent qui identifie le type de table enfant.
  • Tables d'union : Créer une seule table qui contient les données combinées de toutes les tables associé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
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