知识卡片

E-R模型的三要素与二元联系的三种基数类型

结构图卡

内容

E-R模型用三种基本元素描述现实世界:实体(客观存在且可相互区分的 事物,如一个学生、一门课程)、属性(描述实体或联系特征的性质,如 学号、姓名)、联系(不同实体之间的相互关系,如学生与课程之间的 选修关系)。三者不是同一层次的概念,而是有依赖顺序:先识别出哪些 东西是独立存在的”实体”,再确定描述这些实体的”属性”,最后梳理实体 之间的”联系”——把不该独立存在的东西错当成实体、或把实体误认为 属性,会导致整个概念模型的结构性错误(书中给出的判断准则是:属性 不能再具有需要描述的性质、属性必须不可分割、属性不能与其他实体 具有联系,凡是违反这三条的都该处理成实体而非属性)。联系按参与的 实体集个数分一元、二元、三元等,其中二元联系(两个实体集之间的 联系)最常见、也最容易量化,进一步按数量对应关系分成三种基数类型: 一对一(A中每个实体最多对应B中一个实体,反之亦然,如学院和院长)、 一对多(A中一个实体对应B中多个实体,但B中每个实体只对应A中一个, 如学院和学生)、多对多(两边都可能对应多个,如学生和课程)。这个 基数类型的判断结果直接决定了后续[[E-R模型向关系模型转换的映射规则]] 里该往哪张表加外码、还是要新建一张关系表。

结构图

flowchart TD
    A[识别实体<br/>客观存在且可区分的事物] --> B[确定属性<br/>描述实体/联系的性质]
    A --> C[梳理联系<br/>实体之间的相互关系]
    C --> D{二元联系的基数类型}
    D --> D1[一对一 1:1<br/>如学院与院长]
    D --> D2[一对多 1:n<br/>如学院与学生]
    D --> D3[多对多 m:n<br/>如学生与课程]

参考来源

- 位置:《数据库原理(微课版)》第6章《数据库设计》6.3.3节"E-R模型" (源文件:_epub-src/index_split_004.html) - 结论依据:原文明确"E-R模型的基本元素是实体、属性和联系",并给出 判断属性边界的两条准则"属性不能再具有需要描述的性质,属性必须是 不可分割的数据项……属性不能与其他实体具有联系",以及"二元联系 ……分为一对一联系、一对多联系和多对多联系"的定义,因此可以推出 三要素的依赖顺序及二元联系三种基数类型的判断标准。 - 原始内容:E-R模型的基本元素是实体、属性和联系……如果对于实体集A 中的每一个实体,实体集B中至多有一个实体与之联系,反之,对于实体集 B中的每一个实体,实体集A中至多有一个实体与之联系,则称实体集A与 实体集B具有一对一联系。