Você está na página 1de 24

WHITE PAPER

Competitive Analysis of Market


Leaders in Data Modeling:
PowerDesigner, ERwin and ER/Studio

NOVEMBER 2008
TABLE OF CONTENTS
1 Introduction 11 Import / Export
1 Product Overviews 11 Database Support
1 ER/Studio 7.6 16 Repository (Collaborative Modeling)
1 ERwin Data Modeler 7.2 17 Extensibility and Customization
2 PowerDesigner 15.0 18 Business Process Modeling
2 User Interface Differences 19 Object Oriented Modeling
3 Modeling Features 19 Enterprise Architecture Modeling
5 Required Features for a Data Modeling Solution 19 Dependency Matrices
5 Model Types 20 Projects
6 Conceptual ? Logical ? Physical ? 20 Framework Matrices
Logical ? Conceptual 21 Summary
8 Model Comparisons and Merges 21 About the Author
8 Impact Analysis
10 Reverse / Forward Engineering
10 Modeling Notation

TABLE OF FIGURES
4 Figure 1 PowerDesigner Orthogonal Layout 14 Figure 8 ER/Studio Oracle Partition Support
4 Figure 2 ER/Studio Orthogonal Layout 15 Figure 10 PowerDesigner Oracle
7 Figure 3 : PowerDesigner LDM Tools Datatype Examples
9 Figure 4 ERwin Impact Analysis 15 Figure 11 ER/Studio Oracle Datatype Examples
9 Figure 5 PowerDesigner Impact Analysis 18 Figure 12 PowerDesigner Allows Data to be
13 Figure 6 PowerDesigner Oracle Physical Options Assigned to Business Processes
14 Figure 7 ER/Studio Oracle Physical Options

i
INTRODUCTION

When a project requires data modeling, there is a choice of several different products. The three market-leading
products are ER/Studio (from Embarcadero), ERwin (from CA) and PowerDesigner (from Sybase). All three will allow a
modeler to create data models, reverse engineer databases, document database systems, create basic reports and
create/modify diagrams in a Windows-standard manner. If an organization needs to create a database one time,
generate the script to build it and never modify it again, then the best choice would be the least expensive of the
three products. However, it is rare that an organization needs to create one database and leave it alone. As a
business' needs get more complex, the products reviewed in this paper quickly diverge. There is one clear leader
amongst them: PowerDesigner.

PRODUCT OVERVIEWS

With all tools reviewed, there were similarities. All modeling tools reviewed provide a drawing canvas and a navigator
or explorer and a log window. Toolbars can be turned on or off, but only PowerDesigner allows for toolbar customization.
All tools have undo/redo capabilities. These are Windows applications and, as such, are intuitive from a user-experience
perspective. Please see the table for differences in user-experience features following the vendors' descriptions.

ER/Studio 7.6
From the Embarcadero web site, ER/Studio is “an industry-leading data modeling tool, helps companies discover,
document, and re-use data assets. With round-trip database support, data architects have the power to easily
reverse-engineer, analyze, and optimize existing databases. Productivity gains and enforcement of organization
standards can be achieved with ER/Studio's strong collaboration capabilities.”

Downloading ER/Studio was straightforward and easy. I was able to download an evaluation copy directly from
their website. This evaluation is valid for 15 days, which is certainly enough time to properly evaluate the solution.
The installation went flawlessly.

I was contacted by Embarcadero a few times, by both phone and email. When I asked a couple of questions
regarding generating LDMs and PDMs from CDMs, I was offered a demonstration. During the demonstration, they
attempted to meet my requests of creating the LDM from a CDM. Although EA/Studio is used for the CDM creation,
they were able to export the model file and send it directly into ER/Studio for LDM genesis. However, when I asked for
them to make a change in the LDM and have that show in the CDM, the import into EA/Studio did not work as
expected. Upon export from EA/Studio into ER/Studio, the object's GUID (identifier) is not kept. After modifications
to the LDM or PDM, an import back into EA/Studio will not update the original object – it does not identify that
object – EA/Studio creates a secondary object so that the modeler still has the information available.

Additional issues that arose during the demonstration will be addressed in the appropriate sections throughout
this document.

ERwin Data Modeler 7.2


CA states “CA ERwin Data Modeler is a data modeling solution that enables you to create and maintain databases,
data warehouses and enterprise data resource models. These models help you visualize data structures so that you can
effectively organize, manage and moderate data complexities, database technologies and the deployment environment.”

When I made an attempt to download ERwin, I found that the link on the website was broken. I called CA to
request an evaluation copy of ERwin. After gathering my information, I was told that a salesperson would call me
back. I never received a phone call from a salesperson. Two days later, I tried the link again and was able to
successfully obtain an evaluation copy – good for 25 entities and 15 days.

Installing Data Modeler seemed to work correctly. However, it did not create a Program Group in Windows, nor did
it create a desktop link for starting the product. In order to use the modeling tool, I needed to navigate through the
Windows folder hierarchy to find the program.

1
PowerDesigner 15.0
Sybase “PowerDesigner uniquely combines several standard modeling techniques (UML, Business Process Modeling
and market-leading data modeling) together with leading development environments, such as .NET, Workspace,
PowerBuilder, Java, and Eclipse, to bring business analysis and formal design solutions to the traditional software
development lifecycle. And it works with more than 60 RDBMS.”

The ability to download the fully functional version of PowerDesigner 15 was provided from Sybase's website.
Installation was flawless.

User Interface Differences

Feature PowerDesigner ERwin ER/Studio


