1

string値、boolまたはのいずれかを受け入れるオブジェクト プロパティがありますfloat

setValue(float)ユーザーがプロパティのsetValue(bool)値を設定するためにオーバーロードされたメソッドを呼び出すと、システムによって自動的に設定される型とともに、これを文字列値として実装することにしましたsetValue(String)

データベースには、値を表す列が1つしかありません。タイプも保存します。

どのような代替ソリューションをお勧めしますか? 直面する可能性のあるさまざまなシナリオに対応するために、*boolean_value*、*float_value*、*string_value* プロパティを作成したくありません。

4

2 に答える 2

3

3つの価値観は概念的に異なると思います。
問題に直面している場合、データベース レベルに 3 つの異なるフィールドが存在します。1NF ( .)
に関して は、float 値の計算または bool 値の比較がすぐに必要になります。それらを分離すると非常に役立ち、データ モジュールは説明になります。each attribute contains only atomic values, and the value of each attribute contains only a single value from that domain

于 2013-09-21T07:32:36.003 に答える
2

真の値は 1 つだけであるべきです。最小公倍数を使用してこの値をデータベースに保存しますが、すべての可能な値を満たします (たとえば、値が「true」と「false」の場合、ブール値を使用します)。アプリケーション層で型ジャグリングを実行します。単一ソース オブ トゥルース理論を理解すると、設計上の決定に役立つ場合があります。

キャッシュの目的でデータベースに保存している場合は、3 つのタイプすべてを保存する方が理にかなっています。パフォーマンスが重要な場合、変換サイクルを浪費しても意味がありません。

于 2013-09-20T22:48:09.363 に答える