テーブル名にプレフィックスをつけるのは日本のSIer独自文化ですか?

テーブル名というのはRDBMSにおけるテーブル名のことです

マスターだったら「m_」、トランザクションだったら「t_」を先頭につけるというような命名規則をちょくちょく見かけます。ネットでもそういう命名規則であったり、サンプルのテーブル名を見かけるのでそれなりに使われているルールなのかと思っています。

なのですが、RDBMSのマニュアルやリファレンス、オープンソースのプロダクトでこのような命名規則になっているのを見たことがありません。

WordPressの「wp_」が先頭につきますが、これはほかのシステムと名前が一致しないようにするためということなので、これは今回の話とは違います。

はっきりとした理由は不明

どうしてこういう命名規則になっているのか理由を説明されたことがなくて、これまでがそうだったからという以上の理由が見つかりません。

合理的な理由を説明しているところがあったら見てみたいです。

手持ちの書籍を見てみましたが

データベースのテーブル設計に関する本は論理設計までのなのでテーブル名が日本語でした。

プログラミング寄りの本だとRuby on RailsやLaravelといったWebアプリケーションフレームワークの本があるのですが、これらのフレームワークは英語名詞の複数形がデフォルトのテーブル名なのでそれに沿った名前になっています。

自分はつけない派

「M_」や「T_」をつければマスタテーブルやトランザクションテーブルなどの区別がつきやすいというのは分かりますが、区別がつきやすくなることでのメリットがよく分かりません。

会社やプロジェクトのルールで決まっていれば従いますが、自分でルールを決められる場合には採用しないルールになります。

Webアプリケーションフレームワークを使う際に邪魔になるルールですし、今後は見なくなっていくのかなと予想。