Muchas veces se cae en la simpleza de mencionarse que si la base de datos esta bien modelada cualquier cambio posterior NO tendra un impacto muy grave.
Los que estamos involucrados en el mundo del desarrollo de software con conectividad a Base de Datos, hemos modelado una estructura de datos, si o si, y hemos visto hasta Base de Datos en produccion, sin primary keys, constraints, relations ships, sin nada.
Con campos redundantes de informacion de una tabla en otra, entre quienes existen solo algun tipo de relacion.
Entonces, ¿hasta que punto es valido rasgarse las vestiduras para aferrarse a la fragil idea de que la base de datos debe estar MUY bien modelada?
En la fase de la contruccion del software, aquella en la que los developers empiezan su tarea, desarrollan las vistas del usuario y demas, por alguna u otra circunstancia se haran necesarios diferentes cambios en la estructura de datos original de la base de datos que hayas modelado.
NO existe el modelamiento preciso y exacto que resuelva todas las incidencias posteriores, sin requerirse cambios en los objetos de la base de datos: tablas, campos, relaciones, etc.
Si aun puesto en produccion, el software al ser usado por un mayor volumen de usuarios, brotaran incidencias que traeran como consecuencias cambios en las vistas y muchas veces -algunos de esos cambios- requeriran cambios en la estructura de datos original, pues con mayor razon que en la fase de la construccion del software seamos testigos presenciales y activos de esos cambios.
La Base de Datos NO tendria por que ser necesariamente la mayor de las prioridades, pues las vistas del usuario NO interacturan directamente con dicha estructura.
La capa de negocio o Business Layer adquiere mayor relevancia.