Programación · datos · bases de datos
¿Qué es una base de datos?
Cada app que usas — tu banco, una tienda, un feed social — guarda su información en algún lugar donde se pueda encontrar, cambiar y confiar en ella. Ese lugar es una base de datos. Es una de las ideas fundamentales del software. Esta guía explica qué es una base de datos, los tipos principales, los conceptos que importan, ejemplos reales, y su conexión con SQL.
La definición corta
Una base de datos es una colección organizada de datos, gestionada por software (un sistema de gestión de bases de datos, o SGBD) que permite almacenar, recuperar, actualizar y proteger esos datos de forma fiable. Una hoja de cálculo también puede contener datos, pero una base de datos añade estructura, consultas rápidas a escala, acceso multiusuario y la garantía de que los datos siguen siendo coherentes aunque muchas cosas cambien a la vez.
Base de datos vs SGBD
Dos palabras que se usan indistintamente pero significan cosas distintas. La base de datos son los datos en sí y cómo están organizados. El SGBD — PostgreSQL, MySQL, SQLite, MongoDB — es el software que los almacena, ejecuta tus consultas, aplica las reglas y gestiona el acceso concurrente. Cuando alguien pregunta «¿qué base de datos debería usar?», suele referirse al SGBD.
Las dos grandes familias
- Bases de datos relacionales (SQL): organizan los datos en tablas de filas y columnas, con relaciones definidas entre ellas, y se consultan con SQL. Destacan en datos estructurados y coherencia garantizada. Ejemplos: PostgreSQL, MySQL, SQLite, SQL Server.
- Bases de datos NoSQL: relajan la estructura rígida de tablas para ganar flexibilidad y escala. Vienen en variantes: orientadas a documentos (MongoDB), clave-valor (Redis), columnas anchas (Cassandra) y grafos (Neo4j). Útiles para grandes volúmenes, caché rápida, o datos cuya forma cambia a menudo.
La mayoría de los sistemas reales usan más de una — por ejemplo una base relacional para los registros principales y un almacén clave-valor para la caché.
Los conceptos clave
- Esquema — la estructura definida: qué tablas existen, sus columnas y tipos, y las reglas. Las bases relacionales son esquema primero; muchas NoSQL son flexibles.
- Consulta — una petición de datos concretos («todos los pedidos de la semana pasada»). En las bases relacionales se escriben en SQL.
- Índice — una estructura de búsqueda que hace las consultas rápidas evitando recorrer cada fila, como el índice al final de un libro.
- Transacción — un grupo de cambios que deben tener éxito todos o fallar todos juntos (mover dinero entre dos cuentas). Las bases relacionales lo garantizan con las propiedades ACID.
Qué significa ACID
ACID describe las garantías que una base de datos fiable da a una transacción: Atomicidad (todo o nada), Consistencia (los datos cumplen sus reglas antes y después), Aislamiento (las transacciones concurrentes no se corrompen entre sí) y Durabilidad (una vez confirmado, el cambio sobrevive a una caída). Estas garantías son la razón por la que confías dinero y registros a una base de datos en lugar de a un archivo simple.
Por qué importan las bases de datos
Permiten al software almacenar los datos una vez y usarlos en todas partes, con seguridad, a escala, con muchos usuarios a la vez — y encontrar cualquier porción en milisegundos. Casi todo programa no trivial acaba necesitando una. La habilidad de elegir el tipo adecuado y consultarlo bien es de las más duraderas en el software.
Las compensaciones honestas
No hay una base de datos universalmente «mejor». Las relacionales dan fuerte consistencia y consultas potentes pero necesitan un esquema definido; NoSQL da flexibilidad y escala horizontal pero a menudo cede algunas garantías de consistencia. La elección correcta depende de la forma de tus datos, tu escala, y cuánto valoras la consistencia estricta frente a la flexibilidad. Muchos equipos combinan ambas.
FAQ
¿Una base de datos es lo mismo que SQL? No. Una base de datos almacena los datos; SQL es el lenguaje usado para consultar las bases relacionales. Las bases NoSQL usan otros métodos de consulta.
¿Una hoja de cálculo es una base de datos? En sentido amplio, pero no realmente. Una hoja de cálculo contiene datos, pero una base de datos añade estructura impuesta, consultas rápidas a escala, seguridad multiusuario y garantías transaccionales que una hoja de cálculo no tiene.
¿Qué diferencia hay entre SQL y NoSQL? Las bases SQL/relacionales usan tablas estructuradas y fuerte consistencia; las NoSQL relajan la estructura por flexibilidad y escala. Ninguna reemplaza a la otra — sirven para trabajos distintos.
¿Qué base de datos debería aprender primero un principiante? Una relacional — SQLite o PostgreSQL — porque el modelo relacional y SQL se transfieren a todas partes y enseñan las ideas clave con claridad.
Para consultar una base relacional usarás SQL; los datos que una base devuelve a una app a menudo viajan como JSON. Explora más explicaciones claras en nuestro índice de guías.