El tipo de datos XML es un tipo nativo en SQL Server
similar a otros tipos incorporados como INT o VARCHAR. Al igual que los otros
tipos incorporados, se puede utilizar el tipo XML como un tipo de columna al
crear una tabla, como un tipo de variable, un tipo de parámetro, un tipo de
valor devuelto de función. XML es ciudadano de primera clase en el sistema de
tipos de SQL Server.
Por ejemplo, podemos crear una tabla con una columna
XML de la siguiente manera:
create table
Clientes (idcliente int primary key, datoscliente xml);
XQuery es un lenguaje que permite realizar consultas
en datos XML estructurados o semiestructurados. Para realizar una consulta en
una instancia XML se usan los métodos del tipo de datos XML: query(), value(),
exist(), entre otros. Por ejemplo, podemos declarar una variable de XML y
consultarla mediante el método query():
declare @x xml;
set @x = '<root><clientenro>111</clientenro></root>';
select @x.query('/root/clientenro');
Los índices XML permiten indizar columnas de tipo XML.
Hay dos tipos de índices XML: el índice primario o principal y el índice
secundario. El primer índice de la columna debe ser el índice XML principal.
Dependiendo del tipo de consulta, los índices secundarios pueden contribuir a
mejorar el rendimiento. A su vez, con el índice XML principal, se admiten tres
tipos de índices secundarios. Entre ellos, se incluyen PATH, VALUE y PROPERTY:
•Indice de tipo PATH. Beneficia a las consultas XQuery
que buscan en base a caminos de elementos en el documento XML. Ejemplo: /hq/
•Indice de tipo VALUE. Beneficia a las consultas
XQuery que buscan valores en los elementos XML. Ejemplo:
/hq/customerAddress/@*[. = "Avenida Principal"]
•Indice de tipo PROPERTY. Beneficia a las consultas
XQuery que buscan valores en las propiedades XML.
Por ejemplo, podemos crear un índice XML de esta
manera:
create primary index ClientesPIx on Clientes (datoscliente);
Para conocer todos los detalles de la implementación
de XML en SQL Server 2005 y versiones superiores recomiendo utilizar los Libros
en Pantalla del producto, que pueden descargarse en forma autónoma en el sitio
de Microsoft (no se requiere instalar el programa SQL Server). Dejo los
enlaces:
XML:
http://msdn.microsoft.com/en-us/library/ms345117%28v=sql.90%29.aspx
http://msdn.microsoft.com/en-us/magazine/cc163782.aspx
http://msdn.microsoft.com/es-es/library/ms189887.aspx
XQuery:
http://msdn.microsoft.com/en-us/library/ms189075.aspx
http://msdn.microsoft.com/en-us/library/ms189254.aspx
Apunte y recopilación por Norman M. Pardell
Puedes consultarme, si deseas cualquier aclaración, pregunta o sugerencia en: Contacto, contestaré tan pronto como me sea posible.