MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Mangusta:schema vs modello?

In mangusta, uno schema rappresenta la struttura di un particolare documento, completamente o solo una parte del documento. È un modo per esprimere proprietà e valori attesi, nonché vincoli e indici. Un modello definisce un'interfaccia di programmazione per l'interazione con il database (lettura, inserimento, aggiornamento, ecc.). Quindi uno schema risponde "come saranno i dati in questa raccolta?" e un modello fornisce funzionalità come "Ci sono record che corrispondono a questa query?" o "Aggiungi un nuovo documento alla raccolta".

In RDBMS diretto, lo schema è implementato da istruzioni DDL (crea tabella, altera tabella, ecc.), mentre non esiste un concetto diretto di modello, solo istruzioni SQL che possono eseguire query altamente flessibili (seleziona istruzioni) nonché inserimento di base, aggiornamento , elimina le operazioni.

Un altro modo per pensarci è che la natura di SQL consente di definire un "modello" per ogni query selezionando solo campi particolari e unendo insieme record di tabelle correlate.

In altri sistemi ORM come Ruby on Rails, lo schema è definito tramite meccanismi ActiveRecord e il modello è costituito dai metodi aggiuntivi aggiunti dalla sottoclasse Model che definiscono una logica aziendale aggiuntiva.