Recently I was asked why I use ERwin to create a data model rather than Microsoft Visio. The person had heard that Visio could create Entity Relationship Diagrams (ERD). He was really asking, “Why would I spend thousands of dollars to do something that I can do with a standard Microsoft Office product?”
Microsoft markets Visio as a versatile diagramming tool. It includes many business and technical templates in its library. The data model diagram, aka Entity Relationship Diagram (ERD), is one of them.
I have created several simple ERDs with Visio 2013 to get a sense of the product’s usability. Its interface is easy to understand and quick to learn. Microsoft has spent some effort on making diagramming very flexible. A novice data modeler could create a pretty spiffy looking data model diagram from the tool. It passed the diagramming test.
Diagramming is just one piece of data modeling. Data modelers know that the complexity of data modeling lies beyond creating the diagram. Data modeling tool vendors have invested heavily in functionality to support the full lifecycle development of a database. Would Microsoft be interested in making a similar investment to be used by a small minority of Visio users?
I found an interesting post in the Microsoft Office Blogs that answers the above question. Microsoft decided to emphasize diagraming and sharing and eliminate the rigorous rules of data modeling with the release of Visio 2013. The short answer is that Visio can create an ERD and is not meant to be a full featured data modeling tool.
Here is my response to the question why I choose to use ERwin rather than Visio to create a data model. Microsoft Visio can produce a nice looking data model diagram for documentation and illustration purposes. It lacks connectivity to the full database development lifecycle by the absence of forward and reverse engineering.
The rigorous validation aspects of data modeling toolsare missing. Flexibility created more work. The flexibility in applying styles, colors, fonts, and such to objects was nice. There appeared to be no easy method to set preferences. There is very limited support for the reporting and extraction of metadata.
DBMS support is absent. This is not a surprise since the tool is strictly a diagramming tool and has no reverse or forward engineering support. The cost of maintaining current database specific generation scripts is certainly beyond Visio’s functionality.
Back to my earlier point, data modeling is more than creating an entity relationship Diagram (ERD). Visio is a versatile diagraming tool but not a comprehensive data modeling tool. Data modelers need the ability to forward engineer their designs. They need to share their metadata. Most of us work in complex environments that need DBMS specific features. We need the rigors enforced by a full-featured data modeling tool such as ERwin.
I am presenting at Data Modeling Zone 2014 in Portland, Oregon. I hope that you will join me in my sessions: Is your data model a work of art? and Relationship versatility and the data modeler #DMzone