興味深い質問...
2つの明白なルートがあります:
id load_kW fuel_consumption_tonnes
--------------------------------------------------
1 1154 89.4
2 1199 54.2
これは人間にとって読みやすく、かなり論理的です。ただし、一部の測定値が「キロ」で、他の測定値が「トン」である場合は、それらの測定値を「測定値」テーブルに収まるように変換する必要があります。このプロセスは「ロスレス」で、べき等でなければなりません。たとえば、企業が便宜上キロからトンに丸めることを選択したとしても、「89403キロ」の読み取り値は「89.4トン」ではありません。通常、直感に反する丸めが発生します...
その場合は、スキーマを変更できます。
id load load_unit fuel_consumption fuel_consumption_unit
--------------------------------------------------
1 1154 kW 89403 kg
2 1199 kW 54.2 t
「ユニット」テーブルを使用する場合、必要に応じて次のようにします。
unit_id unit_name
--------------------
kg kilogramme
t Tonne
ただし、このモデルは人為的エラーにさらされています。「load」列を変更せずに「load_unit」列を変更するのは簡単で、データが破損します。これを回避するためにデータモデルに対して実際にできることは何もありません。また、一般的なクエリはかなりトリッキーになります。一貫した測定単位で「負荷」の合計を取得しようとすることを想像してみてください。
この場合、2つのテーブルを用意することをお勧めします。上記の形式の元のデータを含む「raw_readings」と、すべての読み取り値を一貫した測定単位に変換して入力する「normalized_readings」です。