Model Organization Yes, a full workspace that can No. The model explorer No. The model explorer only
be saved independently from within the tool only allows displays one model. There is,
the models. Multiple models visibility into one model at a however a set of tabs within
and model types can be open time, regardless the number the tool to easily change
simultaneously. of open models. from one model to another.

Workspace Yes—this can be saved No. No.


independently from the
models. Full flexibility and
organization is provided.

Multiple Diagrams Yes. Yes. Yes, through the use of


within a Model sub-models.
Subject Areas in a Yes, via UML standard Yes, but only one level. Yes, through the use of
Model packages—allows nesting. sub-models.
Object Placement Standard windows controls Standard windows controls Standard windows controls
Model Layouts Auto layouts include Basic, Under Format->Preferences, Auto layouts include Circular,
Hierarchical, Organic, there is a “layout entire Hierarchical, Orthogonal,
Orthogonal, Circular, Tree diagram” button but it did Symmetric, Tree. All objects
with scope of selected not work, even when tables were included.
symbols or all symbols. were stacked on each other.

Freeform Text Yes. No. Yes.


Customize Toolbars Yes. No. No, but dockable.
Edit Text Directly on Yes. Yes. Yes.
Graphic
Page Grid Yes. Yes. Yes.
Find Objects Yes. Yes. Yes.
Product Documentation Yes, there are PDF versions of Product documentation is Yes, there are PDF versions of
the documentation as well not available online. the documentation as well
as full documentation online as full documentation online
at http://sybooks.sybase.com. at http://
www.embarcadero.com/
resources/documentation.html
Undo/Redo Yes, unlimited. Yes and when using the Yes, but the buffer gets
repository, the undo/redo is cleared when executing
maintained across modeling many functions (i.e., LDM ?
sessions. PDM generation).

Zoom in/out Yes. Yes. Yes.

2
Modeling Features

Feature PowerDesigner ERwin ER/Studio


Conceptual, Logical and Yes No No, but conceptual models
Physical Models available in a separate tool.

Naming Standards Yes Yes through templates Yes, extensive support.

Shortcuts to Objects in Other Yes No No


Models

Templates for Model Yes Yes Yes


Creation

Check Model (Validation) Yes—customizable to Yes Yes but not customizable.


include user-defined
constraints such as
tables must have three
columns.

Multidimensional Modeling Yes, extensive Yes Yes

Generate Test Data Yes No No

Impact and Lineage Analysis Yes No Minor support

Object Oriented Model Yes No No

Business Process Model Yes No No but supported in a


different tool

Enterprise Architecture Yes No No


Model

Projects and Framework Yes No No


Matrices

User Profiles Yes No No

Mapping Tool (Connections Yes No No


between objects in different
models)

Inter-Model Synchronization Extensive, CDM-LDM- Yes, only with LDM-PDM Yes, only with LDM-PDM
PDM, including other
model types

3
Figure 1 PowerDesigner Orthogonal Layout

Figure 2 ER/Studio Orthogonal Layout


4
REQUIRED FEATURES FOR A DATA MODELING SOLUTION

Model Types
To fully model a system, it is necessary to combine business analysis with technology implementations. Where data
modeling is concerned, an organization must create conceptual data models, logical data models and physical data models.

A conceptual data model (CDM) is usually in the form of an entity-relationship diagram, however it is purely data
and relationships. A CDM is not relational. It is developed in order to understand, capture, and analyze the business
needs from a data perspective. These models will be devoid of implementation details (data storage structures) or
software constraints. Entities, attributes and identifiers are found in a CDM. Additionally, the relationships and
inheritances that connect the objects, or artifacts, exist in the CDM. The CDM is a higher-level business model. Some
of the relationships might be one-to-many yet some might be many-to-many. The CDM will typically be created prior
to an LDM for a new system. The CDM might also be used for an existing system where the technology needs to be
verified with the business.

Once a CDM has been created, a modeler should be able to generate a logical data model (LDM) from it. The LDM is
quite similar to the CDM in terms of the objects that are contained therein. However, the beginning of physical data
storage is modeled in the LDM. Many-to-many relationships are not permitted in an LDM so they become
intermediate entities. One-to-many relationships become primary key-foreign key identifiers. LDMs illustrate the
logical entity types, the data attributes describing the entities and the relationships between the entities.

A CDM does not have foreign-key constraints—these are created when a CDM is used to generate an LDM.
Additionally, while a CDM supports a many-to-many relationship, the LDM does not permit many-to-many. Since the
LDM is relational, many-to-many relationships cannot exist as many-to-many violates relational storage concepts. The
LDM is relational but the CDM can transform to different types of logical models (hierarchical, object-oriented, and
relational) so the CDM is better to represent the use of the data by the business.

The physical data model (PDM) would typically be created after the LDM. This model will be used to design the
schema of the database that will be used for the system. Entities become tables, attributes become data columns and
the relationships will be implemented in the database-specific structures (referential integrity, stored procedures).
When creating or generating a PDM, the specific database is chosen (Oracle 11i, Sybase ASE 15, Microsoft SQL Server
2008 are several choices). The PDM is frequently used to generate the data description language (DDL) that will allow
for database creation or modification.

The LDM and the PDM are similar but vastly different in terms of the level of detail each supports. The LDM is used
to explore domain concepts with the business stakeholders; the PDM is used to create and maintain the database.
Multiple PDMs can be generated from a single LDM—this can be useful for database migrations, creation of production
and development databases or application migrations.

