Je suis en train de faire de cette base de données de démonstration où je tables commeEst-il acceptable de référencer les clés primaires de toutes les tables de la base de données en tant que clé étrangère d'une table?
Household(Primary key - hid)
People(Primary key - pepid)
ParChildOld(Primary key - pcoid)
Job(Primary key - empid)
School(Primary key - schlid)
Pension(Primary key - penid)
Maintenant, j'ai différents attributs sur les détails des personnes dans chaque ménage dans différentes tables. Puis-je prendre les clés primaires de toutes les tables et créer une table, disons AllKeys et les référencer comme des clés étrangères dans ce tableau particulier?
-à-dire:
AllKeys Table
Primary Key: AKid
-- Other columns include
foreign keys- hid,pepid,pcoid,empid,schid,penid*
Je ne sais pas si cela est ridicule de demander ou non, mais,
est une référence autorisée? Peut-il être considéré comme une forme normalisée? Est-ce que les requêtes lancées de cette manière en rejoignant la table AllKeys et toute autre table (en fonction de la requête) fonctionneront efficacement?
Je ne sais pas exactement ce que la question est, mais vous devez spécifier exactement quelle table votre clé étrangère fait référence. Juste un. (Mais vous pourriez avoir beaucoup de contraintes de clés étrangères sur la même colonne, toutes pointant vers des choses différentes) – Thilo
il peut être utilisé mais tout dépend de votre exigence. –
C'est possible mais, plus important encore, est-ce approprié? Le nom de votre table (AllKeys) n'évoque pas un prédicat métier pouvant justifier une telle utilisation. Pourquoi voulez-vous faire ceci/quelle serait la signification de cette table? – reaanb