Qué es una base de datos y cómo funciona
Autor: Redacción Domeny.ForSale 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 producto | Nombre | Precio | Unidades disponibles |
|---|---|---|---|
| 101 | Taza blanca | 29 zł | 18 |
| 102 | Taza azul marino | 32 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:
- muchas personas o programas modifican la información al mismo tiempo;
- los datos tienen numerosas relaciones entre sí, por ejemplo, clientes, contratos y pagos;
- es necesario aplicar reglas de manera sistemática, como garantizar que cada número de pedido sea único;
- la aplicación debe leer y guardar datos de forma automática y periódica.
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.
