システム開発やデータベース設計の話で必ず出てくるのが「論理名」と「物理名」という2つの言葉。
でも実際は、
- どっちが論理名で、どっちが物理名だっけ?
- 論理名が日本語で、物理名が英語なの?
- 仕様書にはどっちを書けばいいの?
と混乱する人も多いと思います。
この記事では、「論理名」と「物理名」の意味・違い・覚え方をわかりやすく解説します。
論理名とは?
論理名は人間が理解しやすいようにつけた名前です。後ほど説明する物理名と対になる用語です。
論理名の一例を以下に示します。
- 顧客テーブル
- 顧客ID
- 顧客名
これらは、ビジネス担当や新人でも「ああ、これのことね!」と直感的に分かる、いわばあだ名のようなものです。
論理名が主に使われるのは「要件定義書」、「画面仕様書」、「ER図」・「レビュー・会話」などであり、人が読む資料では論理名が活躍します。
物理名とは?
物理名はシステムやデータベースが実際に使っている正式な名前です。先ほど説明した論理名と対になる用語です。
物理名の一例を以下に示します。
customer_tablecustomer_idcustomer_name
これらは、人間のためではなく、システムやデータベースのルール(英小文字のみ、スネークケース、長さ制限、予約語は使えないなど)に沿った名前になります。
物理名が主に使われるのは「データベースのテーブル名やカラム名」、「SQLやプログラムのコード」などです。
論理名と物理名の違い

論理名と物理名の違いを表形式でまとめると以下のようになります。
| 種類 | 役割 | 例 | 使う場面 |
| 論理名 | 人間が理解しやすいようにつけた名前(あだ名) | ・顧客テーブル ・顧客ID ・顧客名 | ・要件定義書 ・画面仕様書 ・ER図 ・レビュー・会話 など |
| 物理名 | システムやデータベースが実際に使っている正式な名前(本名) | ・customer_table・ customer_id・ customer_name | ・データベースのテーブル名 ・データベースのカラム名 ・SQLやプログラムのコード など |
たとえば「顧客テーブル」という論理名は、物理名ではcustomer_tableやcustomerなど、プロジェクトの命名規則に沿った名称に変換されます。
コンピュータに向かって「顧客テーブルからデータ取ってきて!」と指示を出しても通じません。実際のテーブル名(例:customer_table)を使って指示を出す必要があります。
一方、人間同士の場合は論理名を使った方が理解しやすいです。「customer_tableからデータ取ってきて!」よりも「顧客テーブルからデータ取ってきて!」の方が直感的で分かりやすいですよね。
論理名と物理名の覚え方
語感で覚えると一番ラクです。
論理名は「論理的に(=都合よく)付けた名前」なので、人間が理解しやすい名前となります。
一方、物理名は「物理的に(=実際に)存在している名前」なので、システムやデータベースが実際に使っている名前になります。
本記事のまとめ
この記事では、「論理名」と「物理名」の意味・違い・覚え方を説明しました。
「論理名」と「物理名」は、システム開発では必ず登場する基本用語ですが、実は意味さえ分かってしまえばとてもシンプルです。
- 論理名 = 人間が理解しやすいようにつけた名前(あだ名)
- 物理名 = システムやデータベースが実際に使っている正式な名前(本名)
というたった1つの考え方を押さえておけば、資料作成やデータベース設計でも迷わなくなります。
画面仕様書・要件定義書など「人が読むもの」では論理名、SQLやコードなど「システムが扱うもの」では物理名、というように、場面ごとに使い分けるのがポイントです。
お読みいただきありがとうございました。