Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 8

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

Data Modeling Tools: What to Learn?


Data modeling tools are the only way through which we can create
powerful data models. Following are the various options that we
have to know and learn in data modeling tools before start building
data models
Software:
» How to install the data modeling tool on server/client?

Logical Data Model:


» How to create entity and add definition, business rule?
» How to create domains?
» How to create an attribute and add definition, business rule, validation rules like default
values and check constraint?
» How to create supertypes, subtypes?
» How to create primary keys, unique constraint, foreign key relationships, and recursive
relationships?
» How to create identifying and non-identifying relationship?
» How to assign relationship cardinality?
» How to phrase relationship connecting two tables?
» How to assign role names?
» How to create key groups?
» How to create sequence no's?

Physical Data Model:


» How to rename a table?
» How to rename a column,validation rules like default and check constraints?
» How to assign NULL and NOT NULL to columns?
» How to name foreign key constraints?
» How to connect to databases like MS Access, Oracle, Sibase, Terradata etc?
» How to generate sql code from data model to run against databases like MS Access,
Oracle, Sibase, Terradata etc.?
» How to create a data model from an existing database like MS Access, Oracle, Sibase,
Terradata etc.?
» How to add database related properties to tables, indexes?
» How to check different versions of the data model?
» How many data modelers can concurrently work on the same version of a data model?

Erwin Tutorial

All Fusion Erwin Data Modeler commonly known as Erwin, is a powerful and leading data
modeling tool from Computer Associates. Computer Associates delivers several softwares for
enterprise management, storage management solutions, security solutions, application life
cycle management, data management and business intelligence

Erwin makes database creation very simple by generating the DDL(sql) scripts from a data
model by using its Forward Engineering technique or Erwin can be used to create data
models from the existing database by using its Reverse Engineering technique.
Erwin workplace consists of the following main areas:
 Logical: In this view, data model represents business requirements like entities, attributes
etc.
 Physical: In this view, data model represents physical structures like tables, columns,
datatypes etc.
 Modelmart: Many users can work with a same data model concurrently.

What can be done with Erwin?


 Logical, Physical and dimensional data models can be created.
 Data Models can be created from existing systems(rdbms, dbms, files etc.).
 Different versions of a data model can be compared.
 Data model and database can be compared.
 SQl scripts can be generated to create databases from data model.
 Reports can be generated in different file formats like .html, .rtf, and .txt.
 Data models can be opened and saved in several different file types like .er1, .ert, .bpx, .xml,
.ers, .sql, .cmt, .df, .dbf, and .mdb files.
 By using ModelMart, concurrent users can work on the same data model.

In order to create data models in Erwin, you need to have this All Fusion Erwin Data Modeler
installed in your system. If you have installed Modelmart, then more than one user can work
on the same model.

Data Modeling Development Cycle

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
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.

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.

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.

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 standardization has been in practice for many years


and the following section highlight the needs and implementation of
the data modeling standards

Standardization Needs | Modeling data:

Several data modelers may work on the different subject areas of a data model and all data
modelers should use the same naming convention, writing definitions and business rules.

Nowadays, business to business transactions(B2B) are quite common, and standardization


helps in understanding the business in a better way. Inconsistency across column names and
definition would create a chaos across the business.
For example, when a data warehouse is designed, it may get data from several source
systems and each source may have its own names, data types etc. These anomalies can be
eliminated if a proper standardization is maintained across the organization.

Table Names Standardization:


Giving a full name to the tables, will give an idea about data what it is about. Generally, do
not abbreviate the table names; however this may differ according to organization’s
standards. If the table name’s length exceeds the database standards, then try to abbreviate
the table names. Some general guidelines are listed below that may be used as a prefix or
suffix for the table.
Examples:
 Lookup – LKP - Used for Code, Type tables by which a fact table can be directly accessed.
e.g. Credit Card Type Lookup – CREDIT_CARD_TYPE_LKP
 Fact – FCT - Used for transaction tables:
e.g. Credit Card Fact - CREDIT_CARD_FCT
 Cross Reference - XREF – Tables that resolves many to many relationships.
e.g. Credit Card Member XREF – CREDIT_CARD_MEMBER_XREF
 History – HIST - Tables the stores history.
e.g. Credit Card Retired History – CREDIT_CARD_RETIRED_HIST
 Statistics – STAT - Tables that store statistical information.
e.g. Credit Card Web Statistics – CREDIT_CARD_WEB_STAT

Column Names Standardization:


Some general guidelines are listed below that may be used as a prefix or suffix for the
column.
Examples:
 Key – Key System generated surrogate key.
e.g. Credit Card Key – CRDT_CARD_KEY
 Identifier – ID - Character column that is used as an identifier.
e.g. Credit Card Identifier – CRDT_CARD_ID
 Code – CD - Numeric or alphanumeric column that is used as an identifying attribute.
e.g. State Code – ST_CD
 Description – DESC - Description for a code, identifier or a key.
e.g. State Description – ST_DESC
 Indicator – IND – to denote indicator columns.
e.g. Gender Indicator – GNDR_IND

Database Parameters Standardization:


Some general guidelines are listed below that may be used for other physical parameters.
Examples:
 Index – Index – IDX – for index names.
