AI活用の教科書
バックエンド開発ふつう3分で読了

ORM

Object-Relational Mappingおーあーるえむ

ひとことで言うと

データベースの表と、プログラムの「もの」を自動でつなぐ翻訳役のしくみです。

📖 もうちょい詳しく

何が新しいの?

ORMは、データベースの「表」と、プログラムの中で扱う「もの(オブジェクト)」を、自動でつなぐしくみです。
データベースは情報を表(ぎょうと列)の形でためます。いっぽうプログラムは、ユーザーや注文といった「もの」をひとかたまりで扱いたがります。この2つは形がちがうので、毎回手作業で変換すると手間がかかります。そこを肩代わりしてくれる便利な道具として広まりました。

どうやって動いてるの?

ORMは、表の1行をプログラムの「もの」1つに対応づけます。
たとえば「会員」の表があれば、その1行を「会員オブジェクト」として読み込み、名前や年齢を部品のように取り出せます。データを保存したいときも、オブジェクトを渡すだけでORMが裏で命令を組み立ててくれます。このとき内部では、データベースへの指示文である「SQL」を自動で作って実行していることが多いです。

何ができるの?

データベースの細かい命令を意識せずに、プログラムの言葉のままデータを読み書きできます。
「この会員を保存して」「この条件のものを取ってきて」と書くだけで済むので、開発の手間が減ります。アプリのバックエンド(裏側の処理)づくりで広く使われていて、コードが読みやすくなる効果も期待できます。

🌱 身近なたとえ

通訳をはさんだ会話で例えると分かりやすいです。
データベースは「表の言葉」しか話せず、プログラムは「ものの言葉」で考えています。言葉がちがうと毎回自分で訳すのは大変です。そこに通訳が入って、両者の言葉を自動でつないでくれる。ORMはこの通訳のような役まわりで、書き手は自分の言葉のまま用件を伝えれば済むのです。

✅ まず覚えるポイント

  • ORMは、表とプログラムの「もの」をつなぐ翻訳役
  • 表の1行を、オブジェクト1つに対応づける
  • 裏でSQLを自動で組み立ててくれることが多い
  • 細かい命令を意識せずデータを読み書きできる
  • バックエンド開発で広く使われている

🧭 よくある勘違い

ORMを使えばSQLはもう覚えなくていいの?

完全に不要にはなりません。
ふだんはORMが命令を作ってくれるので、SQLを書かない場面は増えます。ただ、思った通りに動かないときや、速さを調整したいときは、裏で何が起きているかをSQLで確認する場面が出てきます。基本だけでも知っておくと安心です。

ORMを入れると必ず処理が速くなるの?

速さが目的の道具ではありません。
ORMの主な役割は「手間を減らして読みやすくすること」です。便利な反面、自動で作られる命令が遠回りになって、かえって遅くなる場合もあります。大量のデータを一気に扱うときなどは、注意して使うと良いことが多いです。

🧩 関連して覚えると楽な言葉

  • RDB: 表でデータを管理するデータベース。ORMが相手にする主な対象
  • SQL: データベースへの指示文。ORMが裏で自動で組み立てる
  • オブジェクト指向: データを「もの」としてまとめて扱う考え方。ORMの「もの」側の土台
  • クエリ: データベースへの問い合わせ。ORMはこれを代わりに作ってくれる

🏁 ひとことでまとめ

ORMは、形のちがう「データベースの表」と「プログラムのもの」のあいだに立つ通訳のような道具です。
細かい命令を書かなくても、自分の言葉のままデータを読み書きできるので、バックエンドづくりの手間をぐっと軽くしてくれます。