Base de datos
El sitio organizado donde un programa guarda su información para poder buscarla, cambiarla y relacionarla.
✦Apagada: responde bien la pregunta del final para encenderla
También lo verás como: bases de datos · BBDD · BD · database
Analogía
El archivador del negocio, con una carpeta por tipo de cosa: clientes, citas, servicios, facturas. Y cada carpeta es como una hoja de Excel con reglas: reglas que impiden meter una fecha donde va un precio o borrar un cliente que tiene facturas pendientes.
Ejemplo de un negocio real
Una peluquería necesita guardar: clientes, servicios (corte, tinte, precios), citas (qué cliente, qué servicio, qué día, con quién) y pagos. Eso es un modelo de datos, y dibujarlo antes de programar es la Fase 7.
¿Y por qué no un Excel?
| Excel | Base de datos |
|---|---|
| Se pisa si dos personas escriben a la vez | Muchas personas a la vez, sin conflictos |
| Puedes escribir cualquier cosa en cualquier celda | Reglas que rechazan datos inválidos |
| Se ralentiza con miles de filas | Busca entre millones en milisegundos |
| Copias sueltas por el correo | Copias de seguridad y control de quién accede |
Para qué sirve / cuándo aparece
Casi todo lo que un negocio te va a pedir es, en el fondo, una base de datos con una cara bonita delante. Si el producto tiene que "recordar" algo, hay base de datos.
Un paso más: cómo es por dentro
La mayoría de las que usarás guardan la información en tablas: como hojas de cálculo, donde cada fila es una cosa (un plato, un cliente) y cada columna un dato de esa cosa (nombre, precio).
platos
┌────┬──────────────────┬────────┬───────────┐
│ id │ nombre │ precio │ categoria │
├────┼──────────────────┼────────┼───────────┤
│ 1 │ Milanesa napolit.│ 9500 │ 2 │
│ 2 │ Ensalada César │ 6200 │ 1 │
└────┴──────────────────┴────────┴───────────┘
La gracia está en que las tablas se relacionan: ese 2 de la columna categoria señala a una fila de otra tabla, categorias. Así el nombre "Principales" está escrito una sola vez, y si lo cambias, cambia para todos los platos.
Para pedirle cosas se usa un lenguaje propio, SQL ("dame los platos de menos de 7000"). Se estudia en la Fase 7.