A modeling tool should provide the ability to model at any level, with generation to the other model types. All
artifacts should be linked to their corresponding objects in the other models (for example, the entity “Customer” in
the CDM should be linked to the “Customer” entity in the LDM as well as the “Customer” table in the PDM). All
linkages should be maintained in the modeling tool so that a proposed change in an object can be analyzed before
it is changed.

5
Conceptual ? Logical ? Physical ? Logical ? Conceptual
A data modeling tool MUST support round-trip engineering. Whether a modeler is starting from a conceptual
model or reverse engineering a database into a physical model, a tool is useless unless it can support all aspects. This
is baseline functionality. Other aspects of the tools, discussed herein, might be “nice to have” but the ability for a tool
to support complete traceability and round-trip engineering must be present.

When a modeler receives requirements or specifications from a business unit, the first step is to create a
conceptual data model. In many cases, it would be useful to have a business process model as well. The CDM would
be tied to the business model so that the stakeholders within the organization would have an understanding of the
data and its use to support the processes. This also ensures that data elements used in a system are necessary. There
are many existing systems and applications that carry data that is never used.

After the CDM has been created, the next step would be to generate an appropriate model to begin development.
Within the scope of this paper, that model would be a logical data model (relational). It would be useful to have the
ability to create an object-oriented model from the CDM (PowerDesigner does this) but that is beyond the scope of a
pure data modeling environment. The LDM would be created directly from (or generated from) the CDM. Many-to-
many relationships would be converted to intermediate entities; foreign keys would be created and relational
structures would be created.

From the LDM, a PDM could be a next step. When generating the PDM, a database choice must be made for
implementation. This could be Oracle 11g, Sybase ASE 15.0, IBM DB2 or others. The physical limitations of the storage
structures would typically be included in the PDM (which tablespace? how big? How many rows are anticipated?).

The PDM can be used to generate a database creation script or can be used to directly create the database through
an ODBC or direct connection to the database server. This is known as forward-engineering.

At each step of the process, it is paramount for the data modeling tool to be able to show a lineage of the objects.
When examining the properties of a column in a table (in the PDM), the modeler should be able to see what attribute
of what entity was used for its creation. This visibility and traceability helps to ensure that the organization uses only
the data elements necessary for the implementation of a project or system. Furthermore, the understanding of where
objects originate contributes to the proper business process implementation. The corollary to this full traceability is
impact analysis (discussed in a following section).

Of the tools considered for this paper, only PowerDesigner supports full round-trip engineering as well as giving
the modeler the ability to work forwards or backwards (i.e., start from LDM, create CDM and PDM from the LDM).
PowerDesigner has conceptual, logical and physical data modeling all in one tool. With all data modeling aspects in
one tool, the organization has the utmost flexibility in building, analyzing, and maintaining data-oriented systems.
The illustration below shows the tools menu from within the LDM workspace. Note that generation from LDM to
CDM, LDM and PDM are all supported.

6
Figure 3 PowerDesigner LDM Tools

ER/Studio supports logical and physical data modeling in the same tool. For the modeler to be able to perform
conceptual data modeling, it is necessary to use EA/Studio. Currently, at the time of this writing (October 2008),
Embarcadero will include a license for EA/Studio with the purchase of ER/Studio Enterprise. However, the tools have
different interfaces and there were some problems illustrated during the aforementioned demonstration. When
exporting the CDM from EA/Studio into ER/Studio, the LDM seemed to be created successfully.

When a change was made to an entity in the LDM and the attempt was made to propagate the change to the
CDM, there were too many steps and it was not effective. First, the LDM needed to be saved. Then, the modeler
needed to change tools to EA/Studio and import the LDM. EA/Studio recognized that it was a version of a CDM that
was in the workspace and stepped the modeler through the wizard to incorporate the changes into the current CDM.
Even though the demonstrator tried several times, the changes were not visible in the CDM. EA/Studio did create an
additional entity, though, appending a number to the name (“customer1” instead of “customer”) that showed the
changes in the LDM. This is not an acceptable method for propagation of downstream changes into more abstract
models. Because EA/Studio and ER/Studio have different user interfaces modelers who are tasked with CDM and LDM
creation would not be able to work efficiently. Full traceability is not possible.

ERwin supports logical and physical data modeling. When creating a new model, one has the choice of a new LDM,
a new PDM, or a combined LDM/PDM. There is no option for a CDM, even in a different tool. CDM concepts are
implemented in the LDM using ERwin (many-to-many relationships, which should be described in the conceptual
data model, are permitted in the ERwin LDM). Models are created from a template, which can help to speed up model
creation. The ERwin documentation discusses that the use of the LDM is to provide a “broad view of business
information requirements sufficient to plan for development of the business information system.” This is precisely
the purpose of the conceptual data model: tying business requirements to data elements.

7
Model Comparisons and Merges
Whether a model is in a repository, the current workspace or saved in the file system, it is going to be necessary to
compare models and merge differences from one model to another. The modeler might be working on a particular
entity in the LDM while another modeler would be working on the same model. Merge and compare functions help
to contribute to the ability for an organization to perform collaborative modeling. All tools examined for this white
paper contain merge and compare functions. The comparison operation is simply a visual representation of the
difference between models. The merge function should allow a modeler to accept or reject any or all changes, based
on permissions.

ERwin Data Modeler has a “Complete Compare” function. It will work with open models in the tool, script files and
models, or databases and models. Complete Compare is wizard-driven and allows the modeler to choose the “left”
and “right” models – I happen to like this approach of left and right. From a visual perspective, left and right make
sense. Once all selections are made in the wizard, the “resolve differences” dialog box is displayed. Data Modeler has
a good solution for the merge and compare functionality. Since conceptual data modeling is not part of the Data
Modeler solution, it is impossible to compare CDMs and LDMs.

