Você está na página 1de 39

BASE DE DATOS:

ENFOQUE ORIENTADO A OBJETOS


Dmaso Lpez Aragn
Introduccin
En la actualidad, la orientacin a objetos es una nueva forma de
comprender los problemas y modelar el negocio de una empresa,
documentar, disear 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 orientados a objetos se proponen
para satisfacer las necesidades de aplicaciones ms complejas.

En esta exposicin, presentaremos los aspectos ms importantes de las
bases de datos orientado a objetos.
Agenda
1. Base de Datos Orientado a Objetos
i. Surgimiento de la base de datos Orientado a Objetos
ii. Definicin
2. Conceptos bsicos Orientado a Objetos
3. Modelo de Objetos
4. Sistema de Gestin de Base de Datos Orientado a Objetos
Surgimiento
1. Problemas para representar y modelar la informacin
del "mundo real", el modelo clsico representa la
informacin a travs de una gran cantidad de datos.
2. Necesidad de los lenguaje de programacin orientado
a objetos
3. 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.
Definicin
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
inclusin lgica.

Teniendo en cuenta este concepto, las base de datos
orientada a objetos estn diseadas para el manejo de
datos de un sistema que ha sido modelada, diseada e
implementada como un conjunto de objetos relacionados
entre s.
Agenda
1. Base de Datos Orientado a Objetos
2. Conceptos bsicos Orientado a Objetos
i. Clase
ii. Objeto, Identidad de objeto
iii. Encapsulamiento
iv. Jerarquas de tipos y herencia
v. Polimorfismo
vi. Manejo de objetos complejos
vii. Compatibilidad con los lenguajes de programacin
viii.Creacin de versiones.
3. Modelo de Objetos
4. Sistema de Gestin de Base de Datos Orientado a Objetos
Conceptos Bsicos Orientado a Objetos
El paradigma orientado a objetos se define como un
conjunto de principios para realizar el modelado, diseo,
desarrollo e implementacin basado de estructuras
conceptuales conocidas como objetos.

Las bases de datos orientadas a objetos estn diseadas
trabajar con aplicaciones desarrollados orientada a los
negocios, que son un conjunto de objetos que interactan
entre s.
Conceptos Bsicos Orientado a Objetos
Entre los conceptos que utilizamos en las Bases de Datos
Orientada a Objetos son las siguientes:
1. Clase
2. Objeto, Identidad de objeto
3. Encapsulamiento
4. Jerarquas de tipos y herencia
5. Polimorfismo
6. Manejo de objetos complejos
7. Compatibilidad con los lenguajes de programacin
8. Creacin de versiones.
1. Clase
Una clase se le define como un modelo que agrupa a un conjunto de
objetos de caractersticas comunes.

Tambin es definida como una plantilla que contiene la definicin de
los datos y mtodos para los objetos instanciados por la clase.
2. Identidad de Objetos
Un objeto es cualquier cosa sea real o abstracta a travs del cual
almacenamos datos y definimos mtodos para controlar estos datos.

La identidad es una propiedad de todo objeto que permite
diferenciar a los dems objetos.

Todo objeto se identifica por un identificador de objeto, el cual es
nico, y a travs de ste se puede invocar un objeto para realizar una
operacin.
Objetos: Empleado
Juan Ros
DI: 08723133
Pedro Lamas
DI: 10032122
Ins Rojas
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 interacten con
el usuario y solo son llamadas por funciones dentro del objeto.

Proporciona una lgica independiente de los datos, porque se puede
cambiar la implementacin de un comportamiento sin cambiar el
programa que uso dicho comportamiento.
4. Jerarqua de Tipos y Herencia
En los modelos de datos de una base de datos orientada a objetos, se
necesitan un nmero limitado de clases; pero algunas de estas clases
se parecen entre s.

Para representar estas clases, se defina una especializacin.

Las especializaciones de una clase (clase base) son definidas como
subclases (clases heredadas), las cuales heredan las caractersticas y
los mtodos de la clase base.
5. Polimorfismo
El polimorfismo se refiere a definir diferentes comportamientos a los
mtodos que tienen la misma firma en diferentes clases.

Esto quiere decir, sobreescribir los mtodos de las clases heredadas,
los cuales estos mtodos se encuentran definidos en las clases base.
6. Manejo de objetos complejos
Hay dos tipos de objetos complejos
a. Objetos no Estructurados: necesita de una gran espacio de
almacenamiento: tipo de dato imagen (mapa de bits) o cadena
texto extenso (documento)
b. Objetos Estructurados: constituidos por componentes, se define
en diversos niveles.
7. Compatibilidad con lenguajes de programacin
Los lenguajes de programacin que utiliza una base de datos
orientada a objetos utilizan herramientas de diseo para el
modelado de objetos y codificacin. En la actualidad, existen varios
lenguajes de programacin: C++, Java, Smalltalk, LISP.

