Sistema Gestor de Bases de Datos (SGBD): concepto
Un Sistema Gestor de Bases de Datos (SGBD) —en inglés Database Management System, DBMS— es un sistema (software) para la creación y administración de bases de datos. Actúa como capa intermedia entre los usuarios o las aplicaciones y los datos almacenados físicamente, proporcionando los mecanismos para definir, construir, manipular, controlar y mantener la información de forma centralizada, consistente y segura.
El SGBD persigue objetivos clásicos: independencia física y lógica de los datos, minimización de la redundancia, integridad, concurrencia controlada, seguridad y recuperación ante fallos. Un SGBD no es la base de datos en sí (el conjunto de datos), sino el software que la gobierna.
Características y componentes de un SGBD
Un SGBD suele estructurarse en varios componentes funcionales:
-
Lenguaje de definición de datos (DDL): define el esquema (tablas, vistas, índices, restricciones).
-
Lenguaje de manipulación de datos (DML): consulta y modifica los datos; en el modelo relacional es SQL.
-
Lenguaje de control de datos (DCL): gestiona permisos y transacciones.
-
Motor de almacenamiento: organiza cómo se guardan y recuperan los datos en disco.
-
Procesador/optimizador de consultas: transforma las sentencias en planes de ejecución eficientes.
-
Gestor de transacciones: garantiza las propiedades ACID (atomicidad, consistencia, aislamiento y durabilidad).
-
Gestor de concurrencia, de seguridad y de recuperación (copias/logs).
-
Diccionario de datos (catálogo): metadatos sobre la estructura de la base.
Tipos de SGBD
Según el modelo de datos que implementan, distinguimos:
| Tipo | Modelo | Ejemplos |
|---|---|---|
| Relacional (SGBDR) | Tablas (filas/columnas), SQL, ACID | Oracle, MySQL, PostgreSQL, SQL Server, DB2, SQLite |
| Orientado a objetos | Objetos, clases, herencia | db4o, ObjectDB |
| NoSQL | Documental, clave-valor, columnar, grafos | MongoDB, Redis, Cassandra, Neo4j |
DB2
DB2 (IBM Database 2) es un sistema de gestión de bases de datos relacional desarrollado por IBM. Fue lanzado por primera vez en 1983 sobre la plataforma mainframe MVS. Utiliza SQL para la recuperación y manipulación de datos, y a lo largo del tiempo se ha extendido con características objeto-relacionales y soporte de estructuras no relacionales como JSON y XML. Es, por tanto, un ejemplo característico de SGBD relacional junto a Oracle, MySQL, PostgreSQL o SQL Server.
SQLite
SQLite presenta un rasgo que lo hace único entre los SGBD: es una biblioteca escrita en C que implementa un SGBD sin servidor (serverless, embebido, in-process). A diferencia de Oracle, MySQL o SQL Server —que funcionan mediante un proceso servidor independiente al que se conectan los clientes—, SQLite se enlaza directamente dentro de la aplicación y lee y escribe sobre un fichero de disco ordinario y autocontenido. Es zero-configuration, ofrece transacciones ACID incluso ante cortes de energía y es el motor de base de datos más desplegado del mundo. Su filosofía es ser "un sustituto de fopen()", no un competidor de servidores como Oracle.
Herramientas de administración
Además del propio motor, existen herramientas de administración de bases de datos que facilitan la gestión visual:
-
HeidiSQL: es una herramienta de administración de bases de datos (cliente gráfico) libre, que permite conectarse y gestionar servidores MySQL/MariaDB, PostgreSQL, SQL Server y SQLite (crear, editar y consultar datos y estructuras).
-
Otras: phpMyAdmin, DBeaver, MySQL Workbench, pgAdmin.
No hay que confundir la herramienta de administración (interfaz de gestión) con el SGBD (el motor que realmente almacena y procesa los datos).
Operaciones CRUD
La interacción básica con cualquier almacén de datos se resume en el acrónimo CRUD, que en el contexto de las bases de datos significa Create, Read, Update and Delete (Crear, Leer, Actualizar y Borrar). CRUD es, por tanto, un conjunto de operaciones para gestionar bases de datos y los datos digitales:
| Operación | Significado | Acción sobre los datos | SQL típico |
|---|---|---|---|
| Create | Crear | Introducir información (insertar registros) en la base de datos | INSERT |
| Read | Leer | Consultar/recuperar información | SELECT |
| Update | Actualizar | Modificar las columnas de la base de datos (registros existentes) | UPDATE |
| Delete | Borrar | Borrar datos del sistema de almacenamiento | DELETE |
Puntos clave que conviene retener:
-
La operación Create es la que introduce información en la base de datos.
-
La operación Update consiste en modificar las columnas (los datos ya existentes).
-
La operación Delete significa borrar datos del sistema de almacenamiento.
Ventajas de las operaciones CRUD
Las operaciones CRUD son un patrón fundamental en el desarrollo de aplicaciones (por ejemplo, en PHP con MySQL). Sus ventajas principales son:
-
Estandarización: ofrecen un espacio estandarizado para interactuar con aplicaciones de almacenamiento de datos, unificando la forma de operar sobre distintos sistemas.
-
Escalabilidad: son fundamentales para la escalabilidad porque facilitan la adaptación de las aplicaciones a las necesidades cambiantes de los usuarios y de los datos, permitiendo que las aplicaciones se adapten de manera más sencilla.
-
Mantenibilidad: facilitan el mantenimiento porque cuentan con protocolos establecidos que simplifican la resolución de problemas y las actualizaciones.
En PHP, un flujo CRUD típico combina las cuatro operaciones (INSERT, SELECT, UPDATE, DELETE) sobre el SGBD subyacente, proporcionando una base uniforme, escalable y fácil de mantener para la lógica de persistencia.
Fuentes
-
SQLite — What Is SQLite? (sitio oficial): https://www.sqlite.org/about.html
-
IBM — Db2 Database (producto oficial): https://www.ibm.com/products/db2-database
-
IBM Documentation — Introduction to Db2 (DB2: the relational database): https://www.ibm.com/docs/en/zos-basic-skills?topic=zos-introduction-db2
-
HeidiSQL — sitio oficial: https://www.heidisql.com/
-
ISO/IEC 9075 (SQL) — norma del lenguaje de bases de datos relacionales: https://www.iso.org/standard/76583.html