Bases de Datos XML

Bases de datos XML POR: FABIAN PUENTES BUITRAGO Agenda  XML  Características generales  Estructura general 

Views 225 Downloads 4 File size 423KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Bases de datos XML POR: FABIAN PUENTES BUITRAGO

Agenda 

XML



Características generales



Estructura general



Ventajas y desventajas



Estructura de los datos XML





Ventajas y desventajas

Bases de datos orientadas a documentos



Esquema de los documentos XML



Mongo DB



Definición de tipos de documento(DTD)



Bson



Bases de datos orientadas a grafos



XMLSchema



Bases de datos OO



Consulta



XQUERY



Interfaz de programación de aplicaciones



NoSQL

XML (Extensible Markup Language)  Se

deriva de un lenguaje para estructurar documentos grandes conocido como SGML (Standard Generalized Markup Language), Sirve para representar datos de bases de datos y generaR muchas clases de datos estructurados usados en aplicaciones de negocio.

Estructura general 

Marca : Hace referencia a un elemento en el documento del que no se tiene intención de que sea parte de la salida impresa.

Etiqueta : Es la forma que adoptan las marcas y van encerradas entre corchetes angulares () que indican el inicio y el final del documento al cual se refiere.  Ejemplo: Ingeniería de software 

Estructura de los datos XML



Elementos: Un par de etiquetas y todo el texto que aparece entre ellas.



Raíz: Los documentos deben tener solo un elemento raíz, se deben anidar adecuadamente.

Estructura de los datos XML 

Atributo: Son cadenas y no contienen marcas.



Espacio de nombre: Permite a las organizaciones especificar nombres únicos globalmente para que se usen como marcas de elementos en los documentos.

Ventajas y desventajas 

Puede parecer muy poco eficiente debido a que los nombres de las etiquetas se repiten todo el tiempo, sin embargo a pesar de esto se presentan grandes ventajas.



1. Autodocumentado.



2. Formato del documento no es rígido.



3. Gran aceptación del lenguaje.

Así como SQL es el lenguaje predominante para la consulta de bd relacionales, XML se esta convirtiendo en el lenguaje dominante para el intercambio de datos

Esquema de los documentos XML  Las

BD tienen esquemas que se utilizan para restringir los tipos de datos que se van a almacenar. En cambio los documentos XML se pueden crear de forma predeterminada sin un esquema asociado, pero esto no es recomendado debido a la naturaleza autodescriptiva de del formato de datos.

Definición de tipos de documento(DTD) 

Es una parte opcional de un documento. El propósito es similar al de un esquema: restringir el tipo de información presente en el documento. Sin embargo, DTD no restringe los tipos como enteros o cadenas, sino que restringe el aspecto de subelementos y atributos de un elemento.



|: Especifica un “o”



+:Especifica “Uno o más”



*:Especifica “cero o más”



?:Especifica un elemento opcional “binario”

Definición de tipos de documento(DTD) La palabra clave #PCDATA: Indica dato de texto (Deriva su nombre de parsed character data).  Empty: El elemento no tiene ningún contenido.  Any : No hay restricción sobre los subelementos. 

Atributos para elementos CDATA: El atributo contiene datos de caracteres.  ID: Proporciona un identificador único para el elemento.  IDREF: Es una referencia a un elemento, debe contener un valor que aparezca en el atributo ID de algún elemento del documento.  IDREFS: Permite una lista de referencias separadas por espacios. 

Definición de tipos de documento(DTD) 

Los atributos siempre deben declaración de tipo y una predeterminada.

tener una declaración

La declaración predeterminada puede consistir en un valor para el atributo o #REQUIRED, significa que se debe especificar un valor para el atributo en cada elemento, #Implied, significa que no se ha especificado un valor predeterminado.

Definición de tipos de documento(DTD)

XMLSchema 

Es un lenguaje que surge para mejorar algunas deficiencias del DTD.

Mejoras del XMLSchema en comparación con el DTD 

Permite crear tipos definidos por el usuario.



Permite restringir los tipos para crear tipos especializados, por ejemplo especificando valores mínimo y máximo.



Permite restricciones de unicidad y de clave externa.



Permite la extensión de tipos complejos mediante el uso de herencia.

Si embargo el precio a pagar por estas mejoras es que es significativamente mas complicado que el DTD.

Consulta 

Dado el creciente número de aplicaciones que usan XML para transmitir, intercambiar y almacenar datos, las herramientas para una gestión efectiva de datos están siendo cada vez mas importantes. Varios lenguajes proporcionan grados crecientes de capacidades de consulta y transformación.



XPATH: Es un lenguaje para expresiones de rutas de accesos.



XQUERY: Es el estándar propuesto para consultar datos XML.



En todos estos lenguajes un modelo de árbol, ya que un documento XML se modela como un árbol con nodos.

XQUERY 

Lenguaje de consulta estándar de XML desarrollado por el consorcio W3C. Esta diseñado en base al lenguaje de consulta XML denominado “Quilt”

