January 06, 2008

ER diagrams

In the last days I had to deal a lot with entity relationship (ER) diagrams, because I have to conduct exercises for a database course. ER diagrams have been developed in the seventies by Chen and are a widely used visual language for the conceptual design of database systems. Further in my last post I described the tool AToM3 whose main formalism is ER.

This figure is from the wikipedia article and shows an exemplary ER diagram.

To my surprise there seem to be no freeware or open source tools that allow the drawing of ER diagrams in the commonly used notations, i.e. the original one by Chen plus some conservative extensions like Min-Max etc. I have tried several of the free tools referenced in the wikipedia article on ER like BrModelo (only in portuguese language), Ferret (platform-specific and not very feature-rich), MySQL workbench (proprietary notation and MySQL-focused) and even some of the commercial ones like SmartDraw and MS Visio. But none of them is as feature-rich as one might expect in the context of such an old visual language.

Using DiaMeta, for instance, it would be possible to specify a compliant and feature-rich ER editor in a very short time. One even could apply a EMF-based model transformation with, e.g., ATL to derive the corresponding database schema.

Did I miss a tool that is freely available, provides an interface in English language and conforms to the widely-adopted concrete syntax? Any further references are greatly appreciated.


Anonymous said...

I have been searching for the same, and still not successful. It's surprising that such a software can't be found easily.

pciaccia said...


have you tried DB-MAIN (http://www.db-main.be)? It is not freeware, however you can freely download DEMO and EDUCATIONAL versions, that allows you to define projects with a maximum of 250 and 500 elements, resp. (actually, the EDUC version has not all the features of the full-commercial product).
I'm using it in my course on DB design (see e.g. http://www-db.deis.unibo.it/courses/SIL-B/lab-esercizi.html), and I think it does a good job. Its basic features are easy to learn. It also features automatic SQL code generation, tools for transforming an E/R schema, etc.

Paolo Ciaccia

Steffen Mazanek said...

Thanks for pointing this out, Paolo. Will try this one for my next database course :-)

pciaccia said...

could you give some feedback on your experience with DB-MAIN (assuming you used it)?

Paolo Ciaccia

Steffen Mazanek said...

Not used it yet. Maybe I will teach databases in next spring again. Then I will have a look.