单位 3 / 11

数据建模、数据字典和企业数据架构

收益:

  • 能够解释概念、逻辑和物理数据模型以及规范化概念,并在人工智能的支持下生成实体关系草案
  • 能够使用结构化提示起草数据字典、业务规则和表关系,并根据真实系统进行验证
  • 能够在完整性、奇异性和业务规则合规性方面批判性地评估人工智能生成的模式建议。

信息系统本质上是一种保持数据有序的结构。数据建模是以结构化方式设计业务事实(客户、订单、产品、发票)及其相互关系的任务。良好的数据模型是准确报告、快速查询、数据一致的基础;糟糕的模型是多年不一致和重复修正工作的根源。大多数时候,MIS 专业人员不会从头开始编写模型,而是验证模型是否符合业务规则,并在业务部门和 IT 之间转换模型。

数据建模在三个抽象级别上进行。概念模型(英文conceptual)是最高层次:存在哪些主要实体以及它们之间如何相关? “客户下订单,订单中包含产品。”没有技术细节。逻辑模型定义了每个实体的属性(字段)、键和关系类型;但它仍然没有与特定的数据库产品绑定。物理模型(英文physical)是特定数据库(例如SQL Server、PostgreSQL)中表、数据类型和索引的具体版本。这三个级别是同一想法的越来越详细的版本。

实体关系和键

数据模型的基本语言是实体关系(ER)模型。实体可以被认为是一个表:Customer、Order。该属性是表的列:姓名、电子邮件、金额。关系是实体的连接方式:一个客户可以有多个订单(一对多关系)。

有两个关键概念。主键是唯一标识表中每一行的字段;例如客户 ID。外键是一个表中指向另一个表的主键的字段;订单表中的CustomerID连接的是哪个客户的订单。这些连接确保引用完整性:无法为不存在的客户下订单。

提示:当让 AI 生成 ER 草稿时,可以更轻松地显式请求每个表的主键和每个关系的外键。但要根据实际业务规则验证模型建议的每个外键:有时您认为是“一对多”的关系实际上是“多对多”。

正常化:防止复发

规范化是通过将数据划分为逻辑表来减少冗余并保持完整性的过程。目标是将相同的信息保存在一处。例如,您不必在每个订单行中一遍又一遍地输入客户地址,而是将地址保留在“客户”表中一次,并将其与订单中的外键链接起来。这样,当地址发生变化时,您可以在一处更新它;否则,数百个订单将具有不同的地址。这称为更新异常。

规范化的反面是非规范化:为了报告速度而故意允许一些重复。在业务系统(操作数据库)中,通常首选规范化,而在报告系统(数据仓库)中,通常首选非规范化。所以“正常化并不总是好的”;决定是根据目的做出的。

数据字典:通用语言

数据字典是定义每个字段的含义、类型、约束和业务规则的文档。 “状态”字段是什么意思?可以取什么值(Pending、Approved、Cancelled)?是强制性的吗?如果没有这份文件,同一领域不同的团队就会有不同的解释,报告就会失真。数据字典是组织的通用语言,也是 MIS 专业人员最有价值的交付成果之一。 AI可以从现有的表结构中快速提取出初始数据字典草稿;但只有使用该数据的单位才能验证每个字段的真实业务含义。

三个迷你案例:从数字来看

案例 1——重复的成本。在分销公司中,客户地址单独保存在订单表和发票表中。当客户搬家时,地址仅在一张表中更新; 1,400张发票被退回旧地址并被退还。如果地址在单个表中标准化,则一次更新就足够了。整治工程耗时两周。

案例 2——错误的关系类型。某教育机构的MIS专家承认AI生成的模型中存在“学生属于某个班级”的(一对多)关系。然而,学生可以报读多于一门选修课;这种关系实际上是多对多的,需要一个中间表(Record)。当一名学生未能入读二年级时,这个错误在现场被揭露出来。如果AI的建议得到证实,那么从一开始就会被抓住。

案例 3 — 数据字典的值。确定保险公司中的“policy_status”字段由 5 个不同的团队进行了不同的解释,因此同一 KPI 在报告中给出了 3 个不同的结果。通过起草人工智能数据字典并与业务部门达成统一协议,消除了报告不一致的情况,每月对账会议时间减少了 60%。