e.g. Credit Card Fact IDX01 – CRDT_CARD_FCT_IDX01
 Primary Key – PK – for Primary key constraint names.
e.g. CREDIT Card Fact PK01- CRDT-CARD_FCT_PK01
 Alternate Keys – AK – for Alternate key names.
e.g. Credit Card Fact AK01 – CRDT_CARD_FCT_AK01
 Foreign Keys – FK – for Foreign key constraint names.
e.g. Credit Card Fact FK01 – CRDT_CARD_FCT_FK01

Steps to create a Data Model

These are the general guidelines to create a standard data model and in real time, a data
model may not be created in the same sequential manner as shown below. Based on the
enterprise’s requirements, some of the steps may be excluded or included in addition to
these

Sometimes, data modeler may be asked to develop a data model based on the existing
database. In that situation, the data modeler has to reverse engineer the database and
create a data model.

1» Get Business requirements.


2» Create High Level Conceptual Data Model.
3» Create Logical Data Model.
4» Select target DBMS where data modeling tool creates the physical schema.
5» Create standard abbreviation document according to business standard.
6» Create domain.
7» Create Entity and add definitions.
8» Create attribute and add definitions.
9» Based on the analysis, try to create surrogate keys, super types and sub types.
10» Assign datatype to attribute. If a domain is already present then the attribute should be
attached to the domain.
11» Create primary or unique keys to attribute.
12» Create check constraint or default to attribute.
13» Create unique index or bitmap index to attribute.
14» Create foreign key relationship between entities.
15» Create Physical Data Model.
15» Add database properties to physical data model.
16» Create SQL Scripts from Physical Data Model and forward that to DBA.
17» Maintain Logical & Physical Data Model.
18» For each release (version of the data model), try to compare the present version with
the previous version of the data model. Similarly, try to compare the data model with the
database to find out the differences.
19» Create a change log document for differences between the current version and previous
version of the data model.

Data Modeler Role

Business Requirement Analysis:


» Interact with Business Analysts to get the functional requirements.
» Interact with end users and find out the reporting needs.
» Conduct interviews, brain storming discussions with project team to get additional
requirements.
» Gather accurate data by data analysis and functional analysis.

Development of data model:


» Create standard abbreviation document for logical, physical and dimensional data models.
» Create logical, physical and dimensional data models(data warehouse data modelling).
» Document logical, physical and dimensional data models (data warehouse data modelling).

Reports:
» Generate reports from data model.

Review:
» Review the data model with functional and technical team.

Creation of database:
» Create sql code from data model and co-ordinate with DBAs to create database.
» Check to see data models and databases are in synch.

Support & Maintenance:


» Assist developers, ETL, BI team and end users to understand the data model.
» Maintain change log for each data model.

Data Modeling Report

From Data Modeling tools, reports can be easily generated for technical and business needs.
The reports that have been generated from logical data model and physical data model are
called as business reports and technical reports respectively. Most of the data modeling tools
provide default reports like subject area reports, entity reports, attribute reports, table
reports, column reports, indexing reports, relationship reports etc. The advantage of these
reports is, whether they are technical or non-technical, everybody would understand what is
going on within the organization.

Other than default reports provided by data modeling tools, a data modeler can also create
customized reports as per the needs of an organization. For example, if an expert asks of
both logical and physical reports of a particular subject area in one file(e.g in .xls), logical
and physical reports can be easily merged and reports can be easily generated accordingly.
Data Modeling tools provide the facility of sorting, filtering options and the reports can be
exported into file formats like .xls, .doc, .xml etc.

Logical Data Model Report:


Logical Data Model Report describes information about business such as the entity names,
attribute names, definitions, business rules, mapping information etc.
Logical Data Model Report Example:

Physical Data Model Report:


Physical Data Model Report describes information such as the ownership of the database,
physical characteristics of a database (in oracle, table space, extents, segments, blocks,
partitions etc), performance tuning (processors, indexing), table name, column name, data
type, relationship between the tables, constraints, abbreviations, derivation rules, glossary,
data dictionary, etc., and is used by the technical team.

Physical Data Model Report Example:

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.

See Figure 1.1 below

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) conceputal 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.

Visio Tutorial:

Visio, can be used to design complex ER diagrams and it comes in three different
editions (i.e) Visio Standard 2003, Visio Professional 2003, and Visual Studio .NET 2003
Enterprise Architect. These editions have different commands associated with data
modeling and for differences and features between these editions, please visit
www.microsoft.com.

Visio & Data Modeling:

 Create a database model or ER diagram from scratch.


 Import a database or ER model from another modeling diagram.
o Import Erwin ERX file
o Import Visio Modeler .IMQ file
 Create a database model or ER diagram: You can create tables, columns,
foreign key relationships, data types, indexes, views, extended properties
for tables, views, check clauses, stored procedures and triggers.
 Reverse engineer an existing database: By using already installed Visio
drivers, you can connect to IBM DB2 Universal Database, Informix, Online/SE
Server, Microsoft Access, Microsoft SQL Server, ODBC Generic Driver, Oracle
Server, Sybase Adaptive Server Enterprise etc.
 Forward engineer an existing database

You might also like