2012-10-17 5 views
1

J'ai 3 entités dans mon système. Appelons-les entités A, B et C. L'entité A devient l'entité B, et à son tour l'entité B devient l'entité C. Je dois conserver les copies des trois entités.Comment concevoir des entités similaires dans la base de données

Mon dilemme est de savoir comment les représenter dans une donnée relationnelle. Les trois entités ont des champs similaires. Cependant, certains champs sont applicables à certaines entités et d'autres non.

Quelle est l'approche recommandée dans ce cas. Dois-je utiliser une table, puis créer un champ "Type"? Le problème avec cette approche est que certains champs seront vides pour les entités soem. Ou devrais-je créer des tables séparées?

Toute recommandation sur les meilleures pratiques serait grandement appreaciated

Répondre

3

cela sonne comme le directeur -> Le personnel type de conception hiérarchique. Vous pouvez avoir des tables séparées pour chaque entité. Mais si elles sont du même type de base quand vous voulez obtenir la liste de toutes les personnes, alors vous devez réunir toutes les tables. Si vous utilisez une colonne de hiérarchie avec une approche de table unique, vous devez joindre la table avec elle-même. Considérez ces deux options en choisissant une solution. Les deux ont raison mais ont leurs propres difficultés.

+0

Merci pour votre réponse. En fait, vous avez raison. C'est similaire à la relation manager-> personnel. Et oui, l'avantage de se disputer et d'obtenir le «peuple» à la fois est quelque chose que je dois garder à l'esprit. Je vais suivre vos conseils et étudier les avantages et les inconvénients. Merci encore! –

Questions connexes