Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Bases de Datos Orientadas a Objectos

BDOO
by

DIANA FDA JARA

on 24 April 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Bases de Datos Orientadas a Objectos

Bases de Datos
Orientadas a Objetos

Bases de Datos Orientadas a Objetos
2. Modelo de Datos Orientado a Objetos
COMPONENTES DEL MODELO ESTÁNDAR ODMG
Estándar ODMG
COMPONENTES DEL MODELO ESTÁNDAR ODMG
Tipos De Datos Complejos
Persistencia c++
FIN
Sistemas Persistentes

En las BDOO es importante hacer persistente los objetos que en los lenguajes de programación están en memoria.
6. Intento de Estandarización ODMG
Los lenguajes de programación añaden la persistencia y otras características de las BD a los lenguajes de programación existentes con sistemas de tipos orientados a objetos.

Por el contrario, los modelos de datos relacionales orientados a objetos extienden el modelo de datos relacional que incluyen tipos de datos complejos y la programación orientada a objetos.
Los elementos de datos básicos son registros pequeños y cuyos campos son atómicos, es decir que no contienen estructuras adicionales y que cumplen con la 1FN.
Lenguajes de Programacion Persistente
Los lenguajes de programación persistente son lenguajes de programación extendidos con constructoras para el tratamiento de datos persistentes. Los lenguajes de programación persistente pueden distinguirse de los lenguajes con SQL incorporado de al menos dos maneras:
Persistencia en Java
Para la persistencia de objetos en programas Java es diferente del modelo para la persistencia que se permite en programas C++. La mayor diferencia es el uso de la persistencia por alcance en Java.
Carolina Barrera Williams
Diana Fernanda Jara Pérez

Contenido
Introducción
Conceptos Fundamentales
Bases de Datos Orientada a Objetos - BDOO
Qué son
Características
Sistema Gestor de Base de Datos Orientado a Objetos - SGBDOO
Características OO Vs O-R
Ventajas y Desventajas BDOO
Bases de Datos Objeto - Relacionales - O-R
Bibliografía - Referencias Electrónicas
Conceptos Fundamentales
Objeto:
Es cualquier cosa real o abstracta acerca de la cual se almacenan datos y los métodos que marcan el comportamiento de dichos datos. Es una instancia de una clase.

Identidad:
Es la propiedad que permite diferenciar a cada objeto de los restantes, en programacion hace alucion a la posición de memoria que ocupa en el PC.

Comportamiento:
Esta propiedad determina la funcionalidad del objeto, es decir, las tareas que puede realizar o a las que puede responder a partir de un mensaje recibido de otro objeto.

Estado:
Es el valor de los atributos que componen al objeto en un momento determinado, el comportamiento de un objeto puede modificar su estado.

Clase:
Es un tipo de objeto que agrupa una categoria de objetos con las mismas caracteristicas inherentes y de compartamiento.

Mensaje:
Invoca una operación especifica, con uno o mas objetos como parametro.

Encapsulamiento
: Es el acto de ocultar los detalles de implementación de un objeto de otros objetos o del usuario
 
Herencia:
Es el mecanismo que permite la reutilización y extensibilidad del software. Una clase implementa el tipo de objeto. Una subclase hereda propiedades de su clase padre: una subclase puede heredar la estructura y todos o algunos de los métodos.

Herencia Múltiple:
Posibilidad de que una clase herede atributos o métodos de varias clases diferentes

Polimorfismo:
Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos

Abstracción:
Es la posibilidad de aislar un elemento de un contexto o el resto de los elementos que lo acompañan. Se centra en la visión externa de un objeto y sirve para separar el comportamiento de un objeto de su implementación.

Modularidad:
Basada en concepto de fragmentación de los programas en componentes individuales para reducir su complejidad en algún grado y para crear una serie de fronteras bien definidas y documentadas dentro del programa.

Jerarquía:
Denota una clasificación u ordenamiento de abstracciones
Objetos Complejos:
Aquellos que están construidos mediante el uso de algunos objetos mas simples o mediante aplicación de constructores a ellos

CONSULTA DE TIPOS COMPLEJOS
Se puede comenzar por un ejemplo sencillo: averiguar el título y el nombre de la editorial de cada documento.
TIPOS COMPLEJOS
VENTAJAS
Ejemplo:
SQL con extensión para datos espaciales
Identidad o Referencia
Referencia
Los lenguajes orientados a objetos proporcionan la posibilidad de hacer referencia a los objetos. El atributo de un tipo puede ser una referencia a un objeto de un tipo especificado.

