E-R图转换成关系模式

         将E-R图转换成关系模式在之前学习数据库的时候就学过了,而且在机房管理项目中也有亲自实践,在软考的学习中,学习到的将 E-R图转换成关系模式的方法有得到了补充,所以就又得总结一下。
【一对一】
         对于一对一联系的转换有三种形式:通常我们熟知的两种是:将联系归并到关联的两个实体的任意一方,给待归并的一方实体属性集中增加另一方实体的码和该联系的属性,归并后的实体码不变。
          另一种方式是将联系转换成单独的关系模式,关系模式的名称取自联系的名称,关系模式的属性包括该联系所关联的两个实体的码及联系的属性,该关系模式的码取自任意一方的实体的码。
实例:
         一个学校有一个校长进行管理,一个校长只在一个学校任职,则学校和校长之间的关系为一对一。学校的信息有:学校编号,校名,地址,电话;校长的信息有;校长的职工编号,校长姓名,性别,电话。校长任职会产生任职日期的属性。
              
转换为关系模式:
(一)学校( 学校编号,校名,地址,职工编号,任职日期)主键为学校编号,外键为职工编号
             校长( 职工编号,校长姓名,性别,电话)主键为职工编号
(二) 学校( 学校编号,校名,地址)主键为学校编号
             校长( 职工编号,校长姓名,性别,电话 ,学校编号,任职日期 )主键为职工编号 ,外键为学校编号
(三) 学校( 学校编号,校名,地址)主键为学校编号
             校长( 职工编号,校长姓名,性别,电话 )主键为职工编号
             任职(学校编号,职工编号,任职日期)主键为学校编号或职工编号(之前的错误: 学校编号和职工编号的联合主键),外键为 学校编号,职工编号
【一对多】
         而对于一对多的转换就有两种形式:一种是经常在用的:将联系的属性归并到关联的两个实体的多方, 待归并的一方实体属性集中增加另一方实体的码和该联系的属性,归并后的实体码不变。
          另一种方式是 将联系转换成单独的关系模式,关系模式的名称取自联系的名称,关系模式的属性包括该联系所关联的两个实体的码及联系的属性,该关系模式的码取自多方的实体的码。
实例:
         一个部门中可以有多个员工,而每个员工仅属于一个部门,则部门与员工就可以表示为一对多。
               
转换为关系模式:
(一)部门(部门号,部门名称,电话)主键为部门号
            员工(员工号,姓名,电话,工资,部门号)主键为员工号,外键为部门号。
(二)部门( 部门号,部门名称,电话)主键为部门号
              员工(员工号,姓名,电话,工资)主键为员工号
             隶属(员工号,部门号)主键为员工号,外键为员工号、部门号
【多对多】
         至于多对多的转换就只有一种形式了,即 将联系转换成单独的关系模式,关系模式的名称取自联系的名称,关系模式的属性包括该联系所关联的两个实体的码及联系的属性,该关系模式的码取自多方的实体的码构成的属性组。
实例:
         在选课系统中,一个学生可以选多门课程,一个课程也有多名学生上课,学生选择的每门课程都有相应的成绩,课程和学生之间的关系就是多对多的关系。
                
转换为关系模式:
课程(课程号,课程名称,授课教师)主键为课程号
学生(学号,姓名,性别)主键为学号
选课(课程号,学号,成绩)主键为课程号和学号组成的联合主键,外键为课程号,学号。
【总结】
         在 将E-R图转换成关系模式的方法中,这次学习了新的表现形式,但是之前的实践中,也总会感觉之前的转换方式有些不足,根据自己的理解,所得到的关系模式,其实和新学习的这种方法有着相同之处,所以实践中出真知。
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值