Mapeo de Estructuras XML a Bases de Datos Relacionales

Slides:



Advertisements
Presentaciones similares
Diccionario de Datos (DD)
Advertisements

Las aplicaciones requieren datos persistentes
integridad referencial
Rocío Contreras Águila Primer Semestre 2010
BASE DE DATOS OBJETO RELACIONAL
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
Servicios Web.
DOM ( Document Object Model) Prof. Franklin Cedeño.
MODELO RELACIONAL.
SQL Server Integration Services SSIS
Modelo de Datos Unidad II.
¿QUÉ SON LAS BASES DE DATOS?
INTELIGENCIA ARTIFICIAL
Julio Pacheco SQL SERVER 2005 XML APRENDIENDO CON EJEMPLOS.
Traducción dirigida por la Sintaxis
Teoría de lenguajes y compiladores
Oracle, orientado a objetos
UNIDAD II Modelo de Datos.
Sindy Carolina Asprilla
Tema 4: Estructura de documentos XML, W3C Esquemas
Bases de Datos.
TRADUCTOR DE UN PROGRAMA
Bases de Datos Relacionales
Como empezar en Access 2000 Abrir Access 2000 Pulsamos INICIO
BASE DE DATOS I Clase # 1.
Matrices Es una estructura homogénea, compuesta por varios elementos, todos del mismo tipo y almacenados consecutivamente en memoria A cada elemento se.
Espacios de nombres de XML (Namespaces)
XML DEFINICIÓN DE ESQUEMAS
Título Características y elementos fundamentales J.M. Morales-del-Castillo.
Características y elementos fundamentales J.M. Morales-del-Castillo
Definition Type Document (DTD)
David Velázquez Portilla.  Se basan en las relaciones (tablas bidimensionales) como único medio para representar los datos del mundo real.  Lenguaje.
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
Clase 10: Estructuras de datos y arreglos.
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
BASE DE DATOS BY: Julián Villar Vázquez.
Bases de Datos Modelamiento.
(Organización y Manejo de Archivos)
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO MODULO IV ADMINISTRACIÓN DE BASES DE DATOS Administración del DBMS E.I. L.E. Prof. Ramón Castro Liceaga SEMINARIO.
Laboratorio de Bases de datos
Colegio de Bachilleres Plantel 13 Xochimilco-Tepepan Integrantes: Karen Elizabeth González Monroy Elizabeth De Jesús Vergara Grupo:308.
XQuery. 2 Introducción De acuerdo al incremento en la cantidad de información que es almacenada, intercambiada y presentada usando XML, la habilidad para.
Base de Datos con Visual Basic
Programación en C para electrónicos
DDL Unidad 2. Lenguaje estándar SQL El SQL es un lenguaje estándar de definición y manipulación (y consulta) de bases de datos relacionales. El SQL estándar.
NOMBRES:OLIVARES ALFARO JOSE L. BONETTI ARON GRUPO:308.
APLICACIÓN DE NUEVAS TECNOLOGÍAS EN LA CONSERVACIÓN Y ANÁLISIS DEL PATRIMONIO CULTURAL Pensar Relacionalmente: Bases de Datos Relacionales (una visión.
Restricciones de Integridad
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Términos algoritmo diseñar algoritmo implementar algoritmo
SISTEMA DE BASE DE DATOS Equipo #6 Integrantes :García Hernández Yaneli Tlacomulco Moncada Blanca Edith Carreto Vichique Laura Belén Rosales Titla María.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 0 Introducción.
¿Qué es una Base de datos?
BASES DE DATOS RELACIONALES
Son datos en tablas relacionadas por el contenido de ciertas columnas.
Teoría de lenguajes y compiladores
Modelo Entidad - Relación
Bases de Datos Modelo Relacional.

Acceso a Datos Erick López Ovando Licenciado en Informática.
GML Geography Markup Language
 Una base de datos es una colección de información organizada de forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de datos.
Diccionario/Directorio de Datos
BASES DE DATOS CONCEPTOS BASICOS Elizabeth Maite Zarate Machaca “El tratamiento eficiente de la información al servicio del usuario”
ACCESO A DATOS EN ASP.NET Controles de origen de datos Controles enlazados a datos.
 Modelo de Datos MD  Conjunto de conceptos que permiten describir, a distintos niveles de abstracción, la estructura de una B.D. Que llamaremos ESQUEMA.
Una base de datos o banco de datos un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este.
Verificación y Validación del Software
Equipo de Profesores del Curso. Funciones de Texto.
Fundamentos de Bases de Datos
Transcripción de la presentación:

Mapeo de Estructuras XML a Bases de Datos Relacionales Rosa Isela López Aguilar Septiembre 2008

XML Estándar para el intercambio de datos entre aplicaciones en Internet independientemente del formato de almacenamiento de los mismos.

Bases de Datos Relacionales Se basan en las relaciones (tablas bidimensionales) como único medio para representar los datos del mundo real

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.

Algunos Middleware Existentes

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 <database> y los elementos adicionales <table>.

<database> <table> <row> <column1>...</column1> <column2>...</column2> ... </row> </table> </database>

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?   

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 <all> 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.

Comparación de un Schema XML y SQL99

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:

La siguiente tabla muestra la estructura de almacenamientos creada por default en Oracle:

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.

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.

Schemas XML in Oracle XML DB (6)‏

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”.

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.

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.

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 xsi:SchemaLocation. 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.

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_Occurs=1) son también almacenados como columnas en el registro raíz.

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.

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.

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).

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.

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.

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.

¡Gracias!