Drawing Diagrams

I have been looking for a tool to help me visualize the relationships between the various entries in the database I’ve been working on.

The first tool I found was Dia, a drawing tool designed to allow the drawing of network and graph relationships by hand, with lots of flexibility as far as icons, arrows, etc. The drawings that you can construct in Dia are exactly what I was looking for, but not easily programmatically defined. Constructing and maintaining a structure of the size I’m interested in is obviously not feasible using just a drawing program.

Then I found Graphviz. The beautiful thing about it is that you define your relationships in a text file, and then it calculates optimal positioning for each of the nodes and connections. If you want to add a bunch of new nodes in an area that was formerly full, no problem. No need to manually re-arrange things, it figures out the new layout and connections automatically. The optimization algorithm seems pretty good — the layouts for my test files are certainly better than I can do by hand.

Below are some output samples.


gv_fsm

gv_ER

gv_unix

You can see many more examples at the gallery.

Comments

  1. Soundforge wrote:

    What language and Database system are you developing for? VS2005 for .Net applications has base level relationship graphs depending on the view you choose when looking at a data source.

    Posted 27 Mar 2008 at 10:49 AM
  2. Paul wrote:

    I’ve been using MySQL and PHP for this project. It’s a piece of work, designing for a graph system that fits nicely into SQL. I really should have spent more time looking at triple stores, honestly, since they are far closer to what I actually want.

    Posted 27 Mar 2008 at 11:03 AM

Post a Comment

Your email is never published nor shared. Required fields are marked *