viernes, 19 de febrero de 2010
SISTEMAS GESTORES DE BASES DE DATOS
Los SGBD son paquetes de software muy complejos y sofisticados que deben proporcionar los servicios comentados en la sección anterior. No se puede generalizar sobre los elementos que componen un SGBD ya que varían mucho unos de otros. Sin embargo, es muy útil conocer sus componentes y cómo se relacionan cuando se trata de comprender lo que es un sistema de bases de datos. Un SGBD tiene varios módulos, cada uno de los cuales realiza una función específica. El sistema operativo proporciona servicios básicos al SGBD, que es construido sobre él.
El procesador de consultas es el componente principal de un SGBD. Transforma las consultas en un conjunto de instrucciones de bajo nivel que se dirigen al gestor de la base de datos.
El gestor de la base de datos es el interface con los programas de aplicación y las consultas de los usuarios. El gestor de la base de datos acepta consultas y examina los esquemas externo y conceptual para determinar qué registros se requieren para satisfacer la petición. Entonces el gestor de la base de datos realiza una llamada al gestor de ficheros para ejecutar la petición.
El gestor de ficheros maneja los ficheros en disco en donde se almacena la base de datos. Este gestor establece y mantiene la lista de estructuras e índices definidos en el esquema interno. Si se utilizan ficheros dispersos, llama a la función de dispersión para generar la dirección de los registros. Pero el gestor de ficheros no realiza directamente la entrada y salida de datos. Lo que hace es pasar la petición a los métodos de acceso del sistema operativo que se encargan de leer o escribir los datos en el buffer del sistema.
Funsiones de Los Sistemas Gestores de Bases de Dato

- Administración del Diccionario de Datos: Necesita que las definicionesde los elementos de datos y us relaciones, tambien conocidos como metadatos, se guarden en un diccionario de datos. Este realiza el diccionario pra buscar la estructura y relaciones del componente de datos requeridos, lo que libera al usuario de tener que codificar esas complejas relaciones en cada programa.
- Administración del Almacenamiento de Datos: crea las estructuras complejas necesarias para el almacenamiento de datos, con lo que se libea al usuario de definir y programar las caracterrísticas físicas de los datos. un sistema gestor de dato moderno permite no solo almacenar datos, sino también, formularios de ingreso o definiciones de filtración de datos relacionados.
- Tranformación y Presentación de Datos: Libera al uruario de distingir entre el formato lógico y el físico de los datos. Al mantener la independencia de los datos el DBMS, transforma las solicitudes lógicas en comandos que localizan fisicamente y recuperan los datos solicitados, es decír, formatea los datos físicamente recuperados para que se ejecten a las expectativas lógicas del usuario.
- Administración de Seguridad: Crea un sistema de seguridad que resguarda la seguridad del usuario y la privacidad de los datos dentro de la base de datos. Las reglas de seguridad determinan que tipo de usuarios pueden tener acceso a la base de datos, a qué datos pueden tener acceso cada usuario, y que operaciones realizar como lo es: leer, agregar, eliminar o modificar.
- Control de Acceso a Usuarios Múltiples: Crea estructuras que pemiten el acceso de usuarios múltiples a los datos. Para así asegurar la consistencia y la seguridad de los datos, el DBMSutiliza algorítmos complejos para perrmitir el acceso de usuarios múltiples a la base de datos, sin comprometer su integridad.
- Administración de Tareas de Respaldo Recuperación: Proporcina procedimientos de respaldo y recuperación para garantizar la integridad en el respaldo de los datos.
- Administración de los Datos: Promueve y hace cumplir las reglas para eliminar los problemas de integridad de datos con lo que se reduce al mínimo la dredundancia de datos y se incrementa al máximo la consistencia de éstos.
- Lenguaje de Acceso a base de datos de Interfaces de Programación de Aplicaciones: Perrmite el acceso a los datos mediante un lenguaje de consulta, que es aquel que no tiene procedimientos, es decír, el que permite al usuario especificar únicamente que dede hacer y no como debe hacerlo.
- Lenguaje de Consultas de DBMS: Lenguaje de definición (DDL), estructura donde se alojan los datos; Lenguaje manipulación (DML), permite que los usuarios extraigan los datos de la base de datos.
- Interfaces de Comunicación de Base de Datos: Proporcionan rutinas de comunicación especiales, que permite que la base de datos acepte las solicitudes del usuaio final, en un ambiente de red de computadoras.
Componentes de un sistema de gestión de bases de datos
Control de Autoización
Este módulo comprueba que el usuario tiene los permisos necesarios para llevar a cabo la operación que solicita.
Procesador de comandos. Una vez que el sistema ha comprobado los permisos del usuario, se pasa el control al procesador de comandos.
Control de la Integridad
Cuando una operación cambia los datos de la base de datos, este módulo debe comprobar que la operación a realizar satisface todas las restricciones de integridad necesarias.
Optimizador de Consultas
Este módulo determina la estrategia óptima para la ejecución de las consultas.
Gestor de Transacciones
Este módulo realiza el procesamiento de las transacciones.
Planificador (scheduler)
Este módulo es el responsable de asegurar que las operaciones que se realizan concurrentemente sobre la base de datos tienen lugar sin conflictos.
Gestor de Recuperación
Este módulo garantiza que la base de datos permanece en un estado consistente en caso de que se produzca algún fallo.
Gestor de Buffers
Este módulo es el responsable de transferir los datos entre memoria principal y los dispositivos de almacenamiento secundario. A este módulo también se le denomina gestor de datos.
Control de Autoización
Este módulo comprueba que el usuario tiene los permisos necesarios para llevar a cabo la operación que solicita.
Control de la Integridad
Cuando una operación cambia los datos de la base de datos, este módulo debe comprobar que la operación a realizar satisface todas las restricciones de integridad necesarias.
Optimizador de Consultas
Este módulo determina la estrategia óptima para la ejecución de las consultas.
Gestor de Transacciones
Este módulo realiza el procesamiento de las transacciones.
Planificador (scheduler)
Este módulo es el responsable de asegurar que las operaciones que se realizan concurrentemente sobre la base de datos tienen lugar sin conflictos.
Gestor de Recuperación
Este módulo garantiza que la base de datos permanece en un estado consistente en caso de que se produzca algún fallo.
Gestor de Buffers
Este módulo es el responsable de transferir los datos entre memoria principal y los dispositivos de almacenamiento secundario. A este módulo también se le denomina gestor de datos.
Ventajas y Desventajas
Ventajas
Desventajas
Es un software muy complejo y se debe tener conocimiento de las funcionalidades del mismo para poder aprovecharlo al máximo, debido a las funciones que tiene que hacer el software debe ser de gran tamaño, pues requiere de garn cantidad de memoia para poder correr. Los costos del hardware para correr un SGBD por lo general son relativamente altos, por lo que estos equipos pueden llegar a costar gran cantidad de dinero.
Ejemplos DBSM
Para software libre
- MySQL
- PostgreSQL
- Firebird
- SQLite
- DB2 Express-C
- Apache Derby
- Advantage Database
- dBase
- FileMaker
- Fox Pro
- IBM DB2
- IBM Informix
- Interbase de CodeGear, filial de Borland
- MAGIC
- Microsoft Access
- Microsoft SQL Server
- NexusDB
- Open Access
- Oracle
- Paradox
- PervasiveSQL
- Progress (DBMS)
- Sybase ASE
- Sybase ASA
- Sybase IQ
- WindowBase
- IBM IMS Base de Datos Jerárquica
- CA-IDMS
