私は、人に関する多くの「マーカー」(体重、身長、血圧など)を保存するアプリケーションを構築しています。ユーザーはすべて、自分で測定したい測定単位についてさまざまな期待を抱くため、スマートな方法でUOMに対処する必要があります。私が疑問に思っているのは、この情報を最適に保存する方法についてコンセンサスがあるかどうかです。私が検討している例は次のとおりです(いずれの場合も、フロントエンドはマーカーとキャプチャに関連付けられたUOMの両方をキャプチャすると想定されています)。
- メートル法の変換。同等のメートル法に変換し、元の単位が何であったかを保存しますが、メートル法の測定値のみを保存します(変換の小数精度が忍び寄る可能性はありますが、元の測定値は失われません)
- 両方を保存します。マーカーを保存し、取得した単位を取得してから、メトリックに変換して保存します。これにより、元のマーカーの精度を完全に維持しながら、メトリック量に対する「類似」のSQLクエリが簡単になりますが、明らかにストレージを大量に消費します。メートル法への変換を行う必要があるため、挿入にかかるコストもわずかに高くなると思います(ただし、これは重要ではないと思います)。
私にとって、精度の低下は、それが生み出す可能性のある不快なユーザーエクスペリエンスを除いて、重要ではありません。ユーザーが160ポンドを入れた後、159.99ポンドとして報告されたと想像してみてください。それは非常に当惑させられ、人々がシステムを信じないようにするでしょう。ほとんどの変換では、DBの精度のサイズをあまり大きくしなくても、同じ数に戻ることができると思います。しかし、この気持ちは、私がテストしたものではなく、私の明るい楽観主義です。