これはかなり概念的な質問です:概念SQL - 重量あたりのピースとの価格あたりの価格
私はテーブルをデータベースに取り組んで、「製品情報」や「取引を購入」しています - 今、製品情報テーブルそう遠くの機能は「価格」であり、購入取引テーブルは「金額」を特徴とする。
しかし、一部の商品は1個あたりに支払われることが想定されており、一部の商品には1個の重量あたりの価格があります。 今、私は金額に10進値を許可せずにこれについてどうやって行くのか不明です。 重量あたりの価格として処理される予定の商品にフラグを設定し、周囲のプログラムでさらに計算する必要がありますか?これはむしろ実用的ではないように思えます。なぜなら、クエリでの集計はむしろ不可能になるからです。または小数点以下を許可する必要がありますが、フラグを必要とする物事のためにユーザーインターフェースでそれらを禁止しますか? ここで最も賢明なアプローチは何ですか?
基本的に、食料品買い物の領収書と各製品の適切な情報を含むデータベースを想像してください。ユーザはカートの内容を挿入し、プログラムによって総計が計算され、吐き出されるとともに、重量ごとに支払われる各商品の計算された価格も計算される。
質問の愚かさには申し訳ありません。
に見えますそのフラグが設定されていない場合、小数点以下は許可しないでください。 – phroureo
これを示すために、製品にフラグ(またはUOMフィールド)を付けるのが理にかなっています。 DECIMAL型の金額を持つことは合理的です。 UIは、製品のUOMが「ea」であるか、またはweight_flagフィールドが「1」であるか、または使用するロジックが何であれ、整数に制限することができます。集計はまだ 'sum(product.price * transaction.amount)'なので、心配はありません。 – JNevill
私は、ビジネスルールとプログラミングに関する質問であるため、この質問を議論の対象外としています。 –