Te explicamos cómo funcionan las bases de datos, por qué se usan, qué tipos existen y en qué se diferencian de los SGBD.

Si quieres crear una aplicación que utilice datos de usuarios, como una tienda online o un juego, necesitarás una base de datos para gestionar esos datos.

¿Qué es una base de datos?

En informática, una base de datos es un conjunto de datos organizados según ciertas reglas. Pero podemos dar una definición más sencilla:

Una base de datos (BD) es un conjunto de datos estructurados de alguna manera. Por ejemplo, podrías tomar cien fotos de gatos y ordenarlas por color o postura.

Tres ilustraciones de gatos: uno caminando, otro de pie y otro tumbado.
Gatos en diversas posiciones.

Normalmente, los datos en una BD se registran en forma de tabla: filas y columnas. En esta arquitectura, cada fila es un nuevo elemento con ciertas propiedades (las columnas). Esos mismos gatos se pueden ordenar por varios parámetros, como color, postura y peso.

Tabla que muestra ilustraciones de gatos con sus colores, posturas y pesos.
Comparativa de gatos según color, postura y peso.

Una base de datos no es un programa en el sentido estricto de la palabra. Es más bien un archivo donde se guardan los datos. Para extraer datos de este archivo, primero hay que escribir un programa que lo haga, es decir, que gestione la base de datos.

Por ejemplo, si quieres encontrar un elemento por su índice, escribes un programa que lo haga. Luego, necesitas ordenar los registros de la BD por algún parámetro, así que escribes otro script que ordene tablas. Así sigues creando mini-programas para diferentes mini-tareas.

Ilustración de un desarrollador considerando diferentes funciones de programación.
La decisión de un programador y sus scripts.

Al final, acumulas muchos scripts útiles para todo tipo de situaciones y piensas: «¿Por qué escribir algo nuevo cada vez? Voy a juntar estos scripts en un solo programa y lo llamaré sistema de gestión de bases de datos, o SGBD«. Los SGBD te permiten manipular fácilmente los datos en una BD (extraer elementos, agregar nuevos y eliminar los innecesarios) sin preocuparte por el código.

Entonces, una base de datos es simplemente un archivo en el disco del ordenador, y un SGBD son las herramientas que ayudan a gestionar las bases de datos. A menudo, se confunde la base de datos con el SGBD, una confusión terminológica y un infierno para el perfeccionista.

¿Para qué sirven las bases de datos?

Veamos con un ejemplo por qué la gente usa bases de datos.

Supongamos que abrimos una tienda de instrumentos musicales. Necesitamos crear un sitio web para vender los productos online. El sitio web debe mostrar todo el catálogo de la tienda, y la información sobre la disponibilidad de los instrumentos debe mantenerse actualizada.

Para ello, creamos una base de datos y añadimos nuestros instrumentos musicales. El resultado será una gran tabla donde cada fila es un instrumento y cada columna es una propiedad. Nos centraremos en tres propiedades: precio, cantidad en stock y tipo de instrumento.

Tabla que muestra el precio, cantidad y tipo de instrumentos musicales.
Lista de instrumentos con sus datos.

Ahora que tenemos una base de datos con todos los productos, debemos entender qué haremos con esos datos. Estas son las operaciones básicas que necesitará una tienda online:

  • Escribir nuevos datos: Para añadir un nuevo instrumento cuando llegue al almacén.
  • Modificar datos antiguos: Para cambiar el precio de un producto o su cantidad en stock.
  • Buscar datos: Para encontrar, por ejemplo, todos los sintetizadores y mostrárselos al cliente.
  • Control de acceso a la lectura de datos: Para que solo los empleados puedan leer los datos y el resto no tenga acceso, evitando que los clientes cambien los precios o obtengan productos gratis.
  • Mantener los datos ordenados: Para asegurar que, en la categoría «Guitarras», solo haya guitarras y no baterías.
  • Escalar la base de datos: Para añadir nuevos datos sin preocuparse por las limitaciones de tamaño.
  • Prevenir la pérdida de datos: Para poder recuperar la base de datos incluso si la tienda se incendia.

Estos principios se aplican a cualquier base de datos, no solo a nuestro ejemplo.

¿En qué se diferencia la gestión de bases de datos de la gestión de hojas de cálculo?

A simple vista, una base de datos y una hoja de cálculo pueden parecer iguales. Pero hay diferencias, y ahora te las explicamos.

Imaginemos que tenemos una hoja de Excel donde registramos a todos los clientes de nuestra empresa: sus nombres, dónde trabajan, por qué se pusieron en contacto con nosotros y cuándo fue la última vez que hablamos con ellos. Este archivo de Excel es único para toda la empresa, y decenas de personas lo usan a diario.

