


ERD Apps a Missing OSS Niche? 25
Pennyless Developer asks: "So the time comes when one must design a brand spankin' new database schema. You want to use an Entity-Relationship diagramming tool with hopefully some automatic schema generation tools, but do not have much money to purchase anything like Rational Rose. Like a true geek well versed in OSS, you head off to scan sourceforge, freshmeat, and google. But alas, it appears no such applications exist in the OSS world, at least none beyond the planning stage. The question I pose is this: What useful, OSS/Free/Cheap ERD applications have you found and used? Or do developers do all their ERD work under an evaluation period of commercial software?"
Data Architect from TheKompany (Score:1, Informative)
http://www.thekompany.com/products/dataarchitec
OSS Rational Rose equivalent (Score:5, Informative)
BUT I'm not aware of any support of Entity/Relationship diagramming or sql generation in either of those apps.
Re:OSS Rational Rose equivalent (Score:2)
Can ArgoUML create code from sequence diagrams? Partial code?
I haven't found ANY UML tool that can do that, and it's a real pain in the ass to have to reimplement everything you just did in the diagram in code
Great tool but not for ERD (Score:1)
You can try faking a class diagram to look as an ERD using some stereotypes, but those stereotypes are not implemented yet in ArgoUML yet (Rational Rose has them).
Anyway, ArgoUML is a great product and I'm a proud user of it.
Fh
Check out Dezign for Databases (Score:3, Informative)
DBVisualizer or Visual Thought (Score:1, Offtopic)
If you want to look at the structure of an existing database, try DBVisualizer [www.minq.se]
dia2sql (Score:2, Informative)
Tools? Bah.... (Score:1)
If you gotta have pictures, you might want to check out Dia [lysator.liu.se], whose file format is XML. It has ER diagram components for you to connect. When you are done drawing, write a quick program to translate the XML description into SQL.
Re:Tools? Bah.... (Score:2)
No, don't write one, get dia2sql [karyopse.de]
MagicDraw UML (Score:1)
But 2 thumbs up for the previous python post that suggest writing python scripts.
Why? (Score:1)
Re:Why? (Score:1)
I agree with you that one may have problems understanding and maintaining the detailed code resulting from code builders/generators/etc., but that can result from two things:
1) Generated code is inherently trickier to read than hand-written code. The good code generators amply comment so that you know the difference between what's been generated and what you've coded.
2) Such tools are intended for a higher layer than the code layer (to coin a phrase). An analogy (that stretches the point a little) may help explain what I'm saying: it's similar to reading the assembler output from a good compiler and complaining that it's hard to understand the programmer's intent. Correct! The assembler is not meant to be read; the higher-level source code is the real code.
Such design tools work well if they incorporated good "round-trip engineering," which means you can switch back and forth between the generated code (SQL) and the "source" code (the diagram).
(I hate to say it, but VC++ does a pretty good job of this when writing COM objects. You point and shoot and it creates skeleton code and interface code based upon your declarations, but you may still tweak the hell out of the resulting code. This is because they did a good job of putting markers in the comments.)
If the product being considered has good round-trip engineering or can otherwise track well the code it's generated, I believe you've got the best of both worlds.
Reading the other posts, in my opinion the XML-based package (Dia) rocks (at least on paper -- I've never used it). From the resultant XML a series of good code generators can be written.
Subject for a future Ask Slashdot: what's a good convention for such round-trip comments?
Dia (Score:2)
http://freshmeat.net/projects/dia/
I was taking a class where we were shown Visio, but I used Dia instead for my final project report. Not that this should influence your decision, but I did get an A in the class
ERW (Score:1)
There is presently no graphical tool for editing diagrams--you must describe your schema using XML (we are working on graphical tool, but it is still, at best, immature).