Las aplicaciones de bases de datos tradicionales tienen tareas de procesamiento de datos, como la banca y la gestión de nóminas, con tipos de datos relativamente simples que son compatibles con el modelo de datos relacionales. Como los sistemas de bases de datos se aplicaron a una amplia gama de aplicaciones, como el diseño asistido por computadora y los sistemas de información geográfica, las limitaciones impuestas por el modelo relacional surgieron como una restricción.
La rectificación fue la introducción de bases de datos basadas en objetos, que permiten tratar con tipos de datos complejos. En las bases de datos basadas en objetos, cada entidad se trata como un objeto y se representa en una tabla. Los objetos similares se clasifican en clases y subclases y la relación entre dos objetos se mantiene utilizando el concepto de referencia inversa.
Obstáculos en las bases de datos basadas en objetos
- El primer obstáculo al que se enfrentaron los programadores que usaban el modelo de datos relacional fue el tipo limitado de sistema soportado por el modelo relacional.Los dominios de aplicaciones complejos requieren tipos de datos correspondientemente complejos, como estructuras de registros anidados, atributos de varios valores y herencia compatible con los lenguajes de programación tradicionales. De hecho, estas características son compatibles con ER y la notación ER extendida, pero tuvieron que traducirse a tipos de datos SQL más simples. El modelo de datos relacionales de objetos amplía el modelo de datos relacionales al proporcionar un sistema de tipos más rico, que incluye tipos de datos complejos y orientaciones de objetos. Los lenguajes de consulta relacionales, especialmente SQL, deben ampliarse correspondientemente para tratar con sistemas de tipos más ricos. Tales extensiones intentan preservar los fundamentos relacionales mientras expanden el poder del modelado, específicamente, el acceso declarativo a los datos. Sistema de base de datos relacional de objetos, es decir, sistema de base de datos basado en el modelo de relaciones de objetos,
- El segundo obstáculo fue la dificultad de acceder a los datos de la base de datos desde programas escritos en lenguajes de programación como C++ o Java . La simple expansión del sistema de tipos admitido por la base de datos no fue suficiente para resolver completamente este problema. La diferencia entre el sistema de tipos de una base de datos y el sistema de tipos de un lenguaje de programación hace que el almacenamiento y la recuperación de datos sean más complejos y deben minimizarse. Expresar el acceso a la base de datos utilizando un lenguaje que no sea un lenguaje de programación (SQL) vuelve a dificultar el trabajo del programador. Es deseable, para muchas aplicaciones, tener construcciones o extensiones del lenguaje de programación que permitan el acceso directo a los datos en la base de datos, sin tener que pasar por un lenguaje intermedio como SQL.
Aborde el problema de admitir la persistencia de los datos contenidos en el sistema de tipos nativos de los lenguajes de programación orientados a objetos. En la práctica se utilizan dos enfoques:
- Cree un sistema de base de datos orientado a objetos , que es un sistema de base de datos que admite de forma nativa el sistema de tipos orientado a objetos y permite el acceso directo a los datos desde un lenguaje de programación orientado a objetos utilizando el sistema de tipos nativo del lenguaje.
- Convierta automáticamente los datos del sistema de tipo nativo del lenguaje de programación en una representación relacional y viceversa. La transformación de datos se especifica mediante el mapeo relacional de objetos .
Modelos de datos basados en objetos
La base de la estructura de una base de datos es el modelo de datos o podemos definirlo como una colección de herramientas conceptuales para describir datos, relaciones de datos, semántica de datos y restricciones de datos.
- La programación orientada a objetos se ha convertido en el método dominante de desarrollo de software. Esto condujo al desarrollo de un modelo de datos orientado a objetos que puede verse como una extensión del modelo ER con nociones de encapsulación, métodos (funciones) e identidad de objetos.
- La herencia, el reconocimiento de objetos y la encapsulación (ocultación de información), junto con los métodos para proporcionar una interfaz a los objetos, se encuentran entre los conceptos clave de la programación orientada a objetos que han encontrado aplicación en el modelado de datos.
- El modelo de datos orientado a objetos también admite un sistema de tipos más rico, incluidos tipos estructurados y de colección.
- Los principales proveedores de bases de datos actualmente admiten modelos de datos relacionales de objetos, un modelo de datos que combina las características de un modelo de datos orientado a objetos y un modelo de datos relacionales.
- Extiende el modelo relacional tradicional con una variedad de características, como tipos estructurados y de colección, así como orientación a objetos.
Ventajas de las bases de datos basadas en objetos
- Datos complejos y una variedad más amplia de tipos de datos que los tipos de datos de MySQL.
- Es fácil guardar y recuperar datos rápidamente.
- Perfecta integración con lenguajes de programación orientados a objetos.
- Es fácil modelar problemas avanzados del mundo real.
- Extensible con tipos de datos personalizados.
Desventajas de las bases de datos basadas en objetos
- No tan ampliamente adoptado como las bases de datos relacionales.
- Sin modelo de datos universal. Faltan fundamentos teóricos y estándares.
- No es compatible con las vistas.
- La alta complejidad causa problemas de rendimiento.
- No existen mecanismos de seguridad adecuados ni derechos de acceso a los objetos.
Publicación traducida automáticamente
Artículo escrito por tanushree7252 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA