ER图中,一段关系(Relation)有不同的属性:Degree, Participation, Cardinality,不同的关系在数据库的模式(Schema)设计时使用不同的方法,接下来我们来说明不同的关系如何进行映射。
文章目录
多对多关系(Many to Many)
映射规则:取关系两端的实体的主键 + 关系本身的属性
如下图所示:选取关系ENROLLED两端的实体的主键:studno和courseno加上关系本身的属性labmark和exammark成为一个新的表(ENROL)。同时要设置ENROL表的外键studno连接STUDENT表的studno以及courseno连接COURSE表的courseno。
这样子当我们在想要查询学生课程注册的情况的时候只需要根据相应的外键进行连接(join)就可以查询到什么学生注册了什么课程。
多对一关系(Many to one)
映射规则:保留多边(Many-side)E1的所有属性 + 一边(one-side)的主键 + 关系自身的属性到一个扩展(extended)的E1表中。