nosql - mongodb如何设计schema
PHP中文网
PHP中文网 2017-04-21 10:57:19
0
3
966

我们都知道mongodb是一种面向文档的数据库,但是它的灵活性并不意味着你不需要对其进行结构设计,在代码实施之前进行结构设计是十分必要的。

但是这样问题就来了,目前我们用的几乎所有的数据库设计工具都无法表现出mongodb这种面向文档的数据结构,那么我们在做设计的时候怎么样把我们的结构清晰的展现给别人呢,我可不想用ps一个一个去画框图。

PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(3)
巴扎黑

En fait, la philosophie de conception sur le site officiel est plutôt bonne (http://www.mongodb.org/display/DOCS/S...)
La plus grande différence entre MongoDB et la conception de schéma SQL traditionnelle réside dans la meilleure méthode pour exprimer les relations de modèle (dans MongoDB, vous pouvez utiliser Link ou Embedded)

Un bref résumé :

  1. FirstClass (comme "User") doit utiliser une collection indépendante
  2. Le "type d'entrée" doit être intégré
  3. S'il existe une relation d'inclusion entre deux modèles, utilisez l'intégré
  4. Pour les relations plusieurs-à-plusieurs, utilisez le lien (similaire à la clé étrangère en SQL)
  5. Si un modèle peut stocker très peu d'objets, utilisez une collection indépendante, ce qui aidera le cache du serveur mongodb
  6. La méthode embarquée n'est pas propice aux associations complexes et aux requêtes complexes
  7. La méthode intégrée présente de grands avantages en termes de performances. Si vous avez des exigences de « performances », vous pouvez envisager d'utiliser l'intégration
  8. .
伊谢尔伦

Je suis toujours habitué à traiter mongodb comme une base de données ordinaire, à traiter les collections comme des tables, et la structure des données de chaque collection reste cohérente.
Je ne sais pas si c’est raisonnable, mais au moins cela clarifie ma réflexion.

Peter_Zhu

NoSQL a une philosophie de conception unique et il est recommandé de ne pas se laisser influencer par la pensée RDB.
Je recommande également la lecture d'un article :
Schéma de mappage d'enregistrements MongoDB extrêmement gratuit Entité Java

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal