本記事は、株式会社ギックスの運営していた分析情報サイト graffe/グラーフ より移設されました(2019/7/1)
名は体を表す!テーブル名、項目名だけでデータ分析精度は変わる
データベースの中に素晴らしいデータが入っていても、毎回、テーブル設計書を片手にデータ取得をしては価値は半減です。本編では、テーブル命名規約と項目命名規約を作成し、データベースの資源を効率良く使えるアドバイスをします。
テーブル命名規約と項目命名規約とは
命名規約は、テーブル、または、テーブル項目の名前を付ける為の規則です。データ分析作業に関わらず、複数人でデータベースのテーブル設計を行うプロジェクトでは、導入されることが多いです。命名規約は、プロジェクトごと、開発会社ごと異なり、決まった型があるわけではありません。そのため、命名規則を決める上でポイントを以下に記載します。
命名規則作成のポイント
テーブルの属性で頭文字を決める
テーブルには、マスタテーブル、トランザクションテーブル、ワークテーブルの3つの属性があります。(参照:マスタデータ、トランザクションデータとは) また、ビューやインデックス、プライマリーキーなどのオブジェクトもあります。これらの種類/属性別に名前の頭文字を決めることで、一目でデータベース内の資源(オブジェクト)を種類/属性別に分けることができます。頭文字については、下記を参考にしてください。
- マスタテーブル:m_~
- トランザクションテーブル:t_~
- ワークテーブル:w_~
- ビュー:v_~
- インデックス:i_~
- プライマリキー:k_~
- マテリアライズドビュー:mv_~
定型項目名を統一する
複数のテーブルで同じ意味を持つ項目が存在する場合、テーブル同士で項目名が統一されていないとSQL命令を記述するときに混乱します。そのために、先にテーブル全体のキー項目、作成日項目などの複数のテーブルで使用する名前を命名規則として決めてから、各テーブル固有の項目名を決めることをオススメします。
コード、区分、フラグの使い分けと名前
以前、コード、区分、フラグの使い分けについて記載しましたが、更に、それぞれの基準を命系規則で明白にします。また、コードは「cd」、区分は「kbn」、フラグは「fg」、番号は「no」などに統一することで、小さな項目名の揺らぎを少なくすることができます。
命名規約で名前を決めて、作業効率を上げる
命名規則は、上記以外にも「日本語ローマ字名称はヘボン式」や「名前はXX文字以内」などを用いる場合があります。規則を多くすることで名前を統一されていきますが、過度に行うと名前が長くなったり、意味が通じなくなりますので、限度が必要です。
これらの命名規則の先にあるのは「作業効率を上げる」ことです。理想としては、テーブル設計書なしで全てのテーブルを扱えるようになる事ですが、完全にテーブル設計書の存在意義がなくなる事はないため、どんなに綺麗なテーブル名、項目名にしてもテーブル設計書は必ず作成してください。