*の方向性はどうでもいい

プログラミングなどの学習履歴として最初は書いてたけどもう何でもいいやと思って今に至る

ActiveRecordからのORマッピング

 何の気もなしにActiveRecordを使っていましたが、

そもそもActiveRecordとは何のことなのかを調べてみました。

 

概要としては

 

RailsのORマッパー”

 

ということらしいのですが、ORマッパー(オブジェクト関係マッピング)とは

何なのかということですが、

概要を見ると、、

 

Wikiによると

データベースオブジェクト指向プログラミング言語の間の非互換なデータを変換するプログラミング技法である。

とあります。

 

図でいうと、

f:id:ayshi:20161009110918p:plain

参照⇒(

http://si.comp.ae.keio.ac.jp/web_app_dev_material/app/or_mapper/index.html

)

 

オブジェクト指向用に設計されたモデルと

リレーショナルデータベース用に設計されたテーブル定義の構成が

合わない、そのため双方のデータを扱うときの対応付けが

複雑になったり、間違った値を取得するリスクが出てくる。

そういったリスクを軽減するためにORマッピングが誕生したという

ことなのかなと思いました。

 

リレーショナルデータベースをオブジェクトとして直感的に

扱えるようにするとありますが、例えばRubyではORマッピング

ActiveRecordを介して使えます。

データベースを操作するときにはSQL文を使ってではなく、

Rubyの文法に則したような形で扱うことができるようになっているという点が

オブジェクトとして直感的に扱えるという意味だと思います。

 

個人的にはいきなりORマッピングを使うのではなく、

SQLの基礎を十分に学んだうえでORマッピング

学んでいくという手順になるのかなという認識です。