Saltar la navegación

2.1.- Ventajas e inconvenientes.

Dibujo que representa con tres rectángulos una base de objetos, un servidor y una aplicacición en una columna, y de abajo arriba. Otra columna paralela muestra dibujos de una rede de objetos tanto a nivel de la plicación como de la base de datos.

El uso de una BDOO puede ser ventajoso frente a una BDR relacional si nuestra aplicación requiere alguno de estos elementos :

  • Un gran número de tipos de datos diferentes.
  • Un gran número de relaciones entre los objetos.
  • Objetos con comportamientos complejos.

Una de las principales ventajas de los sistemas de bases de datos orientados a objetos es la transparencia, (manipulación directa de datos utilizando un entorno de programación basado en objetos), por lo que el programador, solo se debe preocupar de los objetos de su aplicación, en lugar de cómo los debe almacenar y recuperar de un medio físico.

Otras ventajas de un sistema de bases de datos orientado a objetos son las siguientes:

  • Gran capacidad de modelado. El modelado de datos orientado a objetos permite modelar el 'mundo real' de una manera óptima gracias al encapsulamiento y la herencia.
  • Flexibilidad. Permiten una estructura cambiante con solo añadir subclases.
  • Soporte para el manejo de objetos complejos. Manipula de forma rápida y ágil objetos complejos, ya que la estructura de la base de datos está dada por referencias (apuntadores lógicos) entre objetos.
  • Alta velocidad de procesamiento. Como el resultado de las consultas son objetos, no hay que reensamblar los objetos cada vez que se accede a la base de objetos
  • Extensibilidad. Se pueden construir nuevos tipos de datos a partir de los ya existentes, agrupar propiedades comunes de diversas clases e incluirlas en una superclase, lo que reduce la redundancia.
  • Mejora los costes de desarrollo, ya que es posible la reutilización de código, una de las características de los lenguajes de programación orientados a objetos.
  • Facilitar el control de acceso y concurrencia, puesto que se puede bloquear a ciertos objetos, incluso en una jerarquía completa de objetos.
  • Funcionan de forma eficiente en entornos cliente/servidor y arquitecturas distribuidas.

Pero aunque los sistemas de bases de datos orientados a objetos pueden proporcionar soluciones apropiadas para muchos tipos de aplicaciones avanzadas de bases de datos, también tienen sus desventajas. Éstas son las siguientes:

  • Carencia de un modelo de datos universal. No hay ningún modelo de datos aceptado universalmente, y la mayor parte de los modelos carecen de una base teórica.
  • Falta de estándares. Existe una carencia de estándares general para los sistemas de BDOO.
  • Complejidad. La estructura de una BDOO es más compleja y difícil de entender que la de una BDR.
  • Competencia de otros modelos. Las bases de datos relacionales y objeto-relacionales están muy asentadas y extendidas, siendo un duro competidor.
  • Difícil optimización de consultas. La optimización de consultas requiere una compresión de la implementación de los objetos, para poder acceder a la base de datos de manera eficiente. Sin embargo, esto compromete el concepto de encapsulación.

Citas para pensar

"Cada día sabemos más y entendemos menos".Albert Einstein

Autoevaluación

Señala si la siguiente afirmación es verdadera o falsa.

Pregunta 1

En una BDOO el resultado de una consulta son objetos, por lo que no es necesario reensamblar los objetos cada vez que se accede a la base de datos.