XML is not really about "storing" data, but about making the contents easy to transfer and extract without detailed knowledge of their format. For example, If I were to say to you, "Here is an Oracle database , get me a list of all the customer names in it", you would need to spend a lot of time and effort studying the database schema and building appropriate queries to extract the names. If I gave you an XML file containing the same data and asked the same question, you could easily look at the file and see what tag is used for the customer names, then use whatever tools you like to extract the data - "grep", for example!
On a related note, I just would like to mention what I learnt in a recent technology seminar presented by Oracle. Oracle no longer is an 'RDBMS' but is now called 'Object relational DBMS'. The new version 8i has tons of new features that support XML. You can slap in an XML document into a database column and then query for parts of the document along with the SQL. Something like - select emp_name, dept from employee where emp_id in ( 1,2,3,4,5 ) and emp_resume CONTAINS (Java, Oracle ) -- here emp_resume is an XML column that contains an XML document.
The other features include returning a resultset as an XML, being able to use an XML-Schema or a DTD to create new tables and XSQL - XML document that has embeded SQLs! Isn't this really cool??
Open Group Certified Distinguished IT Architect. Open Group Certified Master IT Architect. Sun Certified Architect (SCEA).
Hi Ajith, The new features you describe do sound really good. However, I'm wondering about Oracle's case for being "Object-Relational". I first came across the term when I was using Illustra (which was later acquired by Informix for use in their Universal-Server). These databases allow you to : - create your own types and functions, - Inherit new types and tables from existing ones, and - Use polymorphism in your SELECT statements I'd be interested in learning if Oracle have added features to their core engine to do all this. Please don't get me wrong - I'm not out to start a "my DB is better than your DB" war (I'm actually stuck using Ingres at present, which is way behind both!), and I know we're wandering off-topic. However, you've heard the latest from the horses mouth, and it would be very interesting to hear your impressions. Cheers, Rob