データベーススキーマの質問に対するいくつかの回答は、現在の要件の一部ではない機能のデータベースを正規化するための追加のテーブルを提案しました(UserDepartmentテーブルは、従業員/ユーザーとそれらが異なる部門との多対多の関係を可能にします属します。)
正規化に反対ではありません。データベースの設計に関しては、誰かが将来的に望んでいると確信している機能を含めるように強く求められているようです。テーブル/フィールドをデータベースに追加して機能に対応することは、過度に設計する傾向があるので難しいですか?必要に応じて、他のアプリと同じようにリファクタリングまたはアップグレードされませんか?やり直しは決して楽しいものではありませんが、データをあるテーブルから新しいテーブルに移動することはできます。この考え方がどこで終わるのかわからない。
編集:これには多くの嫌悪感があります。データベースの大幅な変更を必要とする機能を追加しないプロジェクトや、新しいテーブルの代わりにDepartmentID2フィールドを追加するなどの非正規化されたアプローチがいくつあるのでしょうか?従業員が複数の部署を必要とすることは、よくあるドメインの問題です。多対多の関係で散らかされている多くのデータベーススキーマに気づかなかっただけです。