私はスーパーバイザのコミットメントを格納するデータベースを設計しようとしています。インターフェイスはWebブラウザを介して行われます。コミットメントデータベースのテーブルデザイン
問題は、スーパバイザごとに現在スプレッドシート内で異なるフィールドを追跡していることです。これは、各スーパーバイザのグループが異なるタイプの作業(コミットメント)を実行するためです。
すべてのフィールドを持つコミットメントテーブルを1つ作成し、これを使用してより多くのスーパーバイザーがフィールドを要求すると、新しいフィールドをタックし続ける必要がありますか?
また、コミットメントアイテムの内容を検討する必要がありますか?代わりにジェネリックコミットメントテーブルを作成し、ユニークフィールドを格納してジョインを使用するコミットメントの種類ごとにテーブルを作成しますか?これらの余分なテーブルは1つまたは2つのフィールドしか持たない。
3番目のオプションは、コミットの種類ごとに別々のテーブルを持ち、すべての共通フィールド(StartDate、EndDate、Description)を各テーブルで繰り返すことができます。
スケーラビリティが望ましいので、新しいコミットメントタイプを追加することは良い考えです。しかし、新しいコミットメントタイプに関連する余分なフィールドはどこに行きますか?新しい約定タイプが契約Aの予算計画の完了を追跡する場合、その監督者は契約名、作成者および会計年度のフィールドを希望することがあります。他のスーパーバイザーは、ウィジェットの完了を追跡して、Part Name、Material type、Inspector First/Last Nameのフィールドを必要とする場合があります。 – jeff
@jeff:答えを更新しました。 – ChrisWue
@ChrisQue、私はあなたの応答をもう少し考えなくてはなりませんが、余分なフィールドのためにVALUEをどこに保存するかはまだ分かりません。特別なルックアップテーブルを作成するだけです。私はスケーラビリティーを求めていますが、必ずしもエンドユーザーが新しいコミットメントタイプを作成する必要はありません。私は仕事から外れます! – jeff