Three basic Styles of data model:
Conceptual data models.
These models, sometimes called domain models, are typically used to
explore domain concepts with project stakeholders. On Agile teams
high-level conceptual models are often created as part of your initial
requirements envisioning efforts as they are used to explore the
high-level static business structures and concepts. On traditional
teams conceptual data models are often created as the precursor to LDMs
or as alternatives to LDMs.
Logical data models (LDMs).
LDMs are used to explore the domain concepts, and their relationships,
of your problem domain. This could be done for the scope of a single
project or for your entire enterprise. LDMs depict the logical entity
types, typically referred to simply as entity types, the data attributes
describing those entities, and the relationships between the entities.
LDMs are rarely used on Agile projects although often are on traditional
projects (where they rarely seem to add much value in practice).
Physical data models (PDMs).
PDMs are used to design the internal schema of a database, depicting
the data tables, the data columns of those tables, and the relationships
between the tables. PDMs often prove to be useful on both Agile and
traditional projects and as a result the focus of this article is on
physical modeling.
Although LDMs and PDMs sound very similar, and
they in fact are, the level of detail that they model can be
significantly different. This is because the goals for each diagram is
different – you can use an LDM to explore domain concepts with your
stakeholders and the PDM to define your database design.
Figure 1. A simple logical data model.
Figure 2. A simple physical data model.
For
example, figure above examine the relationship between Customer and
Address there really should be two names “Each CUSTOMER may be located
in one or more ADDRESSES” and “Each ADDRESS may be the site of one or
more CUSTOMERS”.
What About Conceptual Models?
Halpin
(2001) points out that many data professionals prefer to create an
Object-Role Model (ORM), an example is depicted in Figure 3, instead of
an LDM for a conceptual model. The advantage is that the notation is
very simple, something your project stakeholders can quickly grasp,
although the disadvantage is that the models become large very quickly.
ORMs enable you to first explore actual data examples instead of simply
jumping to a potentially incorrect abstraction – for example Figure 3
examines the relationship between customers and addresses in detail.
Figure 3. A simple Object-Role Model.
Common Data Modeling Notations:
Figure
4 above presents a summary of the syntax of four common data modeling
notations: Information Engineering (IE), Barker, IDEF1X, and the Unified
Modeling Language (UML).
source: datamodeling
No comments:
Post a Comment