数据模型简介
数据模型的概念
数据模型是一组由符号、文本组成的集合,用以准确表达信息景观,达到有效交流、沟通的目的。
数据模型建立条件如下:
- 只包含类型:无需显示具体数值,需要显示数据对应的概念或类型。
- 包含相互作用:需要抓住不同概念、类型间的相互作用。
- 简介的交流媒介:显示各个类型,并用简单有效的符号表达它们之间的相互作用。
数据模型的价值
数据建模是构建应用程序的必要组成部分。数据模型之所以如此重要,是因为它所带来的两大核心价值:交流性和精确性。
数据建模的交流性
基于数据建模的交流,并非只是在建模结束后才开始的。事实上,伴随着数据建模进程,需要更多的交流和知识分享,即交流沟通在数据建模前、数据建模中和数据建模后都同样具有价值。
- 数据建模前的交流
- 数据建模中的交流
- 数据建模后的交流
数据建模的精确性
数据建模的精确性指的是阅读模型时,其中的每一个符号和条目都是清晰、无二义性的。换言之,如果我看到模型中的某一个符号并说:“我看见了 A”,那么另外一个看到这个符号的人就不可能说“我看见了 B”。由于数据模型引入了精确性,所以无需试图花费宝贵的时间来解释模型,相反,时间可以用来讨论、验证一些与建立某一模型相关的概念。
导致数据模型的精确性降低的情况:
- 弱定义
- 伪数据
- 模糊或缺失的标签
数据模型的作用
- 理解已有应用程序
- 风险管理
- 了解业务
- 培训团队成员
数据模型的设置
数据模型的范围设置
- 部门(工程)
- 组织(应用程序)
- 行业
数据模型的抽象设置
- 在业务云中
- 在数据库云中
- 在地面上
数据模型的时间范围
- 当前
- 未来
数据模型要素
实体
实体的概念
一个实体表示的是对业务非常重要或值得获取的事物及与之相关的信息集合。每个实体都有一个名词或名词词组定义,并符合六大种类之一:谁、什么、何时、何地、为何、如何。
实体的类型
数据模型之美在于你可以根据不用的受众把相同的信息以不同的细节水平呈现出来。
- 概念:高层次的业务流程的解决方案或应用程序频繁定义的范围和重要术语。
- 逻辑:业务流程的详细解决方案或应用程序。
- 物理:应用程序详细的技术解决方案。
实体的类型有
- 强类型:可以独立存在的实体
- 弱类型:至少依赖于一个其他实体的实体
属性
属性的概念
属性是一则相对独立的信息,其值用以识别、描述、评估实体实例。
属性的类型
属性也可以在概念、逻辑、物理等层次上加以描述
- 概念:对业务起着基本且又关键影响的概念。
- 逻辑:属性对于业务解决方案都有不同程度的贡献,并且与任何软、硬件技术无关。
- 物理:与物理数据模型对应的属性可以被理解为一个物理“容器”,用来存储数据。
域
域的概念
域是某一个属性所有可能取值的集合。域中往往还包含一组验证标准,使得域可以被多个属性使用。如果属性与某个域关联,那么该属性的取值绝对不能超出该域。
域的类型
- 格式域
- 列表域
- 范围域
域的作用
- 插入数据前,通过域的检查来提高数据质量。
- 数据模型的交流性更强。
- 使得新建模型、维护现有模型变得更有效率。
关系
关系的概念
数据模型中的规则即为关系,关系被表示成一条连接两个实体的线段,用来说明实体间的规则或导航路径。
关系的类型
规则可以是数据规则,也可以是行为规则。数据规则指示数据间如何关联,行为规则指示当属性包含有某特定值时,需要采取什么操作。
- 数据规则
- 结构完整型(基数规则)- SI
- 基数概念:基数指定了一种可以被实施的数据规则。
- 参照完整型 - RI
- 结构完整型(基数规则)- SI
- 行为规则
标签是出现在关系线上的动词。标签应该在可能的情况下尽量详细,来确保数据模型的准确度。
使用子类型可以将一些类似的属性或将一些相似且有关系的实体的关系进行分组。
键
键的概念
键由一个或多个属性构成,其目的在于实施规则,有效检索数据,而且允许从一个实体导航至另一个实体。
键的类型
- 候选键
- 代理键
- 主键
- 备用键
- 外键
- 辅助键
- 组合键
候选键是一个或多个可以唯一标识实体实例的属性。其具备以下 4 个基本特征:
- 唯一性
- 强制性
- 非异变性
- 最小化
代理键是数据表的唯一标识符,它通常由一个固定大小的、无人工干预的、系统自动产生的计数器生成,代理键不具备任务业务含义。
主键是在众多候选键中首选出来唯一标识实体的选项。
备用键也同样是候选键,具备唯一性、稳定性和强制性和最小化,即使有些备用键没有被选择充当主键,但它仍然可以被使用,以检索特定的实体实例。
外键是可以与其他实体产生关联的一个或多个属性。(或者在递归关系中,连接同一个实体的情况下,有可能存在来自同一个实体的两个实例相互关联)
辅助键是经常被访问的,或者需要被快速检索到的一个或多个属性。辅助键又被称为非唯一性索引或倒排入口。辅助键无需是唯一的、稳定的,而且也不要求必须拥有值。
由多个属性组成的键称为组合键。