0

UI のドロップダウン リストで頻繁に使用される値 (Call_Types、DepartmentCodes、Divisions など) を格納するために「DataListValue」テーブルを使用している人を見てきました。

このようにして、それらを 1 つのテーブルで管理でき、コードを更新するための 1 つの画面が表示されます。

DepartmentCode、RoleCode、CountryCode を Data_List テーブルに保持しても問題ないのでしょうか? または、それらを別のテーブルに置く必要がありますか?

ここに画像の説明を入力

ここに画像の説明を入力

4

1 に答える 1

1

コード/説明のペアをある種のテーブル タイプの列に格納する単一のコード テーブルを用意するのが一般的です。たとえば、一般的に次のようなテーブルが表示されることがあります。

コード表

  • テーブル ID
  • コード
  • 説明

しかし、私はそれが良い考えだと思ったことは一度もありません。コードと説明だけを保存する場合でも、コードのセットごとに新しいテーブルを作成することをお勧めします。そうすれば、外部キーの関係がより明確になります。さらに、必然的に、これらのコード セットの 1 つに関する追加データを格納する必要が生じ、テーブルと列に格納されているコード セットの 1 つにのみ適用される追加の列を追加する必要が生じることになります。他のすべての行では null になります。それはいつも醜いものになります。

たとえば、上記の例のように、TableIdすべての国コードを「C」に設定し、すべての部門コードを「D」に設定するとします。しかし、翌月には、国コードごとに郵便番号を保存する必要があるという新しい要件が課せられます。部門コードには適用されないにもかかわらず、PostalAbbreviation 列をテーブルに追加しますか? それとも、国コードごとに追加データを格納するだけの別のテーブルを作成しますか? 他に調べられる場所がない限り、「C」と「D」の意味をどのように知ることができますか? 周りはただの悪い考えです。

于 2012-07-18T16:54:31.033 に答える