Recapitulación y práctica
Puntos clave
- La mayoría de las aplicaciones necesitan solo una de tres formas de almacenamiento —relacional, documento o clave-valor— y relacional es la opción segura por defecto.
- Empieza con una gestionada; tú conservas los datos y las decisiones de esquema, la plataforma mantiene los servidores en funcionamiento.
- Un buen diseño de esquema significa tipos honestos, claves foráneas y restricciones, índices sensatos, y sin datos duplicados.
- Trata cada migración como una puerta de un solo sentido: haz una copia de seguridad antes de cualquier cosa que elimine o renombre, y revisa de cerca las migraciones escritas por la IA.
- Exige siempre consultas parametrizadas para que la entrada del usuario nunca se concatene en el .
Practícalo
Elige una idea de aplicación pequeña y escribe primero sus entidades y relaciones en lenguaje sencillo. Luego entrégale esa descripción a la IA y pide un esquema más una migración hacia adelante, y revisa el resultado contra la lista de comprobación de este capítulo antes de ejecutar nada.
Design a relational schema for a personal bookmarks app.
Entities and relationships:
- A user has many bookmarks.
- A bookmark belongs to one user, has a URL, a title, and many tags.
- A tag can apply to many bookmarks.
Requirements:
- Use UUID primary keys and created_at timestamps.
- Enforce relationships with foreign keys.
- Add indexes for the columns we'll filter on.
- Give me the schema as SQL plus a forward migration file.
- Flag any migration step that drops or renames so I can back up first.