Diapositiva%201 - PowerPoint PPT Presentation

About This Presentation
Title:

Diapositiva%201

Description:

Est ndar para el intercambio de datos entre aplicaciones en Internet ... El valor de este atributo consiste de pares de las URL Namespace y las URL del Schema. ... – PowerPoint PPT presentation

Number of Views:34
Avg rating:3.0/5.0
Slides: 34
Provided by: hpFcienc
Category:

less

Transcript and Presenter's Notes

Title: Diapositiva%201


1
Mapeo de Estructuras XML a Bases de Datos
Relacionales
Rosa Isela López Aguilar
Septiembre 2008
2
XML
Estándar para el intercambio de datos entre
aplicaciones en Internet independientemente del
formato de almacenamiento de los mismos.
3
Bases de Datos Relacionales
Se basan en las relaciones (tablas
bidimensionales) como único medio para
representar los datos del mundo real
4
Transferencia de Información XML y BDR
  • Se han creado complejas teorías y patrones para
    encajar objetos o estructuras jerarquizadas en
    bases de datos relacionales.
  • Existen numerosos middlewares encargados de la
    transferencia de información entre estructuras
    XML y bases de datos relacionales.

Middleware es un software de conectividad que
ofrece un conjunto de servicios que hacen posible
el funcionamiento de aplicaciones distribuidas
sobre plataformas heterogéneas.
5
Algunos Middleware Existentes
6
Mapeo Basado en Tablas (1)?
Es usado por muchos productos intermedios que
transfieren datos entre un documento XML y una
base de datos relacional. La estructura de un
documento XML debe ser como sigue, donde el
elemento ltdatabasegt y los elementos adicionales
lttablegt.
7
ltdatabasegt lttablegt ltrowgt
ltcolumn1gt...lt/column1gt
ltcolumn2gt...lt/column2gt ...
lt/rowgt ltrowgt ...
lt/rowgt ... lt/tablegt lttablegt
... lt/tablegt ...
lt/databasegt
8
Schemas XML in Oracle XML DB (1)?
Existen muchos beneficios para almacenar un
Schema XML en un sistema de base de datos,
incluyendo una mejor forma de hacer las
consultas, actualizaciones optimizadas y
validaciones más robustas. Sin embargo el
problema fundamental es Cómo pueden los Schemas
XML ser mapeados a bases de datos relacionales,
sin perder la semántica del schema o la fidelidad
de los datos?

9
Schemas XML in Oracle XML DB (2)?
Hablando de fidelidad de almacenamiento para XML
por ejemplo El orden de los elementos es
relevante en muchas aplicaciones, sin embargo el
orden de los elementos en un documento XML quizá
no sea restringido por la declaración, usando
ltallgt dentro del esquema permite a los elementos
aparecer en distinto orden. En un simple mapeo
del XML a una BDR, como muchos de estos elementos
serán sumergidos en un solo registro de una
tabla, el orden de estos elementos no es
rastreado.
10
Comparación de un Schema XML y SQL99
11
Schemas XML in Oracle XML DB (3)?
Un Schema XML con atributos adicionales definidos
por Oracle XML DB es usado para describir el
almacenamiento mapeado, representaciones en
memoria y el lenguaje que vincula los documentos
XML que conforman al Schema. El proceso de
compilación del Schema XML crea la estructura
correspondiente de almacenamiento
objeto-relacional. A continuación se presenta un
ejemplo del mapeo de un Schema XML
12
(No Transcript)
13
La siguiente tabla muestra la estructura de
almacenamientos creada por default en Oracle
14
Schemas XML in Oracle XML DB (4)?
El objeto de tipo Item_T, es creado de acuerdo
al Item (local) complexType. Un tipo colección
(varray) Item_COLL es creado porque hay más de
una ocurrencia del Item. El tipo de objeto
PurchaseOrderType_T corresponde al
PurchaseOrder (local) complexType. Los tipos
simples referenciados son mapeados a los tipos de
datos apropiados del SQL, por ejemplo los tipos
primitivos del Schema XML string, decimal y date
son mapeados a tipos SQL VARCHAR2, NUMBER y DATE
respectivamente.
15
Schemas XML in Oracle XML DB (5)?
Las restricciones especificadas en el Schema XML,
tal como la longitud máxima de un elemento de
tipo cadena, son preservadas en la definición de
atributos SQL. Por ejemplo Company es definida
como un atributo de tipo VARCHAR2 con una
longitud máxima de 100 carácteres. Se crea una
tabla SQL types para crear las columnas
apropiadas de la tabla.
16
Schemas XML in Oracle XML DB (6)?
17
Schemas XML in Oracle XML DB (6)?
Además una segunda tabla es creada para mantener
las colecciones de los Items. Un foreing Key es
usado para asociar los registros de Items con su
correspondiente registro padre en
PurchaseOrder.
18
Schemas XML in Oracle XML DB (7)?
Cuando un documento XML es insertado dentro de
una tabla XMLType, éste es cortado y los valores
son insertados dentro de las columnas. En el caso
de las colecciones se almacenan en tablas
separadas, de tal forma que uno o más registros
se insertan dentro de las tablas anidadas. La
tabla siguiente muestra la instancia de un
documento con sus valores en un nivel superior,
así como las tablas anidadas.
19
(No Transcript)
20
(No Transcript)
21
Validación de Schemas XML (1)?
  • El Schema XML es usado para dos cosas
  • Forzar las restricciones del schema.
  • La fuente que describe como las instancias de
    los documentos XML serán almacenados en la BD's.
  • Cuando la instancia del documento es insertada
    dentro de una tabla conforme al Schema, la
    instancia es validada contra éste. Además el
    mapeo de la información en el Schema XML es usado
    para cortar el documento y almacenar este en las
    tablas apropiadas.

