I recently assisted in a review of data modeling tools for a customer. I won't mention which one we chose, but I would like to give a general review of the tools. The 3 major tools on the market for data modeling are CA Allfusion Data Modeler, Sybase PowerDesigner, and Embarcadero ER/Studio, and we looked at these 3 competitively. Each has their own pros and cons. Some provide better SQL Server 2005 support than others. Some are just plain easier to use than others. I won't go into a diatribe about data modeling, but if you are looking for a new tool, or if you are looking to begin data modeling for your development projects, you might want to read on to see which tool might be a good fit for you.
CA AllFusion Data Modeler R7
This is the tool formerly known as ERWIN. If you've been in data management for very long, you've probably seen this tool at least once before, most likely as shelf-ware along with many other data management products. That's not to say ERWIN isn't a fine tool, just that it is underutilized. ERWIN has gone through a beleaguered history bouncing from LogicWorks to Platinum and then being consumed by Computer Associates. It was really the first of the PC-based graphical data modeling CASE tools. ERWIN, or I should say AllFusion Data Modeler as CA now calls it, is in it's 5th major version, but it's being called R7 (mostly I think to keep up with the Joneses - see versions of the other products being reviewed). The latest version provides additional support for DBMS platforms other than SQL Server and it has little (if any) support for SQL Server 2005 new features. ERWIN's strengths continue to lie in green-field development. It is very fast at creating a new logical data model, converting that to a physical data model, and generating the schema to create the database objects. ERWIN's weaknesses continue to lie in metadata management, reporting, graphical layout of the model, and creating ALTER TABLE schema when comparing to an existing database. The latter is the reason it is difficult to use for anything other than green-field development. Both of the other tools provide much better means for developing enterprise databases for the long-haul.
Pros
Easy to create new structures
Long History
Full-Featured logical modeler
New Schema DDL Generation
Cons
Metadata Management
Poor Support from helpdesk or website
Graphical Layout - one method, not easy to read
CASE tool to generate ALTER DDL
Lack of SQL 2005 support
Price - it was the most expensive of the 3 solutions
Sybase PowerDesigner 12
Sybase has put a lot of effort into designing a comprehensive modeling suite. Their enterprise edition modeling tools allow for collaborative modeling through all phases of the SDLC. The ideal scenario for PowerDesigner is to start by capturing Use Cases and modeling the results in PD. The Use Case Model then pushes down to a number of sub-models, including a Conceptual Data Model. Data Items can be defined by the business analyst in the Use Case, and the data modeler then adds the Data Item to the appropriate entity. This is an incredibly empowering scenario for the business, as IT is no longer the only one with data definition capability and responsibility. It also takes a lot of work off the data modelers' plate as now they have less work to do defining the nitty-gritty of each attribute.
Once a Conceptual Model is complete, it can be pushed down to a Logical Model for further definition. A complete Logical Model can be pushed further down to a physical model based on a specific DBMS. All of these models are decoupled, in that changes to one do not affect the other(s). PD does provide a link and synch tool to push changes up and down the model chain, allowing you to model at any level, while still keeping all the levels in synch.
PD is an excellent end-to-end, formal modeling solution providing a collaboration repository. Its strengths are many. The rich feature set allows the modeler to do just about anything you'd ever want to do. Besides data modeling, the CASE tools provide Object Modeling and code generation in virtually all the major languages, making it a great place to start any project. The downsides are just as you might expect. The capabilities of this tool bring much complexity. Ripping out a simple data model for a new project is not all that easy. The tool really pushes you down a process based development pattern. Also, the interface is not all that intuitive. I have been data modeling for many years, and it took me a significant amount of time to be able to create entities and relationships for 20 entities. Lastly it struggled much like ERWIN in creating ALTER DDL. It was quick good at creating new DDL, but struggled when comparing a model to an existing database.
Pros
Complete business proccess and IT modeling tool
Rich Collaboration
Exceptional Metadata Management (Blobs and Definitions and search capability)
Flexibility in configuration
OK SQL 2005 support
Cons
Complexity
User Interface
Comparison and Script Generation
Embarcadero ER/Studio 7.1
I believe ER/Studio is the youngest of these modeling tools, but it certainly can hold its own with the older brothers. ER/Studio provides rich data modeling capabilities, metadata management, reporting, and automation. The last point is a feature I really like, the macros. Users can write their own productivity and standard enforcement scripts to change models in whatever way necessary. Embarcadero opens up the object model for access to program your own, but they also provide many helpful macros in the box.
Like PD, Embarcadero decouples the physical model from the logical model, providing compare and synch capabilities between models and the target database. This last point makes ER/Studio stand-out. It does a great job of creating alter DDL when comparing to an existing database. Many tools will rename the table, recreate the table, and re-insert the data for even the simplest changes. ER/Studio does a pretty good job of knowing when you just need an ALTER TABLE ADD COLUMN script.
The user interface and model layout features of ER/Studio are beyond belief. There are six ways to layout a model. All of them are meanigful and fast, even with large models. There are some areas of the user interface that take longer to do things than say ERWIN or PD, but in general it is intuitive and easy to use.
Lastly, ER/Studio now comes in a just for SQL Server edition, which is much less expensive than the competitors, which charge for all the databases, even if you never plan to use them.
Pros
Great Model Layout
Automation Macros
Good Comparison tool and DDL Generation
OK Metadata management
Great Helpdesk and feature enhancement support
SQL 2005 support
Price (SQL Server Edition)
Cons
Some tedious areas of the interface
A little buggy (needed to call support a few times)
As you can see, all of these tools can provide an organization with good data management abilities. One thing I didn't mention in the reviews is that data management is more than implementing a tool. It takes discipline and process enforcement. None of these tools will do that for you. That's the people part of this industry. Hopefully, this review will help others as they look to choose a tool to implement in their SDLC.
Jon