Upgrade to Pro — share decks privately, control downloads, hide ads and more …

オブジェクトモデルと関係モデルの設計

 オブジェクトモデルと関係モデルの設計

オブジェクトモデルと関係モデルを、なぜ別々に設計しなければならないのか。

Ruby on RailsとActive Recordパターンが示した「データ構造を一度だけ定義する」という考え方を出発点に、Domain ModelとEntity Modelを分離する二重モデル方式との違いを整理します。

DRY、データベース管理者の事情、Mapper、現在のエコシステムまで含めて、Active Record方式の利点と現実的な制約を考えます。

Avatar for まりも

まりも

June 22, 2026

More Decks by まりも

Other Decks in Programming

Transcript

  1. データ構造の二重定義 Entity Model データベースのデータを扱うクラス 関係モデルと同等のデータ構造を記述する Domain Model オブジェクト指向で扱うデータと処理を扱うク ラス Mapper

    Entity ModelとDomain Modelを相互に 単純処理で変換する 以上の三つを実装するとデータベース管理者の要望にも対応できる データ定義の工程が2回必要になるけれども
  2. ACTIVE RECORD方式 VS 二重モデル 方式 Active Record方式 二重モデル方式 Domain Model

    Entity Model O/R Mapper RDB Domain Model Entity Model O/R Mapper RDB Mapper