1. ホーム
  2. postgresql

[解決済み] それぞれが外部キーである要素の PostgreSQL 配列

2022-02-20 08:33:18

質問

アプリのDBを作成しようとしているのですが、最適な方法を探したいと思っています。 UsersItems テーブルを作成します。

3つ目のテーブルを作ることができるんですね。 ReviewedItems で、カラムは User IDと Item のカラムを作ることができるのか知りたいのですが。 Users 例えば reviewedItems への外部キーを含む整数配列です。 Items その User がレビューしました。

PostgreSQLでできるのなら、ぜひ教えてください。そうでなければ、私の第3のテーブルのルートを行くだけです。

どのように解決するのですか?

いいえ、これは不可能です。

PostgreSQLは リレーショナル DBMS は、適切に正規化されたデータモデルで最も効率的に動作します。配列は定義上、順序付き集合であり、リレーショナルデータ構造ではありません。したがって、標準SQLは配列要素に対する外部キーの定義をサポートしていませんし、PostgreSQLも同様です。

しかし、配列の要素を他のテーブルの主キーにリンクさせることで、全く問題なくデータベースを構築することができます。しかし、それらの配列要素を外部キーとして宣言することはできず、DBMS は参照整合性を維持することができません。