弱提示/强提示

弱提示:

设计一个电子商务数据库。

强力提示:

您的角色:您是一位经验丰富的数据建模者。根据以下业务规则起草逻辑数据模型。规则:- 对于每个实体:字段、主键、必填字段。- 对于每个关系:类型(一对多/多对多)和外键。- 提出多对多关系中的中间表。- 规范化至第三范式;如果您建议有意非规范化,请写下理由。- 标记 [CONFIRMATION REQUIRED] 任何您不确定的业务规则。业务规则:- 客户可以下多个订单。- 一个订单包含多个产品;一种产品出现在多个订单中。- 产品有类别。[其他规则...]

强有力的提示明确了模型层次(逻辑)、关键和关系规则、规范化目标和需要确认的点。

四个可复制模板

1)数据字典草案:

数据字典大纲源自表定义。对于每个字段:名称、类型、是否为必填、可能的值、业务含义(如果是预测,则为标签 [PREDICTION])。表:[DDL 或字段列表]

2)常态化审核:

下面的表结构是否存在重复数据、更新异常的风险以及规范化的机会?对于每个发现,写下它违反的范式以及您的建议。结构:[文本]

3)业务规则的ER草案:

将以下业务规则转换为实体、属性和关系。指定每个关系的类型(1-1、1-N、N-N),如果是 N-N,则建议一个中间表。标记不明确的规则。规则:[文字]

4)关系类型验证问题:

对于下面数据模型中的每个关系,生成一个“是/否”业务问题,以测试其类型的正确性(例如,“学生可以同时注册多个班级吗?”)。型号:[文字]

比较表:型号级别

特征

概念性的

逻辑的

物理的

详情

至少

中等

大多数

键/关系

主要资产

按键定义

包括索引/类型

取决于数据库

是的

目标受众

业务单位

分析师

开发人员/数据库管理员

人工智能的贡献

草案

强吃水

草稿,DBA确认

常见错误

  • 将多对多关系视为一对多。这是最常见的建模错误;如果中间表被遗忘,系统就无法保留实际状态。
  • 将所有内容放在一张表中。为了“简单”而将所有字段收集在一张表中会产生重复和更新异常。
  • 不写数据字典。当字段的含义牢记在心时,相同的 KPI 会给出不同的结果。
  • 盲目相信人工智能对数据类型和约束的推荐。该模型可能会建议一个“足够大”的区域;业务规则确定实际限制(例如 TR ID 11 位)。
  • 绝对化标准化。报告层过度规范化会减慢查询速度;目的因上下文而异。
注意:人工智能可能会产生看起来不错但违反业务规则的模型。对于模型建议的每种关系,问题是“真的是这样吗?”问一个业务问题。数据模型是系统的骨架;骨骼骨折以后很难修复。

综上所述

数据建模是用实体、属性和关系构建业务事实的过程,并在概念、逻辑和物理层面上进行。主键和外键确保引用完整性;规范化减少了重复,但根据目的,非规范化也是合法的。数据字典是组织的通用语言。人工智能在生成 ER 草稿、数据字典和标准化审查方面提供了显着的速度;然而,关系类型、数据类型和业务语义必须根据实际业务规则进行确认。仅仅因为模型看起来不错并不意味着它就是正确的。

应用任务

考虑一个“图书馆借阅系统”:会员、书籍、借阅记录。 (1)有强有力的提示产生的逻辑模型稿。 (2) 使用业务问题测试模型建议的每种关系的类型(具体来说,“一个成员可以拥有多本同一本书吗?”)。 (3)找到至少一个多对多关系并定义一个中间表。 (4) 为至少4个字段(名称、类型、必填、业务含义)编写数据字典行。 (5) 突出显示模型可能已拟合的约束并解释如何验证它。

清单

  • [ ] 定义了每个表的主键。
  • [ ] 我用业务问题验证了每种关系的类型。
  • [ ] 我为多对多关系定义了一个中间表。
  • [ ] 我对重复数据进行规范化或证明其非规范化是合理的。
  • [ ] 我为关键字段编写了一个数据字典行。
  • [ ] 我根据业务规则确认了 AI 的数据类型/约束建议。