a. Extender el lenguaje a travs 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.
b. Un lenguaje de programacin orientado a objetos que trabaje
en forma directa con la base de datos a travs de un Modelo
de Datos persistente.
8. Creacin de versiones
La determinacin de versin permite rastrear los cambios de un
objeto. Las aplicaciones de base de datos orientadas a objetos
requieren de varias versiones del mismo objeto.

Si el sistema est operativo, y se requiere actualizar algunos de los
mdulos, se deber crear una nueva versin para cada uno de ellos
para realizar los cambios o mejoras respectivas
Agenda
1. Base de Datos Orientado a Objetos
2. Conceptos bsicos Orientado a Objetos
3. Modelo de Objetos
i. Concepto
ii. Caractersticas
iii. Relaciones
4. Sistema de Gestin de Base de Datos Orientado a Objetos
Modelo de Objetos
El modelo de datos orientado a objetos es una extensin del
paradigma de programacin orientado a objetos.

Los objetos entidad que se utilizan en los programas orientados a
objetos son anlogos a las entidades que se utilizan en las bases de
datos orientadas a objetos: los objetos del programa desaparecen
cuando el programa termina su ejecucin, mientras que los objetos
de la base de datos permanecen. A esto se le denomina persistencia.
Caractersticas
1. Soporta diversos tipos de datos:
abstractos: cliente, empleado, producto, etc.
complejos: estructura de datos, colecciones, objetos grandes.

2. Soporta un lenguaje de definicin de objetos (ODL), define la
interfaz de los tipos de objetos, no la implementacin.

3. Soporta un lenguaje de manipulacin de objetos (OML), se
emplea para realizar operaciones de creacin, actualizacin y
eliminacin de objetos .

3. Soporta un lenguaje de consultas de objetos (OQL), aunque est
basado en el lenguaje SQL, su semntica no es la misma. Las
consultas se especifican mediante objetos y sus atributos. Del
mismo modo, las consultas devuelven conjuntos de objetos.
Caractersticas
Uso del Lenguaje de Definicin de Objetos: C#
public class Trabajador
{
private int id;
private String Nombre;
private String ApePat;
private String ApeMat;
private DateTime Fecing;
}

public class Empleado : Trabajador
{
private int cargo;
private int area;
private int sueldo;
}
Caractersticas
Uso del Lenguaje de Consulta de Objetos C# y LINQ
//listar los worker
var lista = from w in capa.Worker
select w;

//listar los employees cuyo ao de FechaIngreso sea 2012
var listaq = from w in capa.Worker join p in capa.Employee
on w.Id equals p.Id
where w.Fecing.Year==2012
select p;
Relaciones
La principal propiedad para cualquier modelo de datos,
es la representacin 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:
a. Relacin interobjetos: Vnculo Atributo Clase
b. Relacin de herencia de jerarqua de clases


Relacin InterObjetos: Vnculo Atributo Clase
Una relacin atributo-clase o relacin 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 continuacin:
a. Relaciones 1:M
b. Relaciones M:N


Relaciones 1:M
Para representar una relacin 1:M
a. En la clase muchos defina un atributo para
almacenar el identificador del objeto (clave primaria)
de la clase uno.
b. En la clase uno defina un atributo para almacenar el
conjunto de valores, que representa los identificadores
de los muchos objetos que est relacionado.
Empleado
IdEmp
Nombre
Apellido
FechaNac



1 Area
Area
idArea
Nombre

M Empleado
Esta relacin est
basada en la regla:
en un rea trabaja
uno a muchos
empleados
Relaciones M:N
La relacin M:N es la relacin definida como parte de un
todo.
En esta relacin, 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).
Articulo
IdArt
Descripcion
Medida
PreUni

M Proveedor
Proveedor
idProv
Nombre
Direccion

M Articulo
Esta relacin est basada
en la regla:
un proveedor produce uno
a muchos artculos, un
artculo es producido por
uno a muchos proveedores
Relaciones M:N
Para transformar el planteamiento realizado en la regla
de negocio anterior, se tendr que definir una clase que
conecte tanto a Articulo como a Proveedor y guardar los
atributos asociados.
Articulo
IdArt
Descripcion
Medida
PreUni

M Art_Provee
Proveedor
idProv
Nombre
Direccion

M Art_Provee
Art_Provee
Uni_Medida
Precio


1 Articulo
1 Proveedor
Relacin de herencia de jerarqua de clases
Describe la relacin entre las clases y su jerarqua.
Tenemos:
a. Relacin is a: las subclases son tipos especficos a
sus clases base. Son llamadas tambin herencia de
comportamiento.
b. Relacin extends: las subclases hereda una clase
base. Se utiliza para heredar el estado y mtodos entre
clases
Agenda
1. Base de Datos Orientado a Objetos
i. Surgimiento de la base de datos Orientado a Objetos
ii. Definicin
2. Conceptos bsicos Orientado a Objetos
3. Modelo de Objetos
4. Sistema de Gestin de Base de Datos Orientado a Objetos
i. Introduccin
ii. Funcionalidades
iii. Mapeo objetos
iv. Ventajas y Desventajas

