Special

Introducing the “Welcome to Xojo” Bundle!

New to Xojo and looking for guidance? We've put together a terrific bundle to welcome you! Xojo Bundle

This bundle includes six back issues of the magazine -- all of year 20 in printed book and digital formats -- plus a one-year subscription (beginning with 21.1) so you'll be learning all about Xojo for the next year. It's the perfect way to get started programming with Xojo. And you save as much as $35 over the non-bundle price!

This offer is only available for a limited time as supplies are limited, so hurry today and order this special bundle before the offer goes away!

Recent issues

Article Preview


Buy Now

Issue 4.6

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.