Un sistema gestor de bases de datos (SGBD) es el software que se encarga de guardar los datos, mantenerlos en orden y servirlos a quien los pide, sin que cada programa tenga que preocuparse de cómo están almacenados. MySQL, PostgreSQL, Oracle, SQL Server o SQLite son sistemas gestores de bases de datos.
Para entender por qué existen, conviene empezar por lo que había antes: los ficheros.
Antes de las bases de datos: los ficheros
Un fichero es una estructura en la que una aplicación guarda sus datos. Su formato decide cómo se interpreta lo que contiene, y se suelen clasificar en dos grupos:
- Ficheros de texto (o planos): contienen caracteres legibles, hoy casi siempre codificados en UTF-8. Por ejemplo, ficheros de configuración (
.ini,.conf), código fuente (.sql,.java) o páginas web (.html,.css). - Ficheros binarios: necesitan un programa que entienda su formato. Por ejemplo, imágenes (
.jpg,.png), vídeos (.mp4), comprimidos (.zip) o documentos (.docx,.odt).
Durante décadas, cada aplicación guardaba sus datos en sus propios ficheros. Funcionaba mientras había pocos datos y pocos programas, pero al crecer aparecieron los problemas.
Por qué los ficheros se quedaron cortos
- Redundancia: el mismo dato se repetía en varios ficheros, ocupando espacio de más.
- Inconsistencia: si un dato repetido se actualizaba en un sitio y no en los demás, cada fichero decía una cosa distinta.
- Acceso difícil: para cada consulta nueva había que escribir un programa nuevo.
- Datos aislados: ficheros con formatos distintos, repartidos por varios directorios y equipos.
- Integridad: las reglas (por ejemplo, «el saldo no puede ser negativo») estaban escondidas en el código de cada programa.
- Atomicidad: si un fallo interrumpía una operación a medias (una transferencia que ya ha restado el dinero de una cuenta, pero aún no lo ha sumado en la otra), los datos quedaban a medio cambiar.
- Acceso concurrente: dos usuarios modificando el mismo fichero a la vez podían pisarse los cambios.
- Seguridad: era difícil controlar quién podía ver o cambiar cada dato.
Los sistemas gestores de bases de datos nacieron para resolver todo esto en un único sitio. Si te interesa cómo se llegó hasta aquí, tienes la historia de las bases de datos: de las fichas de papel a los primeros modelos jerárquicos y en red de los años sesenta, el modelo relacional de Edgar F. Codd (1970) y las bases de datos NoSQL de este siglo.
Base de datos, sistema gestor y sistema de base de datos
Tres términos que se confunden a menudo:
- Base de datos: el conjunto de datos relacionados entre sí y organizados sobre un mismo problema (los clientes, productos y pedidos de una tienda, por ejemplo).
- Sistema gestor de bases de datos (SGBD): el software que permite definir, consultar, modificar y proteger esos datos.
- Sistema de base de datos: el conjunto completo, formado por los datos, el SGBD, las aplicaciones que los usan y las personas que trabajan con ellos.
Tipos de bases de datos
Según el modelo de datos que usan:
- Jerárquicas: los datos se organizan en árbol (padre e hijos).
- En red: como las jerárquicas, pero un registro puede tener varios «padres».
- Relacionales: los datos se guardan en tablas relacionadas mediante claves. Son las más extendidas. Más detalles en qué son las bases de datos relacionales.
- Orientadas a objetos: guardan objetos, como en la programación orientada a objetos.
- NoSQL: documentales, clave-valor, columnares y de grafos, pensadas para datos poco estructurados o volúmenes muy grandes. Tienes las diferencias entre bases de datos relacionales y no relacionales.
Según dónde están los datos:
- Centralizadas: en un único servidor.
- Distribuidas: repartidas entre varios equipos que funcionan como una sola base de datos. Lo verás en bases de datos distribuidas.
Según para qué se usan:
- Transaccionales (OLTP): muchas operaciones cortas del día a día, como ventas o reservas.
- Analíticas (OLAP) o multidimensionales: grandes volúmenes de datos históricos para informes y análisis.
Tipos de sistemas gestores de bases de datos
- De escritorio o embebidos: para bases de datos pequeñas, en un solo equipo o dentro de una aplicación. Ejemplos: Microsoft Access, LibreOffice Base o SQLite (que va integrado en multitud de aplicaciones y móviles).
- Cliente-servidor: un servidor atiende a muchos usuarios y aplicaciones a la vez. Pueden ser comerciales, como Oracle Database, Microsoft SQL Server o IBM Db2, o de código abierto, como PostgreSQL, MySQL o MariaDB.
- En la nube: el proveedor se encarga del servidor, las copias de seguridad y las actualizaciones. Ejemplos: Amazon RDS, Azure SQL Database o Google Cloud SQL.
Si quieres probar alguno, tienes una comparativa de herramientas de gestión de bases de datos.
Qué servicios ofrece un SGBD
- Definición de la base de datos: crear su estructura (tablas, tipos de datos, restricciones).
- Manipulación de datos: insertar, consultar, modificar y borrar.
- Control de acceso: decidir qué usuario puede hacer qué.
- Integridad: hacer cumplir las reglas de los datos, como las claves primarias y foráneas.
- Concurrencia: permitir que muchos usuarios trabajen a la vez sin pisarse, mediante transacciones con las propiedades ACID (atomicidad, consistencia, aislamiento y durabilidad).
- Copias de seguridad y recuperación: volver a un estado correcto después de un fallo.
- Diccionario de datos: guardar la descripción de la propia base de datos (lo verás más abajo).
Arquitectura de un SGBD: sus componentes
Por dentro, un sistema gestor se organiza en tres grandes componentes:
- Procesador de consultas: recibe las sentencias (por ejemplo, en SQL), las comprueba, busca la forma más eficiente de ejecutarlas (el optimizador) y las ejecuta.
- Gestor de almacenamiento: es el puente entre los datos guardados en disco y el resto del sistema. Se ocupa de los ficheros, los índices y la memoria intermedia (buffer).
- Gestor de transacciones: garantiza que la base de datos se mantenga consistente aunque haya fallos o muchos usuarios a la vez. Controla la concurrencia y la recuperación.
La arquitectura ANSI/SPARC: tres niveles
Propuesta en los años setenta por el comité ANSI/X3/SPARC, separa la base de datos en tres niveles de abstracción:
- Nivel interno (o físico): cómo se almacenan realmente los datos (ficheros, índices, organización en disco).
- Nivel conceptual (o lógico): qué datos hay en toda la base de datos y cómo se relacionan, sin entrar en cómo se guardan. Es el nivel en el que trabaja el diseñador.
- Nivel externo (o de vistas): la parte de la base de datos que ve cada usuario o aplicación. En SQL se implementa, entre otras cosas, con vistas.
Separar los niveles permite cambiar uno sin romper los demás:
- Independencia física: se puede cambiar el nivel interno (por ejemplo, añadir un índice o mover los datos a otro disco) sin tocar el nivel conceptual.
- Independencia lógica: se puede cambiar el nivel conceptual (por ejemplo, añadir una columna o una tabla) sin modificar las vistas ni las aplicaciones que no la usan.
Los lenguajes de un SGBD
Para comunicarse con el sistema gestor se usan varios lenguajes. En las bases de datos relacionales, todos forman parte de SQL:
| Lenguaje | Para qué sirve | Sentencias SQL |
|---|---|---|
| DDL (lenguaje de definición de datos, LDD) | Crear y modificar la estructura | CREATE, ALTER, DROP |
| DML (lenguaje de manipulación de datos, LMD) | Consultar y modificar los datos | SELECT, INSERT, UPDATE, DELETE |
| DCL (lenguaje de control de datos, LCD) | Dar y quitar permisos | GRANT, REVOKE |
| TCL (control de transacciones) | Confirmar o deshacer cambios | COMMIT, ROLLBACK |
Puedes ver el DDL y el DML en acción en cómo crear y manipular tablas en SQL.
El diccionario de datos
Es la base de datos que describe a la propia base de datos (sus metadatos). Guarda, entre otras cosas:
- El nombre, tipo y tamaño de cada dato.
- Las relaciones entre tablas.
- Las restricciones de integridad.
- Los usuarios y sus permisos.
- Estadísticas de uso, que el optimizador de consultas aprovecha.
Para ser útil, el diccionario tiene que estar integrado en el propio SGBD y actualizarse solo con cada cambio en la estructura. En la práctica se consulta como cualquier otra tabla: el estándar SQL lo ofrece como INFORMATION_SCHEMA, que usan MySQL y PostgreSQL, y Oracle tiene sus vistas del diccionario, como USER_TABLES.
Quién se ocupa de la base de datos
- Administrador de datos: decide qué datos se guardan y con qué políticas se gestionan. Es un papel más de organización que técnico.
- Administrador de la base de datos (DBA): el técnico que lleva esas decisiones a la práctica. Es quien tiene más privilegios en el sistema y sus funciones habituales son:
- Elegir e instalar el sistema gestor.
- Crear las bases de datos y mantener su esquema.
- Definir las reglas de acceso y gestionar las cuentas de usuario.
- Programar y comprobar las copias de seguridad.
- Vigilar el rendimiento y aplicar las actualizaciones de seguridad.
Inconvenientes de los sistemas de bases de datos
- Necesitan personal especializado para diseñarlos y mantenerlos.
- Tienen costes: servidores, licencias en el caso de los comerciales, o el pago por uso en la nube.
- Concentran la información: si el servidor falla, todo se detiene. Por eso se combinan con copias de seguridad, réplicas en otros servidores y sistemas de alimentación ininterrumpida (SAI).
Aun así, para cualquier aplicación que maneje datos compartidos, las ventajas pesan mucho más.
Preguntas frecuentes
¿Qué diferencia hay entre una base de datos y un SGBD?
La base de datos son los datos organizados; el SGBD es el programa que los gestiona. Por ejemplo, la base de datos de una tienda (clientes, productos, pedidos) puede estar gestionada por MySQL, que es el SGBD.
¿MySQL es una base de datos?
No exactamente: MySQL es un sistema gestor de bases de datos. Con MySQL puedes crear y gestionar muchas bases de datos distintas. Lo mismo ocurre con PostgreSQL, Oracle o SQL Server, aunque en el día a día se diga «la base de datos MySQL».
¿Qué es la arquitectura ANSI/SPARC?
Es un modelo que divide una base de datos en tres niveles (interno, conceptual y externo) para que se pueda cambiar cómo se guardan los datos, o qué datos hay, sin afectar a los usuarios ni a las aplicaciones. Es la base de la independencia física y lógica de los datos.
¿Qué SGBD es mejor para aprender?
Para empezar, cualquiera de código abierto: PostgreSQL y MySQL son los más usados, y SQLite no necesita instalar un servidor. Lo importante es aprender SQL y el diseño de bases de datos, que sirven para todos. Si estás empezando, sigue con la introducción a las bases de datos y el modelo entidad-relación.
Estos contenidos nacieron como apuntes del módulo de Gestión de Bases de Datos del ciclo de Administración de Sistemas Informáticos en Red (ASIR). Los he revisado, corregido y ampliado en 2026.

0 Comentarios