实体集

  • 说明:实体集用分割矩形框,上面是实体名,下面是属性(主键要用下划线标志出来)。

  • 解释: 代表数据库中的实体或表。

  • 例子: 如果你正在设计一个大学据库,可能会有一个实体表示“学生“;该实体的属性可以包括id、姓名、tot_cred等。

 

联系集

  • 说明:关系用菱形来表示,里面可以写上关系的名

  • 解释: 代表实体之间的关系。

  • 例子: 如果有一个关系表示“指导”,连接两个实体,“学生”和“教师”,那么这个菱形可以表示教师指导学生的关系(advicsor联系集)。

    角色

    在关系中,每个实体都可以扮演不同的角色。角色定义了实体在特定关系中的功能或地位。例如,在一个"雇佣"关系中,"雇主"和"雇员"是两个实体,分别扮演不同的角色。

    在现实中同样的实体集也肯能以不同的角色多次参与这个联系集。例如在大学中开设的所有课程(course)实体集。我们用course实体的有序对来建模联系集prereq(表示一门课程是另一门课程的先修课)。

    描述属性

    • 符号: 未分割的矩形

    • 解释: 代表属性,即联系集的特征或信息。

    • 例子: section(开课)和student实体集之间的takes(选课)联系集,grade(成绩)作为描述属性附加到takes上

映射基数

联系基数

一对一:

一位教师最多指导一位学生,一位学生最多有一位指导教师

一对多:

一位教师可以指导多位学生,一位学生最多有一位指导教师

多对一:

一位教师最多指导一位学生,一位学生可以有多位指导教师

多对多

一位教师可以指导多位学生,一位学生可以有多位指导教师

全部参与

用双线来表示,多对一的有箭头的也可以用双线。

例如:一所大学要求每名学生至少有一位导师,这就要求每个student全部参与advisor。

联系集上的基数限制

数量的另一种表示方式,x..y(表示最小是为x,最大值为y,*表示无穷)

例如,教师可以指导任意数量的学生也可以不指导,但是每一名学生必须至少有一名指导教师

弱实体集

弱实体集的存在依赖另一个实体集。非弱实体集被称为强实体集。

通过双框的矩形描述弱实体集,其分辨符北加上虚的下划线,关联弱实体集和标识性强实体集的联系集以双边框的菱形表示。

例如,在大学数据库。section(开课)实体集依赖于course(课程)实体集,则section就是弱实体集。

大学机构的E-R图

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