.NET Tips and Tricks

Blog archive

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


comments powered by Disqus

Featured

  • Full Stack Hands-On Development with .NET

    In the fast-paced realm of modern software development, proficiency across a full stack of technologies is not just beneficial, it's essential. Microsoft has an entire stack of open source development components in its .NET platform (formerly known as .NET Core) that can be used to build an end-to-end set of applications.

  • .NET-Centric Uno Platform Debuts 'Single Project' for 9 Targets

    "We've reduced the complexity of project files and eliminated the need for explicit NuGet package references, separate project libraries, or 'shared' projects."

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

Subscribe on YouTube