PDF de programación - XML y Bases de Datos

Imágen de pdf XML y Bases de Datos

XML y Bases de Datosgráfica de visualizaciones

Publicado el 29 de Mayo del 2018
690 visualizaciones desde el 29 de Mayo del 2018
669,1 KB
88 paginas
Creado hace 18a (08/07/2005)
XML y Bases de Datos

Ana Belén Martínez Prieto

Universidad de Oviedo

Contenidos

Introducción
XML y Bases de Datos Relacionales
XML y Bases de Datos Orientadas a Objetos
XML y Bases de Datos Nativas
XQuery

Ana Belén Martínez Prieto

2

XML – Introducción

Estándar para el intercambio de datos entre aplicaciones en

Internet independiente del formato de almacenamiento de los
mismos

BD Relacionales

XML

Documento

XML

BDOO

Es lógico que las consultas entre aplicaciones se expresen como

consultas contra los datos en formato XML
Ana Belén Martínez Prieto

XQuery

3

XML – Introducción (II)

Muchas aplicaciones requieren el almacenamiento de datos XML
Existen diferentes alternativas:

BD Relacionales

XML

BD Nativas



BDOO

Ana Belén Martínez Prieto

4

Contenidos



Introducción
XML y Bases de Datos Relacionales
XML y Bases de Datos Orientadas a Objetos
XML y Bases de Datos Nativas
XQuery

Ana Belén Martínez Prieto

5

Bases de Datos Relacionales
Se basan en las relaciones (tablas bidimensionales) como único

medio para representar los datos del mundo real

Lenguaje estándar SQL
Relación Alumnos
DNI
DNI
10345678
10345678
76987654
76987654
09875432
09875432

Nombre
Nombre
Juan González Suárez
Juan González Suárez
Sonia García Martínez
Sonia García Martínez
María Pérez Pérez
María Pérez Pérez

Dirección
Dirección
Uría 27, 2ºA
Uría 27, 2ºA
Begoña 34, 1ºB
Begoña 34, 1ºB
Av. Galicia 12, 6ºB
Av. Galicia 12, 6ºB

FNac
FNac
19-06-1980
19-06-1980
16-05-1983
16-05-1983
18-04-1983
18-04-1983

Relación Asignaturas
Código
Código
01
01
02
02
03
03

Nombre
Nombre
Bases de Datos
Bases de Datos
Programación
Programación
Álgebra
Álgebra

9
9
9
9
6
6

Créditos
Créditos

Relación AlumAsig
DNI
DNI
10345678
10345678
10345678
10345678
09875432
09875432

CodigoAsig
CodigoAsig
01
01
02
02
01
01

Nota
Nota
4
4
3
3
7
7

Atributos->Dominio

Curso
Curso

3
3
1
1
1
1

Tipo
Tipo
Obligatoria
Obligatoria
Troncal
Troncal
Obligatoria
Obligatoria

Tupla

Ana Belén Martínez Prieto

6

Bases 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

Nombre

ADO
Allora
ASP2XML
Data Junction
DBX
InterAccess
JaxMe
XML-DBMS

Fabricante

Microsoft
HiT Software
Stonebroom
Data Junction Inc.
Swift Inc.
XML Soft. Corporation
Jochen Wiedmann
Ronald Bourret

Licencia
Comercial
Comercial
Comercial
Open Source
Comercial
Comercial
Open Source
Open Source

XML->BD

BD->XML

X
X
X
X
X
X
X
X

X
X
X
X
X
X
X
X

Ana Belén Martínez Prieto

7

Bases de Datos Relacionales
Transformación a XML

Veamos un ejemplo de transformación de una tabla a un

documento XML

Tabla Libros

Reglas de transformación

DTD

Documento

XML

Ana Belén Martínez Prieto

8

Bases de Datos Relacionales
Transformación a XML - Tabla Libros

nombre

apellido

email

nombre

resultado comentario

isbn

título

autores editorial precio

año

revisores

nombre
oficina
homepage

Ana Belén Martínez Prieto

9

Bases de Datos Relacionales
Reglas de Transformación Relacional - DTD

Regla 1

• Para 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.

<!DOCTYPE libros [

<!ELEMENT libros (libro)*>

]>

Ana Belén Martínez Prieto

10

Bases de Datos Relacionales
Reglas de Transformació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

<!ELEMENT libro (isbn, titulo, autores, editor, precio, año, revisores)>

Ana Belén Martínez Prieto

11

Bases de Datos Relacionales
Reglas de Transformació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.

