SQLServer/Oracle/PostgreSQL それぞれで、テーブル、カラムなどのオブジェクト名を決める際、大文字小文字の使い分け方に悩むかと思いますが、データベース毎の無難な大文字小文字の使い分け方は下記になります。
無難なパターン
SQLServer:大文字小文字混合で、アンダーバー併用。
Oracle:大文字のみ、アンダーバー併用。
PostgreSQL:子文字のみ、アンダーバー併用。
マスター系テーブル名の無難例
SQLServer:M_TableA
Oracle:M_TABLE_A
PostgreSQL:m_table_a
大文字大文字を無難に使わない場合の弊害
PostgreSQL
カラム名を無難な小文字のみ、例えば「id」ではなく、先頭を大文字にした場合、SQLを書く際にカラム名をダブルクォーテーションで囲う必須が出てしまう。
PostgreSQLはオブジェクト名の大文字小文字を区別し、尚且つ、オブジェクト名をダブルクォーテーションで囲っていないSQLは、小文字に変換して実行する為、実行時エラーになる。
A5:SQL Mk-2 の SQLデザイナ(Active Query Builder)で出力したSQLは、カラム名がダブルクォーテーションで囲われてなく、SQL実行時に「列〇〇は存在しません」エラーになる為、毎回ダブルクォーテーションで囲い直す手間が発生する。
SQLServer
SQLServerでは、弊害は発生しない。
オブジェクト名に使用する文字に対して、SQLServerは一番寛容で、テーブル名、カラム名に日本語を使ったとしても、何の弊害も無い。
コメント