GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué es una base de datos orientada a objetos?

Introducción

Bases de datos orientadas a objetos son un tipo de sistema de gestión de bases de datos. Diferentes sistemas de gestión de bases de datos proporcionan funcionalidades adicionales. Las bases de datos orientadas a objetos agregan la funcionalidad de la base de datos a los lenguajes de programación de objetos, creando bases de código más manejables.

Este artículo brinda una descripción detallada de las bases de datos orientadas a objetos con ejemplos.

Definición de base de datos de objetos

Una base de datos de objetos es administrada por un o objeto-o orientado d atab ase m administración s sistema (OODBMS). La base de datos combina conceptos de programación orientada a objetos con principios de bases de datos relacionales.

  • Objetos son el componente básico y una instancia de una clase, donde el tipo está integrado o definido por el usuario.
  • Clases proporcionar un esquema o plano para los objetos, definiendo el comportamiento.
  • Métodos determinar el comportamiento de una clase.
  • Puntos ayudar a acceder a elementos de una base de datos de objetos y establecer relaciones entre objetos.

La principal característica de los objetos en OODBMS es la posibilidad de tipos construidos por el usuario . Un objeto creado en un proyecto o aplicación se guarda en una base de datos tal cual.

Las bases de datos orientadas a objetos tratan directamente los datos como objetos completos. Toda la información viene en un paquete de objetos disponible al instante en lugar de varias tablas.

Por el contrario, los componentes básicos de las bases de datos relacionales, como PostgreSQL o MySQL, son tablas con acciones basadas en conexiones lógicas entre los datos de la tabla.

Estas características hacen que las bases de datos de objetos sean adecuadas para proyectos con datos complejos que requieren un enfoque de programación orientado a objetos. Un sistema de gestión orientado a objetos proporciona funcionalidad compatible para la programación orientada a objetos donde los objetos complejos son fundamentales. Este enfoque unifica los atributos y comportamientos de los datos en una sola entidad.

Conceptos de programación orientada a objetos

Las bases de datos orientadas a objetos se relacionan estrechamente con los conceptos de programación orientada a objetos. Las cuatro ideas principales de la programación orientada a objetos son:

  • Polimorfismo
  • Herencia
  • Encapsulación
  • Abstracción

Estos cuatro atributos describen las características críticas de los sistemas de gestión orientados a objetos.

Polimorfismo

Polimorfismo es la capacidad de un objeto para tomar múltiples formas. Esta capacidad permite que el mismo código de programa funcione con diferentes tipos de datos. Tanto un automóvil como una bicicleta pueden romperse , pero el mecanismo es diferente. En este ejemplo, la ruptura de acción es un polimorfismo. La acción definida es polimórfica — el resultado cambia según el vehículo que rinda.

Herencia

Herencia crea una relación jerárquica entre clases relacionadas al mismo tiempo que hace que partes del código sean reutilizables. La definición de nuevos tipos hereda todos los campos y métodos de clase existentes y los amplía aún más. La clase existente es el padre clase, mientras que el niño la clase extiende al padre.

Por ejemplo, una clase principal llamada Vehículo tendrá clases de niño Coche y Bicicleta . Ambas clases secundarias heredan información de la clase principal y extender la clase principal con nueva información según el tipo de vehículo.

Encapsulación

Encapsulación es la capacidad de agrupar datos y mecanismos en un solo objeto para proporcionar protección de acceso. A través de este proceso, se ocultan piezas de información y detalles de cómo funciona un objeto. , lo que resulta en seguridad de datos y funciones. Las clases interactúan entre sí a través de métodos sin necesidad de saber cómo funcionan métodos particulares.

Como ejemplo, un automóvil tiene características y acciones descriptivas. Puede cambiar el color de un automóvil, pero el modelo o la marca son ejemplos de propiedades que no pueden cambiar. Una clase encapsula toda la información del automóvil en una sola entidad, donde algunos elementos son modificables y otros no.

Abstracción

Abstracción es el procedimiento de representar solo las características de datos esenciales para la funcionalidad necesaria . El proceso selecciona información vital mientras que la información innecesaria permanece oculta. La abstracción ayuda a reducir la complejidad de los datos modelados y permite la reutilización.

Por ejemplo, hay diferentes formas para que una computadora se conecte a la red. Un navegador web necesita una conexión a Internet. Sin embargo, el tipo de conexión es irrelevante. Una conexión establecida a Internet representa una abstracción , mientras que los distintos tipos de conexiones representan diferentes implementaciones de la abstracción.

Ejemplos de bases de datos orientadas a objetos

Hay diferentes tipos de implementaciones de bases de datos de objetos. La mayoría contiene las siguientes características:

Piedra preciosa/S

Piedra preciosa/S es un sistema de base de datos de objetos basado en Smalltalk, un lenguaje de programación orientado a objetos influenciado por Java. Los desarrolladores que escriben aplicaciones en Smalltalk se adaptan fácilmente a esta base de datos. GemStone/S se integra a la perfección con las aplicaciones Smalltalk existentes, lo que mejora la velocidad y la productividad.

Gemstone/S es mejor para proyectos de alta disponibilidad. Existen múltiples opciones de licencia según el tamaño del proyecto. El servidor de la base de datos está disponible para varias plataformas, incluidas Linux, Windows, macOS, Solaris, AIX y Raspberry Pi.

