Article Preview
Buy Now
REVIEW
XERD
Issue: 4.6 (July/August 2006)
Author: Norman Palardy
Article Description: No description available.
Article Length (in bytes): 4,028
Starting Page Number: 10
Article Number: 4607
Related Web Link(s):
http://www.joshuahawcroft.com/
Full text of article...
If you're like me and design databases then the choice of tools you have on the Mac is quite limited. Windows users have lots of choices. That's why when Joshua Hawcroft released XERD I eagerly grabbed a copy of it. I'd been using a tool from Sybase called DEFT that hadn't been published in nearly a decade.
XERD has become my tool of choice for now. And the best part is that XERD supports schemas creation for a wide range of databases. SQL 92, SQL 99, mySQL 3.23, OpenBase 8, Oracle 8, PostgreSQL 7.4, REAL Database 5, and Sybase 11 are all supported. Most of the designs will work with newer versions of these engines. The REAL database is the only one that has been replaced by a new engine so you might not want to use that format.
In XERD, you define your entities (tables) in a simple entity definition dialog. In this you add the columns with appropriate definitions for type, primary key, and whether the column allows NULLs.
Once you have defined at least two entities you can start adding relationships between them. When you select two entities to be related, a relationship dialog is shown. In this you define the cardinality of the relationship (one to zero, one or more, zero or one, one to one or many, or one to one). One thing to be aware of is that you have to make sure you select the "from" table first, and the "to" table second, otherwise your relationship could be created incorrectly. In the dialog you select the various columns that will be part of the relationship between the tables. In this dialog you also can define how deletions and updates are handled.
Once you have your design completed, you can save the design. As well, you can export the SQL for the design. Unfortunately there is no way to save the design directly to a database, nor is there a built in way to extract a design from an existing database.
Not being able to save the design directly back to a database is not a huge impediment. Not being able to directly extract a design from a database is a bit more of an issue, although there
is a way to do this. It turns out that XERD's saved design is simply XML, and there are already samples available that can create a valid XERD model from a database.By selecting a particular Target, you can create a single design and deploy this to any one of the supported database formats as SQL statements that you can use to create all the tables, and relationships.
The biggest drawback to everything is that XERD is not currently for sale (although I'm sure Josh will sell you a license if you bug him about it). XERD has not been updated in a while, so some things that would be really nice have not been added. I'd like to have the relationship information on the actual diagram between related tables. Reverse engineering a database schema from a database would be awesome.
I'd love to see enough people express interest in XERD that Josh updates it. It is a great tool and was very reasonably priced when I first purchased it (about $70 USD).
End of article.