Non seulement cela dépend de ce que la base de données que vous utilisez, mais cela dépend aussi de la langue/cadre vous codez avec. La plupart des frameworks orientés attendent un ODM de quelque sorte où vous définissez un schéma qui est appliqué dans vos modèles - comme Rails, par exemple - et d'autres frameworks vous permettent de faire ce que vous voulez, ce qui vous met à risque d'avoir des données dans Pour les formats multiples et ne sachant pas quoi en faire ...
Pour MongoDB j'ai joué avec la notion d'un schéma doux, où chaque collection (table) a un document avec un titre de "schéma" et définit le différents éléments et leurs types de données dans un tableau intégré appelé "définition". Cela me permet de générer des échafaudages dynamiques basés sur chaque collection, et peut être très utile lors de l'intégration avec des plates-formes non-ODM - dans mon cas, Joomla.
Une autre approche consiste à stocker ces définitions de schéma dans une collection distincte appelée schémas ou schémas ou autres.
Vous souhaitez certainement verrouiller une sorte de schéma dans votre code pour vous assurer que vos données sont dans un format prévisible; Il est également important d'y répondre chaque fois que vos schémas changent, et ils le feront invariablement.