Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Bases de
Datos Orientadas a
objetos
7.1 Visin general.
En una base de datos orientada a objetos, la informacin se representa 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).
Un ODBMS hace que los objetos de la base de datos aparezcan como objetos de un lenguaje de
programacin en uno o ms lenguajes de programacin a los que d soporte.
Las bases de datos orientadas a objetos se disean para trabajar bien en conjuncin con lenguajes
de programacin orientados a objetos como Java, C#, Visual Basic.NET y C++. Los ODBMS usan
exactamente el mismo modelo que estos lenguajes de programacin.
Los ODBMS son una buena eleccin para aquellos sistemas que necesitan un buen rendimiento en
la manipulacin de tipos de dato complejos.
Los ODBMS proporcionan los costes de desarrollo ms bajos y el mejor rendimiento cuando se
usan objetos gracias a que almacenan objetos en disco y tienen una integracin transparente con
el programa escrito en un lenguaje de programacin orientado a objetos, al almacenar
exactamente el modelo de objeto usado a nivel aplicativo, lo que reduce los costes de desarrollo y
mantenimiento.
orientadas a objetos se crearon para tratar de satisfacer las necesidades de estas nuevas
aplicaciones.
La orientacin a objetos ofrece exibilidad 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 caracterstica clave de las bases de datos orientadas a objetos es la potencia
que proporcionan al diseador al permitirle especicar tanto la estructura de objetos complejos,
como las operaciones que se pueden aplicar sobre dichos objetos.
Tipos de datos complejos:
Colecciones: Tambin conocidos como conjuntos, este tipo de datos clasifican los arrays y los
conjuntos en que los elementos pueden aparecer varias veces.
Tipos estructurados: Los tipos estructurados permiten representacin directa de los atributos
compuestos en los diagramas entidad-relacin.
Objetos de gran tamao: Desde ya hace varios aos que se necesita almacenar datos con
atributos muy grandes (Varios Mbytes), como libros, canciones, etc. E incluso an ms grandes;
como mapas de alta resolucin, video, etc. que puede llegar fcilmente a los Gigabytes.
fecha_nacimiento date)
O bien, realizando una estructura ms del tipo Cliente y generar la tabla a partir de ella:
create type TipoCliente as
(nombre Nombre,
direccion Direccion,
fecha_nacimiento date)
not final
create table cliente of TipoCliente
Se puede tener acceso a los componentes de los atributos compuestos usando la notacin punto;
por ejemplo, nombre.nombre_pila devuelve el componente nombre de pila del atributo nombre. El
acceso al atributo nombre devolvera un valor del tipo estructurado Nombre.
La siguiente consulta ilustra la manera de tener acceso a los atributos componentes de los
atributos compuestos. La consulta busca el apellido y la ciudad de cada cliente.
select nombre.apellido, direccion.ciudad
from cliente
Herencia.
La herencia puede hallarse en el nivel de los tipos o en el nivel de las tablas. En primer lugar se
considerar la herencia de los tipos y despus en el nivel de las tablas:
Herencia de tipos: Los tipos derivados heredan los atributos de superclase; los mtodos tambin
se heredan por sus subtipos, al igual que los atributos. Sin embargo, un subtipo puede redefinir el
efecto de un mtodo declarndolo de nuevo, y esto ser lo que se conoce como sobre escritura
(overriding) del mtodo.
Supngase que se tiene la siguiente definicin de tipo para las personas:
create type Persona
(nombre varchar(20),
direccion varchar(20))
Puede que se desee almacenar en la base de datos informacin adicional sobre las personas que
son estudiantes y sobre las que son profesores. Dado que los estudiantes y los profesores tambin
son personas, se puede usar la herencia para definir en SQL los tipos estudiante y profesor:
create type Estudiante
under Persona
(grado varchar(20),
departamento varchar(20))
create type Profesor
under Persona
(sueldo Integer,
departamento varchar(20))
Se puede tener acceso a los elementos del array o actualizarlos especificando el ndice del array,
por ejemplo, array_autores[1].
Consulta
de
los
atributos
valorados
como
conjuntos
Ahora se considerar la forma de manejar los atributos que se valoran como
conjuntos. Las expresiones que se valoran como conjuntos pueden aparecer en
cualquier parte en la que pueda aparecer el nombre de una relacin, como las
clusulas
from.
Si se desea averiguar todos los libros que contengan las palabras base de datos
entre sus palabras clave, se puede usar la consulta siguiente:
select titulo
from libros
where base de datos in
(unnest(conjunto_palabras_clave))
El cdigo para la conversin entre objetos y tuplas opera fuera del sistema
de tipos orientado a objetos y, por lo tanto, tiene ms posibilidades de
presentar errores no detectados.