W kilku odpowiedziach na pytanie dotyczące schematu bazy danych zasugerowano dodatkową tabelę w celu znormalizowania bazy danych dla funkcji, która nie jest częścią bieżących wymagań (tabela UserDepartment, która pozwala na relacje wielu pracowników / użytkowników i różnych działów, które mogą należeć do.).
Nie przeciw normalizacji. Wydaje się, że jeśli chodzi o projektowanie baz danych, istnieje silny nacisk na włączenie funkcji, których „pewny” ktoś będzie chciał w przyszłości. Czy tak trudno jest dodawać tabele / pola do bazy danych, aby uwzględnić funkcje, że istnieje tendencja do nadmiernej inżynierii? Czy nie byłyby one refaktoryzowane lub uaktualniane tak jak reszta aplikacji, jeśli to konieczne? Ponawianie czynności nigdy nie jest przyjemne, ale można przenosić dane z jednej tabeli do nowej. Po prostu nie jestem pewien, gdzie zakończy się ta myśl.
Edycja: Jest w tym tyle awersji, zastanawiam się, ile projektów ostatecznie nie dodaje funkcji wymagającej drastycznej zmiany bazy danych lub są to podejścia niestandardowe, takie jak dodanie pola DepartmentID2 zamiast nowej tabeli. Potrzeba wielu działów dla pracownika jest częstym problemem domenowym. Po prostu nie zauważyłem wielu schematów baz danych zaśmieconych relacjami wiele do wielu.