You are on page 1of 7

What is a Data Model?

A Data model is a conceptual representation of data


structures(tables) required for a database and is very
powerful in expressing and communicating the business
requirements.
Data Modeling Overview:

A data model visually represents the nature of data, business rules governing the data, and how it
will be organized in the database. A data model is comprised of two parts logical design and
physical design. Data Models are created in either Top Down Approach or Bottom-Up Approach.
In Top-Down Approach, data models are created by understanding and analyzing the business
requirements. In Bottom Up Approach, data models are created from existing databases, which
has no data models. IDEF1X is the common notation used in creating data models since it is
more descriptive. Data Models are created for OLTP databases by normalizing the data and
for OLAP databases, data models are created by
de-normalizing the data. Data Models cannot be frozen since update will
happen on data modeling based on business requirements. Data Models looks like a blue print or
like a map. Data Model is not an exact replica of the database and it will not contain all the
objects or code present in the database since several objects are available in database and tonnes
and tonnes of code would have been developed by developers. Usually Data Models contains the
key database objects like tables, columns, relationships, constraints etc.

Data model helps functional and technical team in designing the database. Functional team
normally refers to one or more Business Analysts, Business Managers, Smart Management
Experts, End Users etc., and Technical teams refers to one or more programmers, DBAs etc.
Data modelers are responsible for designing the data model and they communicate with
functional team to get the business requirements and technical teams to implement the database.

Data Modeling Concept:

The concept of data modeling can be better understood if we compare the development cycle of a
data model to the construction of a house. For example Company ABC is planning to build a
guest house(database) and it calls the building architect(data modeler) and projects its building
requirements (business requirements). Building architect(data modeler) develops the plan (data
model) and gives it to company ABC. Finally company ABC calls civil engineers(DBA) to
construct the guest house(database).

Data Engineers, Data Modeler and Data Architect are the common titles for those who are
involved in data modeling. To become an efficient data modeler, you should have an overview
about the database objects, constraints, normalization and understanding the requirements
correctly.

Data Modeling Development Cycle


1. Gathering Business Requirements - First Phase:

Data Modelers have to interact with business analysts to get the functional requirements and with
end users to find out the reporting needs.

2. Conceptual Data Modeling(CDM) - Second Phase: See Figure 1.1

This data model includes all major entities, relationships and it will not contain much detail
about attributes and is often used in the INITIAL PLANNING PHASE.

3. Logical Data Modeling(LDM) - Third Phase: See Figure 1.2

This is the actual implementation of a conceptual model in a logical data model. A logical data
model is the version of the model that represents all of the business requirements of an
organization.

4. Physical Data Modeling(PDM) - Fourth Phase: See Figure 1.3

This is a complete model that includes all required tables, columns, relationship, database
properties for the physical implementation of the database.

5. Database - Fifth Phase:

DBAs instruct the data modeling tool to create SQL code from physical data model. Then the
SQL code is executed in server to create databases.

Data Modeling Tools


There are a number of data modeling tools to transform business requirements into logical data
model, and logical data model to physical data model. From physical data model, these tools can
be instructed to generate sql code for creating database.

Popular Data Modeling Tools


Tool Name Company Name

Erwin Computer Associates

Embarcadero Embarcadero Technologies

Rational Rose IBM Corporation

Power Designer Sybase Corporation

Oracle Designer Oracle Corporation

Xcase RESolution LTD.

Conceptual Data Modeling


Conceptual data model includes all major entities and relationships and does not contain
much detailed level of information about attributes and is often used in the INITIAL
PLANNING PHASE.

Conceptual data model is created by gathering business requirements from various sources like
business documents, discussion with functional teams, business analysts, smart management
experts and end users who do the reporting on the database. Data modelers create conceptual
data model and forward that model to functional team for their review.

Conceptual Data Model - Highlights

CDM is the first step in constructing a data model in top-down approach and is a clear
and accurate visual representation of the business of an organization.
CDM visualizes the overall structure of the database and provides high-level information
about the subject areas or data structures of an organization.

CDM discussion starts with main subject area of an organization and then all the major
entities of each subject area are discussed in detail.

CDM comprises of entity types and relationships. The relationships between the
subject areas and the relationship between each entity in a subject area are drawn
by symbolic notation(IDEF1X or IE). In a data model, cardinality represents the
relationship between two entities. i.e. One to one relationship, or one to many
relationship or many to many relationship between the entities.

CDM contains data structures that have not been implemented in the database.
In CDM discussion, technical as well as non-technical team projects their ideas for
building a sound logical data model.

Consider an example of a bank that contains different line of businesses like savings, credit card,
investment, loans and so on. In example(figure 1.1) conceptual data model contains major
entities from savings, credit card, investment and loans. Conceptual data modeling gives an idea
to the functional and technical team about how business requirements would be projected in the
logical data model.
Logical Data Modeling
This is the actual implementation and extension of a conceptual data model. A Logical data
model is the version of a data model that represents the business requirements(entire or part) of
an organization and is developed before the physical data model.

As soon as the conceptual data model is accepted by the functional team, development of logical
data model gets started. Once logical data model is completed, it is then forwarded to functional
teams for review. A sound logical design should streamline the physical design process by clearly
defining data structures and the relationships between them. A good data model is created by
clearly thinking about the current and future business requirements.

Logical data model includes all required entities, attributes, key


groups, and relationships that represent business information and
define business rules.

Example of Logical Data Model: Figure 1.2

In the example, we have identified the entity names, attribute names, and relationship. For
detailed explanation, refer to relational data modeling.
Physical Data Modeling
Physical data model includes all required tables, columns, relationships, database properties
for the physical implementation of databases. Database performance, indexing strategy, physical
storage and de-normalization are important parameters of a physical model.

Logical data model is approved by functional team and there-after development of physical data
model work gets started. Once physical data model is completed, it is then forwarded to technical
teams(developer, group lead, DBA) for review. The transformations from logical model to
physical model include imposing database rules, implementation of referential integrity, super
types and sub types etc.

Example of Physical Data Model: Figure 1.3


In the example, the entity names have been changed to table names, changed attribute names to
column names, assigned nulls and not nulls, and datatype to each column.

You might also like