Varias respuestas a una pregunta de esquema de base de datos , sugirieron una tabla adicional para normalizar una base de datos para una característica que no forma parte de los requisitos actuales (una tabla de departamento de usuario para permitir una relación de muchos a muchos entre empleados / usuarios y diferentes departamentos que pueden pertenece a.).
No en contra de la normalización. Parece que cuando se trata del diseño de la base de datos, hay un fuerte impulso para incluir características que están 'seguros' de que alguien querrá en el futuro. ¿Es tan difícil agregar tablas / campos a la base de datos para acomodar características que hay una tendencia a sobre-diseñar? ¿No serían refactorizados o actualizados al igual que el resto de la aplicación si fuera necesario? Rehacer cosas nunca es divertido, pero se puede mover datos de una tabla a una nueva. Simplemente no estoy seguro de dónde terminará esta línea de pensamiento.
Editar: Hay mucha aversión a esto, me pregunto cuántos proyectos terminan sin agregar una característica que requiere un cambio drástico de la base de datos o se toman enfoques no normalizados como agregar un campo DepartmentID2 en lugar de una nueva tabla. La necesidad de múltiples departamentos para un empleado es un problema de dominio común. Simplemente no he notado muchos esquemas de bases de datos que están llenos de relaciones de muchos a muchos.