オブジェクトのいくつかのプロパティを格納するテーブルがあります。各プロパティはテーブル内に独自の行を持ち、オブジェクトのIDを別のテーブルから参照します。プロパティは現在boolean(0)、numeric(1)、free text(2)のいずれかであり、単一の値を格納します。列内の異なるデータ型
問題は、どの行がどのタイプであるかを判断することです。プロパティテーブルにtype
という列があり、別のTEXT
列に値を格納するか、値をJSONオブジェクトとして格納する必要がありますか?これには単一の良い解決策がありますか?私はここで私の心配は、データがTEXT
の列に格納されている場合、扱いにくいデータ型を保持することであると考えています。
JSONオブジェクトに型と値を格納すると、ここに行くことができます。
オブジェクト表:プロパティテーブルの
id | name
-----+-----
123 | abc
アイデア:プロパティテーブルの
id | object_id | type | data
----+-----------+------+-------
1 | 123 | 1 | 123.12
2 | 123 | 0 | f
その他のアイデア:
id | object_id | type | data
----+-----------+-----------------------
1 | 112 | 1 | {value:123.12}
2 | 112 | 0 | {value:false}
'pg_typeof(COLUMN_NAME)' 'ここで私を助ける)私は1列に異なるタイプのデータを格納し、そのデータ型を保持したいので、私は(' pg_typeofを考えていないあなたのタイプ –
を言うだろう。私は私の質問をよりよく記述するためにタイトルを編集しました。 – Nysten
次に、テキストの代わりにjsonデータ型を使用することを検討してください。 –