E-R图转换成关系模式
来源:互联网 发布:js块作用域 编辑:程序博客网 时间:2024/06/08 02:33
将E-R图转换成关系模式在之前学习数据库的时候就学过了,而且在机房管理项目中也有亲自实践,在软考的学习中,学习到的将E-R图转换成关系模式的方法有得到了补充,所以就又得总结一下。
【一对一】
对于一对一联系的转换有三种形式:通常我们熟知的两种是:将联系归并到关联的两个实体的任意一方,给待归并的一方实体属性集中增加另一方实体的码和该联系的属性,归并后的实体码不变。
另一种方式是将联系转换成单独的关系模式,关系模式的名称取自联系的名称,关系模式的属性包括该联系所关联的两个实体的码及联系的属性,该关系模式的码取自任意一方的实体的码。
实例:
一个学校有一个校长进行管理,一个校长只在一个学校任职,则学校和校长之间的关系为一对一。学校的信息有:学校编号,校名,地址,电话;校长的信息有;校长的职工编号,校长姓名,性别,电话。校长任职会产生任职日期的属性。
转换为关系模式:
(一)学校(学校编号,校名,地址,职工编号,任职日期)主键为学校编号,外键为职工编号
校长(职工编号,校长姓名,性别,电话)主键为职工编号
(二)学校(学校编号,校名,地址)主键为学校编号
校长(职工编号,校长姓名,性别,电话,学校编号,任职日期)主键为职工编号,外键为学校编号
(三)学校(学校编号,校名,地址)主键为学校编号
校长(职工编号,校长姓名,性别,电话)主键为职工编号
任职(学校编号,职工编号,任职日期)主键为学校编号或职工编号(之前的错误:学校编号和职工编号的联合主键),外键为学校编号,职工编号
【一对多】
而对于一对多的转换就有两种形式:一种是经常在用的:将联系的属性归并到关联的两个实体的多方,待归并的一方实体属性集中增加另一方实体的码和该联系的属性,归并后的实体码不变。
另一种方式是将联系转换成单独的关系模式,关系模式的名称取自联系的名称,关系模式的属性包括该联系所关联的两个实体的码及联系的属性,该关系模式的码取自多方的实体的码。
实例:
一个部门中可以有多个员工,而每个员工仅属于一个部门,则部门与员工就可以表示为一对多。
转换为关系模式:
(一)部门(部门号,部门名称,电话)主键为部门号
员工(员工号,姓名,电话,工资,部门号)主键为员工号,外键为部门号。
(二)部门(部门号,部门名称,电话)主键为部门号
员工(员工号,姓名,电话,工资)主键为员工号
隶属(员工号,部门号)主键为员工号,外键为员工号、部门号
【多对多】
至于多对多的转换就只有一种形式了,即将联系转换成单独的关系模式,关系模式的名称取自联系的名称,关系模式的属性包括该联系所关联的两个实体的码及联系的属性,该关系模式的码取自多方的实体的码构成的属性组。
实例:
在选课系统中,一个学生可以选多门课程,一个课程也有多名学生上课,学生选择的每门课程都有相应的成绩,课程和学生之间的关系就是多对多的关系。
转换为关系模式:
课程(课程号,课程名称,授课教师)主键为课程号
学生(学号,姓名,性别)主键为学号
选课(课程号,学号,成绩)主键为课程号和学号组成的联合主键,外键为课程号,学号。
【总结】
在将E-R图转换成关系模式的方法中,这次学习了新的表现形式,但是之前的实践中,也总会感觉之前的转换方式有些不足,根据自己的理解,所得到的关系模式,其实和新学习的这种方法有着相同之处,所以实践中出真知。
0 0
- E-R图转换成关系模式
- E-R图转换成关系模式
- E-R图转换成关系模式
- E-R图转换成关系模式
- E-R图转换关系模式
- E-R图转换为关系模式
- E-R图关系模式的转换
- E-R图关系模式的转换
- E-R图转换成关系模型
- E-R图转换为关系模式的原则
- [转]E-R图转换为关系模式
- E-R模式与关系模式的转换
- E-R图转化为关系模式
- 对E-R模型向关系模式转换的认识
- 数据库设计之E-R模型转换成关系模型
- E-R图向关系数据模型的转换
- E-R图向关系模型的转换遵循原则
- E-R图转换关系模型的文章
- 关于web性能的思考与分享[02]——静态资源
- CSS3之选择器
- XML解析 适合大文件
- 第六章
- 什么叫阻抗匹配、阻抗匹配的条件
- E-R图转换成关系模式
- c++排序
- hbase shell常用命令
- 软件测试需求分析的方法
- javascript 的三个弹出提示窗口
- 九度OJ 1046:求最大值 (基础题)
- 5个常用的Python功能代码
- UFT(QTP)使用-1
- 动态规划解决背包问题