0

私のデータベースには、次の範囲にある必要な10進数があります

maxExclusive value="1000000000000000"
minExclusive value="-1000000000000000"

ユーザーはフロント エンドに値を入力する必要があり、質問に答えない場合は [N/A] を選択できます。問題は、この値 (N/A) を表す最善の方法は何かということです。値を NULL にすることはできません

許容範囲外の値を表すことは良い考えであり、このユース ケースを処理するための追加のロジックを記述するだけです。すなわち。-9999999999999999

4

1 に答える 1

2

「範囲外」の値を表すための 3 つの選択肢を考えることができます。

1 つ目は拒否したもので、値を NULL として表します。

2番目はあなたが提案したもので、それを特別な値として処理し、特別な値を処理するロジックを組み込むことです。

3 つ目は、新しいフラグ IsExclusiveValid を導入し、代わりにこのフラグを使用して特別なロジックを組み込むことです。

多くの場合、2 番目と 3 番目の作業量はほぼ同じです。3 つ目は、データベースのオーバーヘッドがわずかに増加することです。3 番目のケースのより高度なバージョンは、独自の型を導入することですが、それははるかに手間がかかります。

特別な価値観を持つことにうんざりする人もいます。しかし、さまざまな方法はかなり似ています。

于 2012-07-13T19:05:24.750 に答える