2009-06-15 4 views
1

Comment modéliser des propriétés supplémentaires à partir de relations un-plusieurs dans la base de données en classes?Conception de classes à partir d'une table One-Many avec des champs supplémentaires

Par exemple, j'ai 3 tables Model, Manager et Model_Manager. La table Model_Manager a ModelId, ManagerId et deux propriétés supplémentaires - Pourcentage et propriétaire.

Au début, j'ai créé deux classes Manager et Model et la classe Model contient une collection de gestionnaires pour capturer le lien 1-Many.

Mais maintenant, où dois-je mettre les propriétés supplémentaires pour cent et propriétaire. Est-il sensé d'avoir réellement une classe Model_Manager dans la conception même si ce n'est pas une classe "real-business"?

Répondre

2

Il s'agit d'une relation plusieurs-à-plusieurs avec des données supplémentaires. Ceci est généralement modélisé comme deux relations un-à-plusieurs. Donc oui, vous devez avoir une classe Model_Manager, bien que vous puissiez envisager un meilleur nom (ManagedModel?). Model et Manager ont chacun une relation un-à-plusieurs avec Model_Manager.

0

Eh bien, sans doute chaque gestionnaire a un ensemble de modèles qu'il peut gérer un pourcentage de, alors ...

je créer une classe ManagedModel qui contient un pointeur vers un objet de modèle et les propriétés supplémentaires. Chaque gestionnaire peut alors avoir un ensemble d'objets ManagedModel.

1

Il semble que vos 2 autres propriétés sont des attributs de liaison et doivent donc être représentés dans une classe qui modélise la ManagerID et les 2 champs addtional

0

Oui, d'après ce que vous avez décrit, une classe ModelManager, est logique. Le modèle aurait alors une liste de ModelManagers et la classe ModelManager aurait le gestionnaire, le pourcentage et le propriétaire.

Questions connexes