Qué es una base de datos y cómo funciona

Autor: Publicado

En resumen: Una base de datos es un conjunto organizado de información que se puede consultar, ampliar y actualizar. La utilizan, entre otros, las tiendas online, los bancos y los sistemas de reservas para almacenar datos sobre clientes, productos o transacciones. Su gestión suele estar a cargo de un software específico que también controla los permisos de acceso y la correcta ejecución de las operaciones.

La base de datos y el programa que la gestiona

Una base de datos se puede comparar con un archivo bien organizado. Cada dato tiene un lugar y un formato definidos, por lo que no es necesario revisar todo el conjunto para encontrar una entrada concreta. A diferencia de un archivo en papel, una base de datos también permite relacionar información rápidamente, por ejemplo, para mostrar todos los pedidos de un cliente determinado.

La base de datos en sí no es lo mismo que el sistema de gestión de bases de datos, es decir, el programa que permite guardar, leer y controlar los datos. PostgreSQL, MySQL y SQLite son ejemplos de estos sistemas. En el lenguaje cotidiano, «base de datos» suele referirse tanto al conjunto de información como al software que lo gestiona, pero técnicamente son dos elementos distintos.

El usuario de una tienda o aplicación normalmente no trabaja directamente con la base de datos. Rellena un formulario o pulsa un botón, y la aplicación envía la instrucción correspondiente al sistema de gestión.

Cómo se organizan y se buscan los datos

En una base de datos relacional, la información se almacena en tablas que pueden relacionarse entre sí. Una fila, también llamada registro, describe un único objeto, por ejemplo, un producto. Las columnas indican sus características, como el nombre, el precio o el número de unidades disponibles.

Una tabla simplificada de productos podría tener este aspecto:

Identificador del productoNombrePrecioUnidades disponibles
101Taza blanca29 zł18
102Taza azul marino32 zł7

La clave primaria es un campo o un conjunto de campos que identifica de forma inequívoca un registro. En este ejemplo, es el identificador del producto. Aunque dos productos tengan el mismo nombre, sus identificadores permiten distinguirlos.

Una tabla independiente puede contener los pedidos, y otra, las líneas de esos pedidos con los identificadores de los productos y las cantidades solicitadas. Estas relaciones reducen la duplicación innecesaria de información. Sin embargo, eso no significa que esté prohibido copiar datos: en cada línea de pedido suele guardarse el precio en el momento de la compra, porque un cambio posterior en la lista de precios no debería alterar el historial de ventas.

Para trabajar con bases de datos relacionales se suele utilizar SQL, un lenguaje de instrucciones que permite leer y modificar datos. Una consulta puede, por ejemplo, recuperar los productos de los que quedan menos de diez unidades. Los índices pueden acelerar las búsquedas: son estructuras adicionales que funcionan de forma parecida al índice de términos de un libro. Sin embargo, ocupan espacio y aumentan el coste de actualizar los datos, por lo que no se crean sin límite.

Qué ocurre en la base de datos durante una compra

Imagina una tienda en la que queda la última unidad de un producto. Dos personas intentan comprarla casi al mismo tiempo. No basta con mostrar el número «1» en la página: el sistema debe decidir cuál de las operaciones puede completarse con éxito.

Para ello sirve una transacción, un grupo de operaciones tratadas como una sola unidad. Es posible crear el pedido y reducir las existencias de modo que se confirmen ambos cambios o no se guarde ninguno. Una gestión bien diseñada de las transacciones y del acceso simultáneo permite evitar que la misma última unidad se venda a dos personas.

Sin embargo, la base de datos no garantiza automáticamente el correcto funcionamiento de toda la tienda. El programador debe definir bien las reglas, como impedir que las existencias sean negativas. El pago mediante un sistema externo requiere una gestión adicional de errores y confirmaciones: no pasa a formar parte de la transacción local solo porque corresponda a la misma compra.

En qué se diferencia una base de datos de una hoja de cálculo

Una hoja de cálculo resulta útil para elaborar listados manualmente, hacer cálculos y realizar análisis. Si una sola persona mantiene una pequeña lista del equipamiento de la oficina, una hoja de cálculo puede ser una solución más sencilla que una aplicación independiente con una base de datos.

Una base de datos resulta especialmente útil cuando:

La elección no depende únicamente del número de filas. Incluso un pequeño sistema de reservas puede necesitar una base de datos, porque debe impedir que se asigne una misma franja horaria a varias personas. En cambio, un listado extenso elaborado para una ocasión concreta puede seguir analizándose cómodamente en una hoja de cálculo.

Cómo elegir el tipo de base de datos y proteger la información

No todas las bases de datos utilizan tablas relacionadas. Bases de datos NoSQL es una denominación que engloba distintas soluciones, entre ellas las bases de datos documentales, que almacenan la información como documentos con una estructura determinada, y las bases de datos de clave-valor, que asignan un valor a una clave única. No son, por definición, más rápidas ni mejores que las relacionales: la elección depende de cómo se guarda y se consulta la información.

Para una aplicación típica que gestiona clientes, pedidos y facturación, una base de datos relacional suele ser un punto de partida razonable. Si vas a poner en marcha un sistema de gestión de contenidos o una tienda con software ya desarrollado, comprueba primero los requisitos de su fabricante. Ese software suele determinar qué sistemas de bases de datos y qué versiones admite.

Sea cual sea la tecnología, hacen falta permisos de acceso limitados, actualizaciones y copias de seguridad. Una copia de seguridad permite recuperar los datos tras un fallo o un error, pero hay que comprobar su utilidad mediante una restauración de prueba. El simple hecho de que la copia «se haga a diario» no confirma que permita recuperar una base de datos operativa.

Antes de elegir una herramienta, anota qué información quieres almacenar, quién la modificará y qué errores debe impedir el sistema. Esta breve descripción te permitirá valorar si basta con una hoja de cálculo o una aplicación ya existente, o si necesitas una solución propia con una base de datos.

Lee también

Descubre cómo PHP-FPM atiende peticiones PHP, en qué se diferencia de un servidor web y cómo ajustar sus procesos al tráfico y los recursos.
Conoce BIND, el software abierto de servidor DNS: sus funciones, cómo gestiona dominios y cuándo conviene instalarlo por tu cuenta.
Descubre qué son el registro REGON de Polonia y su número, en qué se diferencian de NIP y KRS y cómo verificar los datos de una empresa.