Almacenamiento de documentos XML



Documentos relacionados
Bases de Datos Multimedia

Consultas con combinaciones

BASES DE DATOS TEMA 1

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

- Bases de Datos - - Diseño Físico - Luis D. García

XUpdate para el acceso a bases de datos XML nativas.

Ventajas, Características y Aplicaciones de los SGBD Distribuidos.

Tema 11 Bases de datos. Fundamentos de Informática

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

Introducción a los sistemas de bases de datos

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa.

GENERALIDADES DE BASES DE DATOS

Bases de Datos 3º Informática de Sistemas

UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS

BASES DE DATOS OFIMÁTICAS

INTRODUCCIÓN A LAS BASES DE DATOS

BASE DE DATOS: ENFOQUE ORIENTADO A OBJETOS. Dámaso López Aragón

Microsoft SQL Server Conceptos.

4. Base de datos XML nativa: Marklogic

DISEÑO E IMPLEMENTACIÓN DE UNA BASE DE DATOS PARA LA ONG ASEM

Bases de datos relacionales y el modelo entidad-relación

Base de datos relacional

PROGRAMA FORMATIVO MICROSOFT ACCESS 2007 (COMPLETO)

Introducción. Componentes de un SI. Sistema de Información:

Estructura de Bases de datos. Leonardo Víquez Acuña

SQL/XML. Ing. Hernández López Augusto Dobeslao

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

Almacenar y acceder a Información universitaria. Almacenar y acceder información de tipo de imágenes u otros formatos.

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

Bases de Datos. Sistemas de Gestión de Bases de Datos

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

Microsoft SQL Server 2005

Las mejores prácticas

BASES DE DATOS - SQL. Javier Enciso

Capítulo 12: Indexación y asociación

Bases de Datos en Visual FoxPro. Administrador de proyectos

Diseño y Admón. de Bases de Datos. Ingeniería Informática curso 2010/11

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD)

APLICACIONES INFORMÁTICAS de BASE de DATOS

3.3.3 Tecnologías Mercados Datos

1.1.- Objetivos de los sistemas de bases de datos Administración de los datos y administración de bases de datos Niveles de Arquitectura

Comparación entre Active Reports, Crystal Reports, y MS Reporting Services

Microsoft XML Core Services MSXML

Unidad 9:GESTIÓN Y ALMACENAMIENTO DE LA INFORMACIÓN EN FORMATOS XML

PROGRAMA FORMATIVO MICROSOFT ACCESS 2003 (COMPLETO)

Microsoft Access 2010 (Completo)

Ministerio de Educación Base de datos en la Enseñanza. Glosario

Introducción a los Sistemas de Gestión de Bases de Datos

Aplicaciones de las vistas Concepto de vista Vistas en SQL Vistas en SQL.

BASE DE DATOS RELACIONALES

Tema 5: Integración de Datos Distribuidos

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS

Base de Datos Base de Datos Relacional DBMS Elementos de una Base de Datos Relación de datos Objetos de una Base de Datos en Access

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.

ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS

Alumna: Adriana Elizabeth Mendoza Martínez. Grupo: 303. P.S.P. Miriam De La Rosa Díaz. Carrera: PTB. en Informática 3er Semestre.

BASES DE DATOS MIS 308

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

1 Introducción a XML

Práctica 4 Manejo avanzado de Bison

Gestion de archivos. Problemas al almacenar datos sólo en la memoria:

Topicos Avanzados de Bases de Datos en la Web

Sistemas de Información II Tema 1. El enfoque de bases de datos

Listados y Etiquetas personalizados de PrefGest WhitePaper Julio 2008

Definición de XQuery.

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Curso PHP Advanced and Ajax

[CASI v.0110] Pág. 1

Unidad 3. NORMALIZACIÓN.

Estructura de una BD Oracle. datafiles redo log controlfiles tablespace objetos Estructura lógica. Tablespaces tablespace SYSTEM

Curso Online de Microsoft

Conexión ODBC Visual Basic - MSQL. Cristian Vidal Silva

Introducción a la Recuperación de Información. UCR ECCI CI-2414 Recuperación de Información Prof. M.Sc. Kryscia Daviana Ramírez Benavides

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER

Asignación de Procesadores

