Diseño de tablas de base de datos paso a paso

Estructura tus requisitos funcionales en tablas, relaciones y esquemas claros

Prompt · 3 variables

Eres un desarrollador backend senior con amplia experiencia en modelado de datos para diversos servicios. En lugar de darme un diseño final cerrado de golpe, trabajemos de forma colaborativa paso a paso explicando las razones de cada decisión.

Estoy creando el servicio: {{descripción del servicio}}. Utilizaré como motor de base de datos {{base de datos}}. Esta es la primera versión (MVP), por lo que las funciones pueden ampliarse más adelante.

Revisa la lista de funciones clave y diseña la estructura de tablas dividiéndola en 3 pasos: Paso 1: lista de entidades necesarias (personas, objetos, eventos) con su nombre y una breve descripción en una línea. Paso 2: relaciones entre entidades y la justificación de cada relación. Paso 3: definición técnica final de las tablas. Al terminar cada paso, detén tu respuesta y espera a que yo te diga "siguiente" para continuar.

Antes de empezar el Paso 1, hazme preguntas si falta información crítica que pueda cambiar radicalmente la arquitectura del modelo. Limita tus preguntas a un máximo de 3.

Para el Paso 3, crea una tabla por entidad con cuatro columnas: "Nombre de columna | Tipo de dato | Restricciones (PK, FK, Not Null, etc.) | Descripción". Debajo de cada tabla, añade una línea explicando por qué esta tabla debe existir por separado.

No inventes tablas para funciones que no estén en la lista. Si detectas algo que podría necesitarse a futuro, agrégalo al final bajo la sección "Para considerar más adelante". Nombra todas las tablas y columnas en inglés con notación snake_case (minúsculas y guiones bajos).

Funciones principales: """ {{funcion principal clave}} """

Copia y pégalo aquí · ChatGPT y Claude se abren con el prompt ya cargado Abrir en ChatGPT ↗Abrir en Claude ↗Abrir en Gemini ↗ Editar en el constructor Descargar tarjeta para clase

Por qué está escrito así

Rol
Eres un desarrollador backend senior con amplia experiencia en modelado de datos para diversos servicios. En lugar de darme un diseño final cerrado de golpe, trabajemos de forma colaborativa paso a paso explicando las razones de cada decisión.
Contexto
Estoy creando el servicio: {{descripción del servicio}}. Utilizaré como motor de base de datos {{base de datos}}. Esta es la primera versión (MVP), por lo que las funciones pueden ampliarse más adelante.
Pasos
Revisa la lista de funciones clave y diseña la estructura de tablas dividiéndola en 3 pasos: Paso 1: lista de entidades necesarias (personas, objetos, eventos) con su nombre y una breve descripción en una línea. Paso 2: relaciones entre entidades y la justificación de cada relación. Paso 3: definición técnica final de las tablas. Al terminar cada paso, detén tu respuesta y espera a que yo te diga "siguiente" para continuar.
Repreguntar
Antes de empezar el Paso 1, hazme preguntas si falta información crítica que pueda cambiar radicalmente la arquitectura del modelo. Limita tus preguntas a un máximo de 3.
Formato
Para el Paso 3, crea una tabla por entidad con cuatro columnas: "Nombre de columna | Tipo de dato | Restricciones (PK, FK, Not Null, etc.) | Descripción". Debajo de cada tabla, añade una línea explicando por qué esta tabla debe existir por separado.
Restricciones
No inventes tablas para funciones que no estén en la lista. Si detectas algo que podría necesitarse a futuro, agrégalo al final bajo la sección "Para considerar más adelante". Nombra todas las tablas y columnas en inglés con notación snake_case (minúsculas y guiones bajos).
Material
Funciones principales: """ {{funcion principal clave}} """

Cuando le pides a una IA que diseñe una base de datos, suele arrojar una docena de tablas de golpe. Aunque a primera vista parece completo, no hay espacio para entender por qué cierta columna está en cierta tabla, y para detectar errores tienes que revisar veinte definiciones desde cero.

Por eso, dividimos la tarea en pasos claros: Entidades → Relaciones → Definición técnica. Si en el Paso 1 ves que "Reserva" e "Historial de atención" están mezclados en una sola entidad, puedes corregirlo de inmediato y los siguientes pasos se construirán sobre premisas válidas. Si no le indicas explícitamente que se detenga tras cada paso, la IA escribirá todo junto en una sola respuesta.

Incluir una fase de preguntas de clarificación es vital porque el diseño cambia según ciertas reglas de negocio. Por ejemplo, si al cancelar una reserva el registro se elimina o cambia de estado, o si un usuario puede gestionar múltiples locales. Una IA que no pregunta asumirá esto por su cuenta. Limitarlo a 3 preguntas evita debates interminables.

En cuanto al formato, exigir tipos de datos y restricciones por columna asegura que la tabla esté lista para implementar en código. Un diseño sin claves primarias o foráneas claras falla en cuanto intentas migrarlo. Además, la instrucción de no inventar tablas adicionales evita que la IA agregue tablas innecesarias de notificaciones, logs o etiquetas por costumbre.

¿Términos desconocidos? Consulta Aha AI: prompt, chain-of-thought

Comparado con un mal ejemplo

Mal ejemplo habitual

Quiero hacer una app de reservas para peluquería, diséñame las tablas de la base de datos.

La IA generará diez tablas y columnas técnicas de una sola vez sin contexto. El problema es la imposibilidad de validar: puede incluir tablas no solicitadas como niveles de membresía, puntos o cupones que parecen útiles pero ensucian el MVP, mientras olvida dónde guardar los no-shows. Si corriges un campo después, todas las relaciones se desajustan.

Variaciones

Para auditar un diseño existente

Para auditar un diseño existente

Revisa el diseño de tablas en {{base de datos}} que acabamos de crear y señala únicamente los posibles problemas o cuellos de botella. Organízalo en una tabla con las columnas: "Ubicación | Problema detectado | Cuándo fallará | Cómo solucionarlo", ordenado por severidad y con un máximo de 5 puntos. No hagas observaciones sobre convenciones de nombres o preferencias de estilo.

Úsalo dentro de la misma conversación tras obtener el diseño. Sin el límite de "máximo 5" o "sin cuestiones de estilo", la respuesta se llenará de detalles menores ocultando los fallos críticos de integridad.

Diseño guiado desde la interfaz de usuario

Diseño guiado desde la interfaz de usuario

Estoy desarrollando el siguiente servicio: {{descripción del servicio}}. Lee la lista de funciones que aparece abajo y ayúdame a identificar qué datos deben verse en pantalla organizándolo en una tabla: "Función | Datos necesarios en pantalla | De dónde provienen esos datos". No diseñes tablas de base de datos todavía; una vez completada la tabla, pregúntame si falta algún dato en pantalla.

""" {{funcion principal clave}} """

Ideal cuando los requisitos aún son abstractos. Mapear primero lo que ve el usuario en cada pantalla facilita un modelado de datos posterior mucho más exacto.

Notas por modelo

Tras recibir la respuesta del Paso 1, responde únicamente "siguiente" para avanzar. Si abres un chat nuevo, deberás pegar el resultado del paso anterior.

Al ser un prompt estructurado en pasos interactivos, la conversación se alargará. Si en el Paso 3 el modelo desvía alguna relación previa, vuelve a pegarle la lista de entidades acordada en el Paso 1 para retomar el contexto. Si pides diagramas ERD gráficos, muchos modelos generarán texto desalineado; es más práctico y legible validar las relaciones mediante tablas y frases explicativas.

Prompts relacionados

Última actualización 2026-09-02 · ¿Has visto un error? Avísanos