If you think of Altova as strictly an XML tools company, it might be time to take another look. Lately they've been branching out to other fields, and their latest
product (while it does have an XML tie-in) is a general-purpose tool for working
with the schema and data of relational databases. It can work with any database
available through an ADO or ODBC connection, which these days means just about anything.
You can group one or more connections into a stored project, which can also include
other artifacts such as bits of SQL that you want to store for later reuse, persisted
database diagrams, and pointers to favorite objects.
After choosing a connection to work with, you can drill into a treeview of schemas,
tables, and views (DatabaseSpy doesn't know about other or vendor-specific object
types) all the way down to the column level, inspecting things in a thorough property
window. From here, you can also open up either SQL windows or design windows.
DatabaseSpy SQL windows give you a nice color-coded SQL editor to work with. Shortcuts
make it easy to build common statements (SELECT, CREATE, ALTER, and so on) with
a couple of clicks, and you can also drag and drop objects from the main treeview.
There's some IntelliSense-style autocompletion here as well, though as with many
other products it's tough to make this really useful due to the order of clauses
in SQL statements. Query results are presented in a simple grid.
The Design Editor gives you an environment to explore and build database schemas.
You can easily see the relationships among a set of tables, add and remove columns
(changes do not take effect until you run the ALTER statements that DatabaseSpy
builds in a separate window), explore indexes and constraints, and so on. DatabaseSpy
does a good job of cramming lots of information into limited space here with collapsing
regions, property windows, and judicious use of colors and icons. Some operations
(such as changing the data type of a column) require jumping back and forth between
the design surface and the properties window, which can be a bit annoying.
As you might expect from an Altova product, import and export capabilities are strong
here. You can export anything from an individual table to the entire database to
XML, XSD, CSV, HTML, or Excel, and you can export the appropriate types straight
into XMLSpy if you have a copy installed. The import side is weaker, with CSV being
the only option.
Overall, the product compares favorably with other "jack of all trades" database
editors I've tried. It doesn't have the strengths for any one particular database
of the native tools (for example, I couldn't imagine doing serious SQL Server development
work without a tool that actually understands stored procedures) but if the task
at hand involves working with data across a bunch of data stored in heterogeneous
database types it has the potential to replace a whole raft of vendor-specific tools.
And of course the direct XML export is a feature that's missing from many vendor
tools. If you want to give it a spin you can download a 30-day trial from the Altova
Web site.