辞書の保存に特に適した2つのタイプがあります 全体として: hstore
およびjson
-または最も優れたjsonb
Postgres9.4以降で。
Postgresには専用のxml
もあります。
データ型ですが、前の3つのオプションのいずれかを選択したいと思います。 XMLは比較的冗長で複雑であり(複雑なことは言うまでもありません)、目的を達成するにはやり過ぎかもしれません。
DBに必要なのが辞書全体を保存および取得することだけである場合、これらは適切なオプションです。参照:
また、 eav に関する賛否両論の広範な議論もあります。 (entity-attribute-value)リレーショナルデータベースのストレージ。
参照整合性、外部キー、その他のさまざまな制約、個々の値への簡単なアクセス、最小のストレージサイズ、単純なインデックスなど、DBから他のものが必要な場合は、専用(正規化 )列。
正規化されたテーブルレイアウト
私が集めたものから、「MyObject」(m
)「OtherObject」(o
)への参照のコレクションを保持します )。各m
(24)o
に関連しています および各o
0-n m
に関連しています -これは、古典的なn:mの関係で実装できます。詳細な手順は次のとおりです。