Googleのアプリは、数多くの異なるタイプの顧客を扱うようにカスタマイズされており、少数または1人の顧客のみに適用される特定の設定があります。 私は[設定]テーブルを追加して各設定を行にすることにしました。さまざまなデータタイプの多対多の関係
[dbo].[Settings]
[SettingID] [int]
[SettingCode] [nchar](4)
[SettingDescription] [nvarchar](255)
その後、多対多のテーブルを[顧客]テーブルにリンクされている
[dbo].[Customer_Settings]
[Customer_SettingsID] [int]
[CustomerID] [int]
[SettingID] [int]
私の質問は、これらの設定の多くは、追加データを必要とするという事実をどのように扱うかについてです[Customer_Settings]テーブルに入力します。
たとえば、時刻データ型を必要とする「最新の配信時間」、またはintを必要とする「有効期限までの分」を設定することができます。これは悪いデザインのように思える
[dbo].[Customer_Settings]
[Customer_SettingsID] [int]
[CustomerID] [int]
[SettingID] [int]
[ValueTime] [time] NULL
[ValueInt] [int] NULL
...
:
これを処理する私は考えることができる2つの方法は次のように[Customer_Settings]テーブルにNULL可能列を追加することです。
私は考えることができる他の方法は次のように[Customer_Settings]テーブルに子テーブルを追加することです:それは正規化されただけでなく、面倒であるよう
[dbo].[Customer_Settings_Int]
[Customer_Settings_Int_ID] [int]
[Customer_SettingsID] [int]
[Value] [int]
これがそうです。これらのいずれかが明らかに優れているかどうか、または別の方法があるかどうかを教えてください。ありがとう!
あなたは恐ろしいエンティティ属性値スキーマに入っています。 –