MIGRACIN DE BD A XML - PowerPoint PPT Presentation

About This Presentation
Title:

MIGRACIN DE BD A XML

Description:

Por cada tabla en la que la llave primaria (PK) es exportada, a adir un elemento ... Por cada llave for nea (FK), adicionar un elemento hijo a el modelo, y procesar ... – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 28
Provided by: casa121
Category:
Tags: migracin | xml | llave

less

Transcript and Presenter's Notes

Title: MIGRACIN DE BD A XML


1
MIGRACIÓN DE BD A XML
  • David Velázquez Portilla

2
Base de datos relacionales (i)
  • Se basan en las relaciones (tablas
    bidimensionales) como único medio para
    representar los datos del mundo real.
  • Lenguaje estándar SQL.

3
Base de datos relacionales (iI)
  • 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.

4
TransformaciÓn a xml
5
TransformaciÓn a xml Tabla libros
6
Reglas de trasformación relacional - dtd
  • Regla 1
  • Por cada tabla en el esquema de la base de datos
    hay que crear un elemento con el mismo nombre de
    la tabla y la cardinalidad apropiada.

7
Reglas de trasformación relacional - dtd
  • Regla 2
  • Las columnas de la tabla son incluidas en otro
    elemento (sub-elemento del elemento creado en la
    regla anterior), que representa un registro en la
    tabla.

8
Reglas de trasformación relacional - dtd
  • Regla 3
  • Para cada columna en la tabla cuyo tipo de dato
    es simple (char, integer, etc.) crear un
    elemento, sub-elemento del elemento creado en el
    paso anterior, de tipo PCDATA con el mismo
    nombre de la columna.

9
Reglas de trasformación relacional - dtd
  • Regla 4
  • Para cada columna en la tabla cuyo tipo de dato
    es complejo (tipo objeto), crear un elemento
    complejo, sub-elemento del elemento creado en el
    paso 2, con el mismo nombre de la columna. Para
    cada propiedad del tipo objeto crear un elemento
    con el mismo nombre de la propiedad.

10
Reglas de trasformación relacional - dtd
  • Regla 5
  • Para cada columna en la tabla que es una tabla
    anidada, crear un elemento con el mismo nombre de
    esa columna y la cardinalidad apropiada. Repetir
    todos los pasos desde el 2.

11
Reglas de trasformación relacional dtd
resultante
lt!DOCTYPE libros lt!ELEMENT libros
(libro)gt lt!ELEMENT libro (isbn, titulo,
autores, editor, precio, año, revisores)gt lt!ELEME
NT isbn (PCDATA)gt lt!ELEMENT titulo
(PCDATA)gt lt!ELEMENT autores (autor)gt lt!ELEMENT
autor (nombre, apellidos, email)gt lt!ELEMENT
editor (nombre,oficina,homepage) gt lt!ELEMENT
nombre (PCDATA)gt lt!ELEMENT apellidos
(PCDATA)gt lt!ELEMENT email (PCDATA)gt lt!ELEMENT
oficina (PCDATA)gt lt!ELEMENT homepage
(PCDATA)gt lt!ELEMENT precio (PCDATA)gt lt!ELEMENT
año (PCDATA)gt lt!ELEMENT revisores
(revisor)gt lt!ELEMENT revisor (nombre,resultado,c
omentarios)gt lt!ELEMENT nombre (PCDATA)gt lt!ELEME
NT resultado (PCDATA)gt lt!ELEMENT comentario
(PCDATA)gtgt
12
Reglas de trasformación relacional posible xml
resultante
lttitulogt Fundamentos de Bases de Datos lt/titulogt
13
Reglas de trasformación relacional DTD, Ejemplo
(i)
  • Considerando el siguiente esquema de BD
  • Tabla Orders
  • Columna OrderNum
  • Columna Date
  • Columna CustNum
  • Tabla Items
  • Columna OrderNum
  • Columna ItemNum
  • Columna Quantity
  • Columna PartNum
  • Tabla Parts
  • Columna PartNum
  • Columna Price

