はじめに
- プログラミング学習を開始して3ヶ月の初学者が、Ruby on Railsの学習を進めていく中で気になった点を調査、言語化することで知識の定着・深化させることを目的とした記事です。
- 今回はRuby on Rails ガイドやRuby on Rails 5 アプリケーションプログラミングを中心に勉強を進めながら、よく分かっていないまま使っていたActive Recordについて、概要を簡潔にまとめました。
Active Recordの概要
Active Recordとは、MVCで言うところのM、つまりモデルに相当するものであり、ビジネスデータとビジネスロジックを表すシステムの階層です。Active Recordは、データベースに恒久的に保存される必要のあるビジネスオブジェクトの作成と利用を円滑に行なえるようにします。Active Recordは、ORM (オブジェクトリレーショナルマッピング) システムに記述されている「Active Recordパターン」を実装したものであり、同じ名前が付けられています。
-
上記内容を初学者の自分なりに咀嚼し、分かりやすく書き換えると以下のようになりました。
-
Active Recordとは、データベースとやり取りするときに使われるメソッドなどが用意されているもの
-
ORMとは、オブジェクト指向言語とリレーショナルデータベースとの橋渡しを受け持つシステムのこと
-
Active RecordはORMを利用することにより、インピーダンスミスマッチを防ぎ、また、SQLを直に実行することなく簡便にデータを取り出すことが可能となっている
- また、Active Recordの機能の中でも重要なのは下記5項目とのことです。(詳細を書いていくと長くなりそうなので、以下に関してはまたの機会にまとめて行こうかと思います。)
- モデルおよびモデル内のデータを表現する
- モデル間の関連付け(アソシエーション)を表現する
- 関連するモデルを介した継承階層を表現する
- データがデータベースに永続的に保存される前に検証(validation)を行なう
- オブジェクト指向の表記方法でデータベースを操作する
まとめ
Active Recordを理解する上で、まずは以下3つのポイントを押さえておく必要があると分かりました。
- Active Recordとは、データベースとやり取りするときに使われるメソッドなどが用意されているものである
- ORMとは、オブジェクト指向言語とリレーショナルデータベースとの橋渡しを受け持つシステムである
- Active RecordはORMを利用することにより、インピーダンスミスマッチを防ぎ、また、SQLを直に実行することなく簡便にデータを取り出すことが可能となっている