CARACTERISTICAS DE LAS BASES DE DATOS OBJETO-RELACIONALES (BDOR)

Con las BDOR, se puede crear nuevos tipos de datos, que permiten gestionar aplicaciones más complejas con una gran riqueza de dominios. Estos pueden ser tipos compuestos, lo que implica que se debe definir al menos dos métodos transformadores:

  • Uno para convertir el tipo nuevo a ASCII
  • Otro que convierte de ASCII al nuevo tipo

Se soportan los tipos complejos como registros, conjuntos, referencias, listas, pilas, colas y arreglos.

Se pueden crear funciones que tengan un código en algún lenguaje de programación como por ejemplo SQL, Java, C, etc.

Existe una mayor capacidad expresiva para los conceptos y asociaciones.

Se pueden crear operadores asignándoles nombre y existencia de nueva consultas con mayor capacidad consultiva.

Se soporta el encadenamiento dinámico y la herencia en los tipos tupla o registro.

Se pueden compartir varias bibliotecas de clases ya existentes, esto es lo que conocemos como reusabilidad.

Posibilidad de incluir el chequeo de las reglas de integridad referencial atreves de los triggers.

Soporte adicional para la seguridad y activación de la versión cliente-servidor.

El único inconveniente que tiene las BDOR es que al aumentar la complejidad del sistema existe un aumento en el coste asociado

TIPOS DE DATOS SDEFINIDOS POR EL USUARIO

Usuarios pueden definir sus propios tipos de datos  a partir de los tipos básicos provistos por el sistema, o por otros tipos de datos predefinidos anterior mente por el usuario. Estos tipos de datos pueden pertenecer a dos categorías distintas:

  • Los tipos de objetos
  • Los tipos para colecciones

TIPOS DE OBJETOS

Un tipo de objetos define a lo que conocemos como una entidad del mundo real. Se les puede interpretar como una plantilla de objeto de ese tipo. Esta compuesto por los siguientes elementos:

  • Para identificar el tipos de objetos se utiliza un nombre
  • Unos atributos que pueden ser un tipo de datos básicos o de un tipo definido por el usuario, los cuales representan la estructura y los valores de los datos de ese tipo
  • Unos métodos que son procedimientos o funciones escritos en el lenguaje PL/SQL, almacenándose de esta forma en la base de datos o escritos en C almacenándose externamente

METODOS

A la vez que creamos un tipo de objetos realizamos la especificación de los métodos. Los métodos se pueden ejecutar sobre los objetos de su mismo tipo. A continuación mostramos un ejemplo:

Si “X” es una variable del tipo PL/SQL que almacena objetos del tipo “alumnos_t”, entonces “X.fecha_nacimiento ()” calcula la fecha de nacimiento del alumno almacenado en “X”.

METODOS CONSTRUCTORES DE TIPO

Todos los tipos de objetos tienen asociado por defecto un método que se encarga de construir nuevos objetos de ese. El nombre del método es el mismo que el nombre del tipo, y sus parámetros que tenemos en dicho método son los atributos del tipo de objetos.

METODOS DE COMPARACION

Estos métodos son utilizados para que se puedan comparar los objetos de un cierto tipo. Esta acción se lleva a cabo indicando cual es el criterio de comparación. Para poder hacer posible la realización de una comparación es necesario escoger entre un método MAP o un metodo ORDER:

  • Un método MAP es utilizado para indicar cual de los atributos del tipo se va a utilizar para ordenar los objetos del tipo.
  • Un método ORDER utiliza los atributos del objeto sobre el que se ejecuta para realizar un cálculo y compararlo con otro objeto del mismo tipo que toma como argumento de entrada. Ese método debe devolver un valor negativo si el primero es mayor al segundo. Un valor positivos si ocurre lo contrario y un cero (0) si ambos son iguales.