14
Reglas de trasformación relacional DTD, Ejemplo
(ii)
  • DTD
  • lt!ELEMENT Orders ()gt
  • Tablas
  • Tabla Orders
  • Columna OrderNum
  • Columna Date
  • Columna CustNum
  • Tabla Items
  • Columna OrderNum
  • Columna ItemNum
  • Columna Quantity
  • Columna PartNum
  • Tabla Parts
  • Columna PartNum
  • Columna Price

15
Reglas de trasformación relacional DTD, Ejemplo
(iII)
  • DTD
  • lt!ELEMENT Orders (Date, CustNum)gt
  • lt!ELEMENT Date (PCDATA)gt
  • lt!ELEMENT CustNum (PCDATA)gt
  • Tablas
  • Tabla Orders
  • Columna OrderNum
  • Columna Date
  • Columna CustNum
  • Tabla Items
  • Columna OrderNum
  • Columna ItemNum
  • Columna Quantity
  • Columna PartNum
  • Tabla Parts
  • Columna PartNum
  • Columna Price

16
Reglas de trasformación relacional DTD, Ejemplo
(iV)
  • DTD
  • lt!ELEMENT Orders (Date, CustNum, OrderNum)gt
  • lt!ELEMENT OrderNum (PCDATA)gt
  • lt!ELEMENT Date (PCDATA)gt
  • lt!ELEMENT CustNum (PCDATA)gt
  • Tablas
  • Tabla Orders
  • Columna OrderNum
  • Columna Date
  • Columna CustNum
  • Tabla Items
  • Columna OrderNum
  • Columna ItemNum
  • Columna Quantity
  • Columna PartNum
  • Tabla Parts
  • Columna PartNum
  • Columna Price

17
Reglas de trasformación relacional DTD, Ejemplo
(V)
  • DTD
  • lt!ELEMENT Orders (Date, CustNum, OrderNum,
    Items)gt
  • lt!ELEMENT OrderNum (PCDATA)gt
  • lt!ELEMENT Date (PCDATA)gt
  • lt!ELEMENT CustNum (PCDATA)gt
  • lt!ELEMENT Items()gt
  • Tablas
  • Tabla Orders
  • Columna OrderNum
  • Columna Date
  • Columna CustNum
  • Tabla Items
  • Columna OrderNum
  • Columna ItemNum
  • Columna Quantity
  • Columna PartNum
  • Tabla Parts
  • Columna PartNum
  • Columna Price

18
Reglas de trasformación relacional DTD, Ejemplo
(VI)
  • DTD
  • lt!ELEMENT Orders (Date, CustNum, OrderNum,
    Items)gt
  • lt!ELEMENT OrderNum (PCDATA)gt
  • lt!ELEMENT Date (PCDATA)gt
  • lt!ELEMENT CustNum (PCDATA)gt
  • lt!ELEMENT Items(ItemNum, Quantity)gt
  • lt!ELEMENT ItemNum (PCDATA)gt
  • lt!ELEMENT Quantity (PCDATA)gt
  • Tablas
  • Tabla Orders
  • Columna OrderNum
  • Columna Date
  • Columna CustNum
  • Tabla Items
  • Columna OrderNum
  • Columna ItemNum
  • Columna Quantity
  • Columna PartNum
  • Tabla Parts
  • Columna PartNum
  • Columna Price

19
Reglas de trasformación relacional DTD, Ejemplo
(VII)
  • DTD
  • lt!ELEMENT Orders (Date, CustNum, OrderNum,
    Items)gt
  • lt!ELEMENT OrderNum (PCDATA)gt
  • lt!ELEMENT Date (PCDATA)gt
  • lt!ELEMENT CustNum (PCDATA)gt
  • lt!ELEMENT Items(ItemNum, Quantity, Parts)gt
  • lt!ELEMENT ItemNum (PCDATA)gt
  • lt!ELEMENT Quantity (PCDATA)gt
  • lt!ELEMENT Parts()gt
  • Tablas
  • Tabla Orders
  • Columna OrderNum
  • Columna Date
  • Columna CustNum
  • Tabla Items
  • Columna OrderNum
  • Columna ItemNum
  • Columna Quantity
  • Columna PartNum
  • Tabla Parts
  • Columna PartNum
  • Columna Price

