sql >> Base de Datos >  >> NoSQL >> MongoDB

Mangosta:¿Esquema vs Modelo?

En mongoose, un esquema representa la estructura de un documento en particular, ya sea completamente o solo una parte del documento. Es una forma de expresar propiedades y valores esperados, así como restricciones e índices. Un modelo define una interfaz de programación para interactuar con la base de datos (leer, insertar, actualizar, etc.). Entonces, un esquema responde "¿cómo se verán los datos en esta colección?" y un modelo proporciona una funcionalidad como "¿Hay algún registro que coincida con esta consulta?" o "Añadir un nuevo documento a la colección".

En RDBMS directo, el esquema se implementa mediante sentencias DDL (crear tabla, modificar tabla, etc.), mientras que no existe un concepto directo de un modelo, solo sentencias SQL que pueden realizar consultas altamente flexibles (seleccionar sentencias), así como funciones básicas de inserción y actualización. , eliminar operaciones.

Otra forma de verlo es que la naturaleza de SQL le permite definir un "modelo" para cada consulta seleccionando solo campos particulares y uniendo registros de tablas relacionadas.

En otros sistemas ORM como Ruby on Rails, el esquema se define a través de mecanismos ActiveRecord y el modelo son los métodos adicionales que agrega su subclase Model que definen la lógica comercial adicional.