<!ELEMENT isbn (#PCDATA)>
<!ELEMENT titulo (#PCDATA)>

Ana Belén Martínez Prieto

12

Bases de Datos Relacionales
Reglas de Transformació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.

<!ELEMENT autores (autor)+>

<!ELEMENT autor (nombre, apellidos, email)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT apellidos (#PCDATA)>
<!ELEMENT email (#PCDATA)>

Ana Belén Martínez Prieto

13

Bases de Datos Relacionales
Reglas de Transformació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.

Ana Belén Martínez Prieto

14

Bases de Datos Relacionales
DTD Resultante

<!DOCTYPE libros [

<!ELEMENT libros (libro)*>
<!ELEMENT libro (isbn, titulo, autores, editor, precio, año, revisores)>
<!ELEMENT isbn (#PCDATA)>
<!ELEMENT titulo (#PCDATA)>
<!ELEMENT autores (autor)+>
<!ELEMENT autor (nombre, apellidos, email)>
<!ELEMENT editor (nombre,oficina,homepage) >
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT apellidos (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<!ELEMENT oficina (#PCDATA)>
<!ELEMENT homepage (#PCDATA)>
<!ELEMENT precio (#PCDATA)>
<!ELEMENT año (#PCDATA)>
<!ELEMENT revisores (revisor)*>
<!ELEMENT revisor (nombre,resultado,comentarios)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT resultado (#PCDATA)>
<!ELEMENT comentario (#PCDATA)>]>

Ana Belén Martínez Prieto

15

Bases de Datos Relacionales
Posible Documento XML Resultante

<?xml version=“1.0”>
<libros>
<libro>

<isbn> 1-55655-767-6 </isbn>
<titulo> Fundamentos de Bases de Datos </titulo>
<autores>

<nombre> Abraham</nombre>
<apellido> Silberschatz</apellido>
<email> [email protected] </email>

<nombre> Henry </nombre>

<apellido> Korth </apellido>
<email> korth@ hotmail.com </email>

<autor>

</autor>
<autor>

</autor>

</autores>
<editor>

</editor>
<precio> 40 </precio>
<año> 2003 </año>
<revisores>

<revisor>

</revisor>

</revisores>

</libro>
</libros>

<nombre> McGraw-Hill </nombre>
<oficina> Av. Santander s/n </oficina>
<homepage> http://www.mcgrawhill.es </homepage>

<nombre> James Smith </nombre>
<resultado> 8 </resultado>
<comentario> Es un libro de texto básico ...</comentario>

Ana Belén Martínez Prieto

16

Resumen Transformación
Esquema Relacional - DTD

<!DOCTYPE tabla [

<!ELEMENT tabla (registro)*>
<!ELEMENT registro (columna1, columna2,..., columnaN)>
<!ELEMENT columna1 (#PCDATA)>
<!ELEMENT columna2 (propiedad1, propiedad2,..., propiedadN) >
. . .
<!ELEMENT columnaN (#PCDATA)>
<!ELEMENT propiedad1 (#PCDATA)>
<!ELEMENT propiedad2 (#PCDATA)>
. . .
<!ELEMENT propiedadN (#PCDATA)> ]>

Ana Belén Martínez Prieto

17

Resumen - Transformación
Esquema Relacional - XML SCHEMA

<xsd:schema xmlns:xsd=“http://www.w3.org/2001/XMLSchema”>
<xsd:element name=“tabla”>

<xsd:complexType>
<xsd:sequence>

<xsd:element name=“registro” minOccurs=“0” maxOccurs=“unbounded”>

<xsd:complexType>

<xsd:sequence >

<xsd:element name=“columna1” type=“xsd:positiveInteger”/>
<xsd:element name=“columna2”/>

<xsd:complexType>
<xsd:sequence >

<xsd:element name=“propiedad1” type=“xsd:string”/>
<xsd:element name=“propiedad2” type=“xsd:boolean”/>
....
<xsd:element name=“propiedadn” type=“xsd:positiveInteger”/>
</xsd:sequence>
</xsd:complexType>

</xsd:element >
<xsd:element name=“columnaN” type=“xsd:string”/>

</xsd:sequence >

</xsd:complexType>
</xsd:element >
</xsd:sequence >
</xsd:complexType>

</xsd:element >
</xsd:schema>

Ana Belén Martínez Prieto

18

Bases de Datos Relacionales -

Suponen una posibilidad para el almacenamiento de datos XML
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

Ana Belén Martínez Prieto

19

Contenidos



Introducción
XML y Bases de Datos Relacionales
XML y Bases de Datos Orientadas a Objetos
XML y Bases de Datos Nativas
XQuery

Ana Belén Martínez Prieto

20

Bases de Datos Orientadas a Objetos
Introducción

Los Sistemas de Bases de Datos Orientadas a Objetos soportan un modelo

de objetos puro, en la medida de que no están basados en extensiones de
otros modelos más clásicos como el relacional:
• Están fuertemente influenciados por los lenguajes de programación orientados a

objetos

• Pueden verse como un intento de añadir la funcionalidad de un SGBD a un

lenguaje de programación
Ejemplos de SGBDOO son
• Poet (http://www.poet.com)
• Jasmine (http://www.cai.com)
• ObjectStore (http://www.odi.com)
• GemStone (http://www.gemstone.com)

Representan una alternativa viable para el almacenamiento y gestión de

documentos XML

Ana Belén Martínez Prieto

21

Bases de Datos Orientadas a Objetos
Estructura de Referencia

Extienden el lenguaje de programación
y su implementación (compilador,
preprocesador, ...) para incorporar
  • Links de descarga
http://lwp-l.com/pdf11406

Comentarios de: XML y Bases de Datos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad