Let's say that we have a WorkOrder class and a WorkOrderRow class in a 3-tier system. A WorkOrder can have many WorkOrderRow items.
Should I express this structural relationship in the data level or in the business level?
At first sight it seems that those structural relationships should be in the data classes (after all they will be mapped to the database schema). However, most of my operations with work orders will need scan through the work order items so, its seems that the business classes are who need to be aware of this structural relationship (most likely I would find those relations during business modeling, i.e. before data modeling). Even more, the business classes can show a more logical representation of those structural relationships (free of implementation details like database normalization or de-normalization).
It seems that both, the data classes and the business classes, need to know those relationships. Althought duplicating those relationships does not seem to be the best approach.
Well, maybe that duplication cannot be avoided because one representation will be a logical model (the business level) and the other will be a physical model (the data level).
Any ideas or suggestions? Should I duplicate those relationships?
Hector Correa