0
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?

ORM(ActiveRecord)

0
Last updated at Posted at 2026-02-07

フレームワーク

ある言語をもとアプリ開発を作りやすくする土台
アプリ開発に必要な『土台』と『ルール』をセットにしたもの

例:Ruby on Rails は、 Rubyのフレームワーク

ライブラリー

誰かが使いやすくした詰め合わせパック
例 gem  ※具体的にgem 'devise'

アクティブレコードメソッド

Rubyの書き方でデータベース(DB)を自由に操作するための、Rails専用のコマンド集
データベースとアプリケーションのやりとりを動きを行うメソッドの総称

スクリーンショット 0008-02-07 19.55.22.png

※all 一つのテーブルの全てのデータ
スクリーンショット 0008-02-07 20.27.14.png

※find  idを指定して特定の1件を取得する
スクリーンショット 0008-02-07 20.29.19.png

※new ※コントローラー
スクリーンショット 0008-02-08 15.44.13.png

※Save  ※コントローラー

スクリーンショット 0008-02-07 20.35.20.png

スクリーンショット 0008-02-08 15.41.39.png

ORM

「プログラミング言語」と「データベース」の仲介役をしてくれる仕組み
例 ルビーのORMはアクティブレコード
※アクティブレコード:データベースの操作をRubyの書き方で操作できる仕組み

(左)生のSQLに変換した場合の例  (右)ActiveRecord
※データベースに対して直接命令
スクリーンショット 0008-02-07 20.21.49.png

ORMを使う理由

■「SQLインジェクション」という脆弱性
生のSQLを自分で組み立てて書くと、悪意のあるユーザーが入力フォームに変な文字を入れてデータベースを破壊したり、情報を盗んだりする隙を与えやすくなります。ActiveRecordメソッドを使えば、Railsが自動でその隙を埋めて(サニタイズして)くれます。

■メンテナンス性(読みやすさ)
VSコードの中にRubyとSQLが混ざっていると、後から見た時に「何をしているコードか」を理解するのに時間がかかります。

■データベースへの依存
直接SQLを書きすぎると、将来「MySQLからPostgreSQLに変えよう」となった時に、全てのSQLを書き直すハメになります。

0
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
0
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?