Te sientas a trabajar, abres la tabla y haces algunos cambios. Al mismo tiempo, un compañero también la ha abierto y ha comenzado a hacer cambios, en las mismas columnas o filas que tú. Terminas tu trabajo, guardas el archivo y lo cierras. Los datos se sobrescriben en la tabla. Pero tu compañero no verá esos cambios porque abrió el archivo antes. Por lo tanto, cuando guarde su archivo, sobrescribirá tus datos con los suyos, y tus cambios se perderán.

Diagrama que ilustra la pérdida de datos al trabajar en un archivo sin una base de datos.
Riesgos de la falta de base de datos.

Con una base de datos, esto no ocurrirá. Imaginemos la misma situación, pero la tabla es una base de datos gestionada por un SGBD. Ahora, cada vez que haces cambios, se envían como solicitudes al SGBD. Incluso si tu compañero trabaja contigo al mismo tiempo y también envía una solicitud, esta entrará en una cola y esperará a que se procese la anterior.

Diagrama que ilustra el flujo de solicitudes de cambio y adición de datos en una base de datos.
Gestión de peticiones en un sistema de gestión de bases de datos.

Las bases de datos y los SGBD garantizan la fiabilidad y evitan que se pierdan tus cambios. Esto se conoce como resolución de colisiones.

Tipos de bases de datos

Las bases de datos se dividen en dos tipos principales: relacionales y no relacionales. Estas últimas se dividen en dos: de red e jerárquicas. Por lo tanto, existen tres tipos principales de bases de datos: relacionales, de red y jerárquicas.

Relacionales

También se llaman tabulares, porque almacenan todos los datos en forma de tablas. Estas tablas están interconectadas, formando una estructura conectada:

Diagrama de tres tablas que muestran un ejemplo de base de datos relacional.
Base de datos relacional: productos, clientes y compras.

Tenemos dos tablas: una con compradores y otra con productos. Cuando un comprador compra algo, los datos se añaden a una tercera tabla que contiene información sobre los productos comprados y enlaces a ellos.

Esta estructura es buena porque si cambian algunos datos (por ejemplo, la dirección de un comprador), solo hay que modificar los valores en una tabla, sin necesidad de tocar las demás.

De grafos

Se diferencian de las relacionales en que entre las tablas y sus registros puede haber varias conexiones diferentes. Cada conexión representa algo diferente.

Las bases de datos de red se utilizan, por ejemplo, en las redes sociales:

Diagrama que representa una red de contactos entre personas.
Estructura de una red social.

Toda la información de una base de datos de red se almacena en archivos separados. Contienen los datos y las conexiones entre ellos. La base de datos no tiene que perder tiempo buscando datos, ya que toda la información ya está en archivos especiales. Estos archivos contienen todas las conexiones, lo que permite obtener resultados rápidamente.

Jerárquicas

Esta estructura es similar al sistema de archivos de Windows. Cada elemento tiene un elemento superior y un elemento subordinado (el que está debajo). Por lo tanto, es fácil moverse de abajo hacia arriba y de arriba hacia abajo en esta estructura.

Captura de pantalla que muestra la estructura de carpetas y archivos de un programa de ordenador.
Organización de archivos.

Una base de datos jerárquica sabe quién obedece a quién, por lo que encuentra la información rápidamente. Sin embargo, estas bases de datos solo se pueden organizar si hay una clara división en los datos y se sabe exactamente qué elemento es principal y cuál es subordinado.

SGBD populares

Las bases de datos no son muy diferentes entre sí. Simplemente almacenan información en un archivo. Lo que sí es diferente son los SGBD. Y normalmente, cuando se habla de bases de datos, se refiere a los SGBD. Veamos cuáles son populares. Si quieres leer más sobre ellos, consulta nuestro artículo sobre SGBD.

PostgreSQL

El sistema de gestión de bases de datos (SGBD) tiene una gran funcionalidad y alto rendimiento. Por ejemplo, puede trabajar sin problemas con grandes volúmenes de datos bajo alta carga.

El lenguaje de consultas es SQL, pero se puede cambiar mediante extensiones como PL/Python, PL/Java y PL/Perl. Otra ventaja de PostgreSQL es que no tiene límite en el tamaño de las bases de datos ni en la cantidad de registros en las tablas.

Se puede ver en el sitio oficial.

Captura de pantalla del interfaz de usuario de la herramienta de base de datos PostgreSQL.
Herramienta de administración de PostgreSQL.

MySQL

La interfaz del programa permite trabajar con tablas de diferentes formatos. MySQL funciona en línea y puede manejar hasta 50 millones de elementos. En términos de funcionalidad, es inferior a PostgreSQL. Sin embargo, se puede integrar con otros SGBD.

