Dans ce billet de blog, je vais discuter de la façon dont la modélisation de données NoSQL est différente de la modélisation de données de schéma relationnel traditionnel, et je vais également vous fournir quelques lignes directrices pour la modélisation des données de base de documents. Si nous regardons le JSON ci-dessous qui modèles éditeurs et livres. le « & » sera remplacé par le caractère « & », et le texte dans l`élément P formera une seule séquence continue de caractères. Étant donné que les références de caractères numériques et les entités prédéfinies ne sont pas reconnues comme telles dans les sections CDATA, ou dans les éléments SCRIPT et STYLE en HTML, elles ne sont pas remplacées par le caractère unique auquel elles semblent faire référence. Si l`exemple ci-dessus était inclus dans une section CDATA, le « & » ne serait pas remplacé par « & »; ni le

être reconnu comme une balise de début. La représentation des entités générales, tant internes qu`externes, est définie dans les interfaces étendues (XML) de Document Object Model Core. Ici, nous avons (principalement) suivi le modèle incorporé, où les données d`autres entités sont incorporées dans le document de niveau supérieur, mais d`autres données sont référencées. Si vos tables existent dans une relation un-à-plusieurs, il est possible de la modéliser en tant que document unique. Dans cet exemple, l`ordre et les éléments de ligne associés sont stockés ensemble et peuvent être lus ensemble avec une recherche sur la clé de ligne (_ ID). Cela rend les lectures beaucoup plus rapides que de joindre des tables ensemble.

Si le nombre de livres par éditeur est faible avec une croissance limitée, il peut être utile de stocker la référence du livre dans le document de l`éditeur. Toutefois, si le nombre de livres par éditeur est illimité, ce modèle de données conduirait à des tableaux mutables et croissants, comme dans l`exemple de document éditeur ci-dessus. Une base de données de documents est un excellent choix pour les applications de gestion de contenu telles que les blogs et les plateformes vidéo. Avec une base de données de documents, chaque entité que les pistes de l`application peuvent être stockées en tant que document unique. La base de données de documents est plus intuitive pour un développeur de mettre à jour une application au fur et à mesure que les besoins évoluent. En outre, si le modèle de données doit être modifié, seuls les documents concernés doivent être mis à jour. Aucune mise à jour de schéma n`est requise et aucune interruption de la base de données n`est nécessaire pour effectuer les modifications. Dans les modèles de programmation modernes orientés objet, différents types d`objets peuvent être associés, par exemple, en étendant le même type de base.

Dans la conception orientée objet, ces objets sont considérés comme des instances du même type de base, ainsi que des instances de leurs sous-types respectifs. Il est utile de stocker des objets dans une table de base de données unique pour simplifier les comparaisons et les calculs sur plusieurs objets. Mais nous devons également autoriser les objets de chaque sous-type à stocker leurs attributs respectifs, qui peuvent ne pas s`appliquer au type de base ou à d`autres sous-types. Cela ne correspond pas à un modèle relationnel, mais il est très facile à faire avec un modèle de document. Voici un exemple d`héritage d`objet pour les produits de magasin, vélo, pédale, et Jersey sont tous les types de produits de magasin: une différence clé entre les modèles orientés document et relationnels est que les formats de données ne sont pas prédéfinis dans le cas de document. Dans la plupart des cas, toute sorte de document peut être stocké dans n`importe quelle base de données, et ces documents peuvent changer dans le type et le formulaire à tout moment. Si l`on souhaite ajouter un COUNTRY_FLAG à un CONTACT, ce champ peut être ajouté aux nouveaux documents au fur et à mesure qu`ils sont insérés, cela n`aura aucun effet sur la base de données ou sur les documents existants déjà stockés.