MongoDB文档模型设计

以下文字总结来源于:极客时间 唐建法的《MongoDB高手课》。

什么是数据模型?

数据模型就是通过创建一个逻辑化、物理化的模型,来提供一个同一个层面交流的目的。

数据模型设计的元素

实体(Entity)

属性(Attribute)

关系(Relationship)

数据模型设计基础

传统模型设计:从概念到逻辑到物理

模型概念 CDM 逻辑模型 LDM 物理模型 PDM
目的 描述业务系统要管理的对象 基于概念模型,详细列出所有实体、实体的属性及关系 根据逻辑模型,结合数据库的物理结构,设计具体的表结构,字段列表及主外键
特点 用概念名词来描述现实中的实体及业务规则,例如”联系人” 基于业务的描述,和数据库无关 技术实现细节和具体的数据库类型相关
主要使用者 用户需求分析师 需求分析师、架构师及开发者 开发者DBA

注意:

在关系型数据库设计中,遵循第三范式原则:数据库在库里尽量不可能存在冗余。 例如“联系人地址”中,要将地址里的省份、城市、区县进行单独存储,因为多个联系人地址中该部分为共有。

MongoDB文档模型设计的三个误区

  1. 不需要设计模型