A few months ago I got entrenched in a massive UML learning exercise to facilitate communication between a client of mine and I. Until then I had only somewhat ran across UML and though I knew about it I did not know it enough to say I knew it.
I wish I could say that I know a lot more now, but the truth of it is I don’t. I know more, that is for certain. But I do not know as much as I want to know. So you can imagine my haste to jump onto the ERD bandwagon when my client asked me for a database schema drawing a few days ago.
Entity Relationship Diagrams are a bit funny in how they are made and understood. They are fairly simple for the most part and are usually very easy to understand. But they can also be a little daunting because there are a few different ways that they can be drawn (though my understanding of ERD is rather limited so I might be totally incorrect in this statement).
That said I have set out to draw me some ERDs for a somewhat complex database schema. And you know what? There isn’t a tool out there that is worth a crap. To be fair, I have not tried Microsoft Visio yet because I am waiting for my boss to spring for it for me at work. I did look at MySQL Workbench and that sucked, allowing you to make rather pretty pictures but not allowing you to really do anything with a live database unless you want to export the database and import it as a schema.
I looked at DBDesigner and that was just crap from to jump. I didn’t even bother to install it because of the crazy dependencies it has. So I was left with the only logical choice left that did not include a full internet scan of products that cost $5000 and work only on Microsoft Flagship OS Vista(ke) – Dia.
Dia has been a friend of mine for some time now. Since I had to learn UML and I have been spending most of my days on either a Fedora or Ubuntu machine I needed something that would work on Linux. Dia does. I also needed something that was ported to Windows so my client could use it. Dia does that too. There is only one thing that Dia does not really do. ERDs. Crap.
All things considered the UML interface is adequate for creating pretty convincing ERDs in Dia. I am not thrilled about having to use a UML interface to create ERD elements, but it does work. And nothing else works even close to it for the price. So I am stuck with Dia at the moment. Or until my boss springs for me to get Vision. Which is a whole different can of crap to contend with since it is a Windows only app and I am trying to get as far away from Windows as MySQL Workbench has moved from common sense.