20
Reglas de trasformación relacional DTD, Ejemplo
(ViII)
  • DTD
  • lt!ELEMENT Orders (Date, CustNum, OrderNum,
    Items)gt
  • lt!ELEMENT OrderNum (PCDATA)gt
  • lt!ELEMENT Date (PCDATA)gt
  • lt!ELEMENT CustNum (PCDATA)gt
  • lt!ELEMENT Items(ItemNum, Quantity, Parts)gt
  • lt!ELEMENT ItemNum (PCDATA)gt
  • lt!ELEMENT Quantity (PCDATA)gt
  • lt!ELEMENT Parts(PartNum, Price)gt
  • lt!ELEMENT PartNum (PCDATA)gt
  • lt!ELEMENT Price (PCDATA)gt
  • Tablas
  • Tabla Orders
  • Columna OrderNum
  • Columna Date
  • Columna CustNum
  • Tabla Items
  • Columna OrderNum
  • Columna ItemNum
  • Columna Quantity
  • Columna PartNum
  • Tabla Parts
  • Columna PartNum
  • Columna Price

21
Resumen de transformaciónESQUEMA RELACIONAL - DTD
22
Transformación ESQUEMA RELACIONAL XML SCHEMA (i)
  • Por cada tabla, crear un elemento.
  • Por cada columna (no PK) de la tabla, así como
    para la columna con PK, añadir un atributo al
    elemento o un único-PCDATA a un elemento hijo del
    modelo.
  • Por cada tabla en la que la llave primaria (PK)
    es exportada, añadir un elemento hijo a el modelo
    y procesar la tabla recursivamente.
  • Por cada llave foránea (FK), adicionar un
    elemento hijo a el modelo, y procesar la tabla de
    la llave foránea recursivamente.

23
Transformación ESQUEMA RELACIONAL XML SCHEMA
(ii)
  • Otro método, sería que a partir del DTD, crear el
    esquema XML

XML Schema
DTD
24
Resumen de transformaciónESQUEMA RELACIONAL
XML SCHEMA
25
BASES DE DATOS RELACIONALES
  • Suponen una posibilidad para el almacenamiento de
    datos .
  • Sin embargo, no están bien preparadas para
    almacenar estructuras de tipo jerárquico como son
    los documentos XML
  • BD relacionales tienen una estructura regular
    frente al carácter heterogéneo de los documentos
    XML .
  • Documentos XML suelen contener muchos niveles de
    anidamiento mientras que los datos relacionales
    son planos .
  • Documentos XML tienen un orden intrínseco
    mientras que los datos relacionales son no
    ordenados.
  • Datos relacionales son generalmente densos
    (cada columna tiene un valor) mientras que los
    datos XML son dispersos pueden representar la
    carencia de información mediante la ausencia del
    elemento .

26
conclusiones
  • Hay una serie de inconvenientes a estos
    procedimientos. Muchos de estos son fáciles de
    hacer a mano, tal como el nombre de las columnas,
    o especificar el tipos de datos y longitudes de
    estos. (DTD no contienen información de tipo de
    datos, por lo que es imposible predecir qué tipos
    de datos deben de ser utilizados en la base de
    datos. Hay que tener en cuenta que los tipos de
    datos y longitudes se pueden predecir a partir de
    un documento de esquema XML.)

27
Referencias
  • XML and Databases, Ronald Bourret
    http//www.rpbourret.com/xml/XMLAndDatabases.htm
  • 3W ORG
  • http//www.w3.org/1999/07/20-XML-DB-Mapping http
    //www.w3.org/XML/RDB.html
Write a Comment
User Comments (0)
About PowerShow.com