En este no se hacen consultas XML, en su lugar las consultas son muy similares a las SQL y se organizan con expresiones “FLWR”. for: Proporciona una serie de variables cuyos valores son los resultados de expresiones XPATH let: Permite que se asignen expresiones complicadas a los nombres de las variables.

where: Ejecuta comprobaciones adicionales sobe las tuplas reunidas por la sección for. return: Permite la construcción de resultados en XML.

XQUERY

Los resultados se pueden ordenar si se incluye la clausula sortby al final de cualquier expresión

Interfaz de programación de aplicaciones 

Debido a la gran aceptación de XML como una representación de datos y formato de intercambio hay una gran cantidad de software disponible para la manipulación de datos XML.



Una de las API estándar para la manipulación de XML es el modelo de objetos de documento DOM, que trata el contenido del documento como un árbol y cada elemento como un nodo (DOMnode)



La API DOM de Java proporciona una interfaz denominada Node que proporciona métodos como getParentNode(), getFirstChild etc, para navegar desde el nodo raíz.

NoSQL 

“Son sistemas de almacenamiento de información que no cumplen con el esquema entidad-relación, no imponen una estructura de datos en forma de tablas y relaciones entre ellas , en ese sentido son más flexibles, ya que suelen permitir almacenar información en otros formatos como clave-valor (similar a tablas Hash), Mapeo de Columnas, Documentos o Grafos.”

CARACTERISTICAS GENERALES 

● Ausencia de esquema.



● Velocidad.



● Escalabilidad horizontal.



● Consistencia Eventual.



● No generan cuellos de botella.

VENTAJAS Y DESVENTAJAS VENTAJAS  Es de código abierto - Sobre todo las cosas buenas.  2. Escalamiento sencillo.  3. Diferentes DBs NoSQL para diferentes  proyectos.  4. NoSQL y la nube es un ajuste natural.  5. Las bases de datos NoSQL utilizan sobre todo el uso de memoria en vez del disco como la principal ubicación de escritura.

DESVENTAJAS 1. El código abierto puede significar una problema en el soporte para las empresas. 2. No están lo suficientemente maduros para algunas empresas. 3. Limitaciones de Inteligencia de Negocios. 4. La falta de experiencia. 5. Problemas de compatibilidad.

BASES DE DATOS ORIENTADA A DOCUMENTOS El concepto central de una base de datos orientada a documentos es el concepto mismo de Documento. Mientras cada implementación de base de datos orientada a documentos difiere en los detalles, en general todas ellas comparten el principio de que los documentos encapsulan y codifican datos o información siguiendo algún formato estándar. Entre las codificaciones usadas en la actualidad se encuentran XML, YAML, JSON y BSON.

MONGO DB 

Es un sistema de base de datos NoSQL orientado a documentos, desarrollado bajo el concepto de código abierto. En vez de guardar los datos en tablas como se hace en las base de datos relacionales, MongoDB guarda estructuras de datos en documentos tipo JSON con un esquema dinámico (MongoDB llama ese formato BSON), haciendo que la integración de los datos en ciertas aplicaciones sea más fácil y rápida.

BSON Un objeto BSON consiste en una lista ordenada de elementos. Cada elemento consta de un campo nombre, un tipo y un valor. Los nombres son de tipo String y los tipos pueden ser:



Cadena de caracteres (String)



Enteros de 32 o 64 bits



Tipo de dato real de 64 bits IEEE 754



Fecha



Array de bytes (datos binarios)



booleano



Nulo (null)



Objeto BSON



Array BSON



Expresiones Regulares



Código JavaScript

Los tipos BSON son los mismos tipos de JSON además de añadir Date y Array de bytes.

BASES DE DATOS ORIENTDAS A GRAFOS 

Este tipo de bases de datos utiliza la topología de un grafo con nodos como vértices y relaciones como aristas y propiedades, utilizada para almacenar y representar datos conectados sin necesidad de utilizar un índice (que es el método tradicional de simular una relación en una base de datos relacional). De esta forma, los vecinos de un nodo son accesibles directamente mediante una referencia directa, sin pasar por estructuras intermedias.

BASES DE DATOS OO 

En una base de datos orientada a objetos, la información se representa mediante objetos como los presentes en la programación orientada a objetos. Cuando se integra las características de una base de datos con las de un lenguaje de programación orientado a objetos, el resultado es un sistema gestor de base de datos orientada a objetos (ODBMS, object database management system). Un ODBMS hace que los objetos de la base de datos aparezcan como objetos de un lenguaje de programación en uno o más lenguajes de programación a los que dé soporte

REFERENCIAS 

FUNDAMENTOS DE BASES DE DATOS. Cuarta edición 2002



http://unefazuliasistemas.files.wordpress.com/2011/04/fundamentos -de-bases-de-datos-silberschatz-korth-sudarshan.pdf



https://yazminic.wordpress.com/2011/02/04/definicion-yconceptos/



Exposiciones realizada por los compañeros en la clase de bases de datos I.