LINEで個別相談
データベース 2026-04-09

IT用語: ORM(オブジェクトリレーショナルマッパー)とは|SQLを書かずにDBを操作

プログラミング言語のオブジェクトとDBのテーブルを対応付けるORMの仕組みとN+1問題を解説。

ORM(Object-Relational Mapper)とは

ORMは、プログラミング言語のオブジェクト(クラス・構造体)とリレーショナルデータベースのテーブルを対応付け、SQLを直接書かずにプログラムコードでDBを操作できるようにするライブラリです。「SELECT * FROM users WHERE id = 1」をUser.find(1)のように書けます。

主要ORMライブラリ

言語ORM特徴
JavaScript/TSPrisma型安全・宣言的スキーマ
JavaScript/TSSequelize老舗・柔軟
PythonSQLAlchemy高機能・非常に柔軟
RubyActiveRecordRails標準・シンプル
JavaHibernateJPA実装の定番
GoGORMGo標準的ORM

N+1問題

ORMで最も注意すべきアンチパターンです。

// N+1問題の例(Nユーザー分のSQLが発行される)
const users = await User.findAll(); // SELECT * FROM users(1回)
for (const user of users) {
  const posts = await user.getPosts(); // SELECT * FROM posts WHERE user_id = ? (N回)
}

解決策: include(Eager Loading)で関連データを一括取得し、クエリ数を1〜2回に抑えます。

ORMのトレードオフ

ORMは開発速度を上げますが、複雑なクエリや大量データ処理では生SQLより非効率な場合があります。「ORM + 必要に応じて生SQL」が現実的なアプローチです。

関連する用語 (データベース)

全23件を見る

IT用語: データベースレプリケーションとは|読み取り分散と冗長化の仕組み

プライマリDBの変更をレプリカに同期するレプリケーションの仕組み・同期/非同期の違い・活用パターンを解説。

詳しく読む

データベースマイグレーション

データベースのスキーマ(テーブル構造)変更をバージョン管理し、順序立てて適用する仕組み。Prisma Migrate・Flyway・Liquibaseが代表的なツール。

詳しく読む

ORM(オブジェクト関係マッピング)

プログラミング言語のオブジェクトとデータベースのテーブルを対応付け、SQLを書かずにDBを操作できるようにするライブラリ。Prisma・TypeORM・Sequelize等が代表的。

詳しく読む

レプリケーション(データベース複製)

データベースのデータを複数のサーバーに自動的にコピーする仕組み。読み取り負荷の分散・障害時のフェイルオーバー・バックアップ目的で使われる。プライマリ/レプリカ構成が一般的。

詳しく読む

SQL

リレーショナルデータベース(RDB)を操作・検索するための標準言語。

詳しく読む

IT用語: MongoDBとは|JSONライクなドキュメント型NoSQLデータベース

スキーマレスなJSONドキュメントを格納するMongoDBの仕組み・集計パイプライン・RDBとの使い分けを解説。

詳しく読む

Sponsored Link

バグ・要望を報告する