Sistema de gestin de base de datos OO
La informacin que administra una base de datos orientadas a
objetos se representa a travs de objetos a mediante objetos como los
presentes en la programacin orientada a objetos.

Cuando se integra las caractersticas de una base de datos con las de
un lenguaje de programacin orientado a objetos, el resultado es un
sistema gestor de base de datos orientada a objetos (ODBMS,
OBJECT DATABASE MANAGEMENT SYSTEM).
Sistema de gestin de base de datos OO
Los diversos Sistemas de Gestin de Base de Datos Orientadas a
Objetos utilizan diversos lenguajes de programacin:
SGBDOO Lenguaje de Programacin
ORION LISP
GemStone Extensin de SmallTalk
O2 C
Vbase/Ontos C++
Versant C++
Object Store C++
Funcionalidades: Persistencia
Es la capacidad de manipular los datos, los cuales se encuentran
almacenados en una base de datos, directamente utilizando un
lenguaje de programacin orientado a objetos.

A travs de la persistencia, la manipulacin de objetos se realiza
directamente por el lenguaje de programacin, de la misma manera
que en la memoria, sin persistencia de objetos. Esto se logra mediante
el almacenamiento en el cach de la memoria.
Motor
Persistencia
Objetos
Programa
Base de
Datos
Registros
En C# se utiliza un
motor que ya est
programado:
NHibernate
Funcionalidades: Concurrencia
Permite a los usuarios acceder al SMBDOO en una aplicacin.

Los mecanismos de control de concurrencia incluye mecanismos de
recuperacin durante fallos. Modos de control de concurrencia son:

Pesimista: Obliga a una transaccin a esperar a que se resuelva el
conflicto para actualizar los datos.
Optimista: Deja correr la transaccin y resuelve ste al final del
commit, emplea usando TimeStamp y copias de la transaccin.
Mixto: Combina diferentes controles de concurrencia a diferentes
objetos y tipos de datas en una misma transaccin.
Funcionalidades: Recuperacin
Es el proceso de aplicar consistencia a los datos despus de que una
transaccin ha abortado por fallas de hardware o de comunicacin.

En bases de datos orientadas a objetos, los usuarios pueden definir
operaciones sobre los datos como parte de la definicin de la base de
datos. Una operacin se especifica en dos partes:
a. La interfaz que define la operacin incluye el nombre de la
operacin y los tipos de datos de sus argumentos (o parmetros).
b. La implementacin (o mtodo) de la operacin.
Aplicacin Aplicacin
Administrador
de
Transacciones
Administrador
de
Recuperaciones
Transaccion notificaciones
resultados operaciones
Funcionalidades: Facilidad de consultas ad-hoc
Es una tcnica para consultar los objetos en una base de datos
orientado a objetos utilizando el propio lenguaje de programacin
orientado a objetos.

Este lenguaje de consulta de objetos soporte notacin de consultas
basada en valores, consultas basada en relaciones (navegabilidad) y
en valores (ejecutar una operacin).
Mapeo de Objetos
Es un mtodo que une los conceptos de objetos, de
lenguaje de consultas (SQL) y base de datos, creando una
base de datos de objetos virtuales.

Mapeando los objetos, hace que el software sea ms
robusto ya que reduce las lneas de cdigo programado,
por lo que reduce la carga de trabajo de los
programadores y asegura que los errores en el desarrollo
sea mnimo.
Ventajas de un SGBDOO
1. Definir la informacin como objetos, mejora la
comunicacin entre usuarios, diseadores y analistas.
2. Uso de un lenguaje para definir los datos y los
mtodos facilita el desarrollo de las aplicaciones.
3. Define nuevos tipos de datos a partir de los existentes.
4. El modelo soporta el acceso a la navegabilidad (un
registro a la vez) como permite recorrer los objetos, a
travs de colecciones.
5. Se cuenta con un estndar SQL-99 que abre el camino
de integrar las versiones orientadas a objetos dentro
de las bases de datos relacionales.
Desventajas de un SGBDOO
1. No se cuenta con un modelo Universal aceptado para
manipular los objetos, lo que obliga a que cada
ejecucin cree su propia versin.
2. Diferentes proveedores desarrollan diferentes
versiones de OQL y esto limita su verdadera
interoperabilidad.
3. Es ms complejo el diseo y actualizarlos.
4. No se cuenta con restricciones declarativas por que
depende de los mtodos definidos en los objetos.
5. Restricciones a las Vistas (View) por comprometer a la
encapsulacin.
6. No se pueden definir procedimiento almacenados.
Dmaso Lpez Aragn
Email: pdlopez@cibertec.edu.pe
damaso.lopez.aragon@cibertec.edu.pe

FaceBook: pdlopez@cibertec.edu.pe

Você também pode gostar