SQL Diagram creation: Difference between revisions
Jump to navigation
Jump to search
(New page: == sql2diagram == We wrote this tool a while ago and uploaded it to sourceforge: http://sql2diagram.wiki.sourceforge.net/ functionality: * it reads the SQL tables and attributes from the ...) |
|||
Line 1: | Line 1: | ||
== sql2diagram == | == sql2diagram == | ||
We wrote this tool a while ago and uploaded it to sourceforge: http://sql2diagram.wiki.sourceforge.net/ | We wrote this tool a while ago in C/C++ and uploaded it to sourceforge: http://sql2diagram.wiki.sourceforge.net/ | ||
functionality: | functionality: |
Revision as of 21:32, 3 Haziran 2009
sql2diagram
We wrote this tool a while ago in C/C++ and uploaded it to sourceforge: http://sql2diagram.wiki.sourceforge.net/
functionality:
- it reads the SQL tables and attributes from the SQL file with all the CREATE TABLE statements
- it generates HTML documentation
- it is able to generate diagrams for the DIA program (http://live.gnome.org/Dia)
The generation of the HTML documentation works fine.
diagrams
There are some problems with generating the diagrams. On the one hand it allows manual moving of the tables and connections in the dia editor, and the sql2diagram tool should pick up the manual positions and reuse them. But on the other hand, it is quite tedious to move the tables and foreign key constraints all by hand.
Task 1:
- Use the new Database tools, instead of the ER shapes.
Task 2:
- Do an automatic layout of the tables and connections.
Alternatives:
- I had a look at autodia, but it seems you still have to rearrange the result in the dia editor.
- http://www.rbt.ca/autodoc/output-dia.html states on the website that they do not do the positioning.
Some discussions and first hints:
- There was a discussion on the mailing list Avoiding connection conflicts/cross-overs in UML diagrams
- The ZigZag links have already an autoroute functionality: http://git.gnome.org./cgit/dia/tree/lib/autoroute.c
- there could be python plugin similar to http://svn.gnome.org/viewvc/dia/trunk/plug-ins/python/autolayoutforce.py
- (I was not able to get the python plugin to work with dia on windows)
- the discussion on the mailing list mentions Force based algorithms for the positioning