[pgsql-jp: 25022] FOREIGN KEY CONSTRAINTS

Fumio KITAGAWA kitagawa @ peach.mis.ous.ac.jp
2002年 2月 28日 (木) 18:17:00 JST


北川@岡山理科大学です。

FOREIGN KEY に関してPostgreSQL7.2で仕様の変更に気づいたので
報告します。
(SQLの規格に忠実にバグフィックスしたと思われます。)

外部キーは通常、参照したいテーブルの主キーか候補キーを
参照するのが関係データベースの仕様と理解しています。
SQLでは候補キーを明示的に示すキーワードはありませんが、
意味的には PRIMARY KEY 以外には UNIQUE属性を付けることで
このことを表現できます。

PostgreSQL7.02の外部キー制約では、これらの制約の無い
フィールドも外部キーの参照先として許されていました。
このたび、7.2を入れて確認したところPRIMARY KEYか
UNIQUE属性が無いフィールドを参照したときにエラーメッセージが
出力されるようになっています。
ただし、table not found というようなメッセージでテーブルが
ないと表示されます。
このことで学生が悩んでいたのでUNIQUE属性をつけてテーブルを
作り直させたところ、無事に外部キー参照をしたテーブルを定義
できました。

#HISTORYに記述が見当たらないので報告いたしました。
#当然のバグフィックスですが、学生がちょっとハマっていたようなので
あえて報告いたしました。



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