マングースでは、スキーマは特定のドキュメントの構造を完全に、またはドキュメントの一部として表します。これは、期待されるプロパティと値、および制約とインデックスを表現する方法です。モデルは、データベースと対話するためのプログラミングインターフェイスを定義します(読み取り、挿入、更新など)。したがって、スキーマは「このコレクションのデータはどのようになりますか?」と答えます。モデルは、「このクエリに一致するレコードはありますか?」などの機能を提供します。または「コレクションに新しいドキュメントを追加する」。
ストレートRDBMSでは、スキーマはDDLステートメント(テーブルの作成、テーブルの変更など)によって実装されますが、モデルの直接的な概念はなく、柔軟性の高いクエリ(selectステートメント)と基本的な挿入、更新を実行できるSQLステートメントのみです。 、操作を削除します。
別の考え方として、SQLの性質上、特定のフィールドのみを選択し、関連するテーブルのレコードを結合することで、各クエリの「モデル」を定義できます。
Ruby on Railsなどの他のORMシステムでは、スキーマはActiveRecordメカニズムを介して定義され、モデルは、モデルサブクラスが追加する追加のメソッドであり、追加のビジネスロジックを定義します。