Esquema de un DBMS
Componentes de un DBMS: Los componentes funcionales de un sistema de base de datos, son:
1.- Gestor de archivos. Gestiona la asignación de espacio en la memoria del disco y de las estructuras de datos usadas para representar información.
2.- Manejador de base de datos. Sirve de interfaz entre los datos y los programas de aplicación.
3.- Procesador de consultas. Traduce las proposiciones en lenguajes de consulta a instrucciones de bajo nivel. Además convierte la solicitud del usuario en una forma más eficiente.
4.- Compilador de DDL. Convierte las proposiciones DDL en un conjunto de tablas que contienen metadatos, estas se almacenan en el diccionario de datos.
5.- Archivo de datos. En él se encuentran almacenados almacenados físicamente los datos de una organización.
6.- Diccionario de datos. Contiene la información referente a la estructura de la base de datos.
7.- Índices. Permiten un rápido acceso a registros que contienen valores específicos. Una forma gráfica de representar los componentes antes mencionados y la relación que existe entre ellos sería la siguiente.
Lenguajes del DBMS En la estructura básica de un Sistema Manejador de Base de Datos se enuncian dos lenguajes que permiten trabajar sobre la base de datos. Estos lenguajes estándar son:
DDL (Data Definition language) : Lenguaje de Definición de Datos. Por medio de este el DBMS identifica las descripciones de los elementos de los esquemas y almacena la descripción del esquema en el catálogo del DBMS. Por medio de este el DBMS especifica el esquema conceptual e interno (Base de datos Almacenada).
SDL (Store Definition language): Lenguaje de definición de almacenamiento. Es utilizado por el DBMS para especificar el esquema inter no que corresponde a la Base de Datos Almacenada. VDL (View Definition language): Lenguaje de Definición de Vistas. Es utilizado por el DBMS para especificar las vistas del usuario y sus correspondencias con el esquema conceptual.
En las Bases de Datos Relacionales, el S QL, representa una combinación de los anteriores.
DML (Data Manipulation language): Lenguaje de Manipulación de Datos. Permite la manipulación de las operaciones de Inserción, Eliminación y Modificación. Tipos de DML's: o De alto Nivel o No por procedimientos: SQL. De bajo Nivel o por procedimientos.
Funciones Del DBMS
Definición de datos: El DBMS debe ser capaz de aceptar definiciones de datos (esquemas externo, conceptual, interno y todas las correspondencias asociadas). Manipulación de datos: El DBMS debe ser capaz de atender las solicitudes del usuario para extraer y actualizar datos en la BD. Seguridad e Integridad de los datos: El DBMS debe supervisar las solicitudes de los usuarios y rechazar los intentos de violar las medidas de seg uridad e integridad definidas por el DBA. Respaldo y Recuperación: Todo sistema está sujeto a fallas de distinta índole (caída de las cabezas lectoras de disco, interrupción del suministro de energía, errores de software, etc.). El DBMS es responsable de detectar e stas fallas y restaurar la BD al estado antes de la falla. Esto se logra iniciando diversos procesos de respaldo y recuperación. Control de concurrencia: El DBMS o en su defecto el componente de software relacionado con él, el administrador de transacciones, debe controlar la interacción entre usuarios cuando ellos accedan en forma concurrente la BD para su actualización, ya que es necesario conservar la consistencia de los datos. Diccionario de datos: El DBMS debe incluir una función de diccionario de datos. Este es una BD del sistema; su contenido puede considerarse como “datos acerca de los datos” (metadatos), es decir, se almacenan físicamente todos los diversos esquemas y correspondencias. Desempeño: El DBMS deberá ejecutar todas estas funciones, en la forma más eficiente posible
Arquitectura de un manejador de bases de datos (DBMS) Nota: Las partes utilizadas para ejemplificar la arquitectura se refieren a Oracle Una base de datos en ejecución consta de 3 cosas: Archivos Control (ctl): almacenan información acerca de la estructura de archivos de la o base. Rollback (rbs): cuando se modifica el valor de alguna tupla en una transacción, los o valores nuevos y anteriores se almacenan en un archivo, de modo que si ocurre algún error, se puede regresar (rollback) a un estado anterior. Redo (rdo): bitácora de toda transacción, en muchos dbms incluye todo tipo de o consulta incluyendo aquellas que no modifican los datos. Datos (dbf): el tipo más común, almacena la información que es accesada en la o base de datos. Indices (dbf) (dbi): archivos hermanos de los datos para acceso rápido. o Temp (tmp): localidades en disco dedicadas a operaciones de ordenamiento o o alguna actividad particular que requiera espacio temporal adicional. Memoria Shared Global Area (SGA): es el área más grande de memoria y quizás el más o importante Shared Pool: es una caché que mejora el rendimiento ya que almacena parte del diccionario de datos y el parsing de algunas consultas en SQL Redo Log Buffer: contiene un registro de todas las transacciones dentro de la base, las cuales se almacenan en el respectivo archivo de Redo y e n caso de siniestro se vuelven a ejecutar aquellos cambios que aún no se hayan reflejado en el archivo de datos (commit).
Large Pool: espacio adicional, generalmente usado en casos de multithreading y esclavos de I/O. Java Pool: usado principalmente para almacenar objetos Java Program Global Area (PGA): información del estado de cursores/apuntadores o User Global Area(UGA): información de sesión, espacio de stack o Procesos Threading o System Monitor: despierta periódicamente y realiza algunas actividades entre las o que se encuentran la recuperación de errores, recuperación de espacio libre en tablespaces y en segmentos temporales. Process Monitor: limpia aquellos procesos que el usuario termina de manera o anormal, verificando consistencias, liberación de recursos, bloqueos. Database Writer: escribe bloques de datos modificados del buffer al disco, o aquellas transacciones que llegan a un estado de commit. Log Writer: escribe todo lo que se encuentra en el redo log buffer hacia el redo file o Checkpoint: sincroniza todo lo que se tenga en memoria, con sus o correspondientes archivos en disco
- http://miguel-algorismos.blogspot.com/2009_09_01_archive.html - http://sistemas.itlp.edu.mx/tutoriales/basedat1/temas1.htm - http://basedatos.site50.net/