Para inicializar un atributo referencia es necesario obtener el identificador de la tupla a la que se va a hacer referencia. Así, para crear una tupla con el valor referencia, se puede crear en primer lugar la tupla con una referencia nula y después establecer la referencia:
Inicializar Atributos
Ejemplo: Cadena de supermercados.
Gránulo:
Gránulo: “se desea almacenar información sobre las ventas diarias de cada producto en cada almacén de la cadena”.
Define el significado de las tuplas de la tabla de hechos.
Determina las dimensiones básicas del esquema.
Una alternativa a los identificadores generados por el sistema es permitir a los usuarios generar identificadores.
Tabla de Dimensión
Permite realizar consultas SQL para determinar las relaciones espaciales:
Distancia
Adyacencia
Dentro de

y para aplicar las operaciones espaciales:
Área
Longitud
Intersección
Ejemplo:
SQL con extensión para datos espaciales
COMPONENTES DEL MODELO ESTÁNDAR ODMG
Lenguaje de Definición de Datos - ODL
En un SGBDOO se emplea para facilitar la portabilidad de los esquemas de las BD

Define los atributos y las relaciones ente tipos, y especifica las operaciones posibles

BIBLIOGRAFÍA
FUNDAMENTOS DE BASES DE DATOS, Cuarta edición. Editorial Mc Graw Hill. Silberschatz • Korth • Sudarshan. Capitulo 8.
FUNDAMENTOS DE BASES DE DATOS, Sexta edición. Editorial Mc Graw Hill. Silberschatz • Korth • Sudarshan. Capitulo 2.
BASES DE DATOS, Enrique José Reinosa • Calixo Alejandro Maldonado • Roberto Muñoz • Luis Esteban Damianio • Adrian Abitsky;Primera edicion, Alfaomega Grupo Editor Argentino, Capitulo 8
Las aplicaciones tradicionales de las bases de datos consisten en tareas de procesamiento de datos, como la gestión bancaria y de nominas, con tipos de datos relativamente sencillos, que se adapta bien al modelo relacional. A medida que los sistemas de bases de datos se fueron aplicando a un rango mas amplio de aplicaciones, como el Diseño Asistido Por Computadora - CAD y los Sistemas de Información Geográfica - GIS, las limitaciones impuestas por el modelo relacional se convirtieron en un obstáculo. La solución fue la introducción de bases de datos basadas en objetos, que permiten trabajar con los tipos de datos complejos.
QUÉ ES BDOO
Características de las BDOO
Lenguaje de BD se especifica con:

* OML - Lenguaje de manipulación de datos
* ODL - Lenguaje de definición de datos
* OQL - Lenguaje de Consulta
* Sintaxis similar a los lenguajes(Smalltalk, C++, Java)

Estructurados
Date:
Fecha del calendario
Time:
Hora
Timestamp:
Fecha y Hora
Interval:
Período de tiempo

Equivale a una clase abstracta
Interfaz
Es una clase concreta
Puede tener una o mas claves
La representación es una estructura de datos
Soporta herencia simple y múltiple a través de interfaces
Es un lenguaje declarativo del tipo de SQL diseñado para realizar consultas de modo eficiente sobre bases de datos orientadas a objetos.

No tiene ninguna herramienta para modificar el estado de los objetos, esto se debe a que las modificaciones pueden efectuarse desde los métodos de cada objeto
BD RELACIONALES ORIENTADAS A OBJETOS
En este caso si se define una relación para la información anterior, varios de los dominios serán no atómicos.



Por ejemplo, una aplicación para una biblioteca donde queremos almacenar para cada libro la siguiente información:

Titulo del libro Lista de autores Editorial

Lista de palabras clave
Tipos Estructurados o Anidados
Tipo Estructurado
Tipos Estructurados
Ingeniería de Software Asistida por Computador - CASE
Herencia
de Tipos
Herencia
de Tablas
Herencia
de Tablas
Herencia de Tablas
Cada tabla almacena todos los atributos heredados y definidos localmente.
Predicados
puntos × puntos → Puntos de intersección
líneas × líneas → puntos de intersección
regiones × regiones → regiones intersección
regiones × líneas → líneas de intersección

