Tema 4 XML y BD

Embed Size (px)

Citation preview

  • 11

    DESARROLLO DE APLICACIONES DESARROLLO DE APLICACIONES CON BASES DE DATOSCON BASES DE DATOS

    Tema 4Tema 4

    XML Y BASES DE DATOSXML Y BASES DE DATOS

    DASBD Curso 2006/2007 4. 2

    ObjetivosObjetivos

    Presentar los modelos de datos semiestructurados. Dar a conocer la importancia del XML, sus

    caractersticas, sus componentes y su relacin con las bases de datos.

    Conocer que es una base de datos XML. Presentar algunos SGBD que soportan XML.

  • 22

    DASBD Curso 2006/2007 4. 3

    ContenidoContenido

    IntroducciIntroduccinn Nivel de estructuraciNivel de estructuracin de datosn de datos Bases de datos documentalesBases de datos documentales IntegraciIntegracin de datos muy estructurados y poco estructuradosn de datos muy estructurados y poco estructurados

    XMLXML Estructura de datos y documentosEstructura de datos y documentos EsquemasEsquemas Consultas y transformaciConsultas y transformacin n XQueryXQuery

    XML y Bases de DatosXML y Bases de Datos Sistemas de bases de datos nativos XMLSistemas de bases de datos nativos XML IntegraciIntegracin de XML en otros SGBDn de XML en otros SGBD

    DASBD Curso 2006/2007 4. 4

    BibliografBibliografaa ConnollyConnolly y y BeggBegg (2005)(2005)

    CapCap. 30. 30

    ElmasriElmasri y y NavatheNavathe (2004)(2004) CapCap. 26. 26

    SilberschatzSilberschatz et al. (2002)et al. (2002) CapCap. 10. 10

  • 33

    DASBD Curso 2006/2007 4. 5

    IntroducciIntroduccin n

    Nivel de EstructuraciNivel de Estructuracin de Datosn de Datos

    Datos Datos estructuradosestructurados representados en un representados en un formato estricto (formato estricto (relaciones/tablasrelaciones/tablas))

    DatosDatos semisemi--estructuradosestructurados los datos tienen los datos tienen una cierta estructura pero no toda la una cierta estructura pero no toda la informaciinformacin recogida tiene la misma estructura n recogida tiene la misma estructura ((grafosgrafos))

    DatosDatos desestructuradosdesestructurados hay una indicacihay una indicacin n muy limitada del tipo de datos (documentos de muy limitada del tipo de datos (documentos de texto, archivos de video)texto, archivos de video)

    DASBD Curso 2006/2007 4. 6

    IntroducciIntroduccin n

    Bases de Datos DocumentalesBases de Datos Documentales

    EstEstn orientadas a almacenar datos n orientadas a almacenar datos desestructurados desestructurados de tipo texto.de tipo texto.

    Carecen de una estructura tabular y contienen Carecen de una estructura tabular y contienen informaciinformacin bibliogrn bibliogrfica y/o el texto completo de los fica y/o el texto completo de los documentos.documentos.

    Los Los modelosmodelos de de informaciinformacinn consideranconsideran queque cadacadadocumentodocumento se describe con un se describe con un conjuntoconjunto de de palabraspalabrasclave clave significativassignificativas (llamadas (llamadas ndicesndices).).

    Los Los ndices se utilizan para indexar y resumir el ndices se utilizan para indexar y resumir el contenido de los documentos, ayudando a su gesticontenido de los documentos, ayudando a su gestin.n.

  • 44

    DASBD Curso 2006/2007 4. 7

    IntroducciIntroduccin n

    IntegraciIntegracin de Datosn de Datos

    En la actualidad es una necesidad En la actualidad es una necesidad integrar los datos integrar los datos muy estructurados con los poco estructuradosmuy estructurados con los poco estructurados.. La principal diferencia entre ambos es la forma de manejar los La principal diferencia entre ambos es la forma de manejar los

    constructores del esquema (nombres de atributos, relaciones y constructores del esquema (nombres de atributos, relaciones y tipos de entidades, etc.)tipos de entidades, etc.)

    En el caso de los poco estructurados, la informaciEn el caso de los poco estructurados, la informacin del n del esquema se mezcla con los valores de los datos ya que un esquema se mezcla con los valores de los datos ya que un objeto de datos puede tener diferentes atributos no conocidos objeto de datos puede tener diferentes atributos no conocidos por adelantado. Por eso, estos tipos de datos se conocen como por adelantado. Por eso, estos tipos de datos se conocen como datos datos autodescriptivosautodescriptivos. .

    DASBD Curso 2006/2007 4. 8

    IntroducciIntroduccin n

    IntegraciIntegracin de Datosn de Datos

    Ejemplo: Queremos recolectar una lista de referencias bibliogrficas

    relacionadas a un proyecto de investigacin. Algunas pueden ser libros otras informes tcnicos, otras nmeros especiales de revistas o actas de congresos.

    Claramente cada uno de estas pueden tener atributos y diferente tipo de informacin.

    An para el mismo tipo de referencia, por ejemplo artculos de congresos, podemos tener diferente informacin.

    Por ejemplo, una referencia a un artculo puede estar muy completa , con toda la informacin de los autores, ttulo, actas, nmero de pginas, y dems, mientras que otra referencia puede no tener toda la informacin.

    Nuevos tipos de referencias pueden aparecer con el tiempo, por ejemplo referencias a pginas Web o a tutoriales de conferencias, y pueden tener diferentes atributos.

  • 55

    DASBD Curso 2006/2007 4. 9

    XMLXML

    XMLXML ((eeXXtensibletensible MMarkuparkup LLanguageanguage)) XML es descendiente de SGMLSGML ((Standard Standard GeneralizedGeneralized MarkupMarkup

    LanguageLanguage)), que fue creado en los 80, pero que tiene como principal problema su complejidad.

    HTMLHTML se cre para publicar informacin en Internet, pero con l solo se puede formatear texto, no describe contenido.

    XML empez en 1996 como un pequea versin de SGML para evitar su redundancia, complicacin y caractersticas confusas. XML se plantea por la necesidad de poder definir y manejar necesidad de poder definir y manejar estructura interna en los documentos HTML.estructura interna en los documentos HTML.

    En 1998 la W3C ya publica su especificacin y recomienda su uso.

    DASBD Curso 2006/2007 4. 10

    XMLXML es una es una idea simpleidea simple, no nueva, pero , no nueva, pero tremendamente tremendamente tiltil porque: porque: ha llegado en un ha llegado en un momento adecuadomomento adecuado para sacar partido de para sacar partido de

    diversas tecnologdiversas tecnologas (Internet, Web, ...)as (Internet, Web, ...) y poder abordar de y poder abordar de nuevas manerasnuevas maneras, m, ms adecuadas y s adecuadas y

    potentes, problemas importantes:potentes, problemas importantes: IntegraciIntegracin de datosn de datos estructurados (tablas relacionales) y poco estructurados (tablas relacionales) y poco

    estructurados (documentos).estructurados (documentos). Aportar Aportar significado a la websignificado a la web (web sem(web semntica).ntica). IntegraciIntegracin de sistemasn de sistemas de informacide informacin basados en tecnologn basados en tecnologas as

    diferentes.diferentes. Hacer una Hacer una web orientada a las aplicacionesweb orientada a las aplicaciones ((web web servicesservices) en vez ) en vez

    de una web orientada sde una web orientada slo a la interaccilo a la interaccin con personas (HTML).n con personas (HTML).

    XMLXML

  • 66

    DASBD Curso 2006/2007 4. 11

    XMLXML eses Un lenguaje de Un lenguaje de marcasmarcas (etiquetas delimitadas)(etiquetas delimitadas) para definir nuevos lenguajes (un para definir nuevos lenguajes (un metalenguajemetalenguaje))

    Con las siguientes Con las siguientes caractercaractersticas principalessticas principales:: VersVerstiltil: separa contenido, estructura y presentaci: separa contenido, estructura y presentacin. Esto permite un n. Esto permite un

    a visia visin personalizada de los datos. Los datos pueden ser n personalizada de los datos. Los datos pueden ser presentados a los usuarios a travpresentados a los usuarios a travs de un s de un browserbrowser donde se pueden donde se pueden presnetarpresnetar de manera personalizada, basada en preferencias o de manera personalizada, basada en preferencias o configuraciconfiguracin.n.

    ExtensibleExtensible: se pueden definir nuevas etiquetas: se pueden definir nuevas etiquetas EstructuradoEstructurado: se pueden modelar datos a cualquier nivel de : se pueden modelar datos a cualquier nivel de

    complejidad complejidad ValidableValidable: cada documento se puede validar frente a un : cada documento se puede validar frente a un

    DTD/DTD/SchemaSchema, o en su defecto, se puede declarar bien formado. , o en su defecto, se puede declarar bien formado. AbiertoAbierto: : independiente de plataformas, empresas, lenguajes de programaciindependiente de plataformas, empresas, lenguajes de programacin n

    o entornos de desarrolloo entornos de desarrollo.. SencilloSencillo: f: fcil de aprender y de usar. cil de aprender y de usar.

    XMLXML

    DASBD Curso 2006/2007 4. 12

    Otras caractersticas adicionales de XML son: Independencia del medio, pudiendo publicar contenidos en

    mltiples formatos. Los documentos XML son fcilmente procesables y

    compartibles en Internet. Permite validacin de los documentos. Permite composicin de los documentos. Puede ser un contenedor de datos. Utilizando DTD o XML

    Schemas se puede representar eficientemente cualquier dato de forma que puede ser ledo por personas o aplicaciones.

    Internacional: utiliza el conjunto de caracteres UNICODE. Ayuda a descongestionar Internet, ya que gran parte del

    procesamiento se puede hacer en el cliente. XML no es compatible con HTML, pero los documentos

    HTMLv4.0 son fcilmente convertibles a XML.

    XMLXML

  • 77

    DASBD Curso 2006/2007 4. 13

    Extensiones del propio XML Amplan las capacidades del XML original, no son un lenguaje XML en

    sentido estricto. Se definen de forma similar al XML original, como un subconjunto de

    SGML. Todas ellas deben ser compatibles entre s.

    Lenguajes XML (Aplicaciones XML) Lenguajes definidos en base a XML y sus extensiones. Cada lenguaje se define mediante una gramtica que consiste en un

    tipo de documento XML (DTD (document type definition) o XSD XML schema definition)).

    Pueden ser: Horizontales: resuelven cierta funcionalidad que es til en general.

    SOAP (Simple Object Access Protocol). Es un protocolo estndar creado por WC, que define cmo dos objetos en difrentes procesos pueden comunicarse por medio de intercambio de datos XML. SOAP es uno de los protocolos utilizados en los servicios Web.

    Verticales: dirigidos a un sector o utilidad particular. CML (Chemical Markup Language). Surge para intecambiar informacin sobre

    qumica a travs de internet.

    XMLXML

    DASBD Curso 2006/2007 4. 14

    El El xito de XML ha originado que se demanden xito de XML ha originado que se demanden nuevas nuevas funcionalidadesfuncionalidades, que se abordan definiendo , que se abordan definiendo extensiones extensiones adicionalesadicionales para:para: Estructurar documentosEstructurar documentos ((XML XML SchemaSchema).). Enlaces y direccionamientoEnlaces y direccionamiento ((XPathXPath, , XLinkXLink, , XPointerXPointer).). TransformaciTransformacin y presentacin y presentacinn (familia (familia XSL, CSS2XSL, CSS2).). ConsultasConsultas ((XQueryXQuery).). ProgramaciProgramacinn ((DOM, SAXDOM, SAX).). OtrosOtros ((NamespacesNamespaces, , XIncludeXInclude,, XBaseXBase, ...)., ...).

    XMLXML

  • 88

    DASBD Curso 2006/2007 4. 15

    XMLXML

    Estructura de Datos y DocumentosEstructura de Datos y Documentos

    La La gramgramticatica de los lenguajes XML, es decir, la de los lenguajes XML, es decir, la estructura y elementos permitidos en los documentos estructura y elementos permitidos en los documentos XML, se define medianteXML, se define mediante DTDDTD ((DocumentDocument TypeType DefinitionDefinition))

    Documento ASCII plano que especifica tanto los elementos que Documento ASCII plano que especifica tanto los elementos que forman un tipo de documento dado, como las relaciones que se forman un tipo de documento dado, como las relaciones que se dan entre ellos.dan entre ellos.

    XSDXSD (XML (XML SchemaSchema DefinitionDefinition)) Mejoran los DTDMejoran los DTDs porque ests porque estn escritos en XML y permiten n escritos en XML y permiten

    nuevas caracternuevas caractersticas:sticas: definir tipos de datos,definir tipos de datos, utilizar espacios de nombreutilizar espacios de nombre definir intervalos de valores para los atributos y elementos.definir intervalos de valores para los atributos y elementos. caractercaractersticas OO ...sticas OO ...

    Tienen mayor potencial semTienen mayor potencial semntico que los DTDntico que los DTD

    DASBD Curso 2006/2007 4. 16

    Un lenguaje XML (DTD/XSD) representa un Un lenguaje XML (DTD/XSD) representa un modelo de modelo de datos jerdatos jerrquicorquico Estructura los datos de acuerdo a un determinado Estructura los datos de acuerdo a un determinado esquema esquema

    semsemnticontico..

    Estos lenguajes se definen especificando los Estos lenguajes se definen especificando los elementos elementos y atributos permitidosy atributos permitidos.. Esta especificaciEsta especificacin se realiza mediante n se realiza mediante reglas gramaticalesreglas gramaticales.. Un conjunto concreto y bien formado de tales reglas forman un Un conjunto concreto y bien formado de tales reglas forman un

    esquema XMLesquema XML (representado por un DTD o un XSD).(representado por un DTD o un XSD). Un esquema XML define un conjunto coherente de documentos, Un esquema XML define un conjunto coherente de documentos,

    es decir un es decir un tipo de documentostipo de documentos..

    Ejemplo:Ejemplo: XHTML es el lenguaje HTML reformulado como aplicaciXHTML es el lenguaje HTML reformulado como aplicacin XML, n XML,

    y se que se la pry se que se la prxima generacixima generacin de HTML. Es una versin de HTML. Es una versin n mas mas estritaestrita y limpia de HTML..y limpia de HTML..

    XMLXML

    EsquemasEsquemas

  • 99

    DASBD Curso 2006/2007 4. 17

    Ejemplo de Ejemplo de XML XML SchemaSchema

    ................

    XMLXML

    EsquemasEsquemas

    DASBD Curso 2006/2007 4. 18

    XMLXML

    Consultas y TransformaciConsultas y Transformacin n XQueryXQuery

    XQueryXQuery LanguajeLanguaje (XQL)(XQL) Proporciona un modo flexible de Proporciona un modo flexible de consultaconsulta para extraer para extraer

    datos de los documentos XML.datos de los documentos XML. Los archivos XML pueden ser Los archivos XML pueden ser reales o virtualesreales o virtuales, es decir, otras , es decir, otras

    fuentes (hojas de cfuentes (hojas de clculo, ASCII, bases de datos, ...) vistas como lculo, ASCII, bases de datos, ...) vistas como datos XML.datos XML.

    Se pretende que desempeSe pretende que desempee un papel similar al SQL en las BD e un papel similar al SQL en las BD relacionales: las colecciones de documentos XML podrrelacionales: las colecciones de documentos XML podrn ser n ser accedidas como si fueran una base de datos.accedidas como si fueran una base de datos.

    Esta basado en varias propuestas de lenguajes previas (XMLEsta basado en varias propuestas de lenguajes previas (XML--QL, QL, YATL, YATL, LorelLorel, , QuiltQuilt).).

    Se ha integrado con Se ha integrado con XPathXPath (versi(versin 2.0).n 2.0). Existe un cierto solape con XSLT.Existe un cierto solape con XSLT. Una consulta puede referir a mUna consulta puede referir a ms de un documento.s de un documento.

  • 1010

    DASBD Curso 2006/2007 4. 19

    Una Una consultaconsulta es una expresies una expresin que:n que: LeeLee una secuencia de fragmentos XML o valores atuna secuencia de fragmentos XML o valores atmicos ymicos y DevuelveDevuelve una secuencia de fragmentos XML o valores atuna secuencia de fragmentos XML o valores atmicos.micos.

    Los principales Los principales tipos de expresionestipos de expresiones son:son: Expresiones Expresiones XPathXPath, para navegar por los documentos., para navegar por los documentos. ConstructoresConstructores de elementos.de elementos. FLWRFLWR (FOR, LET, WHERE, RETURN) para iterar por los elementos (FOR, LET, WHERE, RETURN) para iterar por los elementos

    de una coleccide una coleccin.n. CondicionalesCondicionales (IF, THEN ELSE) para construir el resultado en base (IF, THEN ELSE) para construir el resultado en base

    a alguna condicia alguna condicin.n. Con Con cuantificadorescuantificadores (SOME, ANY) para chequear la existencia de (SOME, ANY) para chequear la existencia de

    algalgn elemento que cumpla una condicin elemento que cumpla una condicin.n. ListasListas a las que se pueden aplicar operadores (UNION, ...) y a las que se pueden aplicar operadores (UNION, ...) y

    funciones (AVG,...).funciones (AVG,...).

    XMLXML

    Consultas y TransformaciConsultas y Transformacin n XQueryXQuery

    DASBD Curso 2006/2007 4. 20

    Ejemplo de consulta Ejemplo de consulta XQueryXQuery:: Obtener el aObtener el ao y to y ttulo de todos los libros publicados por tulo de todos los libros publicados por

    AddisonAddison--WesleyWesley despudespus de 1991s de 1991::

    {{forfor $b $b inin docdoc("http://("http://www.bn.comwww.bn.com//bib.xmlbib.xml")/")/bibbib//bookbookwherewhere $b$b//publisherpublisher="="AddisonAddison--WesleyWesley" " andand $b/$b/@year@year>1991>1991

    returnreturn

    { $b/{ $b/titletitle }}

    }}

    XMLXML

    Consultas y TransformaciConsultas y Transformacin n XQueryXQuery

  • 1111

    DASBD Curso 2006/2007 4. 21

    XMLXML

    Otras Extensiones Otras Extensiones XPathXPath

    XML XML PathPath LanguageLanguage ((XPathXPath)) es un lenguaje es un lenguaje declarativo para declarativo para localizar nodos y fragmentoslocalizar nodos y fragmentos (texto, (texto, elementos, atributos ...) en el elementos, atributos ...) en el rbol de un documento rbol de un documento XML.XML.

    Es utilizado por otras normas paraEs utilizado por otras normas para Direccionamiento (Direccionamiento (XLinkXLink, , XPointerXPointer y XSLT)y XSLT) Pattern matchingPattern matching (XSLT y XQuery)(XSLT y XQuery)

    Se basa en el Se basa en el XPathXPath Data Data ModelModel:: Un documento XML se representa como un Un documento XML se representa como un rbol jerrbol jerrquicorquico con con

    siete tipos de nodos (rasiete tipos de nodos (raz, elemento, texto, atributo, espacio de z, elemento, texto, atributo, espacio de nombres, instruccinombres, instruccin de procesamiento y comentario).n de procesamiento y comentario).

    Conceptos importantes:Conceptos importantes: CaminosCaminos de localizacide localizacinn / libro / capitulo / / libro / capitulo / parrafoparrafo PredicadosPredicados

    DASBD Curso 2006/2007 4. 22

    XMLXML

    Otras Extensiones Otras Extensiones XPathXPath

    Ejemplos Ejemplos XPathXPath::

    Seleccionar nombres de ingredientes de receta que se utiliza Seleccionar nombres de ingredientes de receta que se utiliza media taza:media taza:

    //ingrediente[@cantidad='0.5' //ingrediente[@cantidad='0.5' andand @unidad=taza]/@nombre@unidad=taza]/@nombre

    Seleccionar todos los capSeleccionar todos los captulos ptulos pblicos que tengan algblicos que tengan algn n pprrafo que contenga algrrafo que contenga algn elemento con atributo n elemento con atributo hrefhref::

    ////capitulo[parrafocapitulo[parrafo/*[/*[@href@href]][]][@public@public='si']='si']

    Seleccionar todos los capSeleccionar todos los captulos ptulos pblicos que tengan algblicos que tengan algn n pprrafo importante o un aprrafo importante o un apndice:ndice:

    ////capitulo[parrafocapitulo[parrafo/[@importante=/[@importante=sisi]]|//apendice ]]|//apendice

  • 1212

    DASBD Curso 2006/2007 4. 23

    XMLXML

    Otras Extensiones Otras Extensiones XSLXSL XSLXSL ((eeXXtensibletensible SStylesheettylesheet LLanguageanguage) no s) no slo permite lo permite

    definir el estilodefinir el estilo a aplicar a cada elemento XML. Tambia aplicar a cada elemento XML. Tambin n es un lenguaje de programacies un lenguaje de programacin para n para transformar transformar documentos XMLdocumentos XML.. El resultado puede ser un documento HTML, WML (para WAP), El resultado puede ser un documento HTML, WML (para WAP),

    texto plano, RTF, PDF, o incluso otro documento XML.texto plano, RTF, PDF, o incluso otro documento XML. Utiliza Utiliza XPathXPath para referir partes de documentos XML.para referir partes de documentos XML.

    rbol XMLrbol XMLoriginaloriginal rbol XMLrbol XML

    resultanteresultante

    transformacitransformacin XSLn XSL formateado XSLformateado XSL

    DASBD Curso 2006/2007 4. 24

    XMLXML

    Otras Extensiones Otras Extensiones XSLXSL

    Una Una hoja de estilo XSLhoja de estilo XSL es una serie de es una serie de reglasreglas que determinan que determinan ccmo va a ocurrir la transformacimo va a ocurrir la transformacin.n.

    Cada regla se compone de un Cada regla se compone de un patrpatrn de localizacin de localizacinn ((patternpattern) y ) y una una plantillaplantilla ((templatetemplate).).

    TTtulo:tulo:

    Autor:Autor:

    Precio:Precio: pesetas

  • 1313

    DASBD Curso 2006/2007 4. 25

    QuQu sonson las Bases de Datos XML?las Bases de Datos XML? Un Un documento XMLdocumento XML es una BD porquees una BD porque Almacena informaciAlmacena informacin (documentos).n (documentos). Responde a un esquema (DTD, XML Responde a un esquema (DTD, XML SchemaSchema)) Tiene lenguajes de consulta (Tiene lenguajes de consulta (XPahXPah, , XQueryXQuery)) y APIy APIs de Programacis de Programacin (SAX, DOM, JDOMn (SAX, DOM, JDOM))

    EjemplosEjemplos de posibles BD XML:de posibles BD XML: Fichero de configuraciFichero de configuracin de una aplicacin de una aplicacinn Plantilla de un faxPlantilla de un fax Formulario para solicitar dietas de viajesFormulario para solicitar dietas de viajes Temario de una asignaturaTemario de una asignatura Todos los informes de un departamentoTodos los informes de un departamento

    En general, una BD XML es una BD almacenada o En general, una BD XML es una BD almacenada o gestionada en forma de documentos XML.gestionada en forma de documentos XML.

    XML y Bases de DatosXML y Bases de Datos

    DASBD Curso 2006/2007 4. 26

    PorquPorqu surgen las BD XML?surgen las BD XML? Necesidad de Necesidad de almacenar y recuperar datos poco estructuradosalmacenar y recuperar datos poco estructurados

    con la eficiencia de las BD convencionales.con la eficiencia de las BD convencionales. Aparecen dos clases de SGBD que soportan documentos XMLAparecen dos clases de SGBD que soportan documentos XML

    XMLXML--EnabledEnabled: : desglosan un documento XML en su correspondiente modelo relacional o de objetos.

    XML Nativos: XML Nativos: respetan la estrcutura de documento, permiten hacer consultas sobre dicha estrcutura y recuperan el documento tal y como fue insertado originalmente

    En una BD XML es posible caracterizar tres tipos de archivos En una BD XML es posible caracterizar tres tipos de archivos XMLXML:: Centrados en Centrados en DatosDatos.. Centrados en Centrados en DocumentosDocumentos.. HHbridosbridos (mezcla partes de los dos tipos anteriores, BD XML (mezcla partes de los dos tipos anteriores, BD XML

    nativa).nativa).

    XML y Bases de DatosXML y Bases de Datos

  • 1414

    DASBD Curso 2006/2007 4. 27

    Centrados en DatosCentrados en Datos Muchos elementosMuchos elementos de datos de pequede datos de pequeo tamao tamao.o. Con estructura regular y bien definida.Con estructura regular y bien definida. Datos Datos muy estructuradosmuy estructurados o o semisemi--estructuradosestructurados.. Usados como mecanismo de intercambio o para mostrar datos en la Usados como mecanismo de intercambio o para mostrar datos en la

    webweb.. Dirigidos a Dirigidos a utilizaciutilizacin n automautomticatica (por m(por mquinas).quinas). Ejemplos: Facturas, Pedidos.Ejemplos: Facturas, Pedidos.

    Centrados en DocumentosCentrados en Documentos Pocos elementosPocos elementos.. Con grandes cantidades de texto.Con grandes cantidades de texto. Con estructuras impredecibles en tamaCon estructuras impredecibles en tamao y contenido.o y contenido. Datos Datos poco estructuradospoco estructurados.. Orientados a ser interpretadas por Orientados a ser interpretadas por humanoshumanos.. Enfocados a sistemas documentales y de gestiEnfocados a sistemas documentales y de gestin de contenidos.n de contenidos. Ejemplos: Libros, Informes.Ejemplos: Libros, Informes.

    XML y Bases de Datos XML y Bases de Datos tipos de archivostipos de archivos

    DASBD Curso 2006/2007 4. 28

    Ejemplo de archivo centrado en datosEjemplo de archivo centrado en datos Datos de MatrDatos de Matrcula de Alumnoscula de Alumnos

    52945813CJose Perez GarcaIngeniera Informtica (Plan 1998)2004/2005

    C/ Principal n1

    C/ Secundaria n2

    Ordinaria

    XML y Bases de Datos XML y Bases de Datos tipos de archivostipos de archivos

  • 1515

    DASBD Curso 2006/2007 4. 29

    XML y Bases de Datos XML y Bases de Datos tipos de archivostipos de archivos

  • 1616

    DASBD Curso 2006/2007 4. 31

    XML y Bases de Datos XML y Bases de Datos almacenamientoalmacenamiento Existen varias aproximaciones para organizar y Existen varias aproximaciones para organizar y

    almacenar documentos XMLalmacenar documentos XML de cara a su consulta y de cara a su consulta y recuperacirecuperacin:n: Usar un SGBD para almacenar los Usar un SGBD para almacenar los documentos XML como documentos XML como

    textotexto.. Se almacenan documentos XML completos como textos muy Se almacenan documentos XML completos como textos muy

    largos en columnas de tipos carlargos en columnas de tipos carcter largo (SGBD objetocter largo (SGBD objeto--relacional) o en objetos de clase texto (SGBDrelacional) o en objetos de clase texto (SGBD--OO).OO).

    Usar un SGBD para Usar un SGBD para almacenar los elementos XMLalmacenar los elementos XML de los de los documentos como elementos de datos.documentos como elementos de datos. Si todos los documentos XML tienen una estructura basada en un Si todos los documentos XML tienen una estructura basada en un

    DTD/DTD/SchemaSchema, es posible volcar sus partes a estructuras , es posible volcar sus partes a estructuras relacionales o a objetos de un SGBD.relacionales o a objetos de un SGBD.

    DiseDisear un nuevo Sistema de BD para almacenar documentos ar un nuevo Sistema de BD para almacenar documentos XML de forma directa (XML de forma directa (BD XML nativaBD XML nativa).).

    Generar los documentos XML como Generar los documentos XML como capa de interfazcapa de interfaz de datos de datos almacenados en BD tradicionales (relacionales u OO).almacenados en BD tradicionales (relacionales u OO).

    DASBD Curso 2006/2007 4. 32

    XML y Bases de Datos XML y Bases de Datos almacenamientoalmacenamiento

    Almacenar documentos XML completosAlmacenar documentos XML completos.. Se utilizan bases de datos relacionales, objetoSe utilizan bases de datos relacionales, objeto--relacionales o de relacionales o de

    objetos puras para representar documentos XML.objetos puras para representar documentos XML. Se almacena el documento completo en una columna de tipo Se almacena el documento completo en una columna de tipo

    Binario Largo (Binario Largo (BLOBBLOB).). Sirve para documentos estSirve para documentos estticos que no se modifican casi ticos que no se modifican casi

    nunca y cuando lo hacen se vuelven a grabar completamente.nunca y cuando lo hacen se vuelven a grabar completamente. No necesita mapeo.No necesita mapeo. El documento permanece El documento permanece ntegro.ntegro. Limita las bLimita las bsquedas por contenido y la indexacisquedas por contenido y la indexacin.n.

  • 1717

    DASBD Curso 2006/2007 4. 33

    XML y Bases de Datos XML y Bases de Datos almacenamientoalmacenamiento

    Almacenar elementos XMLAlmacenar elementos XML.. Se utilizan BD tradicionales para asociar cada elemento de cada Se utilizan BD tradicionales para asociar cada elemento de cada

    documento XML con alguna estructura de la BD.documento XML con alguna estructura de la BD. Se plantea un problema importante de Se plantea un problema importante de MapeoMapeo

    (correspondencia) entre los elementos XML y las estructuras de (correspondencia) entre los elementos XML y las estructuras de la BD.la BD. Los desajustes se deben a Los desajustes se deben a modelo de datos diferentesmodelo de datos diferentes::

    XML => JerXML => Jerrquicorquico SGBD => Relacional / ObjetosSGBD => Relacional / Objetos

    Las ventajas vienen de que se pueden aprovechar las capacidades Las ventajas vienen de que se pueden aprovechar las capacidades del SGBD donde se almacenan:del SGBD donde se almacenan:

    BBsquedas, indexaciones, optimizaciones, etc.squedas, indexaciones, optimizaciones, etc. La principal desventaja es que La principal desventaja es que la integridad del documento no se la integridad del documento no se

    mantienemantiene..

    DASBD Curso 2006/2007 4. 34

    XML y Bases de Datos XML y Bases de Datos almacenamientoalmacenamiento

    Mapeo y TraducciMapeo y Traduccinn.. Mapeo Mapeo basado en Tablasbasado en Tablas..

    Modela el documento XML en un conjunto de tablas en un modelo Modela el documento XML en un conjunto de tablas en un modelo relacional.relacional.

    Los atributos XML se almacenan en una columna de una tabla.Los atributos XML se almacenan en una columna de una tabla. Para recuperar un documento XML se debe realizar un proceso de Para recuperar un documento XML se debe realizar un proceso de

    serializaciserializacinn.. Distintos esquemas XML pueden generar el mismo esquema de Distintos esquemas XML pueden generar el mismo esquema de

    BD relacional.BD relacional.

    Mapeo Mapeo basado en Interrelaciones entre Objetosbasado en Interrelaciones entre Objetos.. Cada tipo de elemento XML de mCada tipo de elemento XML de ms alto nivel se modela como una s alto nivel se modela como una

    clase de objetos.clase de objetos. Los atributos XML se modelan como atributos de las clases.Los atributos XML se modelan como atributos de las clases.

  • 1818

    DASBD Curso 2006/2007 4. 35

    Las bases de datos XML nativas son BD que Las bases de datos XML nativas son BD que almacenan XML usando un formato que permite un almacenan XML usando un formato que permite un procesamiento mprocesamiento ms rs rpidopido ((DBXml GroupDBXml Group))

    Almacenan la informaciAlmacenan la informacin en formato nativo.n en formato nativo. No traducen el XML a estructuras relacionales u objetos.No traducen el XML a estructuras relacionales u objetos. Sus esquemas permiten reglas de almacenamiento e Sus esquemas permiten reglas de almacenamiento e

    indexaciindexacin.n. Todos los documentos son accesibles mediante una URL.Todos los documentos son accesibles mediante una URL. Mantienen el modelo XML intacto.Mantienen el modelo XML intacto.

    XML y Bases de DatosXML y Bases de Datos

    Sistemas de BD Nativos XMLSistemas de BD Nativos XML

    DASBD Curso 2006/2007 4. 36

    XML y Bases de DatosXML y Bases de Datos

    Sistemas de BD Nativos XMLSistemas de BD Nativos XML Crean Crean modelos lmodelos lgicosgicos en XML.en XML. MapeanMapean los modelos al mecanismo de almacenamiento los modelos al mecanismo de almacenamiento

    correspondiente. correspondiente. Las Las operacionesoperaciones con los documentos se realizan con los documentos se realizan en XMLen XML.. Dan un mayor nivel de abstracciDan un mayor nivel de abstraccin al programador.n al programador. Dependencia del esquema.Dependencia del esquema.

    Gestionan documentos como colecciones de datos.Gestionan documentos como colecciones de datos. No todas necesitan un esquema para almacenar documentos.No todas necesitan un esquema para almacenar documentos.

    Problemas de integridad Problemas de integridad intraintra--documento.documento. Los esquemas se definen con DTD o con XML Los esquemas se definen con DTD o con XML SchemaSchema (W3C).(W3C).

    No usan un mecanismo concreto de almacenamiento fNo usan un mecanismo concreto de almacenamiento fsico.sico. Depende de cada producto.Depende de cada producto.

    La unidad mLa unidad mnima de almacenamiento es un documento XML.nima de almacenamiento es un documento XML. Existen retos pendientes para la integridad global de la BDExisten retos pendientes para la integridad global de la BD

    Integridad referencial Integridad referencial interinter--documento.documento. Restricciones semRestricciones semnticas nticas interinter--documento.documento.

  • 1919

    DASBD Curso 2006/2007 4. 37

    XML y Bases de DatosXML y Bases de Datos

    Sistemas de BD Nativos XMLSistemas de BD Nativos XML

    VentajasVentajas No necesitan mapeos adicionales.No necesitan mapeos adicionales. Conservan la integridad de los documentos.Conservan la integridad de los documentos. Permiten almacenar documentos heterogPermiten almacenar documentos heterogneos en la misma neos en la misma

    coleccicoleccin.n.

    mbito de Usombito de Uso Documentos con anidamientos profundos.Documentos con anidamientos profundos. Importancia de preservar la integridad de los documentos.Importancia de preservar la integridad de los documentos. Sistemas con XML orientado a los documentos.Sistemas con XML orientado a los documentos. BBsquedas de contenido.squedas de contenido.

    reas de Aplicacireas de Aplicacinn Portales de informaciPortales de informacin corporativa.n corporativa. CatCatlogos de Datos.logos de Datos. Almacenamiento de informaciAlmacenamiento de informacin mn mdica.dica. BD de personalizaciBD de personalizacin.n.

    DASBD Curso 2006/2007 4. 38

    XML y Bases de DatosXML y Bases de Datos

    Sistemas de BD Nativos XMLSistemas de BD Nativos XML -- productosproductos

    Algunos Algunos productos comercialesproductos comerciales:: 4 Suite4 Suite dbXMLdbXML VirtuosoVirtuoso xx--HiveHive/DB/DB eXisteXist BirdStepBirdStep RDM XMLRDM XML TotalXMLTotalXML OpenLinkOpenLink TaminoTamino

  • 2020

    DASBD Curso 2006/2007 4. 39

    XML y Bases de DatosXML y Bases de Datos

    Sistemas de BD Nativos XMLSistemas de BD Nativos XML -- productosproductos 4Suite4Suite

    CCdigo Abierto.digo Abierto. NNcleo formado por cleo formado por

    herramientas para herramientas para procesamiento XML.procesamiento XML.

    Contiene un Servidor de Contiene un Servidor de Consultas con mConsultas con mltiples ltiples mmtodos de acceso.todos de acceso.

    Contiene un Repositorio de Contiene un Repositorio de Documentos XML sobre BD Documentos XML sobre BD orientada a objetos.orientada a objetos.

    Soporte para concurrencia, Soporte para concurrencia, gestigestin de transacciones y n de transacciones y control de accesos.control de accesos.

    Soporta accesos remotos vSoporta accesos remotos va a HTTP, HTTP, RPCsRPCs, FTP y CORBA., FTP y CORBA.

    dbXMLdbXML Almacena e indexa Almacena e indexa

    colecciones de documentos colecciones de documentos en formato nativo o en formato nativo o mapeadomapeado..

    Sistema de almacenamiento Sistema de almacenamiento Propietario.Propietario.

    Sistema de compresiSistema de compresin de n de documentos en flujos de documentos en flujos de caracteres optimizados.caracteres optimizados.

    Lenguaje de Consulta basado Lenguaje de Consulta basado en en XpathXpath y y XQueryXQuery..

    Ofrece un servidor HTTP para Ofrece un servidor HTTP para acceder a los documentos.acceder a los documentos.

    Puede usarse XML/RPC, Puede usarse XML/RPC, servicios servicios webweb y JSP.y JSP.

    Existe un motor de eventos Existe un motor de eventos que permite filtrar el flujo de que permite filtrar el flujo de entrada/salida.entrada/salida.

    DASBD Curso 2006/2007 4. 40

    XML y Bases de DatosXML y Bases de Datos

    Sistemas de BD Nativos XMLSistemas de BD Nativos XML -- productosproductos TaminoTamino XML ServerXML Server CaracterCaractersticas principales:sticas principales:

    Almacenamiento nativo XMLAlmacenamiento nativo XML Riqueza de tipos de datos multimedia (audio, video, imagen)Riqueza de tipos de datos multimedia (audio, video, imagen) Consultas basadas en Consultas basadas en XPathXPath BBsqueda y Recuperacisqueda y Recuperacin de textos completosn de textos completos DefiniciDefinicin de datos extensible (cambios dinn de datos extensible (cambios dinmicos)micos) Salidas Salidas multimulti--canal (HTML, WML, PDF, ..)canal (HTML, WML, PDF, ..) ConsolidaciConsolidacin de datos (acceso a datos externos)n de datos (acceso a datos externos) Extensiones para integraciExtensiones para integracin (EJB, CORBA, DOM, ERP, n (EJB, CORBA, DOM, ERP,

    ServletsServlets, ..), ..) RendimientoRendimiento EscalabilidadEscalabilidad FiabilidadFiabilidad DisponibilidadDisponibilidad

  • 2121

    DASBD Curso 2006/2007 4. 41

    XML y Bases de DatosXML y Bases de Datos

    Sistemas de BD Nativos XMLSistemas de BD Nativos XML -- productosproductos

    TaminoTamino XML ServerXML Server Conceptualmente tiene tres capas:Conceptualmente tiene tres capas:

    Servicios Centrales (Servicios Centrales (CoreCore ServicesServices), ), ejej: almacenamiento: almacenamiento Servicios Funcionales (Servicios Funcionales (EnablingEnabling ServicesServices), ), ejej: consolidaci: consolidacinn Servicios de Terceros (Servicios de Terceros (SolutionsSolutions), ), ejej: publicaci: publicacin electrn electrnicanica

    DASBD Curso 2006/2007 4. 42

    XML y Bases de DatosXML y Bases de Datos

    Sistemas de BD Nativos XMLSistemas de BD Nativos XML -- productosproductos

    TaminoTamino XML ServerXML Server ArquitecturaArquitectura::

    TaminoTamino XML ServerXML Server XML Data Store NativoXML Data Store Nativo Data Data MapMap XX--NodeNode XX--TensionTension TaminoTamino ManagerManager

    OtrosOtros TaminoTamino SchemaSchema EditorEditor TaminoTamino InteractiveInteractive InterfaceInterface TaminoTamino XX--PlorerPlorer TaminoTamino WebDAVWebDAV ServerServer APIsAPIs TaminoTamino XX--ApplicationApplication

  • 2222

    DASBD Curso 2006/2007 4. 43

    XML y Bases de DatosXML y Bases de Datos

    IntegraciIntegracin de XML en otros SGBDn de XML en otros SGBD SGBD con SGBD con extensiextensin para XMLn para XML::

    OracleOracle (8i en adelante)(8i en adelante) IBM DB2IBM DB2 Microsoft SQL Server 2000 (en adelante)Microsoft SQL Server 2000 (en adelante) INFORMIXINFORMIX

    InclusiInclusin de n de XML en SQLXML en SQL:: Nueva parte del estNueva parte del estndar para crear y manipular documentos ndar para crear y manipular documentos

    XML.XML. ISO/IEC 9075ISO/IEC 9075--1414: XML: XML--Related Specifications (Related Specifications (SQL/XMLSQL/XML).).

    Nuevo tipoNuevo tipo predefinido.predefinido. Nuevos operadoresNuevos operadores predefinidos para crear y manipular valores de predefinidos para crear y manipular valores de

    tipo XML.tipo XML. Reglas para Reglas para mapearmapear tablas, esquemas y cattablas, esquemas y catlogos a documentos logos a documentos

    XML.XML.

    DASBD Curso 2006/2007 4. 44

    XML y Bases de DatosXML y Bases de Datos

    IntegraciIntegracin de XML en otros SGBDn de XML en otros SGBD ORACLE

    Capacidades Almacenamiento de documentos XML como columnas. Acceso a documentos XML en fuentes externas. Mapeo de elementos de documentos XML a tablas y columnas. En la versin 9i se incluye un nuevo tipo de dato (XMLType) para

    manejo nativo de XML.

    Herramientas SQL XML para Java: clases Java para la insercin de datos XML y

    generar documentos XML partiendo de SQL. Servlet Java XQL: pasa consultas SQL a XML y posteriormente a

    HTML mediante hojas de estilo.

  • 2323

    DASBD Curso 2006/2007 4. 45

    XML y Bases de DatosXML y Bases de Datos

    IntegraciIntegracin de XML en otros SGBDn de XML en otros SGBD IBM DB2 IBM DB2 ((DB2DB2 XML ExtenderXML Extender))

    PermitePermite almacenaralmacenar los documentos XML como:los documentos XML como: Datos carDatos carcter en una cter en una nica columna.nica columna. MapeandoMapeando a ma mltiples tablas y columnasltiples tablas y columnas Archivos externos.Archivos externos.

    Pudiendo Pudiendo recuperarrecuperar:: Documento completo.Documento completo. Elementos individuales.Elementos individuales. Atributos del documento.Atributos del documento.

    Microsoft SQL ServerMicrosoft SQL Server Soporte para esquemas XMLSoporte para esquemas XML EjecuciEjecucin de consultas con n de consultas con XPathXPath Obtener y escribir datos XMLObtener y escribir datos XML ObtenciObtencin de datos en documentos XML (n de datos en documentos XML (FOR XMLFOR XML)) Escritura de documentos XML mediante Escritura de documentos XML mediante OpenXMLOpenXML, que crea , que crea

    una imagen en memoria.una imagen en memoria.