Visio gives me a stroke
Everytime I open visio its with dread in my heart. As of late I'm trying to do database model diagram. Normally your FK relationships are displayed where the connection actually points from the ID to the FK, but no not in visio, it just randomly points to some part of the entity box.
Anything better out there that would work as expected?
If that were the only problem I had with Visio and database diagrams, I'd still be using it. First, since I have a 64bit machine, I have to stop the Print Spooler service open Visio and the database diagram template or file and then restart the Print Spooler service. Second, everytime I refresh the diagram from the database I get duplicates of all my Unique Indexes which I have to manually delete or my tables would be very wide after a few refreshes.
I've pretty much stopped using Visio for database diagramming because of those pains. I pretty much only connect to MSSQL 2005 / 2008 databases so I use the native diagramming when I need a "normal" diagram of a subset of the database. Most of the time use RedGate's SQL Dependency Tracker and it's visual diagram to determine what objects reference what other objects. Makes it real easy to determine what views, procs, whatever needs to be updated if I add/remove columns in an underlying table. I've also noticed that once you get to a certain level of objects, "normal" database diagrams like the ones Visio don't really cut it.
Honestly, one of the "best" database diagramming programs I've used is Erwin Data Modeler, but it is very expensive.
I was wondering would graphviz be able to do what you want? If I understand you correctly you want something like this: http://graphviz.org/Gallery/directed/datastruct.html.
Keep in mind that you'd have to write something to generate the gv file that graphviz has to parse.