Herencia de Tipos y Tablas
Las subtablas corresponden con la noción del modelo E-R de la especialización y la generalización.
Los requisitos de consistencia para las subtablas son:
1. Modelo Conceptual
De la BDOO es el mismo que se utiliza para la programación OO, lo que permite evitar la traducción, mapeo o reconversión del modelo simplificando el desarrollo completo del software.

El uso del modelo conceptual para todos los aspectos del desarrollo lo simplifica, particularmente las herramientas CASE (Ingeniería de software asistida por computadora) OO, que mejoran la comunicación entre los usuarios, analistas y programadores, además que se reducen las posibilidades de error.

Permite que tal como fue diseñado el sistema, persista en la BD almacenado como objetos y no como tablas, atributos y relaciones

Es fundamental en la construcción de una BDOO incluir una herramienta CASE OO que permita que el diseños se realice directamente en la propia BD y no requiera conversiones de modelos.

Cualquier intersección, unión, diferencia se puede formar debido a la estructura general de los valores:
Es un Conjunto de herramientas de aplicaciones informáticas. Entre sus objetivos principales se destaca:

Aumento de la productividad del software en múltiples tareas como la compilación automática, la documentación o la localización de errores.

En 1984, se lanzo la primera de estas herramientas para trabajar bajo una plataforma PC



Base de Datos CASE
Almacena datos relativos a las etapas del ciclo de desarrollo del software:

Planificación
Recopilación
Análisis de Requisitos
Diseño

Ejemplo:
Las Herramientas de gestión de configuración de software
Permiten compartir de forma concurrente el diseño del proyecto, el código y la documentación
Por Clases
Por Creación
Por Clase
Es el mas sencillo, pero el menos conveniente, se define todas la clases como persistentes, por lo que todos los objetos que pertenecen a ella también lo son.
Es una variable de la persistencia por creación, todos los objetos se crean como transitorios y, luego a los que se quiera convertir en persistentes se los marca para que puedan persistir mas allá de la ejecución del programa que lo esta utilizando
4. Almacenamiento y Acceso de los Objetos Persistente en una BDOO
3. Persistencia de los Datos
5. Manifiesto de Atkinson
Consultas Especiales
Para evitar la revisión exhaustiva de los datos en una base de datos, se crean índices que reducen el número de elementos a visitar en la base de datos en un procesamiento de consulta.
Por este motivo existen tres categorías de métodos de acceso espacial
PAM (Point Access Method)
Una estructura de datos y algoritmos asociados principalmente a la búsqueda de puntos definidos en el espacio multidimensional
SAM (Spatial Access Method)
Una estructura de datos para buscar líneas, polígonos, etc
MBR (Minimal Bounding Rectangle)
Organización jerárquica de una colección de objetos espaciales donde las hojas contienen punteros a los datos y los nodos intermedios contienen a sus sub-hojas.
Generalmente, una base de datos espacial debe manejar grandes colecciones de objetos geométricos.

En particular, una base de datos espacial debe ser capaz de recuperar una selección de objetos, sin escanear cada objeto de la base de datos. Esto significa que las bases de datos espaciales deben usar la indexación espacial y usar una fórmula matemática eficiente, o algoritmo, para conectar o unir objetos espaciales de diferentes clases entre sí.
Indexación espacial
Atributo Auto referencial
La tabla a la que se hace referencia debe tener un atributo que guarde el identificador de cada tupla. este atributo se llama ATRIBUTO auto referencial, se declara añadiendo una clausula REF IS al CREATE TABLE.
Atributos Generados
Crear una Base de Datos
http://desastres.usac.edu.gt/documentos/pdf/spa/doc15748/doc15748-3.pdf
Agregar Datos
http://desastres.usac.edu.gt/documentos/pdf/spa/doc15748/doc15748-3.pdf
Los puntos fuertes de los varios tipos de sistemas de bases de datos pueden resumirse de la manera siguiente:

• Sistemas relacionales: tipos de datos sencillos,lenguajes de consulta potentes, protección elevada.

• Bases de datos orientadas a objetos basadas en lenguajes de programación persistentes: tipos de datos complejos, integración con los lenguajes
de programación, elevado rendimiento.

• Sistemas relacionales orientados a objetos: tipos de datos complejos, lenguajes de consulta potentes, protección elevada.

Conclusiones

