Help us understand the problem. What is going on with this article?

【Ruby on Rails】Active Recordについて【プログラミング学習100日目】

More than 1 year has passed since last update.

はじめに

  • プログラミング学習を開始して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を直に実行することなく簡便にデータを取り出すことが可能となっている

(ORMのイメージ図)
image.png

  • また、Active Recordの機能の中でも重要なのは下記5項目とのことです。(詳細を書いていくと長くなりそうなので、以下に関してはまたの機会にまとめて行こうかと思います。)
  1. モデルおよびモデル内のデータを表現する
  2. モデル間の関連付け(アソシエーション)を表現する
  3. 関連するモデルを介した継承階層を表現する
  4. データがデータベースに永続的に保存される前に検証(validation)を行なう
  5. オブジェクト指向の表記方法でデータベースを操作する

まとめ

Active Recordを理解する上で、まずは以下3つのポイントを押さえておく必要があると分かりました。

  1. Active Recordとは、データベースとやり取りするときに使われるメソッドなどが用意されているものである
  2. ORMとは、オブジェクト指向言語とリレーショナルデータベースとの橋渡しを受け持つシステムである
  3. Active RecordはORMを利用することにより、インピーダンスミスマッチを防ぎ、また、SQLを直に実行することなく簡便にデータを取り出すことが可能となっている
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away