「ORM」と「マッピング技術」の違い

ORM は Object-Relational Mapping の略で、オブジェクト指向とリレーショナルデータベースを橋渡しする技術全般を指します。マッピング技術はその実装手段の総称です。

ORM

ORM(オブジェクト関係マッピング)は、プログラムのオブジェクトとデータベースのテーブルを自動的に対応させる仕組みです。SQL文を書かずにオブジェクト操作でデータベース操作ができます。Hibernate や SQLAlchemy などのフレームワークが該当します。

例:ORM を使うと、User.find(1) でユーザー情報をオブジェクトとして取得できます。

マッピング技術

マッピング技術は、あるデータ形式から別のデータ形式への変換手法の総称です。オブジェクトと DB テーブルの対応のほか、CSV と Java オブジェクト、JSON と Python 辞書など、様々な領域で使われる広い概念です。

例:マッピング技術で JSON を Python オブジェクトに変換し、操作できます。

両者の違い

ORM は特にオブジェクト指向とリレーショナルデータベース間の対応に特化した技術で、データベース操作の効率化が目的です。マッピング技術は ORM を含む、より広範な「異なるデータ形式を相互変換する手法」全体を指します。ORM はマッピング技術の一種といえます。

どちらを使うべき?判断のポイント

複雑な DB 操作や大規模な Web アプリケーションを開発する場合は ORM が適切です。シンプルなデータ変換や複数形式の扱いが必要な場合は、マッピング技術を選びましょう。

それぞれの語をさらに詳しく

語彙の星図で「ORM」と「マッピング技術」のつながりを探索する →