|
[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message] SQL Server 2005Frank Cohen fcohen at rainingdata.comSat Jan 21 20:08:59 PST 2006
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! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|






