However, I have always found that a graphical form is much
easier to work with, and so this will be the norm.
2.3 Graphical Notations: Complexity vs.
Understandability vs. Capability
When defining graphical notatio ns, it is tempting to be
overly elaborate and to have graphical symbols for everything.
This is effectively the same as creating a secret code language,
which only the initiates can understand. This is a bad idea
when you are trying to communicate with an audience. A good
graphical notation is one that makes good use of intuitive sym-
bols, where you can still remember what they mean after six
months without looking at a data model (which will be the case
for many of those to whom you present your data models).
A good example of a notation that is easy to under-
stand was developed by the CDIF (CASE Data
Interchange Format) community. Since the CASE
1
tool
vendors were exchanging data between their different
tools, politically, they could not use a notatio n used by
one of their tools, so they had to come up with some-
thing different. Figure 2-2 shows the same data model
as Figure 2-1, but it uses the CDIF notation.
I doubt if I even need to explain this notation. You just read
in the direction of the arrows (that is all the arrow does). So “A
product instance is a physical object,” and “A product instance
is classified by one and only one product model.” The only
slight complication is the 1:1, the cardinality constraint, but
even this is easy to decipher for anyone with data modeling
experience, and if I were presenting a model to those without
data modeling experience, I would not show cardinalities in any
case, since these are generally a matter of technical discovery.
Watch out for the restrictions that a notation has. An exam-
ple is in the Barker methodology used by Oracle.
Figure 2-3 shows a subtype/supertype structure. A single
pump can be both a reciprocating pump and an electrically
driven pump, and another might be a reciprocating pump and
a steam driven pump. However, the Barker method requires
subtypes to be mutually exclusive. Consequently this data
model is not valid.
I should say that other than this restriction, I particularly like
the Barker/Oracle notation. Boxes-in-boxes is intuitive for
1
CASE Computer aided software engineering.
physical
object
product
instance
is a
is classified by 1:1
product
model
Figure 2-2 An example data
model in CDIF notation.
Chapter 2 ENTITY RELATIONSHIP MODEL BASICS 11