Base De Datos
Enviado por robertoerestu • 24 de Julio de 2011 • 2.559 Palabras (11 Páginas) • 930 Visitas
Tema 8. Bases de datos orientadas a objetos.
Juan Ignacio Rodr´ıguez de Le´on
Resumen
El paradigma de la programaci´on orientada a objetos. Necesidad
de tipos complejos de datos. El modelo de datos orientado a objetos.
Lenguajes orientados a objetos. Lenguajes de programaci´on persistentes.
Sistemas C++ persistentes, sistemas Java persistentes
´Indice
1. Orientaci´on a objetos 3
1.1. Los objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Clases de objetos . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. polimorfismo . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4. sobrecarga de operadores . . . . . . . . . . . . . . . . . . . . 6
1.5. Herencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.6. Herencia m´ ultiple . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.7. Identidad de los objetos . . . . . . . . . . . . . . . . . . . . . 8
1.8. Continentes de objetos . . . . . . . . . . . . . . . . . . . . . . 9
2. Lenguajes orientados a objetos 9
3. Lenguajes de programaci´on persistentes 10
3.1. Persistencia de los objetos . . . . . . . . . . . . . . . . . . . . 11
3.2. Identidad de los objetos y punteros a memoria . . . . . . . . 12
3.3. Almacenamiento y acceso a los objetos persistentes . . . . . 13
4. Bases de datos relacionales orientadas a objetos 13
4.1. Relaciones anidadas . . . . . . . . . . . . . . . . . . . . . . . 13
4.2. Tipos de datos complejos . . . . . . . . . . . . . . . . . . . . . 14
4.2.1. Colecciones . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2.2. Objetos de gran tama˜no (LOB) . . . . . . . . . . . . . 14
4.2.3. Tipos estructurados . . . . . . . . . . . . . . . . . . . . 14
4.2.4. Constructores . . . . . . . . . . . . . . . . . . . . . . . 14
4.3. Herencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3.1. Herencia de tipos . . . . . . . . . . . . . . . . . . . . . 15
4.3.2. Herencia de tablas . . . . . . . . . . . . . . . . . . . . 15
1
´INDICE 2
4.4. Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.5. Consultas con tipos complejos . . . . . . . . . . . . . . . . . . 16
4.5.1. Acceso a datos estructurados . . . . . . . . . . . . . . 16
4.5.2. Expresiones de ruta . . . . . . . . . . . . . . . . . . . . 16
4.5.3. Atributos de tipo colecci ´on . . . . . . . . . . . . . . . 16
4.6. Funciones y procedimientos . . . . . . . . . . . . . . . . . . . 17
4.6.1. Funciones y procedimientos en SQL . . . . . . . . . . 17
1 ORIENTACIO´N A OBJETOS 3
1. Orientaci´on a objetos
Los conceptos de la programaci´on orientada a objetos tienen origen en
Simula 67, un lenguaje dise ˜nado para hacer simulaciones, creado por Ole-
Johan Dahl y Kristen Nygaard del Centro de C´omputo Noruego en Oslo.
Fueron refinadosm´as tarde en Smalltalk, que fue desarrollado en Simula en
el Xerox PARC, pero dise ˜nado para ser un sistema completamente din´amico
en el cual los objetos se podr´ıan crear y modificar “en marcha” en lugar de
tener un sistema basado en programas est´aticos.
La programaci´on orientada a objetos introduce nuevos conceptos, que a
veces no son m´as que nombres nuevos aplicados a conceptos antiguos, ya
conocidos. Entre ellos destacan los siguientes:
Objetos entidades complejas provistas de datos (propiedades, atributos)
y comportamiento (funcionalidad, programas, m´etodos). Corresponden
a los objetos reales del mundo que nos rodea.
Clases conjuntos de objetos que comparten propiedades y comportamiento.
M´etodo es un c´odigo ejecutable asociado a un objeto (o a una clase de
objetos), cuya ejecuci ´on se desencadena mediante un ”mensaje”.
Mensaje una comunicaci´on dirigida a un objeto, que le ordena que ejecute
uno de sus m´etodos con ciertos par´ametros.
Propiedad, atributo o variable datos asociados a un objeto o a una clase
de objetos.
Herencia las clases no est´an aisladas, sino que se relacionan entre s´ı, formandouna
jerarqu´ıa de clasificaci ´on. Los objetos heredan las propiedades
y el comportamiento de todas las clases a las que pertenecen.
Encapsulamiento cada objeto est´a aislado del exterior, es un m´odulo natural,
y la aplicaci ´on entera se reduce a una agregaci´on de objetos.
El aislamiento protege a los datos asociados a un objeto de su modificaci
´on por quien no tenga derecho a acceder a ellos, eliminando
efectos secundarios e interacciones.
Polimorfismo m´etodos diferentes, asociados a objetos distintos, pueden
compartir el mismo nombre, aunque el comportamiento del m´etodo
var´ıe seg ´un el objeto al que se aplica.
1.1. Los objetos
Hablando en general, los objetos se corresponden con las entidades del
modelo E-R. El paradigma orientado a objetos est´a basado en el encapsu1
ORIENTACIO´N A OBJETOS 4
lamiento de los datos y del c´odigo relacionados con cada objeto en una sola
unidad cuyo contenido no es visible desde el exterior.
Conceptualmente, todas las interacciones entre cada objeto y el resto
del sistema se realizan mediante mensajes. Por tanto, la interfaz entre cada
objeto y el resto del sistema se define mediante un conjunto de mensajes
permitidos.
En general, cada objeto est´a asociado con:
Un conjunto de variables o atributos que contiene los datos del objeto;
las variables se corresponden con los atributos del modelo E-R.
Un conjunto de mensajes a los que responde; cada mensaje puede no
tener par´ametros, tener uno o varios.
Un conjunto de m´etodos, cada uno de los cuales es c´odigo que implementa
un mensaje; el m´etodo devuelve un valor como respuesta
al mensaje.
El t´ermino mensaje en un entorno orientado a objetos no implica el
uso de mensajes f´ısicos; por el contrario, hace referencia al intercambio de
solicitudes entre los objetos, independientemente de los detalles concretos
de su implementaci´on. Se utiliza a veces la expresi ´on invocar a un m´etodo
para denotar el hecho de enviar un mensaje a un objeto y la ejecuci ´on del
m´etodo correspondiente.
La principal raz´on de diferenciar las dos acciones es obtener la capacidad
de modificar la definici´on de un objeto, sin afectar
...