BASE DE DATOS UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II. Comenzar presentación

Roberto Gómez Cárdenas Qué es DOM?

CONSULTAS MULTITABLAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

II. Relación con Terceros

Bases de Datos XPath - XQuery 1. XML: XPath - XQuery. Jorge Pérez Rojas Universidad de Talca, II Semestre 2006

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

Operación Microsoft Access 97

1. DML. Las subconsultas

TEMA 2.- EL SISTEMA GESTOR DE BASES DE DATOS.

Guía de Laboratorio Base de Datos I.

ADMINISTRACIÓN DE BASE DE DATOS

FUNDAMENTOS DE BASES DE DATOS TEMA 2

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 11: Reconocimiento de la unidad 3

Unidad I: Sistemas Gestores de Bases de Datos. 1.1 Objetivo de las Bases de Datos

MINISTERIO DE EDUCACIÓN DIRECCIÓN DE EDUCACIÓN TÉCNICA Y PROFESIONAL PROGRAMA DE LA ASIGNATURA BASE DE DATOS ESPECIALIDAD INFORMÁTICA.

Repaso de Conceptos Básicos de Bases de Datos

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R

OPTIMIZACIÓN DE CONSULTAS EN SQL. Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas

Transcripción:

Almacenamiento de documentos XML María José Aramburu 1 Datos versus documentos (i) Datos etiquetados en XML: Estructura regular. El orden de los elementos no es importante. El concepto de dato se refiere a un elemento simple, de cierto tipo de datos, y sin contenido mixto. Pueden manipularse con un SGBD tradicional con extensiones para XML. 2

Datos versus documentos (ii) Documentos estructurados con XML: Estructura irregular. El orden de los elementos es importante. El concepto de dato se refiere a un elemento complejo y a menudo con contenido mixto. Se manipulan mejor en un sistema nativo para gestión de contenidos XML. 3 XML = Documentos semi-estructurados Solo hay un tipo de datos: texto. Estructura definida en el propio documento. Estructura jerárquica con varios niveles de anidamiento. Componentes opcionales, y repetitivas. El orden de los elementos es significativo. Pueden haber documentos XML no asociados a ningún DTD. Ausencia de esquema previo. 4

Requerimientos de una BD XML La estructura específica de cada documento debe ser preservada. Debe ser posible recuperar porciones de documentos. Puede no haber un esquema previo. El lenguaje de consulta debe soportar trayectorias, y condiciones sobre el contenido textual de los documentos. 5 Almacenamiento de datos XML en BD Las BD requieren un esquema predefinido. Para insertar datos XML se debe trasladar su estructura al esquema de la BD. XSLT permite modificar la estructura de los datos. El orden de los elementos se pierden. Los datos recuperados suelen tener una organización diferente a la de su inserción. 6

Almacenamiento de datos en tablas (i) Los documentos XML se modelan como una o varias tablas. Solo sirve para datos XML con una estructura tabular. Es útil como formato estándar de transmisión de datos entre BD Relacionales. 7 Almacenamiento de datos en tablas (ii) La estructura del documento XML será: <database> <table> <row> <column1>...</column1> <column2>...</column2>... </row> <row>... </row>... </table> <table>... </table>... </database> 8

Almacenamiento objeto-relacional Los datos se modelan como un árbol de objetos con referencias. Cada tipo de elemento complejo es una clase de objetos. Cada tipo de elemento simple es una propiedad de objetos. Al final todo se almacena en tablas. 9 Recuperación con plantillas (i) <?xml version="1.0"?> <FlightInfo> <Introduction>The following flights have available seats:</introduction> <SelectStmt>SELECT Airline, FltNumber, Depart, Arrive FROM Flights</SelectStmt> <Flight> <Airline>$Airline</Airline> <FltNumber>$FltNumber</FltNumber> <Depart>$Depart</Depart> <Arrive>$Arrive</Arrive> </Flight> <Conclusion>We hope one of these meets your needs</conclusion> </FlightInfo> 10

