2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ORMフレームワークについて

Posted at

データベースを使ってプログラムを開発するには?

データベースと連携してプログラムを開発する必要がある。プログラムでデータを読み書きしても、

データベースは表形式を扱う
プログラムはオブジェクトを扱う

と扱うデータの種類が異なり、どう扱うかが問題になる。その問題を解消したのが、ORMだったんですね。

ORM(Object Relational Mapping)とは?

データベースとオブジェクト指向プログラミング言語(JavaやRubyなど)の「翻訳者」として機能しているプログラム技術または仕組みのこと

・UserテーブルからIDを条件にレコードを取得する場合
<SQLの場合>

SELECT * FROM USER WHERE ID = 1 LIMIT 1;

<RailsのActive Recordの場合>

User.find(1)

Active Recordを使って分かるのが、
①データベースの「テーブル」を、オブジェクト指向プログラミング言語の「クラス」として扱っている
②「クラス」に紐づくメソッドを使ってデータベースを操作するので、SQLより短く直感的で分かりやすい

ORMデザインパターンの種類について

①Active Record
データベースの各テーブルをモデルとして扱います。そしてActive Recordを使うORMは、CRUDメソッドを用意していて、オブジェクトを生成しやすくなる。
20220803082244.png
画像取得元:https://blog.colopl.dev/entry/2022/08/31/110152

②Data Mapper
Active Recordと違って、テーブル操作の機能を集めたDataMapperが存在し、モデルとテーブルの仲介役となる。
20220803082137.png
画像取得元:https://blog.colopl.dev/entry/2022/08/31/110152

調べてみて分かったこと

「データベースは表形式」「プログラムはオブジェクト」とデータの種類が異なっても、翻訳機能を持つORMフレームワークのおかげで、オブジェクト指向プログラミング言語を使ってデータベースを操作できる

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?