ObjetoDB

ObjectDB es una base de datos de objetos NoSQL para el lenguaje de programación Java. En comparación con otras bases de datos NoSQL, ObjectDB es compatible con ACID. ObjectDB no proporciona una API y requiere el uso de una de las dos API de base de datos Java integradas:

  • JPA con lenguaje de consulta JPA (JPQL) basado en la sintaxis de Java.
  • JDO con lenguaje de consulta JDO (JDQL) basado en sintaxis SQL.

ObjectDB incluye todos los tipos de datos básicos en Java, clases definidas por el usuario y colecciones estándar de Java. Cada objeto tiene una identificación única. El número de elementos está limitado únicamente por el tamaño máximo de la base de datos (128 TB). ObjectDB está disponible en varias plataformas y el rendimiento de referencia es excepcional.

ObjetoBase de datos++

ObjectDatabase++ es una base de datos de objetos incrustables en tiempo real diseñada para aplicaciones del lado del servidor. El mantenimiento externo requerido es mínimo.

ObjectDatabase++ admite:

  • Multiproceso con aplicaciones de servidor de subprocesos múltiples.
  • Control total de transacciones.
  • Recuperación en tiempo real.
  • Lenguajes relacionados con C++, VB.NET y C#.

La base de datos de objetos está basada en C++. Una de las características principales es la recuperación automática avanzada de fallas del sistema sin comprometer la integridad de la base de datos.

Objetividad/BD

Objetividad/DB utiliza el poder de los objetos y satisface los requisitos complejos dentro de Big Data. La base de datos de objetos es flexible al admitir varios idiomas:

  • C++
  • C#
  • Pitón
  • Java

Los cambios de esquema ocurren dinámicamente sin necesidad de tiempo de inactividad, lo que permite realizar consultas en tiempo real contra cualquier tipo de datos. Objectivity/DB está disponible para múltiples plataformas, incluidas macOS, Linux, Windows o Unix.

Tienda de Objetos

Tienda de objetos se integra con C++ o Java y proporciona persistencia de memoria para mejorar el rendimiento de la lógica de la aplicación. La base de datos de objetos es compatible con ACID. La capacidad de respuesta permite a los desarrolladores crear aplicaciones distribuidas multiplataforma, ya sea en las instalaciones o en la nube.

La característica principal es la escalabilidad en la nube, que permite el acceso a la base de datos desde cualquier lugar. ObjectStore simplifica el proceso de creación e intercambio de datos sin problemas.

Versante

Versante proporciona persistencia primaria de objetos transparentes desde C++, Java y .NET. Sin embargo, también hay soporte para Smalltalk y Python. Versant admite diferentes API según el idioma utilizado. Las consultas SQL estándar también están disponibles, lo que convierte a Versant en una base de datos NoSQL.

La base de datos de objetos es una base de datos cliente-servidor multiusuario. Versant funciona mejor cuando se usa para sistemas de transacciones en línea con grandes cantidades de datos y usuarios simultáneos.

Ventajas y desventajas de la base de datos orientada a objetos

Cada técnica de modelado de base de datos tiene ventajas y desventajas. Antes de optar por las bases de datos orientadas a objetos, debe conocer los idiomas disponibles además de la intención de la aplicación.

Ventajas

Las principales ventajas son:

  • Datos complejos y una variedad más amplia de tipos de datos en comparación con los tipos de datos de MySQL.
  • Fácil de guardar y recuperar datos rápidamente.
  • Integración perfecta con lenguajes de programación orientados a objetos.
  • Más fácil de modelar los problemas avanzados del mundo real.
  • Extensible con tipos de datos personalizados.

Desventajas

Algunas desventajas incluyen:

  • No tan ampliamente adoptado como las bases de datos relacionales.
  • Sin modelo de datos universal. Carece de fundamentos teóricos y estándares.
  • No admite vistas.
  • La alta complejidad provoca problemas de rendimiento.
  • No existe un mecanismo de seguridad adecuado y derechos de acceso a los objetos.

Linux
  1. ¿Qué es un usuario de Linux?

  2. Cómo determinar qué formato de base de datos está utilizando su sitio

  3. ¿Qué es un administrador de sistemas?

  4. ¿Qué hace “lc_all=c”?

  5. ¿Qué es una base de datos relacional?

¿Qué es una base de datos de documentos?

¿Qué es una base de datos OLTP?

¿Qué es la desnormalización de la base de datos?

¿Qué es la normalización de bases de datos?

¿Qué es una base de datos?

¿Qué es una base de datos distribuida y para qué sirven los sistemas de datos distribuidos?

    Característica Descripción
    Lenguaje de consulta Lenguaje para buscar objetos y recuperar datos de la base de datos.
    Persistencia transparente Capacidad de utilizar un lenguaje de programación orientado a objetos para la manipulación de datos.
    Transacciones ACID Las transacciones ACID garantizan que todas las transacciones estén completas sin cambios conflictivos.
    Caché de base de datos Crea una réplica parcial de la base de datos. Permite el acceso a una base de datos desde la memoria del programa en lugar de un disco.
    Recuperación Recuperación de desastres en caso de falla de la aplicación o del sistema.