Sistemas Gestores de Bases de Datos (SGBD): Conceptos Fundamentales y Componentes
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,67 KB
Sistemas Gestores de Bases de Datos (SGBD)
Un Sistema Gestor de Base de Datos (SGBD) se encarga de realizar las operaciones de los datos. Para garantizar la integridad y eficiencia, no debe existir redundancia, y si existe, debe ser controlada por el propio SGBD.
Herramientas de un SGBD
- Creación y especificación de los datos: Define la estructura de la base de datos y sus elementos.
- Administración del almacenamiento: Gestiona la estructura física requerida en las unidades de almacenamiento.
- Manipulación de datos: Permite añadir, modificar, suprimir o consultar datos.
- Recuperación en caso de desastre: Implementa mecanismos para restaurar la base de datos ante fallos.
- Creación de copias de seguridad: Facilita la creación de copias de seguridad para proteger los datos.
- Gestión de la comunicación: Permite la comunicación con la base de datos desde diferentes aplicaciones.
- Instalación de la base de datos: Proporciona herramientas para la instalación del SGBD.
- Administración: Ofrece herramientas para la administración y configuración del SGBD.
- Importación y exportación de datos: Permite importar y exportar datos desde diferentes fuentes.
Lenguaje de Definición de Datos (DDL)
El Lenguaje de Definición de Datos (DDL) es la parte del lenguaje SQL que se encarga de la definición de datos. Fundamentalmente se encarga de:
- Creación de esquemas.
- Creación de tablas.
- Creación de vistas.
Diccionario de Datos
El Diccionario de Datos (Catálogo del sistema) es un componente esencial en cualquier SGBD ya que contiene información (metadatos) sobre los objetos de las bases de datos alojadas en nuestro servidor, incluyendo:
- Nombre, tipo y tamaño de los datos.
- Nombre de las relaciones entre los datos.
- Restricciones de integridad sobre los datos.
- Nombre de los usuarios autorizados a acceder a la base de datos.
Componentes de un SGBD
Procesador de Consultas
El Procesador de Consultas es el componente principal de un SGBD, responsable de analizar y ejecutar las consultas realizadas por los usuarios.
Transacciones
Una transacción es una secuencia de una o más sentencias SQL que juntas forman una unidad de trabajo. Es decir, las operaciones que forman una transacción deben ser completadas en su totalidad o pueden ser desechas si el proceso no se completó correctamente.
Las transacciones y su procesamiento deben poseer varias propiedades (ACID):
- Atomicidad: una transacción o se ejecuta completamente o no tiene efecto alguno (responsabilidad del SGBD - subsistema de recuperación).
- Conservación de la consistencia: toda transacción que parte de un estado consistente deja la BD en un estado consistente (responsabilidad de los programadores y/o del módulo del SGBD que asegura el cumplimiento de las reglas de integridad).
- Aislamiento (Isolation): los efectos de una transacción no se ven influenciados por otras transacciones concurrentes (responsabilidad del SGBD - subsistema de control de concurrencia).
- Durabilidad o permanencia: los efectos de una transacción una vez confirmada son permanentes (responsabilidad del SGBD - subsistema de recuperación).
Índices
Un índice es una estructura de datos que permite recuperar las filas de una tabla de forma más rápida, además de proporcionar una ordenación distinta a la natural de la tabla.
MySQL
mysqld es el programa principal que realiza la mayoría del trabajo en una instalación MySQL. El servidor está acompañado por varios scripts que realizan operaciones de inicialización cuando se instala MySql Server.
Ejemplos de comandos en MySQL:
- Otorgar permisos de selección a un usuario:
grant select on *.* to 'user'@'pc' identified by 'pass'
- Realizar una copia de seguridad de una tabla:
mysqldump -u root -p tienda jugadores > ruta
- Exportar una tabla a un archivo:
select * into outfile 'ruta' from tabla;
- Agregar un índice a una tabla:
alter table nombretabla add index (tabla1,tabla2);
- Crear una vista:
create view vista as select * from tabla;