外部キー(FOREIGN KEY)制約を使う?

外部キー(FOREIGN KEY)制約とは、「コンピュータの関係データベースの関係モデルの文脈において、2つの関係変数 (テーブル) の間の参照整合性制約をいう(wikipedia)」そうです。




これではわかるようでわからないのですが、「テーブル間の関連を定義するために外部キーは使用される」というplusadd blogさんの説明に納得しました。


RDBMSに外部キーは必要か?(plusadd blog)
 http://www.plus-add.com/blog/archives/000144.html


ただ「必要なチェックを行なうため、データベースサーバの追加オーバーヘッドという犠牲が付随する」とのこと。かつMyISAMでは使えず、InnoDBを使わなければならないそうで。


結局、必要ないように気をつけてつくりなさい。その上であればデメリットが上回ってしまうから使う必要がない、ということのようですね。
必ず使うものだと思ってました……。


MySQL 5.1 リファレンスマニュアル :: 1 一般情報 :: 1.8 MySQLの標準への準拠 :: 1.8.5 MySQLと標準SQLとの違い :: 1.8.5.5 外部キー
 http://dev.mysql.com/doc/refman/5.1/ja/ansi-diff-foreign-keys.html


▽今から始める MySQL入門(8)外部キー制約を活用する(@IT
 http://www.atmarkit.co.jp/flinux/rensai/mysql5_08/mysql5_08a.html


↓このサイト面白いですね。
流行るといいんですが、今まで目に触れなかったものなぁ。機会を作るのが難しいですね。
OpenPNEの小窓みたいな感じでカンタンにblogの記事からリンクが張れたり、blogパーツになっていたりして、使われるとまた違うと思うんですけど。


▽外部キーのメリットデメリット(MERIT DEMERIT)
 http://jp.meritdemerit.com/topic/239