TABLE定義を設計する時、カラム名に半角数値を入れるのはやめよう

こんにちは、エキサイト株式会社の中尾です。

出落ちみたいなタイトルなのですが、みなさんはテーブル設計の時、カラム名はどのようにしていますか?

基本は - 半角英字のみ - 極力正式名称をカラム名に、妙な省略はしない - package、classなど特定の言語の予約後になる可能性のある単語は避ける

だと、ほとんどの言語で互換性があり安定して使えると思います。

また、カラム名に半角数値を入れて横にカラムを伸ばすのは極力やめたほうが良いです。

そういう時は、

  • そもそも複数入るのか確認する。
  • 縦にデータを持ち、typeで分ける。

などいろいろアプローチがあるはずです。

例えば、仮に半角数値を使う時、どっちを使いますか?

  • tag_1
  • tag1

どっちを使っても、ローワーキャメルケースでは以下で現れます。

public String getTag1(){
    retrurn this->tag_1;
}

public String getTag1(){
    retrurn this->tag1;
}

キャメルケースでは半角英字をアッパーキャメルで表示しますが、数値では表現できません。これは不便ですよね。

つまり、ORMで自動でモデルを作成する場合など、キャメルケースにした場合にどっちにでも取れるカラム名にすると、大体不具合が発生することが多いです、 うまくコード変換が行われずに以下のようになる場合もあります。

public String getTag_1(){
    retrurn this->tag_1;
}

テーブル設計でそもそものデータ構造を考えるのも大事ですが、カラム名にも気をつけてあげられたら嬉しいと思います。