Diverse risposte a un domanda sullo schema del database , suggerita una tabella aggiuntiva per normalizzare un database per una funzionalità che non fa parte dei requisiti correnti (una tabella UserDepartment per consentire una relazione molti-a-molti tra dipendenti / utenti e diversi dipartimenti a cui possono appartenere.)
Non contro la normalizzazione. Sembra che quando si tratta di progettazione di database, vi è una strong spinta per includere funzionalità che sono 'sicuro' che qualcuno vorrà in futuro. È così difficile aggiungere tabelle / campi al database per soddisfare le caratteristiche che tendono a sovra-ingegnerizzare? Non sarebbero refactored o aggiornati come il resto dell'app se necessario? Rifare le cose non è mai divertente, ma è possibile spostare i dati da un tavolo a uno nuovo. Non sono sicuro di dove finirà questa linea di pensiero.
Modifica: c'è così tanta avversione in questo, mi chiedo quanti progetti finiscono per non aggiungere una funzionalità che richiede una drastica modifica del database o approcci non normalizzati come aggiungere un campo DepartmentID2 invece di una nuova tabella. La necessità di più reparti per un dipendente è un problema di dominio comune. Non ho notato molti schemi di database che sono disseminati di relazioni molti-a-molti.