22
Validación de Schemas XML (2)?
Cuando un Schema XML es registrado en Oracle, se
da un nombre. La instancia del documento se
refiere a su Schema XML usando el atributo
xsiSchemaLocation. El valor de este atributo
consiste de pares de las URL Namespace y las URL
del Schema. La URL del Schema corresponde al
namespace del elemento raíz que identifica el
Schema XML que es usado para validación y para
efectos de cortar el documento.
23
Almacenamiento de colecciones (1)?
Cuando el XML es almacenado en un formato
estructurado, todos los elementos simples y los
atributos aparecen como hijos directos del
elemento raíz y son almacenados como columnas en
el elemento raíz. Los elementos complejos y
atributos anidados que pueden ocurrir una vez
(max_Occurs1) son también almacenados como
columnas en el registro raíz.
24
Almacenamiento de colecciones (2)?
Una opción de almacenamiento es almacenar la
colección entera en una columna. La otra es
almacenar colecciones en una tabla separada
anidada la cual contenga un registro por Item de
la colección. Los registros de la tabla anidada
contienen la llave del registro padre. Además los
usuarios pueden especificar si necesitan que el
orden de los elementos sea preservado. En caso de
que sea así se le agrega una columna llamada
array_index a la tabla anidada. Esta columna de
tipo NUMBER mantiene el orden original de los
elementos dentro de la colección.
25
Almacenamiento de colecciones (1)?
La primera opción antes mencionada es buena por
cuestiones de inserciones. Sin embargo, la
segunda da mayores beneficios porque puedes crear
indices en las tablas anidadas para satisfacer
las consultas de la colección de Items. Además
cuando deseas actualizar la colección esta puede
ser ejecutada sin tener que reescribir la
colección entera con la nueva colección.
26
Fidelidad en DOM (1)?
  • En general, cualquier técnica que involucre
    cortar un documento XML para almacenarlo en una
    BDR pierde la fidelidad del documento en
  • Espacios en blanco entre los elementos y
    atributos.
  • El orden de los elementos.
  • Comentarios dentro del documento XML.
  • Procesamiento de instrucciones.
  • Declaraciones de Namespaces
  • XML DB de Oracle suporta la fidelidad del
    documento con respecto a su DOM (Document Object
    Model).

27
Fidelidad en DOM (2)?
  • Para asegurar la fidelidad en DOM se agrega un
    atributo binario SYS_XDBPD, para cada objeto
    creado. Este atributo almacena (en un formato en
    código binario) todas las piezas de información
    que no pueden ser almacenadas en cualquiera de
    los otros atributos. La información codificada
    es
  • El orden de los elementos
  • Comentarios
  • Instrucciones de procesamiento
  • Declaraciones de Namespaces
  • Contenido mixto-nodos texto que son
    entremezclados con elementos.

28
Schemas XML Complejos? (1)?
  • Definiciones Cíclicas
  • Un tipo complejo puede ser definido directa o
    indirectamente en términos de si mismo.
  • Tales definiciones cíclicas, donde un elemento
    puede contener una referencia hacia atrás a si
    mismo, son soportadas por XML DB, introduciendo
    un atributo REF (referencia) en el punto donde se
    completa el circulo. El valor REF apunta a
    fragmentos XML los cuales son almacenados en el
    mismo o en diferentes documentos.

29
(No Transcript)
30
Schemas XML Complejos? (2)?
  • Derivaciones complexType Extensión y
    Restricción.
  • Un complexType puede ser declarado como
    derivación de otro complexType Global. El
    complexType derivado es mapeado como un subtipo
    del tipo de objeto correspondiente al complexType
    padre. En caso de derivación por extensión, el
    subtipo tiene atributos extra correspondientes a
    los nuevos elementos y atributos agregados en el
    complexType derivado. En caso de la derivación
    por restricción, el subtipo esta vacío y las
    restricciones son forzadas durante la validación
    del Schema.

31
(No Transcript)
32
(No Transcript)
33
Gracias!
Write a Comment
User Comments (0)
About PowerShow.com