0% encontró este documento útil (0 votos)
53 vistas35 páginas

Bases de Datos Orientadas a Objetos

Este documento presenta una introducción a las bases de datos orientadas a objetos. Explica conceptos clave como clases, objetos, encapsulamiento, herencia y polimorfismo. También describe características como el soporte de diferentes tipos de datos, lenguajes de definición y manipulación de objetos, y consultas orientadas a objetos. Finalmente, introduce los sistemas de gestión de bases de datos orientadas a objetos y sus funcionalidades como la persistencia y concurrencia.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
53 vistas35 páginas

Bases de Datos Orientadas a Objetos

Este documento presenta una introducción a las bases de datos orientadas a objetos. Explica conceptos clave como clases, objetos, encapsulamiento, herencia y polimorfismo. También describe características como el soporte de diferentes tipos de datos, lenguajes de definición y manipulación de objetos, y consultas orientadas a objetos. Finalmente, introduce los sistemas de gestión de bases de datos orientadas a objetos y sus funcionalidades como la persistencia y concurrencia.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

Bases de Datos

Orientadas a
Objetos
(3er Parcial)

Base de Datos II Septiembre, 2022


Introducción

 En la actualidad, la orientación a objetos es una


nueva forma de comprender los problemas y
modelar el negocio de una empresa, documentar,
diseñar programas y base de datos.
 El enfoque orientado a objetos ofrece la
oportunidad de cumplir con los requerimientos del
negocio sin estar limitado a los tipos de datos y los
lenguajes de consulta disponibles en los gestores de
datos tradicionales. Las Bases de datos orientadas a
objetos se proponen para satisfacer las necesidades
de aplicaciones más complejas.
Surgimiento

 Problemas para representar y modelar la


información del "mundo real", el modelo clásico
representa la información a través de una gran
cantidad de datos.
 Necesidad de los lenguajes de programación
orientados a objetos
 Las bases de datos orientadas a objetos surgen con
la finalidad de superar estas deficiencias de los
modelos anteriores y proporcionar eficiencia y
sencillez a las aplicaciones.
Definición

 Una Base de Datos Orientada a Objetos es una base


de datos donde las entidades son las clases, los
elementos de datos son objetos y las relaciones se
mantienen por medio inclusión lógica.
 Teniendo en cuenta este concepto, las bases de
datos orientadas a objetos están diseñadas para el
manejo de datos de un sistema que ha sido
modelado, diseñado e implementado como un
conjunto de objetos relacionados entre sí.
Conceptos básicos orientado a objetos

 El paradigma orientado a objetos se define como


un conjunto de principios para realizar el
modelado, diseño, desarrollo e implementación
basado de estructuras conceptuales conocidas como
objetos.
 Las bases de datos orientadas a objetos están
diseñadas para trabajar con aplicaciones
desarrollados orientada a los negocios, que son un
conjunto de objetos que interactúan entre sí.
Conceptos básicos orientado a objetos

 Entre los conceptos que utilizamos en las Bases de


Datos Orientadas a Objetos se encuentran los
siguientes:
 1. Clase
 2. Objeto, Identidad de objeto
 3. Encapsulamiento
 4. Jerarquías de tipos y herencia
 5. Polimorfismo
Conceptos básicos orientado a objetos

 6. Manejo de objetos complejos


 7. Compatibilidad con los lenguajes de programación
 8. Creación de versiones.
1. Clase

 Una clase se le define como un modelo que agrupa


a un conjunto de objetos de características
comunes.
 También es definida como una plantilla que
contiene la definición de los datos y métodos para
los objetos instanciados por la clase.
2. Identidad de Objetos

 Un objeto es cualquier cosa, sea real o abstracta a


través del cual almacenamos datos y definimos
métodos para controlar estos datos.
 La identidad es una propiedad de todo objeto que
permite diferenciar a los demás objetos.
 Todo objeto se identifica por un identificador de
objeto, el cual es único, y a través de éste se puede
invocar un objeto para realizar una operación.
 Objetos: Empleado

Juan Ríos Pedro Lamas Inés Rojas


DI: 08723133 DI: 10032122 DI: 09723133
3. Encapsulamiento

 Hay muchos datos que no tienen que ser


“expuestos” cuando se utiliza un objeto, ya que
solamente funcionan de manera interna, esto es
encapsulamiento; hacer que los atributos no
interactúen con el usuario y solo son llamadas por
funciones dentro del objeto.
3. Encapsulamiento

 Proporciona una lógica independiente de los datos,


porque se puede cambiar la implementación de un
comportamiento sin cambiar el programa que uso
dicho comportamiento.
4. Jerarquía de Tipos y Herencia

 En los modelos de datos de una base de datos


orientada a objetos, se necesitan un número
limitado de clases; pero algunas de estas clases se
parecen entre sí.
 Para representar estas clases, se define una
especialización.
4. Jerarquía de Tipos y Herencia

 Las especializaciones de una clase (clase base) son


definidas como subclases (clases heredadas), las
cuales heredan las características y los métodos de
la clase base.
5. Polimorfismo

 El polimorfismo se refiere a definir diferentes


comportamientos a los métodos que tienen la
misma forma en diferentes clases.
 Esto quiere decir, sobrescribir los métodos de las
clases heredadas, los cuales estos métodos se
encuentran definidos en las clases base.
6. Manejo de objetos complejos

 Hay dos tipos de objetos complejos


 Objetos no Estructurados: necesita de una gran espacio
de almacenamiento: tipo de dato imagen (mapa de bits)
o cadena de texto extenso (documento)
 Objetos Estructurados: constituidos por componentes,
