La sencillez en el modelado de datos II
Pongamos un ejemplo. Para ello detallare un posible problema a resolver:
Supongamos que queremos realizar la típica aplicación de gestión que nos permita realizar un catálogo de películas.
Como características añadidas queremos:
- Que almacene la sinopsis
- Que permita anotar comentarios asociados a la película
- Que los usuarios puedan calificarlas (ponerles nota de 1/10)
- Queremos que presente las caratulas al localizarlas
- Guarde los actores que intervienen en la película
- Nos informe del director y otras películas realizadas por este
- …
Curiosamente en la descripción del problema se encuentra todo lo necesario para cubrir la solución del mismo. Por lo tanto es más importante describir bien el problema que resolverlo.
Si un cliente no tiene claro cual es el problema a resolver es mejor ayudarle a averiguar cual es su problema que intentar resolverlo.
Empezamos con el análisis del encabezado:
En esencia el enunciado nos dice que queremos realizar un catálogo de películas. Vale, pero ¿de que catálogo estamos hablando? de nuestras pelis, de los usuarios de una web que comparten info, de un videoclub, de un distribuidor… hay muchas formas de catalogo y por lo tanto tenemos que abstraer la solución. Por lo tanto no perdemos tiempo preguntando al cliente si las quiere catalogar mediante uno o varios catálogos.
Por lo que nos ceñimos a la máxima expresión:
- múltiples catálogos
- múltiples películas
- una misma película puede estar en varios catálogos
- Continuamos con las características:
- Que almacene la sinopsis.
- La sinopsis no es más que:
2. f. Exposición general de una materia o asunto, presentados en sus líneas esenciales. (RAE)
O sea que la sinopsis es el resumen de la película, por si alguien no sabia lo que era. Vale pero fijaros, lo curioso es que detrás de sinopsis se encuentren dos términos asociados de interés para una película… materia o asunto (anotemos en el buffer de nuestra memoria)
Que permita anotar comentarios asociados a la película
¿Quien va a comentar la película? pues los usuarios, quien si no. Los usuarios comentarán la película.
Que los usuarios puedan calificarlas (ponerles nota de 1/10)
¿Quien va a calificar la película? los usuarios nuevamente. Los usuarios valorarán la película.
Presente las caratulas al localizarlas
Vamos que queremos almacenar las portadas de los DVD y esas cosas para facilitar la localización. Si pero un DVD tiene la portada, la contraportada, si es edición especial pues el libreto… parece que habrá que abstraer. Una película tiene una serie de imágenes asociadas a la misma. Pueden ser fotos, carátulas, libretos….
Guarde los actores que intervienen en la película
Lógico, actores principales y secundarios que han intervenido en la película.
Nos informe del director y otras películas realizadas por este
Igualmente lógico, directores que han dirigido la película. típicamente será uno solo, pero puede estar coo-dirigida por otros (deberíamos contemplarlo).
…
Interesante,
hace mucho tiempo, en una galaxia muy muy lejana…
en el foro de V6 deje un mapa, lo pondre en el blog para descarga y … ya te contaré
Eres genial… continuará…