Hi Dennis
You are right in that the same business domain may be expressed by different ORM models. Which member of a set of equivalent models is "best" is partly a subjective issue (depending on the viewpoint of the modeler on what is more "natural", "simpler" or "clearer"). However for a case like the one you cited, I think it can be argued that
a unary is conceptually cleaner than an equivalent binary. For example,
it seems more natural to say "Arnold smokes" than "Arnold has
SmokingStatus 'true'".
Section 14.5 of "the Big Brown Book" discusses conceptual optimization, which is mainly aimed at transforming an ORM model into an equivalent one that results in a more efficient relational model when passed to the basic Rmap procedure. We hope one day to have NORMA automatically perform such "optimizations" (not the best word for it) and give the user the choice of accepting or rejecting any of the changes.If a change makes the model clearer for the user, he/she is likely to accept it. Otherwise, we can leave the model as is, but include the optimization under the covers as a pre-processing phase before passing to the basic Rmap.
Different mapping targets have different mapping procedures and hence different optimizations. The main use of the conceptual model is to clarify the semantics of the business domain, and this will often be independent of the implementation mapping.
Cheers
Terry