Lenguaje y componentes de un SGBD
Lenguaje de un SGBD
Lenguaje de definición de datos (LDD)
Permite realizar la función de descripción, es decir, definir los datos a los distintos niveles. Un buen SGBD debería tener un LDD para cada nivel, pero en la realidad la mayoría de los sistemas gestores de BD tiene solo dos niveles de descripción.Las características que nos permite definir el LDD interno son las siguientes:
– Espacio reservado para la BD (volúmenes, cilindros y pistas).
– Crecimiento previsto.
– Tipos de registros más accedidos.
– Longitud de los campos o elementos de datos.
Modo de representación de los datos.Las características que nos permite definir el LDD conceptual son las siguientes:
– Nombres de las entidades u objetos.
– Nombres de los campos.
– Relaciones existentes entre entidades u objetos
– Restricciones semánticas que se han de aplicar a los distintos objetos.
– Autorizaciones de accesos. Con respecto al LDD externo, éste permite dar un nombre a una vista e indicar que datos y que interrelaciones de la estructura conceptual se encuentran en la misma. Lenguaje de manipulación de datos (LMD)
– Hay que dar a los usuarios la posibilidad de referirse a un conjunto de datos según un criterio de selección. Además del criterio de selección, hay que especificar la estructura externa que se desea actualizar o recuperar. Una vez especificado, el SGBD debe ocuparse de acceder al correspondiente soporte físico, donde se modificarán, insertarán o borrarán los datos.Las órdenes SQL que principalmente intervienen en esta función son SELECT, INSERT, DELETE y UPDATE.Los LMD se pueden clasificar en:
– Lenguaje huésped: están constituidos por un conjunto de instrucciones que son admitidas dentro de un programa escrito en otro lenguaje (anfitrión).– Lenguaje autocontenido: Son los que dan facilidad a los usuarios para manipular la BD sin necesidad de apoyarse en ningún lenguaje y de forma interactiva con un terminal.
Sublenguajes del LMD
Lenguaje de control de datos (LCD): contiene sentencias a cerca del control de datos, acceso y utilización de la BD (Ej: GRANT y DROP).
Lenguaje de procesos de transacciones (LPT): controla las transacciones (Ej: COMMIT y ROLLBACK).
Componentes de un SGBD
Procesador de consulta
Recibe las peticiones de consulta o actualización y encuentra la mejor manera de realizarla mediante un Plan de Ejecución. Sus principales componentes son:
– Compilador de LMD: traduce las sentencias del LMD de consultas a instrucciones de bajo nivel.
– Precompilador del LMD incorporado: Trabaja en conjunto con el compilador del LMD para generar el código adecuado.
– Motor de evaluación: ejecuta las instrucciones de bajo nivel generadas por el compilador.
– Intérprete del LDD: convierte las sentencias del LDD en un conjunto de tablas que contiene metadatos. Estas tablas se almacenan en el diccionario de datos.
Gestor de almacenamiento
Es el interface entre los programas de aplicación, las consultas y los datos de bajo nivel. Controla el acceso a la información en la BD e interactúa con el gestor de ficheros para actualizar, recuperar o almacenar los datos de la BD. Está compuesto por los siguientes elementos:
– Gestor de transacciones: asegura que la BD quede en un estado consistente después de un fallo del sistema.
– Gestor de memoria intermedia: se encarga de transferir los datos entre la memoria principal y los dispositivos de almacenamiento secundario.
– Gestor de archivos: gestiona la reserva de espacio de almacenamiento en disco, así como la estructura de datos usada para representar los datos en disco. Si utilizamos ficheros dispersos este módulo es el encargado de llamar a la función de dispersión para generar la dirección de los registros.
Otros componentes
Archivos de datos: almacena físicamente los datos de la BD
Índice: proporciona un acceso rápido a los datos que están en el archivo de datos.
Diccionario de datos o catálogo: contiene los siguientes metadatos:
Nombre, tipo y tamaño de datos.
Nombre de las relaciones.
Restricciones de integridad.
Nombre de los usuarios autorizados a acceder a la BD.
Esquemas externos, conceptuales e internos, y su correspondencia.
Estadísticas de utilización. Las ventajas del diccionario de datos son las siguientes:
La información sobre los datos se pueden almacenar de una forma centralizada.
El significado de los datos se puede definir lo que ayudará a los usuarios a entender el propósito de los mismos, como consecuencia, la comunicación se simplifica.
Se puede identificar al usuario que poseen o acceden a los datos.
Las redundancias e inconsistencias se pueden identificar fácilmente.
Se puede tener un historial de los cambios realizados sobre la BD.
Se puede determinar el impacto que puede producir un cambio antes de que sea implementado.
Se puede hacer respetar la seguridad.
Se puede proporcionar información para auditorías. El módulo encargado de gestionar el diccionario de datos y controlar sus accesos se llama gestor de diccionario.