


Une clé étrangère peut-elle référencer plusieurs tables dans une base de données relationnelle ?
Oct 23, 2024 pm 11:10 PMUne 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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Réduisez l'utilisation de la mémoire MySQL dans Docker

Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE?

Comment résoudre le problème de MySQL ne peut pas ouvrir la bibliothèque partagée

Exécutez MySQL dans Linux (avec / sans conteneur Podman avec phpmyadmin)

Exécuter plusieurs versions MySQL sur macOS: un guide étape par étape

Comment sécuriser MySQL contre les vulnérabilités communes (injection SQL, attaques par force brute)?

Comment configurer le cryptage SSL / TLS pour les connexions MySQL?
