ActiveRecordとは? わかりやすく解説

Weblio 辞書 > コンピュータ > IT用語辞典 > ActiveRecordの意味・解説 

ActiveRecord

プログラミングのほかの用語一覧
オブジェクト指向:  単一継承  デストラクタ  UML
コーディング:  ActiveRecord  アキュムレーター  値渡し  後判定ループ

Active Record

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/09/06 14:15 UTC 版)

Active Record(アクティブ・レコード)とは、プログラミングにおいて、企業アプリケーションで頻繁に認められるデザインパターンである。

概要

Active Recordはデータベースからデータを読み出すためのアプローチである。データベーステーブルあるいはビューの1行が1つのクラスにラップされ、オブジェクトのインスタンスがそのデータベースの1つの行に結合される。このクラスはデータベースアクセスのカプセル化も行う[1]。オブジェクトの生成後は、保存メソッドで新しい行がデータベースに追加される。 オブジェクトが更新されると、データベースの対応する行もまた更新される。ラッパークラスはテーブルあるいはビューの各カラムに対するアクセサメソッドを実装するが、それ以外の振る舞い(MVCのモデルが担当すべきロジック)も記述することができる[1]

テーブルとクラスが一対一で結びつくことから非常にシンプルな構造となることが特徴で、後述するRuby on Railsでは、データベース定義からほぼ自動でCRUD操作を備えたクラスを作り出すことを実現している。一方でその性質上、複雑な設計のデータベースとは相性が悪い。[1]

Ruby on Rails

広く使われている実装のひとつは、Ruby on Rails のActive Recordの実装である。例えば、id 列(シリアルな主キー)、name 列(varchar 型)、price 列(money 型あるいは double 型)を持った parts テーブルがあれば、次のようなコードになる。

a = Part.new
a.name = "Sample part"
a.price = 123.45
a.save

上記のコードは与えられた値で新しい行をデータベースに作る。これは次の SQL コマンドにほぼ等価である。

INSERT INTO parts (name, price) VALUES ('Sample part', 123.45);

逆に、データベースを検索するためこのクラスを用いることもできる。

widgetname = "gearbox"
b = Part.where(:name => widgetname).first

このコードは、name 列が Ruby 変数 widgetname の値一致する最初の行を取得して、オブジェクトを生成する。取得については、次の SQL コマンドと同義であるが、前述のrubyコードにそれは現れない。

SELECT * FROM parts WHERE name = 'gearbox' LIMIT 1;

別の方法として、上記のコードは次のように短くすることもできる。

b = Part.find_by_name("gearbox")

脚注

  1. ^ a b c デザインパターンから見たActive Record”. TECHSCORE (2012年5月23日). 2024年4月1日閲覧。

関連項目

外部リンク

  1. ^ Data Mapper”. martinfowler.com. 2024年9月6日閲覧。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ActiveRecord」の関連用語

ActiveRecordのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ActiveRecordのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2024 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリActiveRecordの記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのActive Record (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS