[Tutor] Creating and storing objects from a GUI...

Erik Price erikprice@mac.com
Mon, 25 Feb 2002 08:18:35 -0500


On Thursday, February 21, 2002, at 11:00  AM, Israel Evans wrote:

> I was thinking SQL would be nice, but due to my ignorance, databases, 
> still
> feel a little like a black box to me.  I'll have to do a little more
> research into them.

Pick up MySQL and set it up on a Linux box if you can, after a few days 
of playing it will feel like an old friend.  The MySQL mailing list is 
also very helpful.  You can take it further and learn all of the 
advanced SQL queries too if you want.

> What's your opinion on the mixing of XML and RDBMS?  Would data stored 
> in a
> Database be saved in table/cell format and then extracted to an XML 
> format
> through XSLT in order to be displayed elsewhere, or would the database 
> store
> the data already in XML?  I like the promised flexibility of XML but 
> WOW,
> the multitudes of specifications and formats and so on is overwhelming!
> Would you in your right mind mingle XML and an RDBMS?

Keep in mind that RDBMS and XML are fundamentally dissimilar storage 
formats.  The strengths of one are negated by the other.  I'm just 
learninga bout this myself, so I don't know everything -- but the point 
of a RDBMS is to have a relational, normalized structure that can be 
searched based on arbitrary relationships between objects, so that the 
database is not dependent on trees (tree-style databases are always 
under development but cannot match the speed of a RDBMS when they to a 
certain size).  XML's strength (in terms of information storage) is in 
its hierarchical, tree-like storage structure.  So they're really not 
very complementary technologies.

This is too bad, since I have easy access to a MySQL server and want to 
play with Python and XML myself!  But it doesn't mean you can't try to 
find a clever way to work around this.  For instance, if your XML 
documents are not terribly deep, you could just use MySQL's data storage 
abilities and do exactly what you have suggested.  It's only with large 
applications that you need to consider whether or not a RDBMS can help 
you.  I'm not sure what the intendede application is for your wife's 
dance studio, but maybe storing flat XML files will be more 
appropriate.  Is speedy searching for data something that you will need 
to do?  You could store the filenames in a database, if you knew that 
the data was in a particular file, or you could store attributes of 
files into a database and use a RDBMS to do searches and then the 
results could point to the file's name or location.  In this fashion, 
you wouldn't really be storing the actual data you want in the database, 
just meta-data.

Please post your discoveries, if you pursue the RDBMS + XML.  I found 
the following links to be somewhat helpful:

http://www.xml.com/pub/a/2001/10/24/follow-yr-nose.html
http://www.dbxml.com/FAQ.xml
http://www.xmldb.org/faqs.html