Ingeniero

Páginas: 13 (3005 palabras) Publicado: 3 de octubre de 2012
SQL/XML

Marta Zorrilla
Universidad de Cantabria

1

¿SGBDR y XML ?
Principales ventajas:
› Intercambio flexible de datos relacionales utilizando XML
Publicar datos relacionales como XML
Descomponer XML en datos relacionales

› Fiabilidad en la gestión de datos XML
Manipulación, búsqueda, almacenamiento,..
Integración con datos relacionales

Existen BDXML nativas, pero no hayinterés por los clientes:
› No quieren introducir nuevos gestores en la organización
› Integración limitada con los productos relacionales
› Falta de madurez (escalabilidad, fiabilidad, rendimiento,..)
2

SGBDR y XML
Un fichero XML podría almacenarse en un
SGBDR directamente en un campo LOB,
varchar o descompuesto en tablas pero esto no
es eficiente y además es complejo de
mantener
Portanto, se requiere incorporar el tipo de dato
nativo XML en los gestores
Esta es la alternativa que se está llevando a
cabo por la mayoría de gestores (Oracle, SQL
Server, DB2,…)
3

Tipo de dato XML
Permite almacenar datos XML de forma nativa
en la BD
Puede ser optimizado (representación interna
diferente a la cadena de caracteres)
Puede almacenar:
› Documentos XML bien formados(sólo un nodo raíz)
› Contenido XML (elementos, secuencia de elementos,
texto,…)
› Se basa en XQuery. El valor de un tipo de dato XML es
una instancia del modelo de datos XQuery.

4

Modelo de datos XML
No hay un modelo de datos XML uniforme
› XML information set, DOM, Xpath 1.0 DM, Xquery DM
Denominador común: un documento XML se modela como
un árbol con nodos de diferente tipo.
›Document, element, attribute, text, namespace, comment,
processing instruction

XQuery data model construye un árbol pero lo extiende
para soportar:
› Secuencias de ítems ( nodos de diferentes tipos e instancias
de tipos simples de Schemas XML )
› Los ítems pueden ser de valores heterogéneos, están
ordenados y pueden estar vacíos.
› Los nodos está tipados como consecuencia de la
validación deun schema

5

Ejemplo

6

Tabla con una columna XML

7

Tipo de dato XML - modificadores
Los valores permitidos son:
› XML(SEQUENCE)
Instancia de Xquery data model

› XML(CONTENT)
Xquery document node.
Más flexible que los documentos bien formados
Permite que el documento tenga varios elementos hijo (es decir, no
un sólo nodo raíz)

› XML(DOCUMENT)
Documento con un solonodo raíz

Modificadores para CONTENT y DOCUMENT
› UNTYPED
Nodos elemento y atributo no tienen anotaciones de tipo

› XMLSCHEMA
Nodos válidos de acuerdo a un schema registrado
XML(DOCUMENT(XMLSCHEMA < XML válido de acuerdo a>)

8

SQL/XML: Func. del estándar
Funciones del tipo de dato XML:














XMLPARSE
XMLSERIALIZE
XMLCAST
XMLVALIDATEXMLELEMENT
XMLATTRIBUTES
XMLNAMESPACE
XMLFOREST
XMLCONCAT
XMLAGG
XMLPI
XMLCOMMENT
XMLROOT

9

XMLParse y XMLSerialize
XMLParse: Convierte una cadena de caracteres que
contiene datos XML en un valor (instancia) de tipo XML
XMLSerialize: Obtiene una representación en string o LOB
de un dato de tipo XML

10

XMLCast
XMLCAST da soporte a conversiones que requieren valores XML,incluidas las conversiones entre los tipos de datos que no son XML
y el tipo de datos XML.
Ej.:
› Crear un valor XML nulo:
XMLCAST(NULL AS XML)
› Convertir un valor extraído de una subconsulta escalar SQL en un
valor XML.
XMLCAST((SELECT quantity FROM product AS p
WHERE p.id = 1077) AS XML)
› Convertir un valor extraído de una expresión XMLQUERY en un
INTEGERXMLCAST(XMLQUERY('$m/PRODUCT/QUANTITY' PASSING BY REF xmlcol
11
AS "m" RETURNING SEQUENCE) AS INTEGER)

XMLValidate
El schema XML debe estar registrado en la BD
(el estándar no dice cómo, se deja a los
gestores su implementación).
› EL Schema registrado puede ser referido con el
identificador ID o una URI

XMLValidate asegura que el valor XML es válido
respecto al schema
Ej.:
INSERT INTO T1(XMLCOL) VALUES
(...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS