2010-07-12 2 views
0

Je suis un peu préoccupé par la façon de modéliser ce scénario plutôt simple de la meilleure façon en UML et ERM. Une fois conçu, il doit être implémenté dans C# (Entity Framework 4) et SQL Server 2008.Problème de généralisation de l'adresse de modélisation

Le cas est que j'ai une personne qui a une adresse postale. Cette adresse peut maintenant être de deux types: soit une boîte postale, soit un identifiant de maison (numéro de rue, rue, etc.). Je crois que ce qu'on appelle la généralisation, et peut être modélisé de la manière suivante en utilisant UML:

http://i.imgur.com/Vzx4Z.png (désolé pour le lien, mais je n'ai pas assez réputation d'afficher des images encore)

PostalAddressPostalBox et PostalAddressHouseIdentifier sera bien sûr, avoir plus de propriétés et de relations avec d'autres entités/tables. Il en va de même avec la classe Person. D'autres classes auront aussi une référence à une adresse postale, donc ce ne sont pas seulement des personnes.

Ma question est de savoir si c'est la bonne façon de modéliser ce problème, et comment je peux l'implémenter en SQL (schema wise) et à quoi devraient ressembler mes entités en C#?

Nous vous remercions à l'avance

Répondre

1

Je pense que vous ne devriez pas réutiliser le PostalAddress pour différentes entités. Il sera simplement plus difficile de changer l'adresse pour une entité donnée.

Pour la base de données relationnelle, il existe certaines options, telles que class table inheritance.

Ou peut-être single table inheritance ou concrete table inheritance. C'est à vous de décider des compromis.

Questions connexes