Conceptos Fundamentales de SGBD: Arquitectura, Usuarios y Bases de Datos Distribuidas
Clasificado en Informática
Escrito el en español con un tamaño de 5,54 KB
Fundamentos de los Sistemas de Gestión de Bases de Datos (SGBD)
Lenguajes de Datos Esenciales
Lenguaje de Definición de Datos (DDL)
El Lenguaje de Definición de Datos (DDL) gestiona la estructura y el esquema de la base de datos, permitiendo crear, modificar y eliminar objetos de la misma.
Lenguaje de Manipulación de Datos (DML)
El Lenguaje de Manipulación de Datos (DML) permite la consulta, inserción, actualización y eliminación de datos dentro de la base de datos.
Componentes y Objetos del SGBD
Diccionario de Datos
Es un esquema que describe el contenido del SGBD, incluyendo todos los objetos con sus propiedades y relaciones.
Objetos del SGBD
Los objetos fundamentales que se gestionan en un SGBD incluyen:
- Tablas
- Vistas
- Dominios
- Restricciones (Constraints)
- Procedimientos almacenados (Stored Procedures)
- Funciones
- Disparadores (Triggers)
Funcionalidades Clave de un SGBD
Un Sistema de Gestión de Bases de Datos ofrece diversas herramientas y funcionalidades esenciales:
- Seguridad: Impide que usuarios no autorizados accedan a la base de datos, protegiendo la información sensible.
- Integridad: Mantiene la integridad y consistencia de los datos, asegurando que sean correctos y válidos.
- Control de Concurrencia: Permite el acceso compartido a la base de datos por múltiples usuarios simultáneamente, gestionando los conflictos para mantener la coherencia.
- Control de Recuperación: Restablece la base de datos a un estado consistente después de un fallo de hardware o software.
- Programación de Aplicaciones: Proporciona interfaces y herramientas para el desarrollo de aplicaciones que interactúan con la base de datos.
- Importación/Exportación de Datos: Facilita el movimiento de datos entre diferentes sistemas o formatos.
- Distribución de Datos: Permite la gestión de datos que residen en múltiples ubicaciones geográficas o lógicas.
- Replicación: Crea y mantiene copias idénticas de los datos para mejorar la disponibilidad y el rendimiento.
- Sincronización: Asegura la coherencia entre las diferentes copias de datos replicados.
Roles de Usuarios en un SGBD
Administradores
- Administrador del SGBD: Encargado de la instalación y configuración del software del SGBD, el control de acceso, la seguridad y la optimización del rendimiento del sistema.
- Administrador de la Base de Datos (DBA): Responsable del diseño físico, la implementación y el mantenimiento continuo de la base de datos.
Diseñadores de Bases de Datos
Realizan el diseño lógico de la base de datos, identificando los datos, las relaciones entre ellos y las restricciones. Es importante destacar que el diseño de la base de datos es independiente del SGBD específico que se utilizará.
Programadores
Desarrollan tanto aplicaciones cliente como rutinas almacenadas (stored procedures) o disparadores (triggers) dentro del SGBD. Estas aplicaciones permiten a los usuarios consultar, insertar, actualizar y eliminar datos de manera eficiente.
Usuarios Finales
Son los clientes que hacen uso de la base de datos a través de las aplicaciones, sin necesidad de conocer su funcionamiento interno ni su organización.
Bases de Datos Centralizadas vs. Distribuidas
En un sistema de bases de datos centralizado, todos los componentes residen en un único lugar. Por el contrario, en un sistema distribuido, los componentes se encuentran en distintos computadores comunicados por una red de cómputo.
Los Sistemas de Gestión de Bases de Datos Distribuidas (SGBDD) surgen por la necesidad de mejorar el rendimiento, la fiabilidad, la disponibilidad y para soportar ciertos tipos de aplicaciones distribuidas. Sin embargo, estos sistemas requieren una mayor complejidad en su diseño, implementación y gestión de datos.
Técnicas en Bases de Datos Distribuidas
Fragmentación
La fragmentación es una técnica que divide una tabla en partes para almacenarlas en diferentes nodos o computadoras, mejorando el rendimiento y la disponibilidad.
Fragmentación Horizontal
Divide las tuplas (filas) de una tabla en subconjuntos, basándose en una o varias condiciones sobre distintos atributos. Cada subconjunto se almacena en una computadora diferente.
Fragmentación Vertical
Divide la información de una tabla en columnas, agrupando los campos más accedidos y ligeros para almacenarlos en un servidor más potente, y los campos menos accedidos o más pesados en otro servidor con menor capacidad. Es crucial incluir atributos en común (como la clave primaria) en cada fragmento para poder reconstruir la tabla original. La información sobre la fragmentación se guarda en un esquema de fragmentación.
Replicación
La replicación es una técnica útil para mejorar la disponibilidad y fiabilidad de los datos, creando copias idénticas de los mismos. Los objetos replicados, su ubicación y la forma en que se propagan las actualizaciones se describen en el catálogo de replicación. La replicación acelera las consultas y mejora la disponibilidad, siendo especialmente óptima para sistemas con una alta carga de lecturas.