Rails

【3分で分かる】Active Record、O/Rマッパーとは【Rails】

どうも、シューへーです。

 

Active RecordとO/Rマッパーがなんなのか、この2つはどういう関係にあるのかが少し理解できたので、自分の復習もかねてまとめてみます。

Active Record、O/Rマッパーとは【Rails】

Active Recordは、ざっくり説明すると「SQL文を書かなくても、データベース操作を行えるようになる便利な仕組み」です。

 

具体的には、以下のようなコードがActive Recordの構文です。

User.new(name: “shuhei”)
User.find_by(name: “shuhei”)
User.all

 

もし、User.find_by(name: “shuhei”)というのをSQLで書くと、以下のようなコードになります。

SELECT * FROM users
WHERE name = “shuhei”;

Active Recordを使った方がシンプルですね。普段何気なくnewとかfind_byとか使っていたのは、Active Recordという仕組みがあるおかげというわけですね。

 

ただし、データベースの細かい操作をするにはSQLの知識も必要になるので、SQLの基礎を知っておく必要はあるみたいです。

Active RecordとO/Rマッパーの関係

Active Recordは、O/Rマッパーの一種です。O/Rマッパーという大きなくくりがあって、その中の1つがActive Recordです。(車という大きなくくりがあって、その中の1つがフェラーリ、みたいな感じです)

※Rails用に開発されたO/Rマッパーが、Active Recordです。

 

ちなみに、O/RマッパーにはActive Record以外にもたくさんあります。

・ICIQL

・Hibernate

・Doctrine

・Propel

などなど…

Railsの場合はActive Recordですが、言語によって色んなO/Rマッパーが使われているということです。

 

以上、Active RecordとO/Rマッパーに関する超ざっくりした説明でした。だいたいのイメージがつかめれば難しい参考書も少しは読めるようになると思うので、参考になれば幸いです。