Este documento presenta un curso sobre bases de datos semiestructuradas. Brevemente describe que las bases de datos semiestructuradas tienen como modelo subyacente datos semiestructurados que no tienen un esquema predefinido y donde la información sobre la estructura está junto con los datos. Luego, el contenido del curso incluye modelos de datos semiestructurados, representaciones como XML, y un caso de estudio detallado sobre XML.
2. Descripción del curso
Durante los últimos treinta años, el dominio de las
Bases de Datos ha contribuido grandemente con
tecnología especializada para la administración
(interrogación, almacenamiento, indexación) de la
información.
En el curso se presentarán los conceptos fundamentales
del dominio bases de datos estructuradas y no
estructuradas, y se subrayará cuáles de ellos han sido
de gran impacto en la construcción de aplicaciones:
(modelos de datos y lenguajes de consulta).
3. Objetivo General
El objetivo general del curso es sensibilizar al/ a la
estudiante sobre la utilidad de la administración de la
información.
Comprender la teoría del modelo relacional y de
los lenguajes simbólicos asociados
Comprender las tecnologías asociadas a los
modelos de datos semiestructurados
Revisar los modelos visionarios para el manejo de
datos
5. Ejemplos
El salario de un empleado oscila entre 3000 y 7000
El salario de un empleado depende de su puesto, de su
antigüedad en la organización; su valor evoluciona con Mayor
respecto al incremento de la inflación
semántica
El salario de un empleado es la cantidad en dinero que
percibe un trabajador por el resultado de su trabajo
6. Dato, información, contenido
Nivel semántico
dato información contenido
Dato: del lat. datum, lo que se da [Diccionario de la Real
Academia de la Lengua Española]
“representación de una información de manera adecuada para su
tratamiento por un ordenador” [ibidem]
representa un hecho preciso, e.g., el salario de un empleado
7. Dato, información, contenido
Nivel semántico
dato información contenido
Información:
“[…] conocimientos que permiten ampliar o precisar los que se poseen
sobre una materia determinada” [ibidem]
representa un hecho y el contexto en el que se inscribe, e.g., el salario
de un empleado depende de su puesto, de su antigüedad en la
organización; su valor evoluciona con respecto al incremento de la
inflación
8. Dato, información, contenido
Nivel semántico
dato información contenido
Contenido:
“significado de un signo lingüístico o de un enunciado” [ibidem]
representa un hecho, su contexto y su significado, e.g., el salario de
un empleado es la cantidad en dinero que percibe un trabajador por el
resultado de su trabajo
9. Administración de datos
Mecanismos para el almacenamiento,
recuperación oportuna y mantenimiento de datos
MANTENIMIENTO
Información Q
Contenido
MODELADO
Abstracción
ALMACENAMIENTO
Transformación
Representación interna
10. Recuperación de datos
Tratamiento de consulta
Interpretación Q
Lenguaje de consulta
(declarativo o imperativo)
Optimización
Indexación
Formateo ORACULO
Modelo de datos y
funciones asociadas
bien definidas
11. Contenido
Estructura
Datos
Tipos de datos
Operaciones
Documento
Formatos de representación (PDF, HTML, etc.)
Organización (v.g., título, capítulo, sección, etc.)
Semántica: contexto y significado
Visualización
13. Administración de contenido
Explotar un fondo de documentos
heterogéneos de acuerdo a diferentes
contextos semánticos
plataformas de visualización
Modelado
Estructura, semántica, visualización
Recuperación, integración, mantenimiento
14. Administración de la información
Almacenar y recuperar los datos de los periféricos
(estructuras y operaciones).
Cintas:
Secuencia de bytes.
Avanzar, retroceder, leer, escribir.
Discos:
Un archivo es un conjunto de registros de la misma naturaleza.
Posicionar, leer, escribir.
16. Base de datos (BD)
Un dato es un hecho que puede ser almacenados y
que tienen significado implícito.
Una base de datos (BD), desde el punto de vista de la
aplicación, es una colección de datos relacionados
que:
Modela/abstrae los objetos de una parte del mundo real
(miniworld o universo de discurso).
Sirve de soporte para la construcción de una aplicación
computacional.
17. Base de datos (BD)
Una BD, desde el punto de vista de la máquina, es una
colección de archivos:
Relacionados por apuntadores múltiples,
Organizados para responder a una gran variedad de consultas.
Los datos pueden ser consultados:
Por contenido: todos los cursos que tienen 8 unidades.
Por estructura: el hecho de que un curso posee una clave, un
nombre y unidades.
18. Objetivos de las BD
Coordinación Integración
Centralización Difusión
19. SGBD (DBMS)
Un Sistema de Gestión de Bases de Datos (SGBD) es
una colección de programas que permiten a los
usuarios crear y mantener una BD.
Un SGBD:
Se ocupa de organizar la información sobre memorias
secundarias (discos magnéticos).
Provee procedimientos para la definición, construcción y
manipulación (búsqueda y selección) de la información.
20. Primera vista de un SGBD
Los SGBD se
SGBD externo
distinguen de los
SGBD interno administradores de
archivos porque
permiten la
descripción de los
datos de manera a
separarlos de su
utilización.
21. Estrategia bases de datos
Consultas / Programas
SGBD
Procesamiento de consultas / programas
Acceso a los datos almacenados
Definición de Datos del
los datos
usuario
(Catálogo)
22. Funciones de un SGBD
Descripción: tipos, estructuras, restricciones y operaciones
de datos.
Utilización: consulta y actualización.
Integridad: control de la redundancia y aplicación de
restricciones.
Confidencialidad: acceso restringido.
Acceso concurrente: transacciones.
Seguridad en el funcionamiento: respaldo y recuperación.
23. Actores
El diseñador se encarga de definir estructuras, tipos,
restricciones y vistas de los datos.
El administrador se encarga de asignar recursos,
derechos y seguridad.
Tipos de usuario final:
Ocasional.
Experto.
Programador.
24. Arquitectura ANSI / SPARC
Modelo
externo 1 Mundo real
Modelo Modelo Modelo
externo 2 lógico físico
Modelo
externo 3
BD física
Nivel externo Nivel conceptual Nivel interno
25. Arquitectura ANSI / SPARC
Objetivo:
Asegurar una abstracción de los datos almacenados
sobre los discos.
Idea central:
Separar la descripción de los datos (efectuada por
los administradores) de su manipulación (efectuada
por los programadores de la aplicación).
26. Arquitectura ANSI / SPARC
Nivel externo:
Vista parcial de los datos almacenados.
Asegura cierta confidencialidad.
Nivel interno:
Estructuras de almacenamiento.
Describe como se encuentran organizados los datos
en el disco.
27. Arquitectura ANSI / SPARC
Nivel conceptual:
Estructura canónica (general) de los datos.
Describe la semántica inherente sin preocuparse de
la implementación representando la vista integrada de
todos los usuarios.
Modelo de datos:
Conjunto de conceptos y de reglas de asociación
entre ellos.
Herramienta formal para comprender e interpretar el
mundo real.
28. Arquitectura ANSI / SPARC
Lenguaje de Definición de Datos (LDD o DDL):
Soporta un modelo de datos.
Permite describir los datos de una manera asimilable por
una computadora.
Esquema lógico:
Descripción de los datos que se almacenan en la BD.
Acción de modelado del mundo real que respeta un
modelo de datos
29. Arquitectura funcional
Esquema Esquema Esquema
Catálogo externo 1 lógico físico
2 4
3
1
5 Sistema
Programas Aplicación 1 SGBD
operativo
8a
8b 7a 6a
Buffer de 7b Buffer de 6b
Datos aplicación sistema BD física
Nivel externo Nivel conceptual Nivel interno
30. Arquitectura funcional
1. La consulta es enviada al SGBD.
2. La solicitud es analizada utilizando el esquema externo
para verificar:
- Los derechos de acceso.
- Pasar las características de los datos a partir del catálogo.
3. El SGBD consulta el esquema lógico y deduce el tipo lógico
del dato a extraer.
4. El SGBD consulta el esquema físico y deduce el registro
físico a leer.
31. Arquitectura funcional
5. El SGBD pasa una orden de lectura al sistema operativo.
6. El sistema operativo:
a. Recibe la orden y lee los datos a partir del disco.
b. Sube los datos al buffer del sistema.
7. El SGBD:
a. Selecciona los datos solicitados.
b. Traduce los datos del esquema lógico al esquema externo.
8. (a) El SGBD notifica a la aplicación. (b) La aplicación
dispone de los datos y pasa a la siguiente operación.
32. Independencia
datos/programas
Independencia física:
posibilidad de cambiar la organización física sin
provocar la modificación de los programas de la
aplicación.
Independencia lógica:
posibilidad de modificar el esquema lógico (agregar
nuevas tablas) sin modificar los programas de la
aplicación.
33. Ventajas de la estrategia BD
Independencia datos/programas.
Descripción de datos (catálogo).
Modelo de datos: representación lógica.
Diferentes vistas sobre los datos.
Aumento de estándares.
Reducción del tiempo de desarrollo.
Disponibilidad de la información al día.
34. Principios de los SGBD
Administración de datos persistentes.
Administración de grandes cantidades de datos.
Fiabilidad de datos:
Coherencia de los datos.
Seguridad de acceso.
Seguridad de funcionamiento.
Utilización compartida de los datos y acceso concurrente.
Consulta de la información.
35. Bases de datos
semi-estructuradas
Dr. Alberto Portilla Flores
UATx
Thanks to:
Genoveva Vargas-Solar, CNRS, LIG France
José Luis Zechinelli Martini, UDLAP, México
36. Bases de Datos Semi-
estructuradas
En este curso nos referimos a una
“bases de datos semi-estructurada”
como aquella base de datos que tiene
como modelo de datos subyacentes
datos semi-estructurados.
37. Dato Semiestructurado
Son datos sin esquema o auto-
descriptibles
La información sobre la
estructura está junto con los
datos.
38. Contenido
Modelos de datos semi-estructurados
Principio
Representación
Caso de estudio: XML
Objetivos
SGML y HTML
Introducción a XML
38
39. Orígenes
Un documento puede ser definido por su forma
y su contenido:
Forma = estructura + presentación
Contenido = estructura + semántica
Diferentes estrategias, las más populares:
SGML documentos estructurados
HTML presentación de documentos
¡Algunas estrategias mezclan forma y contenido!
39 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
40. Presentación y estructura
Título XML : Des BD aux Services Web
Autor Georges Gardarin
Sección 1. Introduction
Ces dernières années ont vu l'ouverture des
Párrafo systèmes d'information à l'Internet. Alors que
depuis les années 1970, ces systèmes se
développaient souvent par applications plus ou
moins autonomes, le choc Internet …
Ainsi, on a vu apparaître une myriade de
Párrafo technologies nouvelles attrayantes mais peu
structurantes voir perturbantes. Certaines n'ont
guère survécues. D'autres ont laissé des
systèmes peu fiables et peu sécurisés. …
L'urbanisation passe avant tout par la
standardisation des échanges : il faut s'appuyer
Párrafo sur des standards ouverts, solides, lisibles,
sécurisés, capable d'assurer l'interopérabilité
avec l'Internet et les systèmes d'information.
XML, "lingua franca" …
Sección 2. La société ProXML …
40 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
41. Vista usando tags
<Livre>
<Titre> XML : Des BD aux Services Web</Titre>
<Auteur>Georges Gardarin</Auteur>
<Section titre = "Introduction">
<Paragraphe>Ces dernières années ont vu l'ouverture des systèmes d'information à l'Internet. Alors que depuis
les années 1970, ces systèmes se développaient souvent par applications plus ou moins autonomes, le choc
Internet … </Paragraphe>
<Paragraphe>Ainsi, on a vu apparaître une myriade de technologies nouvelles attrayantes mais peu
structurantes voir perturbantes. Certaines n'ont guère survécues. D'autres ont laissé des systèmes peu fiables
et peu sécurisés. …</Paragraphe>
<Paragraphe>L'urbanisation passe avant tout par la standardisation des échanges : il faut s'appuyer sur des
standards ouverts, solides, lisibles, sécurisés, capable d'assurer l'interopérabilité avec l'Internet et les systèmes
d'information. XML, "langua franca" … </Paragraphe>
</Section>
<Section titre= "La Société ProXML"> …
</Section>
</Livre> Los tags pueden tener
más o menos semántica
41 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
42. Tag o etiqueta
Marca el inicio y fin de un elemento texto
Los tags son de la forma (contexto):
<tag>valor o bloque</tag>
Los tags pueden estar contenidos en otros:
<personne>
<adresse>
<rue>A. Briand</rue>
<ville>Paris</ville> Elementos de datos
</adresse>
</personne>
Los lenguajes orientados a tags son ideales para organizar información semi-
estructurada
Un objeto tag es auto descriptivo
42 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
43. Consorcio World Wide Web
W3C - fundado en 1994
Consorcio internacional de industriales establecido
en:
MIT/LCS en Estados Unidos
INRIA en Europa
Keio University en Japón
448 miembros industriales en septiembre de 2000
43 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
44. W3C: ¿Objetivo?
Incrementar el impacto de la Web
Desarrollar protocolos comunes
Asegurar la interoperabilidad en la Web entre diferentes sistemas
Almacenar información acerca de estándares y normas para
desarrolladores y usuarios
Código referencia para presentar y promover diferentes estándares
Diferentes prototipos y ejemplos de aplicaciones
44 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
45. Documentos publicados
Nota:
Propuestas de grupos o consorcio
Working draft:
Resultados a partir de un grupo de trabajo
Propuestas recomendadas:
Consenso del grupo de trabajo que es sometido a votación
Recomendaciones:
Estándar aceptado (votación a favor)
45 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
46. Contenido
Modelos de datos semi-estructurados
Principio
Representación
Caso de estudio: XML
Objetivos
SGML y HTML
Introducción a XML
46
47. XML: Objetivos
XML = un lenguaje de intercambio nuevo basado en tags
XML = más simple que SGML
XML = más complejo y eficiente que HTML
XML = desarrollado por XML Working Group encabezado por W3C (desde 1996)
XML 1.0 = recomendación oficial de W3C desde 10/02/1998
47 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
48. Objetivos de diseño
XML debe ser de fácil uso en Internet
XML soporta una gran variedad de aplicaciones
XML debe ser compatible con SGML y HTML
Los documentos XML deben ser fáciles de escribir
48 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
49. Objetivos de diseño
Los documentos XML deben ser fáciles de leer y razonablemente claros
La especificación XML debe ser accesible
El diseño XML debe ser formal y conciso
Los documentos XML deben ser fáciles de crear
La longitud de un tag XML no es importante
49 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
50. Ventajas de XML
Separación de la estructura y
de la presentación
Es menos confuso que HTML
Más simple que SGML
Ideal para el intercambio de
datos semi-estructurados
Puede ser usado entre
diferentes máquinas
50 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
51. Contenido
Modelos de datos semi-estructurados
Principio
Representación
Caso de estudio: XML
Objetivos
SGML y HTML
Introducción a XML
51
52. SGML y HTML
En 1969 C. Goldfarb, E. Mosher, R. Lorie invento
GML en IBM
GML fue creado para editar, organizar y compartir
documentos con sistemas de gestión de edición
En 1978 Goldfarb encabezó el comité « Computer
Language for the Processing of Text » en
American National Standards Institute (ANSI)
52
53. ¿Qué es SGML?
Norma internacional:
Standard Generalized Markup Language
ISO 8879 - 1989
Meta-lenguaje de documentos orientados a tags
Comprensible a las personas y procesable por máquinas
Habilita la definición de lenguajes “taggeados”
Los documentos son “taggeados” de acuerdo a una gramática (DTD)
Instancias DTD
Semántica del contenido
Establece el contexto de valides de un documento
53 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
54. SGML: Objetivos
Separación de forma y contenido
Posibilidad de tener múltiples presentaciones
Solamente un documento SGML
Formatos diferentes: Postcript, HTML, etc.
Procesamiento del contenido de documentos sin considerar la forma
Framework para la definición de modelos documentos (validación, control)
Formato normalizado para el intercambio y el almacenamiento
54 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
55. SGML: Puntos débiles
Complejo para la definición de documentos
Precisión requerida
Estándar completo y complejo para procesar
documentos
El uso de hipertexto es posible, pero complejo
55 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
56. HTML: Presentación
Propuesto por W3C como <HTML>
formato de documentos <HEAD>
Web
<TITLE> Ejemplo </TITLE>
</HEAD>
Lenguaje simple con tags
estandarizado para la <BODY>
organización de un texto <H1> Contenido </H1>
<A HREF = "http://www.server.fr/Info
Reconocido por todos los /dir/test.html"> una referencia
navegadores externa
</A>
Popular en la Web </BODY>
</HTML>
56 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
57. HTML
Lenguaje usado para describir páginas Web:
Describe la presentación de las páginas y no el
contenido
No permite a las aplicaciones entender la estructura
y el contenido de las páginas
Los tags de HTML son utilizados para indicar
encabezados, párrafos, negrillas, itálicas, etc.
57
58. HTML: Ejemplo
<h1> People on the fourth floor </h1>
<p> <b> Alan </b>, 42 years,
<i> alan@abc.com </i> </p>
<p> <b> Ryan </b>, 58 years,
<i> ryan@abc.com </i> </p>
<p> <b> Patsy </b>, 36 years,
<i> patsy@abc.com </i> </p>
58
59. HTML: Presentación
People on the fourth floor
Alan, 42 years, alan@abc.com
Ryan, 58 years, ryan@abc.com
Patsy, 36 years, patsy@abc.com
59
60. HTML: Puntos débiles
La normalización es difícil (tags diferentes):
Cada navegador define sus propios tags de acuerdo a sus
requerimientos (incompatibilidad)
HTML 4.0:
Botones, tablas, applets, objetos, gráficos, matemáticas, ...
Estilos, frames, protecciones, ...
Las páginas son difíciles de actualizar:
Las hyper-ligas apuntan a donde sea
Implica reestructurar un conjunto de páginas
El contenido y la forma son mezclados:
Meta datos con la presentación
Las páginas son concebidas para un tipo de equipo
60 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
61. Páginas de estilo
Desarrolladas para tener presentaciones diversificadas
CSS (Cascading Style Sheet)
Mecanismos de herencia de nodos
Un tag hereda los elementos de su padre
Redefinición de elementos especificados en un nodo
Recomendación W3C, diciembre de 1996
Mecanismo simple para agregar un estilo a documentos
Web
Font, tamaño, color, etc.
Puede ser usado con XML
61 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
63. SGML y HTML: Resumen
SGML:
Lenguaje complejo
HTML:
Instancia de SGML
Adaptado para la
presentación
Inadaptado para el
intercambio de documentos
entre programas
63 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
64. Contenido
Modelos de datos semi-estructurados
Principio
Representación
Caso de estudio: XML
Objetivos
SGML y HTML
Introducción a XML
64
65. Introducción a XML
XML es un meta-lenguaje universal para datos en la Web
Permite el intercambio de contenido entre aplicaciones y/o
entre navegadores
XML apoya la estandarización de la manera de procesar la
información:
Intercambio (XML)
Personalizada (XSL)
Recuperación (XQuery)
Asegurada (Encriptación, Autentificación)
Ligado (XLink)
...
65 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
66. Elementos XML
Elemento: Componente básico en XML
Delimitado por tags
Conteniendo texto (contexto de un elemento), otros elementos
Ejemplo de elemento:
<person>
<name> Alan </name>
<age> 42 </age>
<email> alan@abc.com </email>
</person>
66
67. <table>
Elementos XML
<description> People on the fourth floor </description>
<people>
<person>
<name> Alan </name>
<age> 42 </age> <email> alan@abc.com </email>
</person>
<person>
<name> Ryan </name>
<age> 36 </age> <email> ryan@abc.com </email>
</person>
<person>
<name> Patsy </name>
<age> 58 </age> <email> patsy@abc.com </email>
</person>
</people>
67
</table>
68. HTML
<h1> People on the fourth floor </h1>
<p> <b> Alan </b>, 42 years,
<i> alan@abc.com </i> </p>
<p> <b> Ryan </b>, 58 years,
<i> ryan@abc.com </i> </p>
<p> <b> Patsy </b>, 36 years,
<i> patsy@abc.com </i> </p>
68
69. Elementos XML
Contenido del documento “People on the fourth floor”:
Nombres separados de las edades y de las direcciones email
Fácil de entender por cualquier aplicación
No hay información de cómo debe ser presentada
Texto del documento PCDATA (Parser Character Data)
Elementos vacíos:
<married> </married>
<married/>
69
70. Atributos XML
Atributo:
Propiedad definida por la relación (nombre, valor)
Usado para especificar la lengua, el tipo de moneda, el formato,
etc.
Ejemplo:
<product>
<name language=“Spanish”> flauta transversal </name>
<price currency=“Pesos”> 4200.12 </price>
</product>
70
71. Atributos XML vs. Elementos XML
Número de ocurrencias:
Un atributo puede ocurrir una sola vez
Un elemento puede repetirse varias veces
Contenido:
El valor de un atributo es siempre una cadena
Un elemento puede contener sub-elementos
71
72. Problemas de ambigüedad
<person>
<name> Alan </name>
<age> 42 </age>
<email> alan@abc.com </email>
</person>
<person
<person age = “42”>
name = “Alan”
<name> Alan </name>
age = “42”
<email> alan@abc.com </email>
email = “alan@abc.com”
</person>
/>
72
73. Documentos bien formados
Documento bien formado:
Tags anidados apropiadamente
Atributos únicos
El orden de los sub-elementos es relevante
73
74. XML: El principio
Documento bien formado:
<Vin>
<Cru>Volnay</Cru>
<Region> <Nom>Bourgogne</Nom>
SGML <Capitale>Dijon</Capitale>
</Region>
<Millesime>1995</Millesime>
<Degre>11.7</Degre>
XML <Prix Unite = "Euro"> 10.5 </Prix>
</Vin>
Los usuarios pueden definir sus propios tags
HTML Una gramática puede ser impuesta
(DTD, XMLSchema)
XHTML Los tags denotan el significado de las
secciones que delimitan
74 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
75. Estructura jerárquica + ligas
Tipo Français
Categoría ***
Nombre Le Moulin de Mougin
Restaurante Administrador Dupuis
Número 7
Dirección Calle Des Vignes
Ciudad Mougin
75 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
77. Presentación externa
<Prix>6.05</Prix>
77 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
78. Espacios de nombres
¿Cómo combinar tags provenientes de diferentes
espacios?
<t xmlns:Guide="http://www.michelin.com/2001/Guide",
xmlns:Annuaire="http://www.pageblanche.com/2001/Guide">
<Guide:Nom>Le Moulin</Guide:Nom>
<Annuaire:Nom>Le Moulin de Mougin</Annuaire:Nom>
Mecanismos interesantes para integrar contenido
78 Autor: G. Gardarin
Traducido: J.L. Zechinelli Martini
79. La galaxia de estándares
XMLSchema: esquema de
documentos ebXML
XSL: hojas de estilo DOM
XMLSchema
SAX: API para la programación
orientada a eventos
DOM: API para la programación RDF XML SAX
orientada a objetos
SOAP: Protocolo de servicios Web XSL
RDF: Descripción de recursos Web SOAP
ebXML: Estándares e-Commerce
Xxx
Xxx: Estándares de negocio XQuery
Autor: G. Gardarin 79
Traducido: J.L. Zechinelli Martini