In our example, the attribute domains include the data types Integer and Date, as well as the classes Employee and Car. By using classes as domains in this way, we can at least understand when an attribute corresponds to a association between entities, even it is not displayed as such. As discussed in Part 1, constraints not included in the standard notation may be added in braces in some implementation language. As a final example of multi-valued attributes, suppose that we wish to record the nicknames and colors of country flags. Let us agree to record at most two nicknames for any given flag, and that nicknames apply to only one flag.
Flags have at least one color.
For verbalization purposes we identify each flag by its country. In this case we have omitted the display of attribute domains. At least for conceptual analysis and querying, explicit associations usually have many advantages over attributes, especially multi-valued attributes. This choice helps us verbalize, visualize and populate the associations. Of course, we could model it cleanly in ORM first.