jueves, 20 de octubre de 2016

UNIDAD II: TÓPICOS DE BASES DE DATOS

RESUMEN DE LA UNIDAD II: TÓPICOS DE BASES DE DATOS


Unidad 2: sistemas de base de datos orientados a objetos 

Introducción 
Las bases de datos orientadas a objetos se crearon para tratar de satisfacer las necesidades de estas nuevas aplicaciones. La orientación a objetos ofrece flexibilidad para manejar algunos de estos requisitos y no está limitada por los tipos de datos y los lenguajes de consulta de los sistemas de bases de datos tradicionales. Una característica clave de las bases de datos orientadas a objetos es la potencia que proporcionan al diseñador al permitirle especificar tanto la estructura de objetos complejos, como las operaciones que se pueden aplicar sobre dichos objetos.

Los principales conceptos que se utilizan en las Bases de Datos Orientada a  Objetos (BDOO) son las siguientes:
  • Identidad de objetos
  • Constructores de tipos
  • Encapsulamiento
  • Compatibilidad con los lenguajes de programación
  • jerarquía de tipos y herencia
  • Manejo de objetos complejos
  • polimorfismo y sobrecarga de operadores 
  • Creación de versiones

2.1 El modelo de datos Orientados a Objetos

El modelo orientado a objetos también soporta relaciones de muchos a muchos, siendo el primer modelo que lo permite. Aun así se debe ser muy cuidadoso cuando se diseñan estas relaciones para evitar pérdidas de información.
Por otra parte, las bases de datos orientadas
a objetos son navegaciones: el acceso a los datos es a través de las relaciones, que se almacenan con los mismos datos. Esto se considera un paso atrás.
Las bases de datos orientadas a objetos no son apropiadas para realizar consultas ad hoc, al contrario que las bases de datos relacionales, aunque normalmente las soportan. La naturaleza navegaciones de las bases de datos orientadas a objetos implica que las consultas deben seguir relaciones predefinidas y que no pueden insertarse nuevas relaciones.
El modelo de datos orientado a objetos es una extensión del paradigma de programación orientado a objetos. Los objetos entidad que se utilizan en los programas orientados a objetos son análogos a las entidades que se utilizan en las bases de datos orientadas a objetos puros, pero con una gran diferencia: los objetos del programa desaparecen cuando el programa termina su ejecución, mientras que los objetos de la base de datos permanecen, a  esto se le denomina persistencia.

El modelo orientado a objetos permite los atributos multivariados, agregaciones a las que se denomina conjuntos (sets) o bolsas (bags). Para crear una relación de uno a muchos, se define un atributo en la parte del uno que será de la clase del objeto con el que se relaciona. Este atributo contendrá el identificador de objeto del padre. La clase del objeto padre contendría un atributo que almacenará un conjunto de valores: los identificadores de los objetos hijo con los que se relaciona. Cuando el SGBD ve que un atributo tiene como tipo de datos una clase, ya sabe que el atributo contendrá un identificador de objeto.

figura 1.1 Modelo Orientado a Objetos
2.1.1 Características de los SGBDOO

Se indica que todo SGBDOO debe tener ciertas características las mismas que se clasifican en tres categorías: obligatorias y optativas.
  • Características obligatorias
  • Son aquellas características que se consideran esenciales en un SGBDOO. Un SGBDOO debe satisfacer dos criterios:

  • Debe ser un  Sistema Gestor de Base de Datos 
  • Debe ser un sistema orientado a objetos; es decir, en la medida de lo posible deberá ser consistente con el actual conjunto de lenguajes de programación orientados a objetos.

Debe satisfacer ser un SGBD (Sistema Gestor de Base de Datos) que se traduce en cinco características:

  • Persistencia
  • Gestión del almacenamiento secundario
  • Concurrencia
  • Recuperación
  • Facilidad de consultas.
  • Características Optativas
Son características que debería cumplir un gestor de base de datos orientado a objetos pero que no están obligadas a implementar.
  • Herencia múltiple 
  • Chequeo e inferencia de tipos
  • Distribución
  •  Transacciones de Diseño
  • Versiones
2.1.2 Tipos de  SGBDOO
  • SGBD de red

Los SGBD relacionales se basan en el modelo de datos de red. Los datos en el modelo de red se representan mediante colecciones de registros y las relaciones entre los datos se representan mediante enlaces, que se pueden ver como punteros. Los registros en la base de datos se organizan como colecciones de grafos dirigidos. En la figura se presenta un ejemplo de base de datos en red. 
  • SGBD jerárquicos

Los SGBD relacionales se basan en el modelo de datos jerárquico. El modelo jerárquico es similar al modelo de redes, en el sentido en que los datos y las relaciones entre los datos se representan mediante registros y enlaces, respectivamente. Éste se diferencia del modelo de redes en que los registros se organizan como colecciones de árboles en lugar de grafos dirigidos. En la siguiente figura se presenta un ejemplo de base de datos jerárquica.
  • Modelo de datos relacionales

 Basados en el modelo relacional, los datos se describen como relaciones que se suelen representar como tablas bidimensionales consistentes en filas y columnas. Cada fila (tupla, en terminología relacional) representa una ocurrencia. Las columnas (atributos) representan propiedades de las filas. Cada tupla se identifica por una clave primaria o identificadora. 
  • Modelo orientados a objetos

Una de las novedades más prometedoras y más desarrolladas comercialmente de los nuevos SGBD, son los basados en un nuevo modelo de datos conocido como modelo orientado a objetos. La orientación a objetos es un paradigma que no se aplica sólo al desarrollo de SGBD sino, en general, al desarrollo de sistemas de información.

2.1.3 productos

