MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mangouste :schéma vs modèle ?

Dans la mangouste, un schéma représente la structure d'un document particulier, soit complètement, soit juste une partie du document. C'est un moyen d'exprimer les propriétés et les valeurs attendues ainsi que les contraintes et les index. Un modèle définit une interface de programmation pour interagir avec la base de données (lecture, insertion, mise à jour, etc.). Ainsi, un schéma répond "à quoi ressembleront les données de cette collection ?" et un modèle fournit des fonctionnalités telles que "Y a-t-il des enregistrements correspondant à cette requête ?" ou "Ajouter un nouveau document à la collection".

Dans un SGBDR simple, le schéma est implémenté par des instructions DDL (créer une table, modifier une table, etc.), alors qu'il n'y a pas de concept direct de modèle, juste des instructions SQL qui peuvent effectuer des requêtes très flexibles (instructions de sélection) ainsi que des insertions de base, mettre à jour , supprimer des opérations.

Une autre façon de penser est que la nature de SQL vous permet de définir un "modèle" pour chaque requête en sélectionnant uniquement des champs particuliers ainsi qu'en joignant les enregistrements des tables associées.

Dans d'autres systèmes ORM comme Ruby on Rails, le schéma est défini via des mécanismes ActiveRecord et le modèle est constitué des méthodes supplémentaires ajoutées par votre sous-classe Model qui définissent une logique métier supplémentaire.