Technology へようこそ
ここは技術者の「経験」と「ノウハウ」のブログです
2008年07月18日 |
外部キーの命名規約 |
Oracleに限らず、RDBには外部キーというものがあります。 難しくいうと「関係データベースの関係モデルの文脈において、2つの関係 変数 (テーブル) の間の参照整合性制約」なんていう説明になりますが、 具体的にいうと「参照する側のテーブル項目の値(または組)には、参照 される側のテーブル項目の値(または組)に現れない値を、含むことは できない」というものです。 あるテーブルにインデックスを作成する場合、命名規約としてよく使用 するのが (テーブル名)_IDX1 という形だったりするのですが、今回、今まであまり使用しなかった外 部キーを使用するにあたり、この規約を踏襲するのは得策でないことが 判明しました。 外部キーは、「他のテーブルのある項目を参照している」ことになりま すが、上記の命名規約だと ((テーブル名)_FK1 とかいう名前になってしまい、わかりにくいわけです。 たとえば参照制約性のエラーがでても、どのテーブルを参照しているか わからないと対処ができないわけです。そこで、 参照先テーブル名_項目名_FKn でどうだ?ということになったのですが、なんとなく、_ が2つあって わかりにくい、ということで他の文字を探すことに。 (参照先テーブル名#項目名_FKn という規約に落ち着きました。$や%はだめだったのですが、#はOKでした。 OracleのFOREIGN KEY の名前は30文字。テーブル名によってはオーバーす る可能性もあるのですが。 でも私、やっぱり基本的に外部キー、嫌いなんですよね・・・。 [by H.K] |
この記事に対するコメント |
この記事に対するコメントの投稿 |
この記事に対するトラックバック |
トラックバックURL
→http://comfair2.blog24.fc2.com/tb.php/379-28a6e26f この記事にトラックバックする(FC2ブログユーザー) |
|