Introducción a las BDOO
Dato: Unidad mínima de información.
Base de Datos (BD): Estructura de datos compuesta por filas y columnas.
Conectividad: Característica que define la conexión entre los servicios de BD, los usuarios y los sistemas.
SQL: Lenguaje utilizado para manipular BD.
BD Orientada a Objetos (BDOO): Colección de objetos persistentes con un propósito común. Almacena y manipula información digitalizada como objetos, proporcionando un acceso ágil y una gran capacidad de manipulación.
Objetos: Instancias de una clase, abstracción de algo de la realidad.
Persistentes: Sobreviven en el tiempo a la ejecución de un programa.
Beneficios de las BDOO: Proporciona un ambiente para el desarrollo de aplicaciones y un depósito persistente listo para su explotación.
Conceptos Clave de las BDOO
Identidad de Objetos: Define todas las características de un objeto y las introduce al sistema.
Constructores de Tipos: Datos primitivos a manipular (números, verdadero/falso, texto).
Encapsulamiento: Estructura de los datos organizados, ya sea en público o privado.
Jerarquía de Tipos y Herencia: Define la relación entre diferentes tipos de datos.
Polimorfismo: Función o método que se ejecuta de una forma específica.
Niveles de Abstracción
- Interno: Cómo se guardan los objetos (disco duro).
- Conceptual: Cómo se guarda la estructura.
- Externo: Lo que se muestra al usuario (interfaz).
Ventajas de las BDOO
- Flexibilidad y soporte para el manejo de tipos de datos complejos.
- Manipulación de datos complejos de forma rápida y ágil.
- No se requieren búsquedas en tablas o uniones para crear relaciones.
Posibles Problemas de las BDOO
- La inmadurez del mercado de BDOOs.
- Análisis detallado del proveedor para adaptar su producto.
- Falta de estándares en la industria.
Conceptos que Utilizan las BDOO
Identidad de objetos, constructores de tipos, encapsulamiento, compatibilidad con lenguajes de programación, jerarquías de tipos y herencias, manejo de objetos complejos, polimorfismo y sobrecarga de operadores, creación de versiones.
Sistemas Gestores de Bases de Datos de Objetos (SGBDOO)
SGBDOO: Implementan el modelo orientado a objetos. Se basan en el análisis por separado de los datos y de los procesos.
Objetos
- A nivel conceptual: Una entidad del sistema que se está desarrollando.
- A nivel de implementación: Encapsulamiento de un conjunto de operadores (servicios).
Interacciones entre Objetos
- Estáticas: Generalización (es-un) y Agregación (parte-de).
- Dinámicas: Los objetos solicitan servicios a otros. Polimorfismo de subclase y de sobrecarga.
Estándares ODMG y OSMG
ODBMS: Sistema gestor de BDOO que permite que los objetos de la BD aparezcan como objetos de un lenguaje de programación.
Estándar ODMG (Object Database Management Group): Proporciona técnicas orientadas a objetos para la ingeniería de software.
Estándar OSMG: Modelo para la semántica de los objetos de una BD.
OML (Lenguaje de Manipulación de Objetos): Extensión de lenguaje de programación para crear, borrar, modificar e identificar objetos.
ODL (Lenguaje de Definición de Objetos): Define los atributos y las relaciones entre tipos.
OQL (Lenguaje de Consulta de Objetos): Proporciona acceso declarativo a los objetos.
Componentes de la Arquitectura ODMG
- Modelo de objetos.
- ODL.
- OQL.
- Conexión con C++, Smalltalk y Java.
Herencia, Persistencia y Concurrencia
Herencia de Atributos: Una clase puede tener varias subclases que representan ocurrencias más específicas de la superclase.
Herencia Múltiple: Cuando una clase hereda de más de una superclase.
Interfaces: Especificación para una clase sin instrucciones en los métodos.
Subclase: Heredan los métodos de sus superclases.
Persistencia: Preservar la información de un objeto de forma permanente.
- Persistencia por Clase: Declarar una clase como persistente.
- Persistencia por Creación: Sintaxis nueva para crear objetos persistentes.
- Persistencia por Marcas: Marcar los objetos como persistentes.
- Persistencia por Alcance: Declarar objetos persistentes de forma explícita.
Concurrencia: Múltiples procesos ejecutados al mismo tiempo que potencialmente interactúan entre sí.
Control de Acceso: Cada objeto decide quién puede acceder a él.
Recuperación: Restauración de datos tras fallas.
Integridad: Corrección y completitud de los datos.
Bases de Datos Multidimensionales
BD Multidimensionales: Información representada como una estructura matricial.
Modelo Multidimensional: Se utiliza para la creación de cubos para el procesamiento de datos en línea.
Acceso a Estructuras Multidimensionales
- Roll Up: Incremento en el nivel de agregación.
- Drill Down: Incremento en el nivel de detalle.
- Slice: Reducción de la dimensionalidad mediante selección.
- Dice: Reducción de las dimensiones mediante proyección.
- Rotación: Reorientación de la visión multidimensional.
Estructura de Datos Jerárquica
Almacena la información en una estructura jerárquica en forma de árbol.
Duplicidad de Registros: No se garantiza la no existencia de registros duplicados.
Integridad Referencial: No se garantiza la relación entre registros padre e hijo.
Desnormalización: No hay controles para impedir la desnormalización.