Fundamentos de los Sistemas de Gestión de Bases de Datos (SGBD)
Un Sistema de Gestión de Bases de Datos (SGBD) es un conjunto de programas que permiten la creación, administración y acceso a bases de datos. A continuación, se describen los componentes y lenguajes clave de un SGBD.
Componentes Principales de un SGBD
El SGBD se compone de varios elementos esenciales:
- El preprocesador del LMD convierte las sentencias del LMD embebidas en los programas de aplicación en llamadas a funciones estándar escritas en el lenguaje anfitrión. El preprocesador del LMD debe trabajar con el procesador de consultas para generar el código apropiado.
- El compilador del LDD convierte las sentencias del LDD en un conjunto de tablas que contienen metadatos. Estas tablas se almacenan en el diccionario de datos.
- El diccionario de datos es una “metabase de datos”, es decir, una base de datos que contiene información sobre otra base de datos. En el diccionario de datos se almacena toda la descripción de los datos, información referente a la estructura de datos, relaciones entre ellos, gestión e implantación de la base de datos.
El diccionario de datos debe contener todo lo que cualquier usuario quiera saber sobre la base de datos:
- Descripción externa, conceptual e interna de la base de datos.
- Transformación entre los tres niveles.
- Restricciones sobre datos.
- Acceso a datos.
- Descripciones de las cuentas de usuario.
- Las autorizaciones de cada usuario.
- Los esquemas externos de cada programa.
Lenguajes de un SGBD
Los SGBD deben ofrecer lenguajes e interfaces apropiadas para cada tipo de usuario: administradores de la base de datos, diseñadores, programadores de aplicaciones y usuarios finales. Se trata de lenguajes que aportan una gramática sencilla, fácil de entender por usuarios no expertos.
Lenguaje de Definición de Datos (LDD)
Para garantizar la independencia de los datos, es necesaria la definición a los diferentes niveles de abstracción. Por lo tanto, el SGBD necesita un lenguaje que nos permita la realización de esta tarea.
Una vez finalizado el diseño de una base de datos y escogido un SGBD para su implementación, el primer paso consiste en especificar el esquema conceptual y el esquema interno de la base de datos, y la correspondencia entre ambos. En muchos SGBD no se mantiene una separación estricta de niveles, por lo que el administrador de la base de datos y los diseñadores utilizan el mismo lenguaje para definir ambos esquemas: el lenguaje de definición de datos (LDD). ***en SQL create table/create index…***
Después de escribirlos, habrá un compilador LDD que será el que se va a encargar de generar el conjunto de ficheros para almacenar en el disco (Diccionario de datos).
Lenguaje de Manipulación de Datos (LMD)
Una vez creados los esquemas de la base de datos, los usuarios necesitan un lenguaje que les permita manipular los datos de la base de datos: realizar consultas, inserciones, borrados y modificaciones. Este lenguaje es el que se denomina lenguaje de manipulación de datos (LMD).
Dependiendo del modelo de datos y el SGBD, existen dos tipos de LMD:
- No Procedimentales: solo requieren que en las instrucciones o sentencias del lenguaje se especifiquen qué datos se van a manipular, siendo el propio LMD el encargado de determinar los procedimientos más efectivos para ello (por ejemplo: SQL).
- Procedimentales: los cuales requieren que en las sentencias del lenguaje se especifiquen qué acciones deben realizarse (por ejemplo: PL/SQL).
Lenguaje de Control de Datos (LCD)
Se utiliza para controlar el acceso a la información de la base de datos, definiendo privilegios y tipos de acceso, así como para el control de la seguridad de los datos. De esta tarea se encarga el administrador.
Clasificación de los SGBD
Podemos realizar una clasificación atendiendo a varios criterios:
Número de usuarios a los que da servicio el sistema
Los sistemas monousuario sólo atienden a un usuario a la vez, y su principal uso se da en los ordenadores personales.
Los sistemas multiusuario, entre los que se encuentran la mayor parte de los SGBD, atienden a varios usuarios al mismo tiempo.
Ubicación de la base de datos
Centralizados: Casi todos los SGBD son centralizados, sus datos se almacenan en un solo computador. Los SGBD centralizados pueden atender a varios usuarios, pero el SGBD y la base de datos en sí residen por completo en una sola máquina.
Distribuidos: En los SGBD distribuidos, la base de datos real y el propio software del SGBD pueden estar distribuidos en varios sitios conectados por una red. Los SGBD distribuidos homogéneos utilizan el mismo SGBD en múltiples sitios.
El criterio principal que se utiliza para clasificar los SGBD es el modelo de datos en que se basan. Los modelos lógicos empleados con mayor frecuencia en los SGBD comerciales actuales son el relacional, el de red y el jerárquico. Algunos SGBD más modernos se basan en modelos orientados a objetos.
La mayoría de los SGBD comerciales actuales están basados en el modelo relacional, mientras que los sistemas más antiguos estaban basados en el modelo de red o el modelo jerárquico. Estos dos últimos modelos requieren que el usuario tenga conocimiento de la estructura física de la base de datos a la que se accede, mientras que el modelo relacional proporciona una mayor independencia de datos. Se dice que el modelo relacional es declarativo (se especifica qué datos se han de obtener) y los modelos de red y jerárquico son navegacionales (se especifica cómo se deben obtener los datos).
Modelo de Datos Jerárquico
- Características:
- Para la representación lógica de los datos utiliza un diagrama de estructura de árbol con posibles distintos tipos de registro.
- Un árbol es una estructura jerárquica de elementos llamados nodos.
- El nivel más alto en la jerarquía es el nodo raíz.
- Cada nodo representa un tipo de registro, representado por un rectángulo.
- Los nodos van a estar enlazados por arcos que van a representar las relaciones entre estos.
- No puede haber ciclos cerrados.
- Cuando se elimina un registro, se deben borrar todos sus registros hijos.