SQL テーブル フィールド 命名規則について


一般的には以下の命名が通例かと思われます。  
国内のみの利用ですので日本語での命名についてはご容赦下さい。

テーブル名： **商品マスタ** または 商品テーブル  
フィールド： **商品コード** ,商品名,単価

熟練した方からの命名提案  
テーブル名： **商品**  
フィールド： **商品** ,商品名,単価

利点として  
マスタという言葉が冗長であるので省略できる  
コードという言葉が全てのテーブルに出てくるので省略可能である  
プログラム側で入力文字数の削減が可能である

英語であればitem **s** とSを付けてテーブル名を作成することが可能ですが、  
テーブル名が商品だけですと違和感を感じてしまいます。  
日本語ですと商品群というイメージしにくいテーブル名になってしまいます。

～コードを省略することについても、実際に商品コードは想像できても  
商品というフィールドから商品コードは想像できないような気がします。

皆様の現場ではテーブルとフィールドにどのような命名を行っていますでしょうか。




個人的な意見ではありますが、テーブル名で"商品"を示しているので、商品の属性であるカラム名には、"商品"をつけないで定義します。

  * 商品テーブル 
    * コード
    * 名称
    * 単価

という感じでしょうか。

ただしRDBを使う都合上、1つのテーブルに他のテーブルのコードを持つこともあるでしょうから、その時は"他テーブル名"＋"コード"としています。

テーブル名に「テーブル」をつけるか否かについては、私は「つけるべき」と思っており、RDBを使うシステムでは、たいていテーブル以外にもビューを使うことも少なくありませんので、つけております。

ご参考になれば幸いです。




個人的な意見ではありますが、テーブル名で"商品"を示しているので、商品の属性であるカラム名には、"商品"をつけないで定義します。

  * 商品テーブル 
    * コード
    * 名称
    * 単価

という感じでしょうか。

ただしRDBを使う都合上、1つのテーブルに他のテーブルのコードを持つこともあるでしょうから、その時は"他テーブル名"＋"コード"としています。

テーブル名に「テーブル」をつけるか否かについては、私は「つけるべき」と思っており、RDBを使うシステムでは、たいていテーブル以外にもビューを使うことも少なくありませんので、つけております。

ご参考になれば幸いです。

