当硬盘驱动器上第一次写入以比特计量的数据时,计算机科学家们不会想到仅仅 50 年后我们就迎来了数据大爆炸。但身为先驱者,他们或许预见到了数据管理将成为一个艰巨挑战。对于数据管理,一个应对之策是数据建模,即基于特定企业业务需求来开发相应的数据存储和检索解决方案。
什么是数据建模?
数据建模的第一步是概念建模,即了解企业的业务需求以及数据。随后,界定数据元素、数据元素间的关系和数据结构(称为“逻辑建模”),以便创建一个可管理、可延展、可伸缩的数据管理系统来契合业务需求和要求(称为“物理建模”)。最后,基于物理建模过程生成的物理模型构建数据库。数据建模对于所有数据驱动型企业都至关重要,因为它不仅关系着能否运用数据来满足业务需求,还关系着能否基于业务用途来优化数据。
数据建模可能在概念上十分抽象,但它在实际应用中高度影响着一家企业如何存储和检索数据,进而直接影响着企业领导者能够获取哪些类型的报告来运营组织和业务,做出关键决策。
数据建模与数据分析对比
数据建模与数据分析是共生关系。数据建模的成果能够提高数据挖掘和数据分析的效率和有效性。更具体地说:
-
数据建模旨在为企业设计数据存储和检索方案。它将分析业务需求,应用经过预测试的模板(或模式)和优秀实践,然后创建一个可高效提供所需信息和洞察的数据库结构。
-
数据分析着眼于企业的数据,它解析数据并创建报告。数据分析通常分为即席分析(在有需要时生成特定报告)和预先规划的分析(按照特定时间安排开展的定期分析)。
要点
- 数据建模基于企业需求和要求来设计数据存储系统。
- 收集和使用海量数据的企业可通过数据建模来提高数据质量。
- 数据建模可提供一套以适当标准为基础的方法来帮助企业设计、管理和发展数据资产。
- 数据建模流程分为 8 个步骤。
数据建模定义
数据建模是企业设计数据收集、更新、组织、存储和分析方案的一个过程。在数据建模过程中,需要将关键业务概念映射到可用/潜在可用数据,从而以可视化方式展示这些概念间的关系和数据仓库的结构。数据建模的最终成果有助于企业高效分析数据,捕获有意义的数据洞察。
数据建模是一项技术性较强的工作,难度较大,与数据库和编程语言密切相关。换言之,选择哪种数据库系统来存储数据,选择哪个编程语言来描述数据模型,都会对企业开发数据模型产生影响。不过,幸运的是,企业资源计划 (ERP) 等现代商用软件通常都提供预配置的数据模型,企业可以按标准配置使用或按需进行自定义。
为何要使用数据模型?
数据库能够发挥多大价值,取决于企业对数据库的信心。对此,数据建模能够确保数据库准确展示(通常存储在数据仓库中的)企业数据,以便对这些数据进行有意义的分析。
从战术层面来看,数据建模可帮助企业“定义”数据库,包括数据表之间的关系、赖以建立索引和连接数据表的键以及使数据访问变得高效的存储过程。从更高层面来看,使用数据模型可确保数据库在设计上符合企业需求。数据建模离不开利益相关者的支持,没有他们的支持,企业不仅难以高效组织和存储数据,大概率也无法在后续数据分析工作中捕获有效洞察。
另外,数据建模还能提供一套以适当标准为基础的方法来帮助企业构建、管理和发展数据资产。通过开展数据建模,创建和使用数据模型模式(即面向常见数据类型的优秀实践模板),企业可以更充分地利用所收集的数据,更有效地发展数据业务和壮大相关团队。
数据建模技术
如今,企业可使用多种技术和编程语言来开发数据模型。数据建模技术是指通过一种标准方法,以行之有效的方式来表示数据;编程语言通过定义标准表示法(以描述数据元素间关系)来表示数据模型。企业可以使用任意一种编程语言来描述任何一种数据建模技术。
数据建模技术和编程语言的选择取决于企业的领域知识和客户需求。例如,与国防部开展业务的企业就必须使用 IDEF1x 标记语言。
目前,数据科学家群体中最流行的数据建模技术是实体关系 (E-R) 模型,最流行的编程语言是统一建模语言 (UML)。
实体关系 (E-R) 模型
E-R 模型可提供高级视图,以图表形式展示一家企业的数据及数据间关系。顾名思义,它是对数据“实体”间的关系建模。另外,E-R 模型还将定义对于最终数据库不可或缺的关键概念。
举例来说,一家医学研究行业出版商可能会发现,出版的每一份研究论文(即“实体”)与作者数据表之间存在一对多关系,因为某一特定实体可能有多位作者。与此类似,一份论文/实体与医学专业数据表之间存在一对一关系,与订阅用户数据表之间存在一对多关系。出版商的 E-R 模型将显示,作者数据表必须支持实体标识,容许将多名作者关联至同一论文。论文数据表必须支持医学专业标识,将论文关联至医学专业数据表。
如果作者数据表需要连接专业数据库,E-R 模型将以最高效率建立关联。本示例中,作者数据表与专业数据表间接关联,但在某些使用场景下可能效率并非最高。如有需要,E-R 模型可以直接关联作者数据表与医学专业数据表。
E-R 模型被很多人视为关系型数据库设计的最佳选择,除它之外,还有另外三种常用的数据建模技术。它们分别是:
-
层次模型:类似于组织架构图,主实体单独位于最上层,与主实体关联的其他数据如同树根一样向下扩展。所有数据元素都存在一对多关系。
-
面向对象模型:将数据库视为一系列对象(位于可由开发人员随意定义的容器中,例如列表和数据集)的集合,可关联实际数据库以内和以外的相关数据。但面向对象数据库不适用于深度分析场景。
-
对象关系模型:旨在解决 E-R 模型下的数据类型有限和面向对象模型下的定义随意性问题。
统一建模语言 (UML)
统一建模语言 (UML) 以一种基于标准的方法描述一个数据模型中各个数据实体之间的关联和关系。尽管 UML 最初是针对大型软件开发而设计的,但其很多核心原则和表示法可直接应用于数据建模工作。
UML 的重要价值在于它提供了一种通用的数据建模语言,能够促进数据专业人员在数据模型上的沟通工作。在概念上,它类似于音乐记谱法使作曲家能够将创作意图传达给乐师,使管弦乐队能够演奏音乐作品。UML 支持数据库建模人员创建数据库蓝图,以一种数据库管理员可执行的方式来描述数据集的属性和行为。
使用 UML,数据库建模人员可以描述数据表的具体属性(例如实体类型和字段名称),还可以描述数据表之间的关系(例如 “customer_id” 与客户数据表关联)。由此,它可以提供一个地图,助力数据库管理员持续进行数据资产管理。
UML 并不是唯一的数据库模式描述语言,其他可用语言包括:
-
信息工程法 (IE):不支持实体的数据属性,提倡以其他方法进行数据属性建模,或直接使用文字来描述数据属性。
-
巴克表示法 (Barker Notation):适用于众多数据模型,可提供多达数层的层次结构。
-
IDEF1x:是一种复杂语言,主要应用于国防部业务领域。
数据建模的分类
数据建模基本上可分为三种类型,分别是概念建模、逻辑建模和物理建模。它们共同构成了一个符合优秀实践的完整的数据建模流程 — 从理解业务需求一直到创建数据存储。
为便于理解,我们可以将数据建模想象成建房子。具体而言,概念建模相当于建筑师收集房主的想法、需求和需要;逻辑建模相当于设计房屋,绘制蓝图;物理建模相当于承包商建造房屋。注意,数据建模仅仅是建房,不包括数据“入住”。
概念数据建模(即企业数据建模)
概念数据建模的目标是整理想法和需求,定义业务规则。主要参与者包括企业利益相关者和数据建模人员/架构师。其中,企业利益相关者负责说明希望数据提供什么,数据架构师负责定义可满足企业利益相关者需求的数据组织方式。
例如,一名利益相关者可能希望销售数据可用且始终处于“最新状态”。由于不同人员对“最新状态”可能分别有自己的理解,数据建模人员须准确定义“最新状态”,消除不确定性。另外,“截至上一分钟”和“截至前一天”这两者对系统复杂性和成本的影响也堪称是天差地别。同样,定义术语也是概念建模工作的一个重要环节。它可以确保各个团队的成员准确了解各种概念(例如以上“最新状态”),使用同一术语来描述同一事物。
概念建模工作涉及的其他关键要素包括:
- 数据实体定义
- 实体属性
- 数据实体间的必要关系
例如,销售活动和销售人员就是两个数据实体。每个实体都拥有多个特定属性。销售活动实体的属性可能包括所售产品和相应客户经理,销售人员实体的属性可能包括销售人员姓名、所处销售区域或市场细分。由于销售活动由销售人员执行,故而销售活动数据实体和销售人员数据实体之间存在关联。
由此,数据建模人员会发现需要通过员工标识来关联销售活动数据表与销售人员数据表。同样,产品和客户也属于分别拥有各自属性的数据实体,需要建模人员为其定义标识(与产品数据表和客户数据表关联),以供销售活动数据表引用。
总之,概念数据建模阶段的一项重要工作是研究整个组织中的业务概念,消除两个部门在同一信息上可能存在的概念差异。
逻辑数据建模
逻辑数据建模的目标是将概念模型转化为一系列可赖以创建物理模型的指令,为从概念模型走向物理模型搭建“桥梁”。在这一“蓝图”阶段,建模人员需要定义数据结构及数据间关系,绘制整个数据库的图样并在其中图表化展示数据实体间的关联。
例如,在一个逻辑数据建模方案中,销售活动数据表可能含有字母数字格式的产品标识,可用于从单独的产品数据表中查找产品信息。该方案还展示,销售活动数据表含有可用于关联财务数据表的订单号,但订单号不与产品数据表关联。
最终,逻辑数据建模工作将生成一份清晰易懂的文档,在一个单一数据管理方案中展示企业各部门的需求和要求。这一文档至关重要。
物理数据建模
现在,是时候建造房屋了!顾名思义,物理数据建模工作针对的是数据库存储的物理层面:使用哪种数据表收集哪些行的哪些数据,以及以何种方式关联数据表。在这一阶段,企业需要定义数据表结构、主/副/外键(用以标识数据关系的代码)和索引。
在进行物理数据建模时,企业还要指定数据库管理系统 (DBMS)。不同的 DBMS 在规模和配置上的表现各不相同,各有其局限之处,企业必须基于自身的数据模型选择合适的 DBMS。
数据建模的优势
经过数据建模的数据系统具有多重优势,尤其有利于那些收集和使用海量数据的企业。最重要的一项优势是数据建模流程支持企业按照精心设计的方案来实施数据治理,制定数据资产质量管理策略和实施步骤,从而确保更优质的数据质量。
此外,恰当的数据建模流程还能够提升数据系统的性能并节约成本。否则,企业会发现数据系统要么延展性超出实际需要(这会消耗不必要的成本),要么性能欠佳,无力满足数据需求。数据建模的另一个优势是可提供丰富的数据信息(例如类型和长度),助力企业更快地基于数据创建应用和报告并减少错误。
出色的数据建模方案还能够更快地融合所收购企业,尤其是当被收购企业也制定了数据建模方案时。具体而言,被收购企业的数据建模方案不仅有助于评估两个数据集的关联程度,还有助于更快地切换到收购方企业的系统。
数据建模的弊端
数据建模并不适合所有企业。如果一家企业既不使用大量数据也无收集大量数据的计划,数据建模可能是大材小用。
对于将自身定位为数据驱动型组织,掌握(或预计将掌握)大量数据的企业,数据建模的主要弊端是它十分耗时。考虑到组织的复杂性和所收集数据的广度,企业可能要在数据建模上投入很长一段时间。
最后,数据建模工作还会受到非技术型员工的意愿和积极性的影响。究其原因,尽可能全面地描述业务需求和需要是数据建模工作必不可少的一环。如果相关的企业利益相关者不全身心参与,数据架构师可能无法获得所需信息。
数据建模示例
以下我们以小型连锁酒店 A 为例,展示数据建模在企业中扮演的角色及其对于制定业务决策的重要意义。连锁酒店 A 为客户提供 3 种订房渠道,分别是酒店客服中心、酒店网站和独立旅游网站。其中,关于独立旅游网站,难点在它既收取佣金,还需要连锁酒店 A 额外投入成本来使其展示在搜索结果页面的顶部。
对此,数据建模可揭示跟踪独立旅游网站数据以及其他数据,进而判断支出方向的重要性。数据建模人员可能会发现必须以独立旅游网站为单位跟踪销售来源信息,以便衡量每个独立旅游网站的价值。同时,销售来源数据表必须与另外两个数据集关联,分别是佣金数据表和广告支出数据表。由此,连锁酒店 A 可以创建报告或仪表盘,洞悉每个独立旅游网站的销售成本,进而判断哪些独立旅游网站最具盈利能力,然后相应地调整支出。
如果不进行数据建模,从性质上看,销售来源数据表与佣金数据表可能相互关联,但广告支出数据表可能会与这二者孤立。这意味着,连锁酒店 A 可能无法访问单独存储在部门级电子表格中的广告支出信息。而通过数据建模,连锁酒店 A 可以根据需要制定数据录入规则,连通所有这些信息,进而捕获具有行动指导意义、可赖以制定业务决策的有效洞察。
如何进行数据建模?
在全面了解企业需求及企业数据后,数据建模人员就可以启动数据建模流程了。一个可靠的数据建模流程一般由以下 8 个步骤构成。
-
识别数据实体类型:数据实体类型取决于有待构建的具体系统,不过有一些数据实体类型是通用的,例如销售、客户和员工等。对此,企业需要执行全面的数据审计和数据处理,或者自动化处理海量数据,识别广泛的数据实体类型。从性质上说,很多数据实体类型(例如客户、销售)可供整个组织访问,有一些数据实体类型(例如财务数据)需要企业实施访问控制,保障安全性,还有一些数据实体类型(例如网站流量)仅与特定部门有关。企业需要捕获所有这些数据实体类型。
-
识别属性:对于每种数据实体类型,企业都需要定义其属性。所谓属性,就是用于描述数据实体的字段。例如,员工数据实体可能拥有姓名、地址、电话号码、ID 编号和部门等属性。企业应全面识别数据实体的属性。固然数据实体和属性可在后期重新定义,但在早期完成这一工作能够避免后期陷入困境。
-
应用命名规范:对于数据的定义工作,企业应制定和应用命名规范,这一点至关重要。标准化命名规范有助于更清晰地表达需求。例如,上述连锁酒店 A 针对来自独立旅游网站渠道的每一笔销售向独立旅游网站支付费用,它可能希望使用“佣金”来描述这一费用,以便与向自家客服中心销售人员支付的费用相区分。另外,由于连锁酒店 A 还为独立旅游网站的广告价值付费,标准化命名规范可降低每一个词语的模糊性。
在数据建模流程中,标准化命名规范的重要价值还在于它能够提高人与最终系统的交互效率。以上述连锁酒店 A 为例,当一名员工申请获取报告,以了解向独立旅游网站支付的费用,进而调整在各个独立旅游网站上的支出时,如果将“费用”和“佣金”视为两项独立信息,不将“佣金”计入“费用”,最终报告是不准确的。企业可能会因为这个错误信息做出一些不明智的决策。
-
识别数据间关系:在为各种数据表建立关联后,企业方能使用数据钻取技术,或对多维和表格数据执行各种操作。对此,最能体现这一作用的就是订单。对于一个订单,UML 会使用斜体短语进行描述,例如它来自哪一客户,包含哪一或哪些商品/服务,交付至哪一或哪些地址。通过以这种方式描述数据间关系,企业中所有层级的人员都可以轻松沟通和理解数据模型地图中的复杂性。
-
应用数据模型模式:数据模型模式是一些关于如何处理各类数据实体的优秀实践模板。这些模式以经过预先测试的标准(针对各种类型的数据实体提供处理解决方案)为基础。数据模型模式的价值在于它们能够“突出”某一数据建模过程中对于数据架构师无显性价值,但沿袭自以往数据建模工作的数据元素。例如,某些数据模型模式建议使用“客户类型”数据表,这有助于企业基于客户类型开展数据分析。企业可通过相关书籍和网络来获取可用的数据模型模式。
-
分配键:“键”是关系型数据库的一个核心概念。键是一些代码,用于识别数据表中每一行数据(或每一条记录)中的每一个数据字段。各个数据表正是依靠键才得以相互关联,或者说“联接”。键主要分为三种类型:
-
主键:主键属于记录级标识,是独一无二的。一个数据表只允许为一条记录分配一个主键且不能为空。例如,在一个客户数据表中,每一位客户都应拥有一个专属标识。如果这一标识在整个数据库中独一无二,则可将其视为一个高质量主键。
-
副键:与主键一样,副键也是独一无二的记录级标识,区别在于它允许为空 (null)。副键主要用于标识一条记录中的其他(非主要)数据字段。例如,客户数据表中的电子邮件地址字段就是一个典型的副键,一方面每个客户的电子邮件地址在理论上都是独一无二的,另一方面不是每一位客户都拥有/提供电子邮件地址。基于副键建立索引后,用户可加快查询速度。
-
外键:外键用于连接两个存在已知关系的数据表。外建可以是另一相关数据表中一条记录的主键。例如,当一个客户数据表与一个客户地址数据表关联时,客户地址数据表中的一个主键可用作客户数据表的一个外键。
-
-
数据归一化:数据归一化有助于更高效地在单独的数据表中存储数据。一些被多次使用的信息(例如客户和产品名称、员工、联系人、部门)更适合存储在一个单独的数据表中。这既可以降低冗余,又能提高数据完整性。
以订单数据表中的客户信息为例,每个订单都包含客户的名称和地址信息,如果不进行数据归一化,数据表中同一客户的订单出现多少次,其名称和地址信息就会出现多少次。这种冗余会带来很多问题,至少在每次录入时都必须拼写准确,以便搜索。要降低冗余和提高数据完整性,企业可对客户信息数据进行归一化:将客户的所有相关信息单独存储在一个“客户”数据表中;为每位客户分配一个专属客户标识;然后修改订单数据表,使用一个引用客户专属标识的字段替换所有的客户信息字段。这个归一化过程将提高数据完整性,因为“客户”数据表将扮演单一权威信息源角色,负责所有的客户信息引用工作。
数据归一化的另一个优势,是它能够加快数据库搜索速度。
-
特定数据反归一化,提升性能:在一些特定场景下,企业需要对部分数据进行反归一化。一般来说,数据归一化有助于构建一个更优化、更准确、内含更多单独数据表的数据库,助力用户快速、准确地搜索信息。但是,事无绝对,在复杂查询场景下,更多数据表意味着更多“联接”。单个“联接”的性能开销虽然可忽略不计,但综合起来却十分可观。
以粉丝与演唱会订票系统的交互为例,当一名粉丝选择座位 A 后,订票系统须锁定 A 座位(防止其他粉丝下单)直到粉丝做出决策。如果粉丝选择不购买或未在规定时间内做出决策,订票系统须即时向其他粉丝开放 A 座位。为满足交易系统的庞大需求,负责系统设计的数据人员可能建议对数据库中的一部分数据进行反归一化,使用尽可能少的数据表来存储核心交易元素,例如座位编号、会场、演唱会日期、表演艺术家等。由此,相比在执行一个查询时关联会场信息数据表与表演艺术家、音乐会日期、座位编号数据表(通常情况下所有这些信息会经过归一化,存储到多个单独数据表),对这些数据表/字段进行反归一化可加快交易速度。
不是所有数据表都需要反归一化,而且即使一个数据表经过反归一化操作,也应提供所需性能来满足最关键的需求。这完全取决于速度需求,企业有可能按照性能需要,使用经过完全归一化操作的数据库。
数据建模适合哪些行业?
所有运用大量数据来运营业务的行业都能从数据建模获益。目前,数据建模对于数据处于业务核心地位的行业日益重要,尤其是那些面临隐私保护和政府监管压力的行业。其中,以下行业尤其能够从数据建模中获益:
以上仅是适合开展数据建模的部分行业。政府机构、专业服务、体育团队以及其他行业也能通过数据建模获得强大优势。
数据建模工具
如今,各种软件应用都能帮助数据架构师进行数据模型可视化。究其功能,它们意在提供数据模型管理支持,而不是执行数据建模。
典型意义上的数据建模工具能够以可视化方式展示数据表和数据表间的关系。由于常常要以可视化方式展示内含成千上万个数据实体的“地图”,它们通常提供导航功能,例如搜索和缩放,以便数据专业人员放大或缩小数据模型视图。
数据建模工具尤其有益于持续的数据库管理工作:当出现一个新的数据实体类型后,来自数据建模工具的可视化表示有助于正确创建各个字段的详细信息。
数据建模的历史
数据建模的发展轨迹可谓是计算机、数据库和编程语言发展史的一面镜子。20 世纪 60 年代,硬盘驱动器开始用于存储大量信息,相应地,数据管理带来的挑战不断增长。此后,随着硬盘容量增长,我们今天使用的三大主要数据库模型(层次、网状和关系)第一次被理论化。
具体而言,IBM 开创了层次模型,以企业架构图的形式组织数据。其中每一个“父”节点都可能拥有多个“子”节点,但每个“子”节点都只从属于一个“父”节点。通用电气公司开发了网状模型:其中每一个父元素和每一个子元素都可能各自拥有多个父元素和多个子元素。稍后,IBM 开发人员 Edgar Codd 在 20 世纪 70 年代中期提出了关系型数据库理念,以相互关联的行列数据表来组织数据。对于关系型数据库,IBM 并未第一时间购买和采用,而是继续使用层次数据库。但很多其他组织积极上手,其中最知名的是 Software Development Laboratories — 它在 1979 年更名为 Relational Software Inc.,在 1983 年更名为 Oracle Corp.。20 世纪 90 年代,关系模型成为了数据库市场的主流,层次模型和网状模型仅见于一些特定行业和应用。
随着更多企业开始部署关系型数据库,卡内基梅隆大学的 Peter Chen 创建了适用于数据建模的实体关系(E-R) 模型。
20 世纪 90 年代中期,PC 和存储技术迎来爆炸式发展,高效数据库管理成为人们最关心的一个问题。在这一背景下,Rational Software 的一个小组创建了 UML。UML 旨在用于在数据系统建模过程中促进协作,最终也成为了数据建模的一个标准。
20 世纪 90 年代末,非关系型数据库诞生了,它也称为 NoSQL 数据库。NoSQL 数据库运用 20 世纪 70 年代无法想象的现代计算机的“蛮力”,在不采用预定义模型/模式存储海量的结构化和非结构化数据中搜索信息。它背后的一个革命性理念是采用无结构化方式存储数据,支持企业在存储数据后,基于特定时间和场景下的业务目标或特定应用的需求来使用相应的数据模型。
未来,数据建模和与之相互依赖的各种影响因素(计算机、数据库和编程语言)仍将不断演进,向前发展。
数据建模的未来趋势
未来,数据(结构化数据和非结构化数据)的巨大体量和广泛多元性将以以往不可思议的速度继续增长,因为企业活动和日常生活几乎所有方面都走向了数字化,包括从 4K 视频和图像到文本、电子邮件、智能手机、智能手表、物联网(IoT) 设备等所有事物。在数据丰富的未来,数据建模的有效性将决定可访问多少数据和可在多大程度上利用数据。
未来,数据建模工作将呈现以下趋势:
- 为海量的非结构化信息添加结构
- 界定哪些信息以及多少此类信息可访问以及何时可访问
- 构建同时适用于结构化数据和非结构化数据的数据系统
想象一下,当未来公安机关使用智能徽章对每一位警察进行地理位置定位时,它将快速积累大量数据,这些数据中的大部分都无关紧要,但在特定场景下将发挥重要作用。例如,当前位置信息对于制定调遣计划非常重要;历史位置信息与其他数据地图叠加,可助力公安机关制定更广泛的计划;将位置信息与警察随身摄像头数据融合,不仅将生成更多非结构化数据,按警察位置调用视频也有可能成为现实。
总结
只要人类活动(尤其是企业活动)持续不断地加速生成海量数据,利用数据满足需求就始终是一个挑战,而且还将日趋严峻。如今,数据建模已发展出了一套成熟流程和一系列相关工具,支持企业按需“塑造”数据,实现自身目标。对于所有希望充分释放数据价值、制定明智业务决策的数据驱动型企业来说,数据建模都必不可少。数据建模起始于 20 世纪 60 年代早期,与计算机、数据库和编程语言的发展密不可分。时至今日,它不仅能够帮助企业可靠、有效地创建反应敏捷的数据存储系统,还将在未来继续进化和发展。
数据建模常见问题解答
问:数据建模的用途是什么?
答:数据建模可用于组织企业的数据资产,以便企业高效、准确地存储、检索和分析数据,更好地制定业务决策。
问:为何要使用数据模型?
答:数据模型建立了一套可管理、可延展、可伸缩的数据收集和存储方法。数据建模所创建的地图可用作数据收集的永恒参考点,帮助企业更好地汲取数据价值。来自受严格监管行业的企业发现,数据建模对于满足监管要求非常重要。即使是非监管型行业和企业,也能通过数据建模做到真正以业务需求为导向。
问:数据建模有哪些实际应用示例?
答:数据建模流程将研究企业数据,识别各种类型的数据及数据间关系。例如,一份客户文件一般包含一系列描述性组件,包括企业名称、地址、行业、联系人、历史项目等数据元素,甚至可能是发往企业员工的电子邮件等数据。根据企业的业务需求,数据建模人员可能设计一个数据库系统,将企业客户基本信息数据表与联系人、历史项目、电子邮件对话信息等 3 个数据表关联,或许还与社交媒体动态数据表(包含企业客户组织内人员的发帖信息)关联。
问:数据建模在数据分析中扮演什么角色?
答:数据建模将生成一个数据存储和访问方案。数据分析则是在此基础上,利用数据来创建和分析报告,为企业提供业务决策支持。
问:数据建模具体分为哪 8 个步骤?
答:数据建模流程分为 8 个单独步骤:识别数据实体类型;识别数据实体的相关属性;应用命名规范;识别数据类型间的关系;应用模式(或模板),以确保使用符合优秀实践的数据模型;分配键,定义数据的关联方式;数据归一化,以提高效率和准确性;以及特定数据元素反归一化(仅当更追求速度而非效率时)。
Andy Morris