Sistema de gestión de bases de datos¶
Introducción¶
Un sistema de gestión de bases de datos (**SGBD*)* consiste en una colección de datos interrelacionados y un conjunto de programas que se utilizan para acceder y modificar dichos datos. La colección de datos se denomina base de datos.
Los sistemas de bases de datos se diseñan para gestionar grandes cantidades de información. Para ello se definen estructuras para almacenar la información y se provee de ciertos mecanismos para manipular la información.
Abstracción de los datos¶
El propósito principal de un sistema de bases de datos es proporcionar a los usuarios una visión abstracta de los datos. Es decir, el usuario no sabe cómo se almacenan o mantienen los datos, siendo el sistema el que se ocupa de ello.
Esta abstracción de los datos se consigue dividiendo las bases de datos en tres niveles de abstracción. Estos niveles son los siguientes:
- Nivel físico (Esquema interno). Es el nivel más próximo a la máquina. Describe cómo se almacenan los datos.
- Nivel lógico (Esquema conceptual). Describe qué datos se almacenan en la base de datos y qué relaciones existen entre esos datos. En este nivel se logra describir toda la base de datos mediante un pequeño número de estructuras simples.
- Nivel de vistas (Esquema externo). La mayoría de los usuarios sólo necesitan acceder a una parte de la base de datos. Para que su interacción con la base de datos sea lo más simple posible, se definen muchas vistas para acceder a la misma base de datos.
Sistemas de Gestión de Bases de Datos¶
El sistema de gestión de la base de datos (usualmente llamado SGBD) es un conjunto coordinado de programas, procedimientos, lenguajes, etc. que suministra los medios necesarios para describir, recuperar y manipular los datos almacenados en la base de datos, manteniendo su integridad, confidencialidad y seguridad.
Las funciones esenciales de un SGBD son las siguientes:
- Descripción o definición. Se realiza mediante el lenguaje de definición de datos, o DDL (Data Definition Language). Permite al administrador de la base de datos especificar los elementos de datos que la integran, su estructura y las relaciones que existen entre ellos, las reglas de integridad, los controles de acceso y las características de tipo físico.
- Manipulación. Se realiza mediante el lenguaje de manipulación de datos, o DML (Data Manipulation Language). Permite a los usuarios buscar, añadir, suprimir o modificar los datos de la base de datos.
- Utilización. Reune los interfaces que necesitan los usuarios para comunicarse con la base de datos y proporciona un conjunto de procedimientos para el administrador.
Tipos de bases de datos¶
La parte más importante dentro de la estructura de la base de datos es el modelo de datos. El modelo de datos consiste en una colección de herramientas conceptuales para definir los datos, la semántica de los datos (cómo modificar los datos) y las ligaduras de consistencia (evitan incoherencias). Los diferentes modelos de datos son los que definen los distintos tipos de bases de datos.
Los modelos de datos (y, por tanto, las bases de datos) se clasifican en tres grupos diferentes: modelos lógicos basados en objetos, modelos lógicos basados en registros y modelos físicos.
Modelos lógicos basados en objetos¶
Se usan para describir datos en los niveles lógico y de vistas. Proporcionan capacidades estructurales muy flexibles y permiten especificar las estructuras de datos explícitamente. Los modelos más conocidos de este grupo son:
- Modelo entidad-relación. Está basado en una percepción del mundo real que consta de una colección de objetos básicos llamados entidades y de relaciones entre estos objetos.
- Modelo orientado a objetos.
- Modelo de datos semántico.
- Modelo de datos funcional.
Modelos lógicos basados en registros¶
Como los modelos lógicos basados en objetos se utilizan para describir datos en los niveles lógico y de vistas. Se usan tanto para especificar la estructura completa de la base de datos como para proporcionar una descripción de alto nivel de la implementación. Forman parte de este grupo los siguientes modelos:
- Modelo relacional. En el modelo relacional se usa una colección de tablas para representar tanto los datos como las relaciones entre esos datos.
- Modelo de red. Los datos se representan mediante colecciones de registros (en el sentido de Pascal) y las relaciones entre los datos se representan mediante enlaces, que se pueden ver como punteros. Los registros en la base de datos se organizan como colecciones de grafos dirigidos.
- Modelo jerárquico. Los datos y las relaciones entre los datos se representan mediante registros y enlaces, respectivamente, al igual que en el modelo anterior. Se diferencia del modelo de redes en que los registros se organizan como colecciones de árboles en lugar de grafos dirigidos.
Modelo de datos físico¶
Se usa para describir datos en el nivel físico. Los más conocidos son el modelo de unificación y el modelo de memoria por marcos.
Seguridad e integridad de los datos¶
La seguridad de los datos se refiere a la protección de los datos contra la revelación, alteración o destrucción de los datos. Por contra, la integridad de los datos se refiere a la precisión o validez de los mismos.
En otras palabras, la seguridad tiene que ver con lo que los usuarios hagan sólo las cosas que tienen permitidas hacer, y la integridad se encarga de comprobar que las cosas que intentan hacer los usuarios son correctas.
Seguridad¶
Los aspectos a destacar relacionados con el problema de la seguridad son los siguientes:
- Aspectos legales, sociales y éticos.
- Controles físicos.
- Política de acceso.
- Problemas de operación.
- Controles de hardware.
- Seguridad del Sistema Operativo.
- Problemas específicos de la Base de Datos.
Integridad¶
La integridad se refiere a la precisión o corrección de los datos en la base de datos. Una restricción de integridad puede ser considerada como una condición que deben satisfacer todos los estados correctos de la base de datos.
Si un usuario intenta ejecutar una operación que viole alguna restricción, el sistema tendrá que rechazar la operación o ejecutar alguna acción compensadora que asegure que el resultado final sea un estado correcto.