業務用 Web システムの設計・開発手法

変数のプレフィックスについて

プログラムの変数で使用するプレフィックス(接頭語)および、データベースのテーブル名に付けるプレフィックス(接頭語)についてご説明いたします。

変数のプレフィックスってなんだろう?

変数のプレフィックスとは?

例えば、PHP 言語で 現在時刻を表す変数「now」を定義する場合、そのまま「$」を付けて「$now = time();」と定義しているプログラムソースをよく見かけます。

確かに、日時を計算する場合には そのままの日付時刻型の方が便利な場合もあるかもしれませんが、ブラウザに出力しようとして「echo $now;」とすると意味不明な数字の羅列が表示されてしまいます。これを回避するために、date() 関数を使って文字列型に変換し「$now = date(“Y/m/d H:i:s”, time());」と定義する場合もあるでしょう。

「$now」変数を定義した人にとっては「$now は文字列型!」と頭に入っているかもしれませんが、では、プログラムを数年後に改修する他人にとって…、または1年後に自分自身がそのプログラムを改修する立場になったときに「$now は文字列型!」であることを覚えているでしょうか?

もし覚えていない場合 … どんな作業が発生するかというと「$now = time();」または「$now = date(“Y/m/d H:i:s”, time());」または「$now = ???;」といった定義文を探さなければならなくなります。これは大変な労力です!

変数にはプレフィックスを付けよう!

こういった作業を無くすために、変数を定義する際には「プレフィックス」と呼ばれる3文字の接頭語を付けることをおすすめします

よく使用するプレフィックス

データ型プレフィックス変数の例
日付時刻型 dtmdtmData
整数型intintData
長整数型lnglngData
文字列型strstrData

時々使用するプレフィックス

データ型プレフィックス変数の例
倍精度浮動小数点数型dbldblData
オブジェクト型objobjData
単精度浮動小数点数型sngsngData

使用例

上記を考慮して、$now を日付時刻型として定義すると「$dtmNow」となり、文字列型として定義すると「$strNow」となる。

データベース – テーブル名に付けるプレフィックス

データベースは各種データを保存し、効率的に検索することができるためのソフトウェアですが、機能によってデータの種類は大きく2種類に分かれます。

マスターテーブル “Mst”

1つ目は「マスター」と呼ばれるもので、簡単に言うと1つ1つのデータが重複せずに一意に定義され … 例えて言うなら会員台帳に代表されるようなデータです。

マスターテーブルには、プレフィックス “Mst” を付けます。

例. ユーザーマスター → “MstUser”

トランザクションテーブル “Trn”

2つ目は「トランザクション」と呼ばれ、1つ1つのデータは時間/時系列情報を除いて全く同じデータが重複して追加される可能性がある … 例えていうなら売上等の取引データになります。

例. 売上トランザクション → “TrnSales”

COMMENT

メールアドレスが公開されることはありません。