考点精讲
- 讲义指出实体是区别于其他事物的对象,实体定义对任何数据模型的业务价值都产生重要贡献,本质在于它们是业务核心的元数据;实体别名随模型类型变化——关系模型直接命名、维度模型用维度与事实表、面向对象模型用类与对象、基于时序模型用中心、卫星、链接。关系捕获实体间的抽象交互、逻辑实体间的详细交互与物理实体间的明确约束,图中用动词表示如何相关,有助于理解业务中的数据约束。关系基数表示一个实体与另一实体的关系数量:零、一个、多个;关系中实体的数目称为元数,常见一元、二元、三元,一元关系也称递归或自引用关系。讲义给出六种最常见模式与表示法:关系(IE、IDEF1X、巴克符号)、维度、面向对象(UML、ORM2)、基于事实(FCO-IM)、基于时序(Data Vault、Anchor Modeling)、NoSQL(文档、列、图、键值)。
- 前后置引导:需先掌握概念、逻辑、物理三个层次,本页讨论的是每个层次内部用什么组件表达。;模型组件之后,建议继续学习「数据存储与运营:DBA 与数据库架构类型」。
记忆技巧
四组件记「实体·关系·属性·域」——先有谁,再问它们怎么相关,最后说特征与取值
关系基数三档记「零·一·多」;关系元数记「一元递归、二元最常见、三元少见」
六种表示法抽头记「关系·维度·对象·事实·时序·非关系」
关系基数三档记「零·一·多」;关系元数记「一元递归、二元最常见、三元少见」
六种表示法抽头记「关系·维度·对象·事实·时序·非关系」
常见误区
- 把实体别名当固定术语,忽略它会随模型类型变化(关系=实体名、维度=维度/事实表、OO=类/对象)
- 以为关系基数只有「一对一/一对多」两档,忽略讲义定义的是零、一个、多个三种
- 把一元关系理解成「只有一个属性」,实为只涉及一个实体(递归/自引用)
- 以为域与数据类型是同一概念,忽略域是对属性取值范围的约束
真题思路
- 【讲义原题·讲义第191页 第2题】 关系的元数以下哪种说法正确?
二元关系不止包含两个实体 一元关系也称为递归关系 一个实体最多拥有两个父实体 子实体处于关系中「一」的一边
答案:B
解析:(讲义练习页仅印题干与选项、未印答案,本题答案依据讲义正文推导)讲义第 176 页原文:关系中实体的数目被称为关系的「元数」,最常见有一元、二元及三元关系;一元关系(也称为递归或自引用关系)只涉及一个实体。B 与原文完全一致。A 错误——二元关系即涉及两个实体;C 讲义未作「最多两个父实体」的限定;D 与层级/递归关系的常规结构相反(处于「多」的一边通常是子实体)。故选 B。
常见问题
Q:数据模型的四大组件是什么?
A:实体、关系、属性和域。(解析:讲义第 173 页原文:大多数数据模型都包含基本相同的组件——实体(Entity)、关系(Relationship)、属性(Attribute)、域(Domain)。四者共同构成模型的骨架与约束。)
Q:实体别名在维度模型里通常叫什么?
A:维度、事实表。(解析:讲义区分了四类模型下的实体别名:关系模型直接用实体名;维度模型用「维度」「事实表」;面向对象模型用「类」「对象」;基于时序模型用「中心」「卫星」「链接」。)
Q:关系基数有哪几种?
A:零、一个、多个。(解析:讲义第 175 页明确三种关系基数:零、一个、多个,并说明关系基数表示一个实体与另一个实体的关系数量,关系在图中用「动词」表示实体之间如何相关。)
Q:什么是一元关系?
A:只涉及一个实体的关系,也称递归或自引用关系。(解析:讲义第 176 页给出定义并配以「需要作为先决条件」的示例图,说明同一实体内部可形成层次型或网络型自引用结构。)
Q:讲义列出哪六种常见的数据模式与表示法?
A:关系、维度、面向对象、基于事实、基于时序、非关系型(NoSQL)。(解析:讲义第 169 页按方案与示例符号列表:关系型含信息工程 IE、IDEF1X、巴克符号、陈氏符号;维度型;面向对象型含 UML、ORM2;基于事实型含 FCO-IM;基于时序型含 Data Vault、Anchor Modeling;非关系型含文档、列、图、键值。)
相关知识
教材出处:第5章 数据建模和设计 实体、关系、属性与域