ORM(オブジェクト関係マッピング)
Object-Relational Mapping
プログラムの書き方のままデータベースを操作できるようにする仕組みのこと。
簡単に説明すると
ORMは、プログラムの『クラス』をデータベースの『テーブル(表)』に、そのクラスから作られた個々の『オブジェクト』をテーブル内の『行』に対応させて管理する仕組みだよ。例えば、ユーザー情報を扱うための「Userクラス」を定義すると、それがデータベース上の「usersテーブル」と結びつくんだ。さらに、特定のユーザーのデータを持つ「オブジェクト」は、テーブルの中の「1つの行」として保存されるよ。このように、プログラム側のデータ構造をデータベースの形式へ直接当てはめて扱えるのが特徴なんだ。
名前のヒミツ
ORM(オーアールエム)という名前は、Object(オブジェクト)、Relational(関係)、Mapping(マッピング)の頭文字を並べたものだよ。Objectはプログラムでのデータの扱い方、Relationalはデータベースの形式、Mappingはそれらをつなぐという意味なんだ。プログラムの世界とデータベースの世界という、データの持ち方が違うもの同士を対応させて結びつける役割を指しているよ。
くわしく見てみよう!
ORMとは、プログラミング言語で扱うオブジェクトというデータのまとまりと、データベースに保存されているデータを自動的に対応させる技術のことだよ。
プログラミング言語とデータベースは、データの持ち方や扱い方が根本的に違っているんだ。そのため、昔はデータベースを動かすために専用の難しい命令文を1つずつ書く必要があったんだよ。
ざっくり言うと、ORMはこの2つの世界の間に入って翻訳をしてくれる通訳者のような存在なんだ。
エンジニアが自分の使い慣れたプログラミング言語でコードを書くと、ORMがそれをデータベースが理解できる命令に作り変えてくれる。これによって、コードが読みやすくなったり、書き間違いによるミスを減らしたりできるんだよ。
具体的には、PythonやRubyといった色々な言語で開発を進めるために使われているんだ。
データベースの種類が変わっても、ORMがその違いを吸収してくれるから、プログラム本体を大幅に書き直す手間が省けるという特徴もあるよ。