Introducción
La BDOO
almacena y manipulan información respetando las características de la POO proporcionando una estructura flexible con acceso ágil, rápido y con gran capacidad de modificación.
Cuando se integra las características de una BD
con las de un lenguaje de POO, el resultado es un sistema gestor de base de datos orientada a objetos (ODBMS, object database management system)
Es una colección de datos
que puede constituirse de forma que sus contenidos tengan la capacidad de encapsular, tramitar y renovar sencillamente elementos de datos, sus características, atributos y el código en elementos complejos denominados
objetos.
Se definirán los conceptos fundamentales de la POO y su aplicación a las BDOO
1. Modelo Conceptual
2. Modelo de Datos Orientado a Objetos
3. Persistencia de los Datos
4. Almacenamiento y Acceso de los Objetos Persistente en una BDOO
5. Manifiesto de Atkinson
6. Intento de Estandarización ODMG
7. Enfoques para la Construcción de BDOO
Implementación
Pruebas
Mantenimiento
Documentación
En las BD Relacionales, se corresponden con las entidades, en el paradigma OO se basa en el encapsulamiento de los objetos.

Cada objeto se asocia con un conjunto de variables o atributos que contienen datos del objeto, un conjunto de mensajes a los que responde y conjunto de métodos que son bloques de código que responde los mensajes con un valor

Existen objetos similares que se caracterizan por responder a los mismos mensajes, con los mismos atributos y métodos pero diferentes valores, estos objetos se agrupan en clases y cada objeto es una instancia de la clase.

Distintos Enfoques de Persistencia
Por Marcas
Por Enlaces
Por Creación
Los objetos son persistente o transitorios, según se hayan creado o no así, sin que importe la clase a la cual pertenezcan
Por Marcas
Por Alcance
Algunos objetos se declaran de manera explícita como objetos persistentes - objetos raíz, El resto de objetos serán persistentes si y solo si son alcanzados a través de una o varias referencias por algún objeto raíz que fueron creados persistentemente.
En los últimos años ha crecido la forma de abordar los tipos de datos mas complejos donde los usuarios deben tratar un conjunto de objetos o entidades.Donde puede que cada objetos necesite varios registros para su representación.
• Autores. Un libro puede tener varios autores.
• Editorial. no tiene un dominio de tipo conjunto. Sin embargo, se puede considerar que editorial consiste en los subcampos nombre y sucursal.
• Palabras clave. Si se guarda un conjunto de palabras clave de cada doc se espera poder recuperar todos los docs cuyas claves incluyan una o varias de las palabras clave especificadas.
Asignándole un nombre a cada objeto
, valida cuando la cantidad de objetos almacenados es pequeña

Exponiendo los identificadores de los objetos o los punteros al lugar físico donde están almacenados;
pueden ser almacenados en forma externa, no tienen que ser recordados y pueden ser punteros físicos dentro de la base de datos
Creación de Valores
de Tipo Complejo
Las funciones constructoras se usan para crear valores de tipos estructurados. Una función con el mismo nombre que un tipo estructurado es una función constructora para el tipo estructurado.
Guardando las colecciones de objetos y permitiendo que el programa acceda a dichas colecciones
e iterando sobre ellas encuentre el objeto deseado
La herencia puede hallarse en el nivel de los tipos o en el nivel de las tablas.
Estudiante y Profesor se denominan subtipos de Persona y ésta, a su vez, es un supertipo de Estudiante y de Profesor.
Si se desea guardar en la BD más información sobre las personas que sean estudiantes y sobre las que sean profesores. Tanto Estudiante como Profesor heredan los atributos de Persona, es decir, nombre y dirección.
Los tipos de las subtablas deben ser subtipos del tipo de la tabla padre. Por tanto, cada atributo presente en persona debe estar también presente en las subtablas.
Además, cuando se declaran estudiantes y profesores como subtablas de persona, cada tupla presente en estudiantes o profesores también están presentes implícitamente en persona.
Se dice que las tuplas de una subtabla corresponden a las tuplas de una tabla padre si tienen los mismo valores para todos los atributos heredados.
Así, las tuplas correspondientes representan la misma entidad.
2. Establece que todas las tuplas que se correspondan se deben derivar de una tupla (insertada en una tabla).
1. Cada tupla de la supertabla puede corresponder a lo sumo con una tupla de cada una de sus tablas inmediatas.
Cada tabla almacena la clave primaria y los atributos definidos localmente. Los atributos heredados (aparte de la clave primaria) no hace falta guardarlos y pueden obtenerse mediante una reunión con la supertabla basada en la clave primaria.
Las subtablas pueden guardarse de manera eficiente sin réplica de todos los campos heredados de una de las dos siguientes formas:
Obsérvese que se hace referencia al campo nombre del atributo compuesto editorial utilizando una notación con un punto.
ODMG (Object Database Management Group)
, Fue creado para determinar estándares para los SGBDOO, se creó un modelo estándar para la semántica de las BDOO con una sintaxis similar al lenguaje OO.

