views:

130

answers:

2

What is the best way to document a logical or conceptual data model.

Whilst tools like Visio allow you to define entities, attributes and relationships they do not support the collection of other vital information about a model such as validation rules, entity life cycles data owners.

They also aren't very useful for communicating these models to non-technical stake holders who may be confused by the level of detail displayed by default. I'd like to be able to show a simple entity relationship model and then hyperlink into detailed descriptions, business rules, etc.

+1  A: 

I use Omni Graffle for ER or Class diagrams, and GraphViz for showing "flow charts" (state diagrams, really). I don't know about the hyperlinks to biz rules, though. I'll watch this thread to see if anyone has other tools that do that. I'd use it too. ;)

Sam McAfee
Omni Graffle is good for the diagrammatic side of my requirements but like Visio it does not provide the means necessary to capture the other features of data models such as validation rules, etc.
andy47
A: 

If you want to run a "strong" and "industrial" process, you can use UML tools, which allow you to model your system from both static (attributes and relationship), validation (object constraints) and dynamic (entity life cycles) perspectives (among others). Google for "UML 2". There are some good and affordable tools around for UML 2. I would recommend "Enterprise Architect" which sells for a few hundred bucks. Free tools exist also.

antti.huima
The UML 2 standard - http://www.omg.org/gettingstarted/what_is_uml.htm#12DiagramTypes - specifies 13 different diagram types. Sadly none of them are specific to data models. Although it is technically possible to use, say, a class diagram to represent your data model there is an impedence mismatch.
andy47