Recuperación con plantillas (ii) <?xml version="1.0"?> <FlightInfo> <Introduction>The following flights have available seats:</introduction> <Flights> <Flight> <Airline>ACME</Airline> <FltNumber>123</FltNumber> <Depart>Dec 12, 1998 13:43</Depart> <Arrive>Dec 13, 1998 01:21</Arrive> </Flight>... </Flights> <Conclusion>We hope one of these meets your needs.</conclusion> </FlightInfo> 11 Lenguajes basados en SQL (SQL/XML) SQL/XML extiende SQL para construir elementos XML devueltos en una columna del resultado. SELECT XMLElement("Order", XMLAttributes(SONumber), XMLElement("Date", Date), XMLElement("Customer", Customer)) AS xmldocument FROM Orders WHERE SONumber="123" <Order SONumber="123"> <Date>10/29/02</Date> <Customer>Gallagher Industries</Customer> </Order> 12

XQuery y XPath Los dos lenguajes de consulta XML se pueden utilizar en ambas aproximaciones. XPath sólo soporta trayectorias, no joins, por lo que sobre tablas solo puede consultar una tabla de cada vez. XQuery si soporta joins. 13 Almacenamiento de datos XML en BD Nativas Estructuras irregulares producen demasiadas tablas y demasiados nulos. Las BD Nativas son más rápidas, suelen basarse en puntaros físicos. Son eficientes si los datos siempre se acceden de la misma forma. Sólo generan datos XML. 14

DTD Esquema Relacional 1. Para cada elemento complejo crea una tabla y una clave primaria. 2. Cada elemento con contenido mixto (PCDATA) se asocia a una tabla con una clave externa. 3. Para cada elemento simple crear una columna en la tabla, y si es opcional con nulos. 4. Para cada elemento simple repetitivo crear una tabla separada con una clave externa. 5. Para cada elemento complejo que sea hijo crea una tabla, una clave primaria y una clave externa. 15 DTD Esquema Relacional 1. Para cada tabla crea un tipo de elemento. 2. Para cada columna añade un elemento con PCDATA. 3. Para cada tabla cuya clave primaria es utilizada como clave externa añade un elemento hijo y procesa recursivamente. 4. Para cada clave externa añade un elemento hijo y procesa recursivamente. 16

Almacenamiento de documentos XML Hay tres opciones: Sistema de ficheros: muy simple BLOB s de las bases de datos relacionales: Permite aplicar herramientas de indexar texto. Creación de tablas ad-hoc que indexan tablas que almacenan BLOB s Bases de datos nativas. 17 Bases de datos nativas Son BD cuyo modelo de almacenamiento es el del documento XML. Soportan orden de elementos, comentarios, secciones CDATA. Proporcionan lenguajes de consulta XML. Permiten almacenar documentos que no tienen un DTD. 18

BD nativas basadas en texto Los ficheros XML se almacenan como texto indexado: sin fragmentar. Los índices permiten acceder rápidamente a cualquier posición del documento. A partir de ahí se recupera la porción del documento que se quiera sin tener que desplazarse por el disco. La eficiencia se pierde al acceder en otro orden. 19 BD nativas basadas en un modelo Cada sistema tiene su propio modelo de almacenamiento interno. Si su modelo se basa en una BD relacional, u OO, su eficiencia es similar a la de estas BD s. Si tienen su propio modelo de almacenamiento la eficiencia suele ser buena ya que la mayoría usan punteros físicos entre los nodos que representan al documento. La eficiencia se pierde al acceder en otro orden. 20

Características de las BD nativas (i) Colecciones de documentos anidadas. XPath, XQuery, los propios: Soportan consultas textuales, y condiciones sobre elementos anidados. Actualizaciones: XUpdate. Transacciones (rollbacks), bloqueos a nivel de documentos, nivel de concurrencia bajo. Interfaz parecido a ODBC, otros API estándar. 21 Características de las BD nativas (ii) Datos devueltos en XML, DOM, HTTP,... Los documentos devueltos son idénticos a los originales. Los documentos pueden incluir datos remotos y modificables. Las entidades externas pueden ser expandidas opcionalmente. 22

Características de las BD nativas (iii) Las normalización no es un requerimiento. Integridad referencial interna se puede validar si se implementa con ID/IDREF. Integridad referencial externa (XLink) no es validada por los sistemas nativos. La utilización de índices y punteros físicos las hace escalables, aunque en exceso retrasa las actualizaciones. 23