Starting a Data Model in CA's ERwin
In the December issue of Visual Studio Magazine, I reviewed a pair of data handling tools:
CA ERwin Data Modeler 7.3 and
Red Gate Software SQL Source Control. In this blog entry I dive into using ERwin.
If you've been building relational database models as long as I have, you'll start into CA ERwin Data Modeler by selecting File | New and, in the dialog box, select Logical model. Others may go to the Logical/Physical model, which requires that you specify your target database engine and prevents you from doing things not supported by that database engine.
Once you do, you get an editor window to draw your diagram in and a default set of nodes in the Model Explorer on the left-hand side of the editor window. Some of those node names won't be familiar to you unless you've got some grounding in relational database theory -- how many developers, for instance, know that every column has a domain that is the list of valid values for the column? ERwin does, and it populates the Domain node in the Model Explorer with some default domains (e.g. string, number). But it's going to require some study on the part of the data modeler to exploit this powerful feature by defining custom domains that represent their organization's business rules.
ERwin gives you a choice between two notations: IDEF1X or James Martin's Information Engineering (IE). I've used IE for years so that's not a problem for me. But if you're an adherent to Chen or Bachman, then you'll have to make the minor mental adjustments to moving over to one of the supported notations.
You might expect to start creating your model by dragging an Entity (the "E" in "ERwin") icon onto the editor window from a toolbox. However, ERwin expects you to first add entities to the Entity node in the Model Explorer. Once you've added an entity to the model, an Entity icon does appear in the diagram in the editor window (and always in the same place: you'll need to drag your icons somewhere else or they'll just stack up on top of each other). To my mind, this is the right way to do it and reflects, I think, a serious attitude towards the fundamentals of data modeling.
ERwin shows a commitment to specifying domains and defining entities separate from their appearance on some diagram. As someone committed to relational database design theory, I'm already impressed. However, casual users (and should you be letting "casual" users design your database?) might be distressed about the background they'll need to acquire with this tool.
Posted by Peter Vogel on 12/09/2010 at 1:16 PM