SQLスキーマを使用して次のJSON構造を実現しようとしています:
"data_set": [
{
"id": 0,
"annotation": "foo",
"value":
{
"type": "number",
"value": 10.0,
"unit": "m"
}
},
{
"id": 1,
"annotation": "bar",
"value":
{
"type": "text",
"value": "Hello World"
}
}
]
トリッキーな部分は、1 つの型の値だけでなく、異なる型の値を含めたいということです。私の考えは、値ごとに異なるテーブルを用意することでした。
numeric_value: id {PK} | type | value | unit
text_values: id {PK} | type | value
それらを外部キーを介して data_set テーブルに含めます。
data_set: id {PK} | annotation | value {FK}
私の問題は、キーを使用して 1 つの列の異なるテーブルから ID を参照する方法がわからないことです。この問題に取り組む際にまったく間違ったアプローチを取っている場合です。