ORMとはなんぞや
ORM (オブジェクト関係マッピング) とは
ORMとは、Object-Relational Mappingの頭文字をとったものです。
その名前からわかる通り、オブジェクトと関係(関係データベース、RDB)とのマッピングを行うものです。
ここでの、オブジェクトとはオブジェクト指向におけるオブジェクトのことであり、関係とはRDBのことです。
多くのプログラミング言語はオブジェクトを扱うので、そのオブジェクトをRDBに保存できるように、対応付けを簡単にするためORMを使います。
もっと簡単にいうと、SQLを直接書くことなく、オブジェクトのメソッドでDB操作ができる、ということです。
例えば、createメソッドで新規作成を行ったり、destroyメソッドで削除する、といった感じです。
また、DBの作成やマイグレーションといったDB操作もORMで行うことができます。
ORMを使った例を一つ示します。
RailsのActiveRecordを使って、ユーザー一覧を取得する場合を考えます。
SQLで書く場合、SELECT文で取得します。
SELECT * FROM users;
一方、Railsの場合はallメソッドを呼ぶだけです。
users = User.all
各言語の有名ORM
それぞれプログラミング言語ごとに、ORMのライブラリがいくつか提供されています。
Ruby on RailsなどのWebフレームワークに、搭載されている場合もあります。
言語 | ORM | |
---|---|---|
Ruby | ActiveRecord | Ruby on RailsのORM |
Python | SQLAlchemy | |
Python | Django ORM | DjangoのORM |
Node.js | Sequelize | |
Node.js | TypeORM | |
PHP | Eloquent |
終わり