[pgsql-jp: 38757] Re: 配列と外部キー

koyama mlus @ hintmark.com
2007年 9月 14日 (金) 09:41:15 JST


xeon-koyamaです。

ITAGAKI さん、ご返答ありがとうございます。

> 今のところ、「配列 → 要素」という外部キーはサポートしていません。
> ただ、TODO リスト (http://www.postgresql.org/docs/faqs.TODO.html) には
> 該当する項目があるので、有志がいれば、そのうち実現されるかもしれません。
> |  Referential Integrity
> |    Change foreign key constraint for array -> element to mean element in array?
> 

そうでしたか..... 残念です。

> CHECK 制約 や TRIGGER を駆使すれば、ある程度は似たような動作にできます。
> 以下のような CHECK 制約を使えば、INSERT や UPDATE は制限できました。

私も当初、同じ事を考えたのですが、やはり、

> 外部キーが張られていても、変更や削除ができてしまいます。
> 特に排他制御の扱いが面倒で、完全互換にするには手間がかかりそうです。

と同じ答えにたどり着いたので、外部キー設定があれば、楽ができる(^^; と
考えて質問しました。

> 配列でなく、正規化して行を分けて格納するのが、現実的な解かもしれません。

もう1個テーブル作成して、リレーション張るのが、一番安全ですね。

ありがとうございました。





pgsql-jp メーリングリストの案内