En relation avec une discussion commencée au this question, j'ai décidé de le mettre comme une question wiki communautaire.Quels sont les problèmes courants entourant le stockage des données XML dans une base de données relationnelle?
La racine de la question est, par conséquent, est-il approprié de stocker des données XML dans une base de données relationnelle? Existe-t-il généralement de meilleurs moyens de mettre en œuvre le même objectif? Quels moteurs de base de données fournissent un bon support pour les types de données XML (tels que SQL Server), et quels sont les problèmes entourant ce que l'on appelle les «index XML»?
Autrefois, le XML dans un SGBDR était opaque et non interrogeable. Cela a été de moins en moins le cas au cours de la dernière décennie. –
@Steven Sudit: excusez mon ignorance, mais comment un RDBMS sait-il même que c'est du XML? C'est juste un tas d'octets. Pourquoi un simple texte ASCII serait-il possible de faire une recherche, mais un simple texte ASCII qui ressemblerait à XML ne serait pas consultable? –
@Brian: La colonne est explicitement déclarée en tant que type 'xml', par opposition à' nvarchar (max) ', et peut même être associée à un schéma. (Ceci est pour MS SQL Server 2008, mais d'autres bases de données ont des fonctionnalités similaires.Pour un aperçu de ce produit, voir http://www.microsoft.com/sqlserver/2008/en/us/wp-sql-2008-whats- new-xml.aspx) –