数据库-ER图
例如,在一个"雇佣"关系中,"雇主"和"雇员"是两个实体,分别扮演不同的角色。如果有一个关系表示“指导”,连接两个实体,“学生”和“教师”,那么这个菱形可以表示教师指导学生的关系(advicsor联系集)。section(开课)实体集依赖于course(课程)实体集,则section就是弱实体集。通过双框的矩形描述弱实体集,其分辨符北加上虚的下划线,关联弱实体集和标识性强实体集的联系集以双边框的菱
实体集
-
说明:实体集用分割矩形框,上面是实体名,下面是属性(主键要用下划线标志出来)。
-
解释: 代表数据库中的实体或表。
-
例子: 如果你正在设计一个大学据库,可能会有一个实体表示“学生“;该实体的属性可以包括id、姓名、tot_cred等。
联系集
-
说明:关系用菱形来表示,里面可以写上关系的名
-
解释: 代表实体之间的关系。
-
例子: 如果有一个关系表示“指导”,连接两个实体,“学生”和“教师”,那么这个菱形可以表示教师指导学生的关系(advicsor联系集)。
角色
在关系中,每个实体都可以扮演不同的角色。角色定义了实体在特定关系中的功能或地位。例如,在一个"雇佣"关系中,"雇主"和"雇员"是两个实体,分别扮演不同的角色。
在现实中同样的实体集也肯能以不同的角色多次参与这个联系集。例如在大学中开设的所有课程(course)实体集。我们用course实体的有序对来建模联系集prereq(表示一门课程是另一门课程的先修课)。
描述属性
-
符号: 未分割的矩形
-
解释: 代表属性,即联系集的特征或信息。
-
例子: section(开课)和student实体集之间的takes(选课)联系集,grade(成绩)作为描述属性附加到takes上
-
映射基数
联系基数
一对一:
一位教师最多指导一位学生,一位学生最多有一位指导教师
一对多:
一位教师可以指导多位学生,一位学生最多有一位指导教师
多对一:
一位教师最多指导一位学生,一位学生可以有多位指导教师
多对多
一位教师可以指导多位学生,一位学生可以有多位指导教师
全部参与
用双线来表示,多对一的有箭头的也可以用双线。
例如:一所大学要求每名学生至少有一位导师,这就要求每个student全部参与advisor。
联系集上的基数限制
数量的另一种表示方式,x..y(表示最小是为x,最大值为y,*表示无穷)
例如,教师可以指导任意数量的学生也可以不指导,但是每一名学生必须至少有一名指导教师
弱实体集
弱实体集的存在依赖另一个实体集。非弱实体集被称为强实体集。
通过双框的矩形描述弱实体集,其分辨符北加上虚的下划线,关联弱实体集和标识性强实体集的联系集以双边框的菱形表示。
例如,在大学数据库。section(开课)实体集依赖于course(课程)实体集,则section就是弱实体集。
大学机构的E-R图
更多推荐
所有评论(0)