ER/Studio has a “Compare and Merge” utility. The wizard is intuitive. It allows the modeler to compare different
models, regardless of where they are. The merge function has filters so that only the changes can be viewed, instead
of all objects. ER/Studio does not allow comparisons to conceptual data models since the CDM functionality is
performed in EA/Studio. In this sense, the tool is limited, but between LDM-LDM, PDM-PDM and LDM-PDM
comparisons, it performs well and produces expected results. If there are bidirectional merges necessary though, the
modeler will need to perform the merge function twice, first in one direction, then in the other.

PowerDesigner has a “Model Merge” functionality that is common across all types of comparisons that need to be
made. It is part of the core function set of PowerDesigner and not specific to data modeling. This model merge
function is invoked automatically (or can be invoked manually) when a model is saved to the repository, copied into
the workspace where a model is already open, and when model generation is used to update an existing model. The
icons used in PowerDesigner are confusing until a modeler gets used to seeing them. PowerDesigner's model merge
provides fine levels of granularity and control as to what can be changed. It will allow a modeler to perform
bidirectional merges with one pass.

Impact Analysis
Impact analysis, or the ability to understand the consequences of a model change, needs to be a function of the
modeling tool. As part of the impact analysis, a modeler needs to be able to understand the object's lineage (objects
that form the basis for a particular object). Impact analysis includes more than just understanding where an object is
used. It is also a requirement for proper impact analysis to be able to understand what has happened to an object
once it has been generated. Was an entity's attribute in a CDM attribute generated into the LDM? Was it then
generated into a PDM? Was the datatype changed by the DBA when working on that PDM? Did a modeler generate a
set of classes from the LDM so that the developers would be able to start building applications? It is useful to be able
to store these analyses for later review as well as create version documentation. It is a better use of resources to
intelligently discuss the proposed change with the stakeholders rather than make a change in the LDM, propagate it
to the PDM and database only to find that the application now fails.

The concept of impact analysis goes further when considering stored procedures or triggers that might have been
created. If a modeler needs to change a data type or entity, for example, in the LDM, an impact analysis would show if
the object is being used in a stored procedure. With a proper modeling solution and discipline, the modeler would be
able to have a discussion with the DBA prior to making the change.

ER/Studio has a “where used” function that will show exactly where an entity or attribute in the LDM is used in the
PDM. However, since the CDM is in a different tool, it is not possible to trace an object all the way through its life.
ER/Studio provides the facility to document an object's lineage. However, the lineage is not created and maintained by
the tool. As an example, when viewing a column of a table, there is a tab for the object's lineage. Going into this section
only reveals a blank space where the modeler can enter some information that will then be stored with the model.

