[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message]

SQL Server 2005

Frank Cohen fcohen at rainingdata.com
Sat Jan 21 20:08:59 PST 2006


inurl 001083.html
Hi Peter: Thanks for the reply and the product plug. :-)

See below for some thoughts.

-Frank




On Jan 21, 2006, at 1:34 PM, Peter Coppens wrote:

> Frank,
>
> Thanks for the interesting pointers....
>
> Concerning
>
> "After the most basic of examples this begins to look to me like a  
> bunch
> of non-standard messy commands to work with XML data. This didn't do
> much to move me from an opinion that XQuery and native XML  
> databases are
> best for working with XML. Leave the relational stuff for everything
> that is not XML."
> (http://www.xquerynow.com/cohensxblog/sql2005.html)
>
> Reality is that there are lots of relational databases containing lots
> of critical business information. Sooner or later the need for some  
> type
> of integration with XML data might pop up. Should that be the  
> trigger to
> throw away the relational database and a substantial part of the
> application code and start from scratch, or start deploying a second
> database technology next to the well known RDBMS? I am sure you will
> agree that these are not realistic scenarios.

99% of the data is stored in relational databases at the customers I  
work with. I don't see the need to switch off relational to anything  
else. They already did the hard work of normalizing a database and  
writing code to shred incoming data from XML-based Web Services or  
HTML Form submits.

Where I have a problem is with complex XML documents like those  
created using UBL for ebXML solutions. When a service or application  
receives an XML document containing hundreds-to-thousands of  
elements, lots of nesting, and many different schema versions then I  
think its time to look at adding an XML database to the datacenter.

>
> The for xml (explicit) SQL extension introduced in SQLServer 2000 is
> certainly not the most user friendly way to deal with the problem, but
> it is a pragmatic one, and it worked...although it is pretty expensive
> in terms of development time and time to cope with changes. Michael  
> Rys,
> Microsoft's programmer manager for this type of technology refers  
> to it
> as the query from hell
> (http://sqljunkies.com/weblog/mrys/archive/2004/01/27/869.aspx).
>

I appreciate Michael's comment when advising developers on working  
with XML. Right on.

> The SQLServer 2005 extensions make developing these types of
> applications a lot simpler, and although and can complain MS continues
> to go the proprietary way, I am sure a lot of MS customers appreciate
> this a lot.
>
> Warning - the product plug part.....
>
> There are standards based solutions available to solve this. See e.g.
> http://www.datadirect.com/products/xquery/index.ssp
>
> E.g. the example query provided in the article you refer to
>
> SELECT c.Name AS '@Name',
>   (SELECT sc.Name AS '@Name'
>   FROM Production.ProductSubCategory sc
>   WHERE sc.ProductCategoryID =
>         c.ProductCategoryID
>   ORDER BY sc.Name
>   FOR XML PATH('SubCategory'), TYPE)
> FROM Production.ProductCategory c
> ORDER BY c.Name
> FOR XML PATH('Category'), ROOT('XML')
>
> Becomes
>
>
> <XML>{
>   for $cat in collection("ProductCategory")/ProductCategory
>   order by $cat/Name
>   return
>     <Category Name='{$cat/Name}'>{
>       for $subcat in collection("ProductSubcategory")/ 
> ProductSubcategory
>       where $cat/ProductCategoryID = $subcat/ProductCategoryID
>       order by $subcat/Name
>       return
>         <SubCategory Name='{$subcat/Name}' />
>     }</Category>
> }</XML>
>
>
> SQL2003 also introduced a set of extensions (SQL/XML) to deal with  
> this
> (see e.g. http://www.datadirect.com/products/sql_xml/index.ssp)
>

Good product plug. Your SELECT statement looks cleaner than using XML  
FOR.

What test methodology do you use to compare performance and  
scalability of the resulting XQuery against the SQL I would write  
natively in MS SQL Server 2005?

-Frank




> Cheers,
>
> Peter
>
>> -----Original Message-----
>> From: http://xquery.com/mailman/listinfo/talk [mailto:http://xquery.com/mailman/listinfo/talk] On
> Behalf
>> Of Frank Cohen
>> Sent: Saturday, January 21, 2006 6:58 PM
>> To: http://xquery.com/mailman/listinfo/talk
>> Subject:  SQL Server 2005
>>
>> Maybe SQL Server 2005 has some new secret sauce for handling XML
>> data. I ran across Jerry Dixon's article in which he talks about the
>> new XML features. Jerry writes from a software developer perspective
>> that seems true: He likes the new XML features but uses them to
>> create XML, not to store XML.
>>
>> I blog about this at:
>>
>> http://www.xquerynow.com/cohensxblog/sql2005.html
>>
>> -Frank
>>
>> ---
>> Frank Cohen, Raining Data, http://www.RainingData.com, phone: 408 236
>> 7604
>> http://www.xquerynow.com for free XML, XQuery and native XML database
>> tips,
>> techniques and solutions.
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> http://xquery.com/mailman/listinfo/talk
>> http://xquery.com/mailman/listinfo/talk
>



PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2007 All Rights Reserved.