Guías

¿Qué es una base de datos? Guía para personas que crean apps

Una base de datos es un almacén organizado de información al que una app escribe y del que lee: sus usuarios, pedidos, reservas, mensajes. A diferencia de la información guardada solo en una pestaña del navegador, los datos de una base de datos siguen ahí tras recargar la página o reiniciar el servicio, y todas las personas que usan la app ven los mismos registros. La mayoría de las bases de datos organizan los datos en tablas, muy parecidas a las hojas de una hoja de cálculo, pero con reglas estrictas que mantienen los datos coherentes.

Por qué importa cuando creas con IA

La sorpresa más habitual para quien crea con IA es una app que parece terminada pero se olvida de todo. Añades un cliente, recargas la página y ha desaparecido. Eso suele significar que la app guardaba los datos en la memoria del navegador, no en una base de datos.

Además, una base de datos es donde viven muchas de tus decisiones más importantes, lo sepas o no:

  • Qué registras. Si no guardas el estado de una reserva, no puedes mostrar cuáles se cancelaron.
  • Cómo se relacionan las cosas. Que un cliente pueda tener muchas reservas, o que una reserva tenga muchos servicios, da forma a toda la app.
  • Quién puede ver qué. La mayoría de los errores de privacidad tienen que ver con qué registros puede leer cada usuario.

No necesitas diseñar tú la base de datos. Pero entender lo básico te permite describir tus datos con claridad y detectar problemas a tiempo.

Una analogía cotidiana

Imagina un archivador bien organizado en una pequeña oficina.

Cada cajón guarda un tipo de cosa: uno para clientes, otro para citas, otro para facturas. Dentro de cada cajón, cada carpeta sigue el mismo formato, con los mismos campos rellenos. Cada carpeta tiene un número de referencia único, y cuando una factura pertenece a un cliente, la carpeta de la factura anota el número de ese cliente en lugar de fotocopiar todo su expediente.

Eso es una base de datos relacional. Los cajones son las tablas, las carpetas son las filas, los campos son las columnas, los números de referencia son las claves primarias y las anotaciones que apuntan a otra carpeta son las claves externas. Un buen responsable de oficina también aplica reglas —nada de cita sin fecha, nada de dos clientes con el mismo número—, igual que lo hace una base de datos.

Un ejemplo práctico: una app de reservas para una peluquería

Supón que pides a una IA que construya una web de reservas para una peluquería. Una base de datos sensata tendría cuatro tablas.

servicios

idnombreduracion_minutosprecio
1Corte4540,00
2Coloración9095,00

personal

idnombreemail
1Sarasara@example.com
2Omaromar@example.com

clientes

idnombreemailteléfono
101Lena Parklena@example.com555-0100

reservas

idcliente_idservicio_idpersonal_idinicioestado
5001101122026-10-03 14:00confirmada

Fíjate en la tabla reservas. No copia el nombre ni el teléfono de Lena en cada reserva; guarda cliente_id = 101. Si Lena cambia de teléfono, el cambio se hace en un solo sitio y todas sus reservas muestran el nuevo. Esta es la idea central de una base de datos relacional: guardar cada dato una sola vez y enlazarlo.

La misma estructura responde preguntas útiles:

  • «¿Qué huecos tiene libres Omar el viernes?» — mira las reservas de Omar ese día.
  • «¿Cuánto han facturado las coloraciones este mes?» — une las reservas con los servicios y suma los precios.
  • «¿Qué clientes no han reservado en 90 días?» — compara los clientes con su última reserva.

Términos comunes

TérminoQué significa
TablaUna colección de un mismo tipo de registro, como clientes o reservas.
Fila (registro)Un elemento de una tabla: un cliente, una reserva.
Columna (campo)Una pieza de información que tiene cada fila, como el email o el precio.
Clave primariaUn ID único para cada fila, normalmente un número o una cadena aleatoria.
Clave externaUna columna que apunta a una fila de otra tabla, como cliente_id en reservas.
EsquemaEl diseño general: qué tablas existen, sus columnas y cómo se relacionan.
ConsultaUna petición para leer o cambiar datos, como «todas las reservas de mañana».
SQLLenguaje de consulta estructurado, el estándar para bases de datos relacionales.
MigraciónUn cambio guardado y repetible en el esquema, como añadir una columna.
ÍndiceUna estructura de búsqueda que acelera las consultas sobre una columna, como el índice de un libro.
CRUDCrear, leer, actualizar y borrar: las cuatro operaciones básicas que hacen las apps con los datos.
Copia de seguridadUna copia de los datos que puedes restaurar si algo sale mal.

Tipos de bases de datos

TipoCómo guarda los datosEjemplosIdeal para
Relacional (SQL)Tablas con columnas fijas y enlaces entre ellasPostgres, MySQL, SQLiteLa mayoría de las apps de negocio: reservas, tiendas, CRM, SaaS
Documental (NoSQL)Documentos flexibles tipo JSONMongoDB, FirestoreDatos cuya forma varía mucho de un registro a otro
Clave-valorUn valor guardado bajo una claveRedisCaché, datos de corta duración como las sesiones