8
ERwin does not have impact analysis functionality. Going through their documentation does provide reference to
“impact analysis”. In practicality, though, the tool provides some manner of affecting changes in databases. The
“impact analysis” function in ERwin is a toolbar that is used during a Complete Compare. When two physical models are
compared, the differences will be displayed in a dialog box. If the modeler chooses to copy changes from the left side to
the right side (or vice versa), then the “impact analysis” toolbar will provide buttons to create alter scripts to be applied to
the database. This toolbar is illustrated in the below illustration (the second toolbar from the top, the icon on the
extreme right is the button to generate the script after the change had been applied from the left side to the right side.

Figure 4 ERwin Impact Analysis

Only PowerDesigner has true and extensive impact analysis. An object's lineage is stored with the object. As
models and documents are stored with the repository, the impact analysis becomes more extensive. While viewing an
object, depressing the “Impact and Lineage Analysis” button will bring up a diagram similar to the one below. Not
only is the impact analysis available for the data modeling functionality; it is core to the tool, and provides impact
analysis throughout all modeling modules. Impact analysis is also available as a model so that diagrams can be
generated and saved. This can provide point-in-time snapshots through the development life cycle. In addition to the
vendor-supplied rule sets, PowerDesigner allows for the creation of user-defined rule sets to further expand the
benefits of impact and lineage analysis.

Figure 5 PowerDesigner Impact Analysis

9
Reverse / Forward Engineering
A modeling tool needs to provide reverse and forward engineering. Reverse engineering is the process by which a
data modeler can generate a PDM from a live database or a script file. Many organizations find it useful to reverse
engineer an existing system, generate an LDM and CDM from the PDM and better understand the database. Forward
engineering is the ability to create a database (or modify a database) from the PDM. This can be done live or through
script files.

ER/Studio offers reverse engineering from either a database or a script file. In either case, the tool will properly
build out a physical data model from the source. The connection to a live database can be either through ODBC or a
native connection. Greater capabilities are available with a native connection (most likely due to Embarcadero not
building all the functionality into the ODBC support model—PowerDesigner does not have this restriction). ER/Studio
will attempt to infer keys (primary and foreign) based on the schema of the incoming database.

ERwin supports reverse engineering from either a database or a script file. When reverse engineering, the newly
created model can be either a physical model or a logical/physical model (in accordance with ERwin terminology – the
logical/physical model is actually a single saved file that has diagrams for both logical and physical models). Template
selection is provided and the process is wizard driven.

PowerDesigner supports reverse engineering from either a database or a script file. Live database connection is
through an ODBC connection with all objects supported. Script file reverse engineering is fully supported as well.
Object inference is supported if chosen through the reverse engineering options. As with all data model creation
modes, templates are supported for the reverse engineering. When reverse engineering from a live database, the
database statistics can also be included (i.e., number of distinct values in a column, average length of a character
field). Additionally, the statistics can be reverse engineered into a model without changing any of the objects. Reverse
engineering is wizard driven.

Modeling Notation
There are several different modeling notations commonly in use. A modeling tool should support more than one notation.

• Information Engineering – a standard notation method in use in many toolsets. There are several different
variations. Generally, the entities and tables are represented by rectangles and the relationships are represented
by lines with different endpoints. Crow’s feet is a popular version.
• Filtered IE – found only in Embarcadero, this notation hides the foreign keys. While this may appear to make the
diagram more readable, it actually creates confusion in the mind of the modeler. An LDM viewed in Filtered IE
might appear to be a CDM but, in fact, has a relational structure enforced. A true LDM with the foreign keys
hidden might be considered to be an incomplete model.
• Barker – Created by Richard Barker and popularized by Oracle's CASE tools, Barker notation displays inheritances
inside the parent entity symbol, has its own multiplicity notation and attribute ornaments. Relationships are
drawn in two parts with each reflecting the multiplicity of the associated entity role.
• IDEF1X – a standard data modeling notation for relationships and entities. In this notation, each set of
relationship symbols describes a combination of the optionality and cardinality of the the entity next to it.
• Entity/Relationship – Sybase specific, Entity/Relationship is an implementation of IE notation.
• Merise – uses associations instead of relationships.
• E/R + Merise – both entity/relationship and Merise are used in the same model.

10
Notation PowerDesigner ERwin ER/Studio
Information Yes (called Entity / Yes Yes (James Martin and Crow's Feet)
Engineering (IE) Relationship)
Filtered IE No No Yes
Merise Yes No No
IE + Merise Yes No No
IDEF1X Yes Yes Yes
Barker Yes No No, however EA/Studio (different tool) does
provide Barker notation for the CDM.

Import / Export
A modeling tool needs to allow the modeler to import and export various types of files. Both import and export
allow the tool to work with other tools or provide information to other people, organizations, or solutions. It is useful
for the tool to be able to work with metadata in a generic fashion, but specific importing will provide greater overall
support. All tools reviewed offer various levels of import and export. In the event that a modeling tool does not offer
support for a specific type of file or database, there is a more generic metadata export and import supplied. There are
also third-party companies that will help to provide the “bridges” from a metadata file into a needed specifically
formatted file.

Database Support
Since one of the goals of using a modeling tool is to work with a database (create, modify, understand and analyze),
it is necessary that the tool support a variety of databases. Even more importantly is the ability for the user
community to add additional database support without waiting for the vendor to provide an upgrade. This might be
necessary when a system needs to be migrated from an older database to a more current solution. In order to best
migrate a database, use the modeling tool to reverse engineer the older system, generate LDMs and CDMs, as
necessary, modify models, then create a new database. Consider a modeling tool that provides database definition
files in an XML format so that additional database definition files can be created by the user.

To take this concept further, an intelligently designed modeling tool will be engineered so that the core executable
reads definition files. The executable file is extensible, not only for different modeling modules (CDM, LDM, PDM, XML)
but for database definition files. With a tool designed thusly, supported database updates can be released as soon as
the database vendor makes the specifications available. The entire modeling tool does not have to be upgraded.
Furthermore, with a core and external definition files, it is possible for the customer to add support for a database
that might not be supported from the vendor.

PowerDesigner supports this paradigm while ER/Studio and ERwin do not. PowerDesigner uses a single executable
that is extended through DLLs for modules and XML definition files for all databases. Because of PowerDesigner's
architecture, it is possible to add support for a specific database system even though Sybase does not upgrade the
product. The database definition files are stored in the file system as XML files and can be modified. Neither
ER/Studio nor ERwin support this ability.

In the following table, a “,” between version numbers indicates that different database definitions are used. If the
separator is “/”, then the same database definition is used for all versions included with the “/”. The “/” means that the
specific database support is no provided: there is a common set of attributes supported.

Consider ERwin's support of Oracle in the following table. Oracle 10.x and 11.x are supported through the use of a
single set of 10.x attributes. Oracle 11g 's new features would not be supported properly since the database definition
must also support 10.x. Both PowerDesigner and ER/Studio offer separate support for Oracle 10.x and 11.

11
Database PowerDesigner ERwin ER/Studio 7.6

Adabas D Yes No No

Allbase/SQL G.1 Yes No No

ANSI Level 2 Yes No No

Hitachi HiRDB No No Yes

IBM AS/400 Yes No Yes

IBM DB2 for OS/390 5.x, 6.x, 7.x, 8.x, 9.x 7, 8 5.x, 6.x, 7.x, 8.x, 9.x

IBM DB2 for Common 5.x, 6.x, 7.x, 8.x, 9.x 8.x/9.x 5.x, 6.x, 7.x, 8.x, 9.x
Server
Informix SQL 8.x, 9.x 7.x, 9.x/10.x/11.x OnLine, SE, 9.x

Ingres 3.0.1 2.5, 2.6, 2006 No

InterBase 5.x 5.x, 6.x 5.x 4

Microsoft Access 95, 97, 2000 2000, 2002, 2003 2.0, 95, 97, 2000

Microsoft SQL Server 7.x, 2000, 2005, 2008 7.0, 2000, 2005 4.x, 6.5, 7, 2000, 2005

Microsoft Visual FoxPro No Yes 3, 4, 5

MySQL 3.22, 3.23, 4.0, 5.0 5.x 3.x, 4.x, 5.x

NonStop SQL Yes No No

ODBC 3 2.0, 3.0 Yes

Oracle 8, 8i, 8i2, 9i, 9i2, 10g, 8i, 9.x, 10.x/11.x 7.3x, 8.x, 9i, 10g, 11g
10gR2, 11
PostgreSQL 7.3, 8 8.x

Progress No 8.x, 9.x/10.x No

Red Brick Warehouse 6.2 5.x No

SAS No Yes No

Sybase AS Anywhere 7, 8, 9, 10.0 No 5, 6, 7, 8, 9, 10

Sybase AS Enterprise 11.0, 11.5-11.9, 12.0, 12.5, 12.5.1, 12.5/15 11.9.2, 12.x, 12.5, 15.0
12.5.2, 12.5.3a, 15.0, 15.0.2
Sybase AS IQ 12.0, 12.4.3, 12.5, 12.6, 12.7 12.5 12.x

Sybase Avaki Yes No No

Teradata V2R5 V2R5 2.x V2R4, V2R5, V2R6

12
When considering the database support that a tool offers, it is not enough to say that a particular database system
is supported. For example, PowerDesigner supports all of the Oracle datatypes and nuances (storage, partitions) that
are in Oracle 11g. The other tools evaluated do not support all Oracle 11g idiosyncracies. Consider: during the ER/Studio
demonstration, when the LDM was going to generate a PDM. I asked for Oracle 11g to be chosen for my database. I was
immediately told that not all of the Oracle 11g datatypes and constructs were supported. Spatial was one datatype
mentioned. If this is the level of support for a popular database (i.e., Oracle 11g), what might the support be for a less
popular database?

As an example of the support offered by PowerDesigner for Oracle 11g, see the below illustrations:

Figure 6 PowerDesigner Oracle Physical Options

PowerDesigner has all physical options on one tab. All Oracle 11g partition options are supported, as well as column
properties, physcial properties and all other options.

13
Figure 7 ER/Studio Oracle Physical Options

ER/Studio separates physical options from partitioning. Partitioning schemes supported are Composite, Range,
Hash, and List. There is no support for reference or system partition types.

Figure 8 ER/Studio Oracle Partition Support

14
Figure 10 PowerDesigner Oracle Datatype Examples

Figure 11 ER/Studio Oracle Datatype Examples

15
Repository (Collaborative Modeling)
If there is going to be more than one person who will need access to a model, then a repository is necessary. The
repository provides a common location to store documents, models, and other files. It should be able to store different
versions of models as well. From an administrative perspective, the repository provides the organization a single
storehouse for backup purposes. With proper use, the repository would hold the most current version of a model so
that when a change needs to be enacted, there is no question as to where the proper model resides. Additionally, the
repository would eliminate the necessity to locate the individual who might have a model locked or who might have
implemented some changes.

A repository would allow for collaborative modeling. In this fashion, the repository keeps the most current version
of a model. A database administrator may need to implement a change in a physical model, but, at the same time, a
modeler needs to implement a change in the same model. Both people would be able to extract a copy of the model
from the repository, make changes, and then put the model back into the repository. Upon storing the model back
into the repository, the differences should be presented to the modeler consolidating the changes. Each time a model
is put into the repository, the changes should be presented.

PowerDesigner is available with a repository. It is available as a separate module but a repository with a modeling
tool is necessary. PowerDesigner implements full impact analysis through the repository—this is the only way that
PowerDesigner is able to provide all the functionality for impact analysis. With all the models in the repository, it is
much easier for the tool to track all the objects and be able to report to the modeler. There are several supported
databases that may be used for the repository, include Sybase ASA, Sybase ASE, and Oracle. The “Model Merge”
functionality discussed above is presented each time a model is consolidated into the repository. The changes
between the version in the repository and the model being placed in are highlighted with the option to accept or
reject any or all changes.

The repository presents in the tool as a folder-based structure. Security is implemented in the repository—users
will have various permissions, based on roles. These permissions are defined by the repository administrator and are
typically different from the database user permissions. Branching and sub-branching, versions, locks, freezes are all
supported.

The ER/Studio repository is more of a version control system than PowerDesigner’s repository. Like PowerDesigner,
the repository is a separately priced option. The repository is a database wherein the models are stored and managed.
Users must check out models and check them in again, as in a standard version control system. Archiving and
versioning are performed within the repository and the tools that are available to modelers are also available to work
with models in the repository (i.e, Compare and Merge, Subprojects, …). Security is implemented in the repository;
users would have roles and privileges. Branching and sub-branching is supported.

The repository for ERwin is the Model Manager – it is a separate tool and provides model management
functionality for Data Modeler (the tool reviewed here) and Process Manager (the process modeling tool available
from CA). CA supports version management in the Model Manager, including locked versions, difference reports, and
model rollback to previous states. CA also provides undo and redo functionality over the life of a model. While CA
touts this as a benefit, undo functionality from one modeling session to the next can present problems. Versioning
would be a better way to ensure changes can be rolled back.

Model Manager provides library management, allowing for folder creation and better organization within the
repository. Sub-models are supported, not only through ERwin but also in Model Manager.

16
Extensibility and Customization
Working with a data modeling tool will require some adjustment of the modeler to the tool and some tool
modifications for the enterprise and the modeler. Extensibility and customization needs will vary with the type of
work being done as well as the needs of the organization. This section is concerned with the ability of the tool to
adjust to the environment.

Greater extensibility in a tool is not going to be a concern if simple databases are going to be created and the
maintenance will be minimal. To create a model-driven environment, however, more customization is needed.
Extensibility exists in a variety of perspectives. Databases can be added or their definition files can be modified. The
user interface can be adjusted or user profiles can be created. Model creation can be based on a template and naming
standards can be employed. User securities can be invoked, at the model or repository level. Reports can be defaulted
or customized. Adding scripts is another method of extending the functionality of the data modeling tool. Modifying
model checking criteria is useful as well. Perhaps one of the more important levels of extension or customization is
the ability to extend model definitions through the use of metaclass, stereotype and object creation.

PowerDesigner has vast amounts of customization capabilities. To start, look at the architecture of PowerDesigner.
It has a core program file that reads “resource files” in order to perform various functions and support different
databases. PowerDesigner uses these files to define the objects for each model and the methods for generating and
reverse-engineering them. The resource files are XML files that can be viewed, edited, copied by experienced users.
Specifically for databases, there is a resource file, or XML file, for each database supported. There is a file for Oracle 11g
as well as a file for Oracle 10gR2. The resource files can be modified through any text editor but PowerDesigner
supplies a resource editor that is accessible through the user interface.

PowerDesigner takes the extension and customization concept considerably further than its competitors. At any
point in the modeling process, regardless of the type of model, metaclasses can be added. (A metaclass is a special
kind of class that has, as its instances, classes. A class would normally have an object when instantiated. This is a
concept that has its origins in object-oriented programming but extends to modeling. The instantiation of a metaclass,
is a class, which, when instantiated, would produce an object.) A PowerDesigner modeler or administrator can create
a metaclass, which would serve as the parent of a set of classes/objects to be created later. This can enforce standards
and specifics to the organization’s modeling rules. The benefit is that all classes from that metaclass would have the
same characteristics and can enforce standardization throughout the organization.

Stereotypes, in modeling, are created from classes or metaclasses. Stereotypes are typically used for an instance of a
class or object. They are typically used for sub-classification purposes. PowerDesigner supports full stereotyping as well.

PowerDesigner permits user profiles to be created. These profiles standardize look-and-feel of the modeling
environment. Display preferences, model options, check model and other PowerDesigner attributes can be stored and
deployed to users as needed.

ER/Studio provides some customization but not extensibility. Users can make small modifications to their working
environment. The database support that is provided with the solution is produced and maintained by Embarcadero. A
new database version will require an upgrade to the tool since the database definitions are not stored in an external
file, in contrast to the way PowerDesigner functions. User customization consists of modifying toolbars and the
general user interface. ER/Studio does not support metaclass creation (there is some support for metaclasses in
EA/Studio, but this is a different tool and beyond the scope of this document).

17
ER/Studio does not allow for database definition customization—the database support is inherent to the tool and
does not allow for modification. This is a disadvantage to the modeling community using ER/Studio—when a
database vendor provides a new version, the entire tool needs to be updated in order to support the new database
version. Furthermore, additional databases cannot be added by the user community. Perhaps one of the best
examples of why this should be in a modeling tool is when considering an acquisition of one company by another.
The acquired company may have some older systems that would need to be re-built or integrated. If the modeling
tool does not support the database, ER/Studio would not be able to reverse engineer the schema. In the case of
PowerDesigner, the database definition would be able to be created without Sybase intervention, further extending
the usefulness of a modeling tool.

ERwin has customization for toolbars and the general modeling environment. Beyond that, though, the tool falls
short in terms of extensibility and customization. ERwin is reasonably effective as a “vanilla” modeling tool, but
should not be considered for complex environments that require adapting the tool to the environment.

Business Process Modeling


While business process modeling can be its own discipline, it should be in a tool that is being used for data modeling.
To ensure that business rules are met, data can be associated with the processes directly in the model. The data
elements that are added to the business process model (BPM) would be tied to an object-oriented model or a CDM.
This further reinforces the need for a conceptual data model—the BPM and CDM linkages would ensure that, properly
developed, the data elements that are used are actually needed.

Of the tools reviewed, only PowerDesigner has a business processing module.

Figure 12 PowerDesigner Allows Data to be Assigned to Business Processes

Embarcadero supports business process modeling in a different tool, EA/Studio. The Conceptual Data Model is also
implemented in EA/Studio. Tying together the CDM and the BPM in Embarcadero happens in one tool but the LDM
and PDM are in a different tool.

CA has a different tool for BPM – ERwin Process Modeler.

18
Object Oriented Modeling
Object Oriented Modeling, a graphical analysis and display of a system, is not necessarily a “must-have” feature for a
data modeling tool. However, it is quite important if an organization is going to truly follow a model-driven paradigm
for building business applications. The Object Oriented Model (OOM) is able to provide the organization with a
graphical depiction and analysis of a system. One use of OO modeling is the use-case diagram. Here, a modeler is able
to work with the interactions between people and systems, associating data elements from various data models.

Object oriented modeling allows generation of code (C++, Java, C#, VM.NET), generation of conceptual data models,
physical data models, XML models and other object-oriented models from a single object oriented model. Additionally,
an object oriented-model can be generated from a CDM, PDM, XML model or other OOM. By adding object-oriented
modeling into the model-driven disciplines in an organization, the mapping and analysis of people, systems and data
become second nature.

ER/Studio does not have object oriented modeling as part of their solution.

ERwin does not offer object oriented modeling.

PowerDesigner has a complete object-oriented modeling module as part of the solution. It meets the needs
specified above but is otherwise beyond the scope of this document. PowerDesigner provides many different
diagrams, including use case, class, object, sequence, activity, component and others.

Enterprise Architecture Modeling


Enterprise Architecture Modeling (EAM) is not a necessity for data modeling. However, it is an important part of
building and maintaining data-centric systems. EAM is used to gain a better understanding of the architecture of the
organization. It permits the analysis and documentation of the systems that are in use within an organization. With
greater emphasis on corporate governance as well as compliance efforts, it is becoming more important to fully
document systems. Change management requires an understanding of the systems in enough detail to be able to
understand whether efficiency can be gained by modifying the systems. Through mergers and acquisitions, two
completely different systems might need to be merged. EAM will help to understand where the merge points are in
the systems, allowing the fastest and most accurate combination possible.

Only Sybase PowerDesigner contains an Enterprise Architecture Modeling function. PowerDesigner provides several
different model types for EAM. There are business layer models (organization charts, communication diagrams),
application and technology models. Using EAM in PowerDesigner allows the business to link elements and objects from
the enterprise architecture models to data models, web services, object oriented models and so on. Having worked
with organizations that were building complex models, I have seen, first-hand, the benefits of EAM. It is the necessary
“glue” to tie together the models throughout the organization, ensuring business needs are met by the technology.

Dependency Matrices
A dependency matrix is a tool that allows creation and review of links between objects. The objects can be in any
kind of model—for example, a link can be created between a table in a PDM and an attribute in CDM. PDM tables and
classes created from them (in an object-oriented model) can also be created. Dependency matrices provide a visual
table that will show what objects are dependent on other objects.

A dependency matrix is not necessary for data modeling, per se, but becomes an important part of an organization
that is creating or building a model-driven environment. Of the tools reviewed, only Sybase PowerDesigner provides a
dependency matrix tool and it works across all modules (in other words, it is part of the core functionality of
PowerDesigner).

19
Projects
In a modeling sense, a project allows for a set of models or documents to be grouped together. The project
functions as a single, convenient unit for multiple interconnected models. The project can be stored in a repository as
a unit, ensuring all models are stored together. Dependencies and other links between models are automatically
calculated and maintained when new project diagrams are created.

Sybase PowerDesigner supports projects as well as project templates. The templates can contain pre-defined
models, content, rules and formatting. Templates would typically be used for enterprise architecture frameworks that
require certain combinations of models. By combining projects and templates, the organization has a quick-start
approach for standards-based and model-driven development. Furthermore, by adding framework matrices, the
organization is essentially assured of following best practices.

ER/Studio supports projects but not project templates. The projects are stored in the repository Since ER/Studio is a
tool that only provides data modeling from the LDM and PDM perspectives, frameworks are not applicable. ER/Studio
supports templates in naming standards. As with all tools, when properly created, the naming standards template
will ensure proper naming while saving time for the modelers.

ERwin does not support projects, project templates, frameworks or framework matrices. Since ERwin is a tool that
only provides data modeling from the LDM and PDM perspectives, frameworks are not applicable. ER/Studio supports
templates in naming standards. As with all tools, when properly created, the naming standards template will ensure
proper naming while saving time for the modelers.

Framework Matrices
A framework matrix is a visual grid in which boxes are completed based on various requirements in the
organization. The framework matrix supports model development and documentation in a project and helps the
organization to build out the project according to a set of pre-defined rules. The Zachman framework is a solid
example of this.

Of the tools reviewed, only PowerDesigner supports Framework Matrices.

20
Summary
Creating a database is a simple task. Creating a database so that it properly supports business requirements makes
it a more difficult task. Developers need to build applications that utilize the databases and database designers must
create the databases efficiently. Modelers need to be able to communicate effectively with business stakeholders and
developers throughout database and application development processes.

Choosing a data modeling tool is not a trivial task, even though it appears to be. Of the tools reviewed, all three will
create a logical data model, physical data model, propagate changes from one to another and create database scripts.
All three will reverse engineer databases. But they are not at all equal.

Only one data modeling tool should be considered and chosen: Sybase PowerDesigner. Not only does
PowerDesigner support all the facets necessary for basic database design and development, but it goes “above and
beyond” in delivering the functionality to support a model-driven architecture. PowerDesigner allows conceptual data
modeling to be performed in the same tool as logical and physical data modeling. Data elements can be tied to
business requirements and classes can be created to jump start development through Business Process Modeling and
Object Oriented Modeling (respectively). Add in the functionality provided by User Profiles, Projects, Framework
Matrices and Dependency Matrices and the result is a complete modeling tool for the enterprise: PowerDesigner.

About the Author


Joe Pearl has over 21 years experience in the software industry including six years experience with data modeling
tools and the Zachman Framework. Joe has contributed to data modeling certification programs, and delivered a
number of data modeling training courses in his career. He is a proficient user of Computer Associate’s ERwin,
Embarcadero’s ER/Studio, EA/Studio and Sybase PowerDesigner.

Joe holds a B.S. from Tulane University in New Orleans. Currently, Joe is applying his knowledge and skills to the
adoption of Enterprise 2.0 technologies. He can be reached at JoePearl@TulaneAlumni.net.

21
SYBASE, INC. WORLDWIDE HEADQUARTERS, ONE SYBASE DRIVE, DUBLIN, CA 94568 USA 1 800 8 SYBASE Copyright © 2008 Sybase, Inc.
All rights reserved. Unpublished rights reserved under U.S. copyright laws. Sybase and the Sybase logo are trademarks of Sybase, Inc. or its subsidiaries.
All other trademarks are the property of their respective owners. ® indicates registration in the United States. Specifications are subject to change
www.sybase.com without notice. L03124 11-08

Você também pode gostar