Andrew Channels Dexter Pinion

Wherein I write some stuff that you may like to read. Or not, its up to you really.

October 06, 2003

Database Metadata

I'm quite intrigued by XML Résumé Library (found courtesy of Jeremy Zawodny) . I'm always frustrated when I have to write my cv in Microsoft Word and then literally cut and paste it if I want to, for instance, turn it into a web page. Hopefully this will speed the process up somewhat, whilst allowing me to play with XML.

It also nicely intersects with a problem I've been thinking about, if not actually doing much with. I'm trying to come up with a decent XML format to describe the structure of a relational database. Google for database and XML and you'll get lots of references to storing XML documents in relational databases, or XML databases. Ask for metadata and XML and the subject matter is DTDs and XML-schema references.

There are also a number of object-relational mapping tools avaialable, such as torque, but they concentrate on the object relational impedance mismatch.

All I require is a simple, standard way of describing my schema - specifying that it contains a number of tables, each made of a number of columns, stored in tablespaces and related to each other in specific but interesting ways. I'd like to have a vendor neutral format that I can turn into DDL statements for any number of varieties of relational database, starting with the usual suspects of MySQL, DB2, Oracle and SQL Server.

The closest things I can find are the XML metadata interchange specification and the relational section of the common warehouse metamodel. I'll have a look at these two and report back. In the meantime please feel free to let me know via the comments of other standards that I may have overlooked.

Posted by Andy Todd at October 06, 2003 09:41 PM

Comments

This would be good. You'd want a data dictionary, so that your 'list of columns' could contain, say, 'account number'. That way, you'd only have to change the dictionary to chance the size of the columns in all affected tables.

At least, this is how Synon/2E does it. ;-)

Posted by: Simon Brunning on October 7, 2003 10:55 AM

XML Resume is really nice - been using it for 6 months now. Only issue I've is that it doesn't have a bullet list element.

Posted by: Babu on October 7, 2003 12:15 PM

Simon,

Oracle Designer does that too. Sadly it doesn't publish its model in a standard XML format, or at least not one that I can find anyway.

Posted by: Andy Todd on October 7, 2003 02:58 PM

Are you aware of Gadfly the Python Database with SQL syntax and automatic transactions? It's an in memory database that requires commits to write updates to disk.

Posted by: Danyel Lawson on October 13, 2003 04:08 AM

Danyel,

Yes I am aware of Gadfly, thats why there is a link to it on the main page of this blog ;-)

Although I'm not sure how that helps me define a standard interchange format for databases though.

Posted by: Andy Todd on October 14, 2003 09:47 AM