2007.05.24

コメントを活用してみよう。

今回のとはコメント -- や /*・・・*/ のようなコメントではありません。
テーブルや列に対して付けるコメントです。

不意に過去のプロジェクトの質問が来て
とっさにSQLを発行し値を確認ようとして
「社員番号はSHAIN_CD?SHAIN_NUMBER?あれ >DESC
あれこのプロジェクトのDBの社員マスタってどんな物理名だっけ・・・」
「社員番号ってどのテーブルで使用してるんだっけ・・・」
ということは無いでしょうか?

こんな時はコメントを活用できていれば便利です。
私はSQLServerは未知の領域で申し訳ないのですが、
Oracleでは以下の文でコメントを付ける事が出来ます。

-- テーブルにコメントを付ける
COMMENT ON TABLE M001_SYAIN IS '社員マスタ';
-- 列にコメントを付ける
COMMENT ON COLUMN M001_SYAIN.SYAIN_NAME IS '社員名';

そして、コメントが付いていればコメントから必要な情報を取得する事が出来ますね

-- コメントでテーブルを検索
SELECT TABLE_NAME
, COMMENTS
FROM USER_TAB_COMMENTS
WHERE COMMENTS LIKE '%社員%';

今までは物理名で検索していた事もコメントで行えます。
-- コメントでテーブル名と列名、型を取得検索
SELECT TCM.COMMENTS
, TCM.TABLE_NAME
, CCM.COMMENTS
, CCM.COLUMN_NAME
, TCL.DATA_TYPE
FROM USER_COL_COMMENTS CCM
, USER_TAB_COLUMNS TCL
, USER_TAB_COMMENTS TCM
WHERE TCM.TABLE_NAME = CCM.TABLE_NAME
AND TCL.TABLE_NAME = CCM.TABLE_NAME
AND TCL.COLUMN_NAME = CCM.COLUMN_NAME
AND CCM.COMMENTS LIKE '%社員%'
ORDER BY TCM.TABLE_NAME, TCL.COLUMN_ID

これでどのテーブルでどの項目を持っているか等がすぐに分かりますね。
テーブルを作成する時にはコメントも付けるておいてはいかがでしょうか?

photo
admin