SGBD libres
  • MySQL Licencia Dual: Es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. MySQL AB, desde enero de 2008 una subsidiaria de Sun Microsystems desarrolla MySQL como software libre en un esquema de licenciamiento dual.
  • PostgreSQL: Es un sistema de gestión de base de datos relacional orientada a objetos de software libre, publicado bajo la licencia BSD. Como muchos otros proyectos open source, el desarrollo de PostgreSQL no es manejado por una sola compañía sino que es dirigido por una comunidad de desarrolladores y organizaciones comerciales las cuales trabajan en su desarrollo.Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).
  • Apache Derby: Es un sistema gestor de base de datos relacional escrito en Java que puede ser utilizado en aplicaciones Java y aplicado para procesos de transacciones online. Tiene un tamaño de 2 MB de espacio en disco. Inicialmente distribuido como IBM Cloudscape, Apache Derby es un proyecto open source licenciado bajo la Apache 2.0 License. Actualmente se distribuye como Sun Java DB.
  • Oracle: Es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), desarrollado por Oracle Corporation. Se considera a Oracle como uno de los sistemas de bases de datos más completos.
2.2 Estandar ODMG

Un grupo de representantes de la industria de las bases de datos formaron el ODMG (Object Database Management Group) con el propósito de definir estándares para los SGBD orientados a objetos. Este grupo propuso un modelo estándar para la semántica de los objetos de una base de datos. Su ´ultima versión, ODMG 3.0, apareció en enero de 2000. Los principales componentes de la arquitectura ODMG para un SGBD orientado a objetos son los siguientes: 

  •  Modelo de objetos.
  •  Lenguaje de definición de objetos (ODL).
  • Lenguaje de consulta de objetos (OQL).
  • Conexión con los lenguajes C++, Smalltalk y Java.
2.3 Identidad y estructura de objetos

Los tipos de objetos se descomponen en atómicos, colecciones y tipos estructurados.
Los tipos colección, que se derivan de la interfaces Collection, son la propuesta del estándar para las clases contenedor.
Cada objeto tiene un identificador de objeto único generado por el SGBD, que no cambia y que no se reutiliza cuando el objeto se borra. Cada SGBD genera los identificadores siguiendo sus propios criterios.
Los objetos pueden ser transitorios o persistentes. Los objetos transitorios existen mientras vive el programa de aplicación que los ha creado. Estos objetos se usan tanto como almacenamiento temporal como para dar apoyo al programa de aplicación que se está ejecutando.

Los objetos persistentes son aquellos que se almacenan en la base de datos.

2.4 Encapsulamiento, Herencia y polimorfismo en BDOO
  • Encapsulamiento
El encapsulamiento se centra en la implementación que da lugar al comportamiento observable de un objeto. El encapsulamiento se consigue  mediante la ocultación de información, es decir, se basa en ocultar todos los secretos de un objeto que no contribuyen a sus características esenciales. El encapsulamiento proporciona, por tanto, barreras explícitas entre abstracciones diferentes. Existen dos visiones diferentes del encapsulamiento [ATK89], la primera y original que es la del lenguaje de programación; y la segunda que es la adaptación de esa visión para la base de datos.
  • Herencia

Propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de clases.

Tipos de herencia a destacar en los sistemas de gestión de bases de datos

1. Herencia de sustitución
2. Herencia de restricción
3. Herencia d especialización

  • Polimorfismo


En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos. Una operación (llamada función) se especifica en dos partes. La interfaz (o signatura) de una operación incluye el nombre de la operación y los tipos de datos de sus argumentos (o parámetros). La implementación (o método) de la operación se especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando a dichas operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podría denominarse independencia entre programas y operaciones.



2.5 Persistencia, Concurrencia y Recuperación en BDOO
  • Persistencia
La persistencia es una de las características que los SGBDOO heredan tanto de los SGBD como del modelo de objetos. La diferencia está en que la persistencia proporcionada por el SGBD tradicional, se refiere únicamente a la conservación de los datos, mientras que la persistencia heredada del modelo de objetos hace referencia no sólo a la conservación del estado de un objeto, sino también a la conservación de la clase, que debe trascender a cualquier programa individual, de forma que todos los programas interpreten de la misma manera el estado almacenado.
  • Concurrencia

El SGBO debe gestionar el acceso de múltiples usuarios a la vez. Soportando la noción de atomicidad de una secuencia de operaciones y la compartición controlada.
Si se introduce concurrencia en nuestro sistema hay que considerar cómo los objetos activos sincronizan sus actividades con otros, así como con objetos puramente secuenciales. Por ejemplo, si dos objetos activos intentan enviar mensajes a un tercer objeto, hay que tener la seguridad de que existe algún mecanismo de exclusión mutua, de forma que el estado del objeto sobre el que se actúa no está corrupto cuando los dos objetos activos intentan actualizarlo simultáneamente. En presencia de la concurrencia no hay que definir simplemente los métodos de un objeto; hay que asegurarse también de que la semántica de estos métodos se mantiene a pesar de la existencia de múltiples usuarios concurrentes.
  • Recuperación

Con recuperación nos referimos al proceso de aplicación de consistencia después de que una transacción ha abortado como resultado de fallas de hardware o problemas de comunicación. Las fallas del sistemas, tanto de hardware como de software no deben repercutir en estados de inconsistencia de la base datos. La recuperación es la técnica que asegura que eso no ocurra. La recuperación puede ser total o parcial dependiendo de las circunstancias, de la recuperabilidad.

INTEGRANTES:
  • Erik Beltran Gozcon
  • Alan González Gómez
  • Claudia González González






No hay comentarios:

Publicar un comentario