se define en diversos niveles.
7. Compatibilidad con lenguajes de
programación

 Los lenguajes de programación que usan una base


de datos orientada a objetos utilizan herramientas
de diseño para el modelado de objetos y
codificación. En la actualidad, existen varios
lenguajes de programación: C++, Java, Smalltalk,
LISP.
Finalidad- Compatibilidad con lenguajes de
programación
 Extender el lenguaje a través de las llamadas
expresiones de consulta, que son parecidas a las
sentencias SQL y pueden ser usadas para extraer y
procesar convenientemente bases de datos
relacionales.
 Un lenguaje de programación orientado a objetos
que trabaje en forma directa con la base de datos a
través de un Modelo de Datos persistente.
Modelo de objetos

 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: 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.
Modelo de objetos
Características

 Soporta diversos tipos de datos:


 abstractos: cliente, empleado, producto, etc.
 complejos: estructura de datos, colecciones, objetos
grandes.
 Soporta un lenguaje de definición de objetos
(ODL), define la interfaz de los tipos de objetos, no
la implementación.
 Soporta un lenguaje de manipulación de objetos
(OML), se emplea para realizar operaciones de
creación, actualización y eliminación de objetos .
Características

 Soporta un lenguaje de consultas de objetos (OQL),


aunque está basado en el lenguaje SQL, su
semántica no es la misma. Las consultas se
especifican mediante objetos y sus atributos. Del
mismo modo, las consultas devuelven conjuntos de
objetos.
Relaciones

 La principal propiedad para cualquier modelo de


datos, es la representación de las relaciones que
encontramos entre los componentes del modelo.
 Las relaciones en un modelo de datos orientado a
objetos pueden ser de dos tipos:
 Relación interobjetos: Vínculo Atributo Clase
 Relación de herencia de jerarquía de clases
Relación InterObjetos: Vínculo Atributo Clase

 Una relación atributo-clase o relación interobjeto,


se crea cuando el atributo de un determinado objeto
hace referencia hacia otro objeto que puede ser de
la misma clase (recursividad) u otro objeto de clase
diferente.
 Existen dos tipos de relaciones interobjeto que
vamos a estudiar a continuación:
 Relaciones 1:M
 Relaciones M:N
Relaciones 1:M

 Para representar una relación 1:M


 En la clase “muchos” defina un atributo para
almacenar el identificador del objeto (clave primaria)
de la clase “uno”.
 En la clase “uno” defina un atributo para almacenar el
conjunto de valores, que representa los identificadores
de los “muchos” objetos que está relacionado.
Relaciones M:N

 La relación M:N es la relación definida como


“parte de un todo”.
 En esta relación, una clase (clase A)está compuesta
de muchos identificadores de otra clase (clase B).
Y de la misma forma, cada clase (clase B) está
compuesta de muchos identificadores de otra clase
(clase A).
Sistema de gestión de base de datos OO

 La información que administra una base de datos


orientadas a objetos se representa a través de
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).
Sistema de gestión de base de datos OO

 Los diversos Sistemas de Gestión de Base de Datos


Orientadas a Objetos utilizan diversos lenguajes de
programación:
Funcionalidades: Persistencia

 Es la capacidad de manipular los datos, los cuales


se encuentran almacenados en una base de datos,
directamente utilizando un lenguaje de
programación orientado a objetos.
 A través de la persistencia, la manipulación de
objetos se realiza directamente por el lenguaje de
programación, de la misma manera que en la
memoria, sin persistencia de objetos. Esto se logra
mediante el almacenamiento en el caché de la
memoria.
Funcionalidades: Concurrencia

 Permite a los usuarios acceder al SMBDOO en una


aplicación.
 Los mecanismos de control de concurrencia
incluyen mecanismos de recuperación durante
fallos. Modos de control de concurrencia son:
 Pesimista: Obliga a una transacción a esperar a que se
resuelva el conflicto para actualizar los datos.
 Optimista: Deja correr la transacción y resuelve éste al final
del commit, emplea usando TimeStamp y copias de la
transacción.
 Mixto: Combina diferentes controles de concurrencia a
diferentes objetos y tipos de datos en una misma
transacción.
Funcionalidades: Recuperación

 Es el proceso de aplicar consistencia a los datos


después de que una transacción ha abortado por
fallas de hardware o de comunicación.
 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 se especifica en dos partes:
 La interfaz que define la 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.
Ventajas de un SGBDOO

 Definir la información como objetos, mejora la


comunicación entre usuarios, diseñadores y
analistas.
 Uso de un lenguaje para definir los datos y los
métodos facilita el desarrollo de las aplicaciones.
 Define nuevos tipos de datos a partir de los
existentes.
Ventajas de un SGBDOO

 El modelo soporta el acceso a la navegabilidad (un


registro a la vez) como permite recorrer los objetos,
a través de colecciones.

 Se cuenta con un estándar SQL-99 que abre el


camino de integrar las versiones orientadas a
objetos dentro de las bases de datos relacionales.
Desventajas de un SGBDOO

 No se cuenta con un modelo Universal aceptado


para manipular los objetos, lo que obliga a que
cada ejecución cree su propia versión.
 Diferentes proveedores desarrollan diferentes
versiones de OQL y esto limita su verdadera
interoperabilidad.
 Es más complejo el diseño y actualizarlos.
Desventajas de un SGBDOO

 No se cuenta con restricciones declarativas por que


depende de los métodos definidos en los objetos.
 Restricciones a las Vistas (View) por comprometer
a la encapsulación.
 No se pueden definir procedimiento almacenados.

También podría gustarte