DAMA数据管理知识体系指南(5):数据建模和设计

一、数据建模和设计语境关系图

数据建模是发现、分析和确定数据需求的过程,用一种称为数据模型的精确形式表示和传递这些数据需求。

数据模型有助于组织能够理解其数据资产,数据建模的直接成果不是数据库,而是对组织数据的理解

数据建模最常见的模式:关系模式、多维模式、面向对象模式、事实模式、时间序列模式、NoSQL模式

每种模式又可以分为三层模型(不是所有的都可以分为三类):概念模型、逻辑模型、物理模型

每种模型都包含一系列组件,如实体、关系、事实、键和属性

因为该部分关键概念很多,详见数据建模核心概念章节。

二、业务驱动因素

驱动组织进行数据建模和设计的常见业务因素如下:

1)提供有关数据的通用词汇表。

2)获取、记录组织内数据和系统的详细信息

3)在项目中作为主要的交流沟通工具

扫描二维码关注公众号,回复: 16299815 查看本文章

4)提供了应用定制、整合,甚至替换的起点

良好的数据建模会降低支持成本,增加未来需求重复利用的可能性,从而降低构建新应用的成本。数据模型是元数据的一种重要形式。

三、活动

1、规划数据建模:评估组织需求、确定建模标准、明确数据模型存储等任务

2、建立数据模型:一个不断迭代的过程,不断进行优化,直到满足业务诉求。常见的建立数据模型的方法包括正向工程和逆向工程:

正向工程:从需求开始构建应用程序的过程。首先通过概念模型来理解需求的范围和核心的术语。然后建立逻辑模型详细描述业务过程。最后通过具体的建表语句来实现物理模型。

逆向工程:记录现有数据库的过程。物理数据建模通常是第一步,以了解现有系统的技术设计;逻辑数据建模是第二步,以记录现有系统满足业务的解决方案;概念数据建模是第三步,用于记录现有系统中的范围和关键术语。

*该部分在执行时,细节比较多,详细的操作指南,可在执行时再次翻阅DMBOK

3、审核数据模型:持续改进、模型评估和正式发布。

4、维护数据模型:数据模型需要保持最新状态。在维护数据模型时一个好的习惯是对最新的物理数据模型进行逆向工程,并确保它与相应的逻辑数据模型保持一致。许多数据建模工具可以自动比较物理模型与逻辑模型差异

四、度量指标

可以参考下表来制定适合自己企业的数据模型计分卡和评估指标。

五、数据建模核心概念

1、实体、关系、属性、域

1.1、实体

实体定义是有别于其他事物的一个事物,是一个组织收集信息的载体。一个实体可以被认为是一些基本问题的答案——谁、什么、何时、何地、为什么、怎么办或这些问题的综合。

实体在不同层级模型中的叫法不同:

概念模型:概念concept/术语term

逻辑模型:实体entity

物理模型:表table

实体类型——实体——实体实例之间的关系

1.2、关系

关系是实体之间的关联。关系捕获概念实体之间的高级别交互、逻辑实体之间的详细交互和物理实体之间的约束。

关系有一些内在的属性,如基数,元数等:

关系的基数:一对一、一对多、多对多关系

关系的元数:涉及到的实体的个数,一元关系、二元关系、三元关系等

1.3、属性

属性是定义、描述和度量实体某方面的性质。

属性中的标识符,也称为键。

按照结构分:单一键、组合键(多个属性集合)、复合键(组合键 + 其他)、代理键(也是单一键,表的唯一标识符,技术上的自增ID)

按照功能分:候选键(标识实体实例的最小属性集合,可能包含一个或多个属性)、主键(被选为实体唯一标识符的候选键)、超键(唯一标识实体实例的任何属性集)、备用键(没有被选为主键的候选键)——一般主键是代理键,备用键是业务键

1.4、域

域代表某一属性可被赋予的全部可能取值,也被称为值域。

2、常用数据建模方法

2.1、关系建模

关系建模是一种能够清晰表达含义的组织数据的系统方法,在减少数据存储冗余方面卓有成效,特别适合设计操作型的系统。最常见的就是信息工程法,用三叉线表示基数

2.2、维度建模。

维度建模的理念是,数据组织的方式是为了优化海量数据的查询和分析

维度建模主要包括下面概念:

    • 事实表:特定的数值型度量值。如金额、交易量。往往占据数据库的大部分空间。
    • 维度表:表示业务的重要对象,主要包含文字描述。如用户信息,地区信息。
    • 粒度:事实表中单行数据的含义或描述,如日期、地区、用户等

2.3、非关系型数据库

NoSQL:Not only SQL。不是关于如何查询数据库,而是关于如何存储数据的。

通常有四类:文档数据库、键值数据库、列数据库、图数据库。

3、关系模型和维度模型不同层级的展现

3.1、概念模型CDM

一系列相关主题域的集合来描述概要数据需求。概念数据模型仅包括给定的领域和职能中基础和关键的业务实体,同时也给出实体和实体之间关系的描述。

3.2、逻辑模型LDM

对数据需求的详细描述,通常用于支持特定用法的语境中(如应用需求)。逻辑模型不受任何技术或特定实施条件的约束,逻辑数据模型通常是从概念数据模型扩展而来。

3.3、物理模型PDM

描述了一种详细的技术解决方案,通常以逻辑模型为基础,与某一类系统硬件、软件和网络工具相匹配。物理模型与特定技术相关

关系模型

维度模型

概念建模

逻辑建模

物理建模