Tipos de Objetos

Colecciones(Clases contenedoras)
Set<tipo>:
Conjunto de objetos desordenado del mismo tipo(Con duplicados)
Bag<tipo>:
Conjunto de objetos desordenado del mismo tipo(Sin duplicados)
List<tipo>:
Conjunto ordenado de objetos del mismo tipo(Con duplicados)
Array<tipo>:
Grupo ordenado de objetos del mismo tipo que permite acceder por posición del objeto, su tamaño es dinámico, los elementos se pueden insertar y borrar
Dictionary<
clave, valor>: Índice formado por claves ordenadas y aparejadas con un solo valor

Tipos de Objetos
Literales
No tienen identificadores, no pueden aparecer solo como objetos, ni referenciarse de modo individual
Tipos
Clase
Propiedades
Atributos
Se definen del tipo de un objeto
Relaciones
Solo soporta relaciones binarias

1:1
1:N
N:M
La sintaxis es:
SELECT
FROM
WHERE
Lenguaje de Consulta de Objetos- OQL
Lenguaje de Manipulación de Datos - OML
Empleado para la elaboración de programas que permitan crear, modificar y borrar datos que constituyen la BD.

ODMG sugiere que sea una extensión de un lenguaje de programación para que se pueda realizar en la BD Creacion, borrado, modificación e identificación de un objeto
REFERENCIAS ELECTRÓNICAS
http://www.odbms.org/free-downloads-and-links/object-oriented-programming/
http://www.odbms.org/2010/01/object-oriented-databases-version-2010/
La restricción de scope de una referencia a las tuplas de una tabla es obligatoria y hace que las referencias se comporten como claves externas.
La referencia en este ejemplo está restringida a tuplas de la tabla persona.
SGBDOO
SGBD
SGBDOO
Es un SGBD que almacena objetos y cumple con las mismas propiedades mandatarias y opcionales de un SGBD, a diferencia que el sistema de gestion debe tratar directamente con objetos y no necesita traducirlos en tablas o filas
Conjunto de Datos relacionados entre si
y un grupo de programas para tener acceso a ellos
Encargado de administrar el almacenamiento y acceso a los datos
LENGUAJES DE PROGRAMACION
Los lenguajes de las bases de datos se diferencian de los lenguajes de programación tradicionales en que trabajan directamente con datos que son persistentes, es decir,los datos siguen existiendo una vez que el programa que los creó ha concluido.
Malcolm Atkinson
en 1989, expreso un manifiesto con las características que debe contar un SGBDOO
1. En los lenguajes de programación persistente, el lenguaje de consulta se halla totalmente integrado con el lenguaje anfitrión y ambos comparten el mismo sistema de tipos. Los objetos se pueden crear y guardar en la base de datos sin ningún tipo explícito ni cambios de formato;los cambios de formato necesarios se realizan de manera transparente.
2. Los lenguajes de programación persistentes presentan ciertos inconvenientes que hay que tener presentes al decidir si conviene utilizarlos. Dado que los lenguajes de programación suelen ser potentes, resulta relativamente sencillo cometer errores de programación que dañen las bases de datos.
En los últimos años han aparecido varias bases de datos orientadas a objetos basadas en las extensiones de C++ persistentes y java JDO (Java Database Objects o Objetos de Bases de Datos de Java).
Varias de las características orientadas a objetos del lenguaje C++ permiten proporcionar un buen soporte para la persistencia sin modificar el propio lenguaje.
Los objetos no se crean explícitamente en la base de datos. En su lugar, se dan los nombres a los objetos en la base de datos que sirven como raíces para la persistencia.Estos objetos, y algunos objetos alcanzables desde estos objetos, son persistentes.
Full transcript