外部キー(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