
Silverston c07.tex V2 - 11/20/2008 5:44pm Page 323
Level 1 Contact Mechanism Pattern 323
This pattern does not accommodate relating contact mechanisms to
other entities (or to itself recursively). Because this pattern does not
maintain contact mechanism data in its own entity, it does not allow
relationships from contact mechanisms to other entities. For example,
the same contact mechanism, such as a postal address, may be related to
a PARTY as well as to an ORDER, a SHIPMENT, an INVOICE, and other
entities. Another example is that contact mechanisms may be linked to
other contact mechanisms; for example, a person’s fax may be linked
to his email so that when he gets a fax it automatically sends him
an email.
This pattern does not handle multiplicity of attributes very well. If a
person has ten telephone numbers, you should have at least ten different
attributes for a PARTY. If each of these telephone numbers has two dif-
ferent purposes, you would have twenty attributes for the entity! S o you
can see that attributes can multiply rather easily with this pattern. There-
fore, when you have a lot of the same type of contact mechanisms for an
entity, using this pattern has great disadvantages. For example, when
there are many telephone numbers for a PARTY, use of this pattern is
violating the first normal form of normalization (repeating groups), and
this could cause more and more attributes to be