*由于物理数据模型受实现技术的约束,因此常常通过对结构进行组合(逆范式化)来提高检索性能,如这里的学生和学校。

4、规范化

规范化(Normalization)是运用规则将复杂的业务转化为规范的数据结构的过程。范式化的基本目标是保证每个属性只在一个位置出现,以消除冗余或冗余导致的不一致性。范式的层次包括:

1)第一范式(1NF)。确保每个实体都有一个有效的主键,每个属性都依赖于主键,而且消除冗余的分组,以确保每个属性的原子性(不能有多个值存在)。第一范式包括了与通常称为关联实体的附加实体的多对多关系解析。

2)第二范式(2NF)。确保每个实体都有最小的主键,每个属性都依赖于完整的主键。

3)第三范式(3NF)。确保每一个实体都没有隐藏的主键,每个属性都不依赖于键值之外的任何属性(仅依赖于完整的主键)。

实践中一般达到第三范式即可,4NF,5NF很少出现

DAMA对范式的解释有点官方,为了帮助理解,可以参考:

六、关键概念/工具/方法

1、数据建模和设计质量管理

1.1、开发数据建模和设计标准

如前所述,数据建模和数据库设计标准提供了满足业务数据需求、符合企业和数据架构标准以及确保数据质量的指导原则。数据建模和数据库设计标准应包括以下内容:

1)标准数据建模和数据库设计可交付成果的列表和描述。

2)适用于所有数据模型对象的标准名称、可接受的缩写和非常用单词的缩写规则列表。

3)所有数据模型对象的标准命名格式列表,包括属性和分类词。

4)用于创建和维护这些可交付成果的标准方法的列表和说明。

5)数据建模和数据库设计角色和职责的列表和描述。

6)数据建模和数据库设计中捕获的所有元数据属性的列表和描述,包括业务元数据和技术元数据。例如,指导原则中可以设置数据模型为每个属性捕获数据血缘的期望。

7)元数据质量期望和要求(参见第13章)。

8)如何使用数据建模工具的指南。

9)准备和领导设计评审的指南。

10)数据模型版本控制指南。

11)禁止或需要避免的事项列表。

1.2、评审数据模型以及数据库设计质量

组建具有不同背景、技能、期望和意见的不同领域的专家小组对数据模型和数据库设计进行评审。在组建专家评审小组时,可能需要通过特定途径,邀请有关领域的专家参与。参与者必须能够讨论不同的观点,并最终达成小组共识,不存在任何个人冲突,因为所有参与者都有共同的目标,即推广最实用、表现最好、最可用的设计。

1.3、管理数据模型版本与集成

对数据模型和其他设计规范需要谨慎的变更控制,就像需求规范和其他SDLC可交付成果一样。注意对数据模型的每次更改,需要以时间线记录变更内容。如果更改影响到了逻辑数据模型,如新的或更改了的业务数据要求,则需要数据分析师或架构师审核并批准对模型的更改。每个变更都应该予以记录,包括:

1)为什么(Why)项目或情况需要变更。

2)变更对象(What)以及如何(How)更改,包括添加了哪些表,修改或删除了哪些列等。

3)变更批准的时间(When)以及将此变更应用于模型的时间(不一定在系统中实施更改)。

4)谁(Who)做出了变更。

5)进行变更的位置(Where)在哪些模型中。

2、行业数据模型

行业数据模型是为整个行业预建的数据模型,包括医疗保健、电信、保险、银行、制造业等行业。这些模型通常范围广泛且内容详细。一些行业的数据模型包含数千个实体和属性。可以通过供应商购买行业数据模型,也可以通过ARTS(零售)、SID(通信)或ACORD(保险)等行业组织获得

任何购买的数据模型都需要进行定制以适应组织的特点,因为它是根据其他组织的需求进行设计的。所需的定制级别取决于该数据模型与组织需求的接近程度,以及最重要部分的详细程度。在某些情况下,它们可以作为工作参考,帮助建模人员制作更完整的模型。有时,它只能帮助数据建模人员节约一些公共元素的录入工作。

3、数据库设计中的最佳实践

在设计和构建数据库时,DBA应牢记以下PRISM设计原则:

1)性能和易用性(Performance and Ease of Use)。确保用户可快速、轻松地访问数据,从而最大限度地提高应用程序和数据的业务价值。

2)可重用性(Reusability)。应确保数据库结构在适当的情况下,能够被多个应用重复使用,并且可用于多种目的(如业务分析、质量改进、战略规划、客户关系管理和流程改进)。避免将数据库、数据结构或数据对象耦合到单个应用程序中。

3)完整性(Integrity)。无论语境如何,数据应始终具有有效的业务含义和价值,并且应始终反映业务的有效状态。实施尽可能接近数据的数据完整性约束,并立即检测并报告数据完整性约束的违规行为。

4)安全性(Security)。应始终及时向授权用户提供真实准确的数据,且仅限授权用户使用。必须满足所有利益相关方(包括客户、业务合作伙伴和政府监管机构)的隐私要求。强化数据安全性,就像数据完整性检查一样,执行数据的安全性约束检查,尽可能确保数据的安全性。如果检查发现存在违反数据安全性约束的情况,则立刻报告违规行为。

5)可维护性(Maintainability)。确保创建、存储、维护、使用和处置数据的成本不超过其对组织的价值,以能够产生价值的成本方式执行所有数据工作;确保尽可能快速地响应业务流程和新业务需求的变化。

猜你喜欢

转载自blog.csdn.net/weixin_29403917/article/details/131047363
今日推荐