問題:
各種計測値の時系列データを格納するリレーショナルデータベース(Postgres)です。各測定値には、特定の「測定タイプ」(温度、溶存酸素など)と特定の「測定単位」(華氏/摂氏/ケルビン、パーセント/ミリグラム/リットルなど)を指定できます。
質問:
次元の整合性が維持されるような同様のデータベースを構築した人はいますか? 何か提案はありますか?
私は、measurement_type テーブルと Measurement_unit テーブルを作成することを検討しています。これらには、ID とテキストの 2 つのテキスト列があります。次に、これらのテーブルへの外部キーをmeasured_value テーブルに作成します。一意ではない重複の可能性があるため、テキストはやや心配です (たとえば、1 リットルあたりのマイクログラムの「ug/l」と「µg/l」)。
これの目的は、クエリで、または外部プログラミングを介して単位を変換および検証できるようにすることです。理想的には、後で厳密な次元分析を含めることができるようにすることです (たとえば、µg/l を値「M/V」(質量を体積で割った値) にリンクするなど)。
これを達成するためのよりエレガントな方法はありますか?