MySQL ha sido utilizado por empresas como Twitter, Alibaba, Meta y Wikipedia para sitios web y tiendas en línea.

Desde que Oracle adquirió MySQL, algunos usuarios comenzaron a preocuparse de que la base de datos pudiera volverse de pago en el futuro. Sin embargo, por ahora sigue siendo gratuita.

Puedes descargar este SGBD desde el sitio oficial.

Captura de pantalla de la interfaz de usuario de MySQL Workbench que muestra una consulta SQL y los resultados.
Consulta SQL en MySQL Workbench.

Microsoft SQL Server

Este SGBD automatiza tareas, como configurar scripts para gestionar la memoria. Además, permite almacenar estructuras de datos complejas de manera eficiente y realizar búsquedas rápidas.

Es compatible con otros programas de Microsoft, como Excel y Access. Con ellos, se puede integrar, exportar datos y modificarlos en línea.

Microsoft SQL Server utiliza SQL como lenguaje de consultas.

Consulta más información en el sitio oficial.

Captura de pantalla de la interfaz de usuario de Microsoft SQL Server Management Studio mostrando una comparación de bases de datos y código SQL.
Herramienta de administración de SQL Server.

SQLite

SQLite es un SGBD muy compacto que no requiere servidores ni otras utilidades. Todos los datos se almacenan en un solo dispositivo.

Con SQLite puedes desarrollar un sitio web o una aplicación sencilla, donde el tráfico y el volumen de datos estén limitados. Este SGBD funciona en cualquier dispositivo, como teléfonos inteligentes, computadoras, televisores y otros que puedan cargar su biblioteca. No requiere administración, y su lenguaje de consultas es C.

Consulta más información en el sitio oficial.

Captura de pantalla que muestra la interfaz de usuario de SQLite Expert Professional, incluyendo el explorador de bases de datos, el diseñador de consultas y la vista de datos.
Herramienta de administración de SQLite.

MongoDB

La característica principal de este SGBD es que los datos se almacenan en documentos de texto en formato JSON. MongoDB es un SGBD NoSQL.

En lugar de tablas, los datos se agrupan en colecciones de documentos. Este SGBD está optimizado para trabajar de forma distribuida, aunque también soporta almacenamiento local.

Empresas como Meta, Google, Twitter, Forbes, IBM y muchas tiendas en línea utilizan MongoDB.

Consulta más información en el sitio oficial.

Captura de pantalla de la interfaz de usuario de MongoDB Compass mostrando una colección de datos y una consulta.
Explorador de bases de datos MongoDB.

Redis

Redis puede utilizarse en la nube, ya preconfigurada y optimizada para su uso. Es fácilmente escalable y gestionable.

Con Redis, puedes transferir datos desde otra base de datos utilizando un servicio automatizado.

Consulta más información en el sitio oficial.

Captura de pantalla de la interfaz de usuario de Redis Desktop Manager mostrando datos de una base de datos Redis.
Herramienta de administración de Redis.

Oracle Database

Oracle DB funciona como cliente-servidor. Esto significa que se encuentra alojada en un servidor junto con la base de datos. Para trabajar con ella, se necesita una interfaz de aplicación cliente específica. El usuario gestiona el envío y recepción de datos desde el servicio.

Oracle DB ofrece alta seguridad y un acceso fácil para los usuarios, además de reducir la carga en los equipos cliente. Sin embargo, el servidor para este SGBD debe ser más potente.

Consulta más información en el sitio oficial.

Captura de pantalla de la interfaz de usuario de SQL Manager for Oracle mostrando una consulta SQL y los resultados.
Herramienta de administración de bases de datos Oracle.

Resumen

  • Una base de datos es un conjunto de elementos agrupados según ciertas reglas. Existen bases de datos relacionales, de grafos y jerárquicas.
  • Los SGBD son herramientas que ayudan a gestionar las bases de datos. Por ejemplo, permiten eliminar, modificar y encontrar elementos.
  • Algunos SGBD populares son PostgreSQL, MySQL, Microsoft SQL Server, SQLite, MongoDB, Redis y Oracle Database.
  • Las bases de datos se diferencian de los SGBD en que, por sí mismas, solo son un archivo en el ordenador. Las bases de datos no pueden hacer nada con esos datos, solo almacenarlos. Los SGBD, sin embargo, ofrecen la posibilidad de manipularlos.
  • Las hojas de cálculo son muy similares a las bases de datos, pero tienen un gran inconveniente: si varios usuarios utilizan la misma tabla al mismo tiempo, existe el riesgo de sobrescribir los datos unos sobre otros y perderlos. Con las bases de datos, esto no ocurre porque procesan las solicitudes por orden de llegada.

Categorizado en:

Base Datos,