数据模型(上):模型分类和模型组成

1.模型分类

​ 数据模型是一种由符号、文本组成的集合,用以准确表达信息景观,达到有效交流、沟通的目的。数据建模者要求能与来自不同部门,具有不同技术背景,不同业务经验,不同技术水平的人员交流、沟通。数据建模者要了解每个人员的观点,并通过反馈证明理解无误,最终作为组件,构建在模型中。

​ 数据模型的两大核心价值:交流性和精确性。

  • 交流性:在企业开发过程中,不同的部门、团队、不同技术背景和业务经验的成员,在进行业务沟通时需要对概念(如订单、客户等)达成统一的理解,数据模型就是一种理想的工具。
  • 精确性:阅读模型时,每一个符号和条目都是清晰的、无歧义的。

​ 数据模型有三个层次:概念模型、逻辑模型、物理模型。

​ 概念模型(Conceptual Data Model,CDM)包含模型最基本的、关键的概念,如“商品”、"员工"等,描述预设范围内的业务需求,不涉及具体的实体属性。

概念模型
在这里插入图片描述

​ 逻辑模型(Logical Data Model,LDM)针对业务需求更加具体的解释实体,表示详细的业务解决方案,比如“员工”包含姓名、出生日期等属性。逻辑模型与平台无关。

逻辑模型
在这里插入图片描述

​ 物理模型(Pysical Data Model,PDM)表示详细的技术解决方案,在逻辑模型基础上,增加了字段类型、约束等信息,与特定数据库相关。

物理模型
在这里插入图片描述

​ 建模模式有两种:关系和维度。关系数据建模是通过准确的业务规则来描述业务如何运作的过程;维度数据建模是通过准确的导航来描述业务如何被监控的过程,侧重于度量结果。比如在关系模型中可以约束:一个订单至少对应一件商品;而维度模型中,可以通过天、月、年等维度展示商品销售额。

2.模型组成

2.1 实体

​ 实体表示与业务有关的重要且有价值的事务的信息集合。

​ 每个实体设计时,都由一个名词或名词词组定义,应该符合六大类型之一:谁(Who)、什么(What)、何时(When)、何地(Where)、为何(Why)、如何(How)。

在这里插入图片描述

​ 实体可分为强实体和弱实体:强实体可独立存在,表示独立的人、事或地点,用直角矩形表示,如通过用户编号能直接查到用户,用户可独立存在;弱实体至少依赖一个其他实体,用圆角矩形表示,如用户购买商品生成订单,订单依赖于商品,即创建订单之前商品必须在系统中存,那么订单就是弱实体。

实体和弱实体
在这里插入图片描述

2.2 属性和域

​ 属性用于描述业务特征,不同身份的用户对它有不同的称呼,业务人员可能称呼为“特征”/“标签”,数据库开发人员习惯用"列"或者"字段"来称呼。

​ 某一属性所有可能取值的集合称为域。属性的取值不能超出该域。域可以由一组值限定:比如性别的域,只能限定为男和女。域也可以通过规则限定,比如日期必须是合法日期,类似2月30日的值就是非法的。

​ 通常域划分为三种类型:

  • 格式域:将数据指定为数据库中的标准类型,如整型(Integer)、日期(Date)都是格式域。
  • 列表域:可以理解为下拉列表,给定枚举集合作为取值范围,如性别只能取男和女,订单状态有:未支付、已支付、已关闭等。
  • 范围域:要求取值介于最大值和最小值之间。如订单的交付日期必须在天到未来三个月内的某一天。

​ 列表域和范围域都是格式域的改良。

2.3 关系

​ 数据模型中的规则即为关系,关系可以是数据规则,也可以是行为规则。数据规则指数据间如何关联;行为规则指当属性包含某特定值时,需要采取什么操作。

​ 数据规则包括结构完整性(Structural Integrity,SI)和参照完整性(Referential Integrity,RI)。结构完整性定义了参与某个关系的实体数量,如每个产品可以出现在一个或多个订单上,每个订单上有且仅有一个产品;参照完整性用于确保取值的有效性,比如订单不能脱离有效的产品而存在。通过上述例子可以看出,当定义了SI时,对应的RI规则也随之产生。

​ 行为规则指当属性包含某特定值时,需要采取什么操作,比如一个订单包含5件以上商品,可享受九折优惠。

​ 数据模型可以进行数据描述并指定数据规则,但在数据模型中不能加上行为规则。行为规则在应用程序中限定。

​ 基数表示一个实体的多少实例与另一个实例发生关系。如每个部门包含一个或多个员工。基数可以选择0、1或多个(m)。0或1用于说明关系中实体的实例是否被需要,多用于描述大于0的任何数。但需要注意的是,不能指定一个特定的数字来表示多,如1辆车有4个轮子,我们只能说1辆车有多个轮子,车和轮子之间是一对多的关系。

​ 在关系图中,用连线表示关系,连线中有竖线的一端为1的一方,“鱼尾纹”的一端表示多的一方。多对多关系中两端都是鱼尾纹,但父实体一端是竖线。连线上有标签来说明关系所表示的规则。

在这里插入图片描述

下一期分享:键和规范化。
​ 参考资料:
《数据建模》[美]Steve Hoberman 著 丁永军 译

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

专治八阿哥的孟老师

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值