Práctica sgbd
Práctica de la Asignatura de Sistemas de Gestión de Bases de Datos Escenario Actualizado para el Curso 2010/2011 – Octubre de 2010 – Versión 1.00
Departamento de Lenguajes y Sistemas Informáticos Escuela Técnica Superior de Ingeniería Informática - UNED
1.- IntroducciónEl objetivo de la práctica es explorar las dificultades en almacenar datos semiestructurados en Bases de Datos Relacionales, así como las formas de solucionarlas etiquetando los datos en XML y almacenándolos en una base de datos XML nativa. También, por último, se busca el exponer cómo llevar a cabo búsquedas sobre los datos (necesario para su recuperación) utilizando XQuery. Quizás la primera cuestión a realizarse es precisamente encontrar respuesta a la siguiente pregunta: ¿qué son datos semiestructurados? Se considera como datos estructurados aquellos atributos o variables fuertemente tipados (int, float, string), donde cada atributo en una relación está definido para todos los registros. Éstos son los datos que podemos almacenar en una base de datos relacional sin ningún problema. Un ejemplo sería: Definición Ejemplos Nombre [char(10)] Pepe Juan Cumpleaños [Date] 1985‐07‐12 1965‐03‐23 Sueldo [int] 9000 6500 En el lado opuesto se encuentran los datos no estructurados, que son aquellos que no poseen definiciones de tipos, ni están organizados de acuerdo a ningún patrón, y para los que no existe el concepto de variables o atributos. Por ejemplo: documentos de texto sin estructura, correo electrónico, páginas web, etc. Por último, los datos semiestructurados son los que se encuentran en una consideración a caballo entre los datos estructurados y los no estructurados. Por un lado, las variables están, generalmente, pobremente tipadas (x = 1 es válido y x = “hola” también es válido). Un registro no necesariamente tiene que tener todos sus atributos definidos. Mientras, por ejemplo, en una base de datos relacional un campo debe establecerse como NULL cuando no tiene valor, en un ambiente de datos semiestructurados basta con omitir dicho atributo. Y no existe necesariamente una diferencia entre un identificador de un campo y el valor mismo de éste. Ejemplos incluyen documentos SGML y XML. Los problemas ocurren, cuando intentamos almacenar los datos semiestructurados en bases de datos relacionales. Ello se debe, en muchos casos, a las fuertes restricciones que los sistemas gestores imponen a la hora de trabajar con los datos, de modo que no se permite que un dato concreto quede sin quedar perfectamente definido, bien por su tipo, bien por su contenido. Es por ello que el almacenamiento de datos semiestructurados en este tipo de bases de datos puede ser, en algunos casos, problemático.
2.- Los Lenguajes de Etiquetado y XML
Los lenguajes de etiquetado son sistemas complejos de descripción de información (normalmente documentos) que si se ajustan a SGML (acrónimo acuñado para Standard Generalized Markup Language, lenguaje de etiquetado generalizado estándar), se pueden controlar desde cualquier editor ASCII. Las etiquetas son los códigos que indican al programa cómo debe tratar su contenido y así, si se desea que un fragmento textual aparezca en cursiva, cada aplicación introduce al principio y al final de dicho fragmento una etiqueta que le permita mostrar este estilo de fuente en pantalla e imprimirlo adecuadamente. Lo mismo sucede con las tablas, márgenes, imágenes, fuentes, enlaces, etc. Las etiquetas más utilizadas suelen ser informativas y aparecen dentro de los signos ʺmenor queʺ (), siendo lo más habitual que exista una al principio y otra al final de cada elemento. Así, por ejemplo, el etiquetado: Daniel indica que ʺDanielʺ no es la descripción de un montículo de ...
Regístrate para leer el documento completo.