Para casi todo lo que un fundador o una pequeña empresa construye primero, una base de datos relacional es la opción segura por defecto.

Dónde encaja la base de datos en tu app

Los visitantes nunca hablan directamente con la base de datos. La página en su navegador (el front end) pide datos a tu servidor (el back end), normalmente a través de una API. El servidor comprueba quién pregunta y si tiene permiso, consulta la base de datos y devuelve solo lo que esa persona debe ver.

Ese paso intermedio es importante. Si el navegador pudiera consultar la base de datos directamente con acceso total, cualquiera podría abrir las herramientas de desarrollo y leerlo todo.

Ideas erróneas y errores habituales

  • Guardar los datos solo en el navegador. El almacenamiento del navegador (como localStorage) vive en un dispositivo y un navegador concretos. Sirve para recordar un filtro, no para los pedidos.
  • Meterlo todo en una sola tabla. Una tabla única de «reservas» con el nombre, el teléfono y el precio del servicio del cliente copiados en cada fila se desincroniza muy rápido.
  • Guardar las contraseñas en texto plano. Las contraseñas deben cifrarse con un hash, nunca almacenarse legibles. Consulta qué es la autenticación.
  • Sin reglas sobre los datos. Sin campos obligatorios ni reglas de unicidad, acabarás con reservas sin fecha y clientes duplicados.
  • Olvidar el borrado. Decide si borrar un cliente también borra sus reservas, las conserva o queda bloqueado.
  • Usar datos reales para experimentar. Prueba los cambios arriesgados en un entorno seguro primero, y mantén copias de seguridad.
  • Tratar la hoja de cálculo como base de datos para siempre. Las hojas de cálculo son estupendas para empezar, pero sufren con muchos usuarios simultáneos y con permisos. Consulta cómo convertir una hoja de cálculo en una app.

Qué pedir a tu creador de apps con IA

  • «Guarda esto en una base de datos, no en el navegador. Dime qué tablas vas a crear.»
  • «Muéstrame el esquema como una tabla sencilla: cada tabla, sus columnas y cómo se relacionan.»
  • «Un cliente puede tener muchas reservas; cada reserva tiene exactamente un servicio y un miembro del personal.»
  • «Haz que el email sea obligatorio y único para los clientes.»
  • «Impide que dos reservas del mismo miembro del personal se solapen.»
  • «Solo el propietario con sesión iniciada puede leer todas las reservas; los clientes solo ven las suyas. Aplícalo en el servidor.»
  • «Cuando borre un servicio, no borres las reservas pasadas: márcalo como inactivo en su lugar.»

Bases de datos en Mythex

Cuando tu app necesita guardar datos, Mythex añade al proyecto una base de datos Postgres dedicada: puedes pedirlo en el chat («guarda los registros de la lista de espera en una base de datos») o usar el comando /database. Los datos de conexión se pasan automáticamente a tu app, y el agente crea las tablas. La base de datos se duerme tras cinco minutos inactiva y se despierta con la siguiente petición; el uso publicado se cobra por el tiempo en que estuvo activa, con el mismo saldo de créditos que la creación. Está disponible en los planes Free y Pro. La documentación de la base de datos recoge los detalles, y las plantillas de apps incluyen puntos de partida basados en datos.

Preguntas

¿Qué es una base de datos en términos sencillos?

Una base de datos es un almacén organizado de información al que una app puede escribir y del que puede leer, como usuarios, pedidos o reservas. A diferencia de los datos que se guardan solo en una pestaña del navegador, sigue ahí tras recargar la página, reiniciar el servicio o cuando alguien abre la app desde otro dispositivo.

¿Una hoja de cálculo es una base de datos?

Una hoja de cálculo puede contener el mismo tipo de datos, pero no está pensada para apps. Una base de datos real aplica reglas sobre lo que contiene cada columna, relaciona las tablas de forma fiable, atiende a muchas personas escribiendo a la vez y controla quién puede leer cada cosa.

¿Cuál es la diferencia entre bases de datos SQL y NoSQL?

Las bases de datos SQL (relacionales), como Postgres y MySQL, guardan los datos en tablas con columnas definidas y relaciones entre ellas. Las bases NoSQL, como MongoDB, guardan documentos más flexibles. La mayoría de las apps de negocio —reservas, CRM, tiendas— encajan muy bien en el modelo relacional.

¿Mi app necesita una base de datos?

Si necesita recordar cualquier cosa que introduzcan las personas —registros, pedidos, mensajes, ajustes— y mostrarla más tarde o a otra persona, sí. Una web puramente informativa, sin formularios que guarden datos, normalmente no la necesita.

Mythex · Pricing · Crea lo que quieras con IA · Plantillas de sitios web y apps · Mythex comparado · Glosario para crear apps con IA · Herramientas gratis para crear apps con IA · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)