Skip to main content

SQL 関連のスタイルについて

自分用ルールとしてメモ。

テーブル名について

#TABLEVIEWコメント
1TBL_USERVIEW_USER古風。単数形で大文字
2T_USERV_USER一般的でない
3usersv_users現代風。複数形で小文字

Rails でも使われているスタイルが一般的か

カラム名について

#列名(例)コメント注意点
1id主キー(PK)
2group_id外部キー(FK)table(単数形)_id
3parent_group_id外部キー (自己参照FK)自己参照のときは parent としとくか

Sequence 名, 制約 について

  • seq_<table名(単数)>_<column名>
  • chk_<table名(単数)>_<column名>
  • idx_<table名(単数)>_<column名> - 複数のときはつなげる?
  • 例 : seq_user_id

で良いか

  • ただし、列名の制約 30 文字まで、に注意

大文字/小文字について

一般的 (キーワードだけ大文字)

sql
SELECT col01 FROM tbl01 WHERE col01 = 'AAA';
  • 昔はシンタックスハイライトも無かったし、みたいなことらしい

モダン (すべて小文字)

sql
select col01 from tbl01 where col01 = 'AAA';
  • いまはシンタックスハイライトがあるし、みたいなことらしい

個人的好み (エンティティだけ大文字)

sql
select COL01 from TBL01 where COL01 = 'AAA';
  • データにフォーカスを当てたい

カンマと and の位置について

一般的(後ろにつける)

sql
select
COL01,
COL02,
COL03
from
TBL01
where
COL01 = 'val1' and
COL02 = 'val2' and
COL03 = 'val3';
  • 仕事用はこれが無難
  • でも、うしろに1個追加する毎に差分が2行出るのは煩雑

個人的好み (前につける)

sql
select
COL01
, COL02
, COL03
from
TBL01
where
COL01 = 'val1'
and COL02 = 'val2'
and COL03 = 'val3'
;
  • 癖があるのは認識してるが、行を足すときに楽で
  • 個人プロジェクトはこうしておこう