数据库设计与实现ER转换为关系模式

上传人:宝路 文档编号:47591053 上传时间:2018-07-03 格式:PPT 页数:58 大小:1.41MB
返回 下载 相关 举报
数据库设计与实现ER转换为关系模式_第1页
第1页 / 共58页
数据库设计与实现ER转换为关系模式_第2页
第2页 / 共58页
数据库设计与实现ER转换为关系模式_第3页
第3页 / 共58页
数据库设计与实现ER转换为关系模式_第4页
第4页 / 共58页
数据库设计与实现ER转换为关系模式_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《数据库设计与实现ER转换为关系模式》由会员分享,可在线阅读,更多相关《数据库设计与实现ER转换为关系模式(58页珍藏版)》请在金锄头文库上搜索。

1、*1数据库系统概念-E-R4从E-R 图到数据库模式设计l根据E-R建立数据库模式的步骤 1、E-R图转换为表并进行必要的合并l本步骤可以按照机械方法完成l一个良好的E-R图,完成本步转换和合并 得到的结果,已经是比较理想的数据库模 式 (尽管还有人工进一步优化的余地) 2、优化l本步无具体可行的机械方法l主要依靠设计人员的经验和能力转换、设计理解、表达现实世界概念模型:E-R图逻辑模型: DBSchema*2数据库系统概念-E-R4 4从E-R 图到数据库模式设计l本章主要内容 4.1E-R图到表的基本转化方法l暂时只考虑基本E-R图的转换,且只考虑简单、单值属性 4.2表合并方法讨论l讨论

2、联系转化的表能否及如何与其它表合并 4.3E-R复杂要素转化为表的方法l复杂属性处理l弱实体处理l继承转化为表l聚集转化为表 4.4关于表模式进一步优化问题的讨论 4.5其它逻辑模式设计问题讨论*3数据库系统概念-E-R4.1 E-R 到表的基本转化方法l实体转化为表 E-R图的每个实体转化成一个表 实体的属性转化为表的属性 (暂时只考虑简单、单值属性) 实体的主码转化为表的主码*4数据库系统概念-E-R4.1 E-R 到表的基本转化方法l联系转化为表 每个联系转化成一个表l联系转化成表的属性 参与联系实体的主码并集pk(e1)pk(e2)以 及联系的属性a1,a2共同构成表的属性 pk(e1

3、)pk(e2)a1,a2 l在联系转化成的表中,属性的非空限制: 实体主码形成的属性pk(e1)pk(e2) 均应not null 只有在联系转化成的表与其他表合并后,才 可能允许null*5数据库系统概念-E-R4.1 E-R 到表的基本转化方法l联系转化成的表的码: 参与联系实体的主码并集pk(e1)pk(e2) 是联系转化成的表的超码 多对一联系,上述超码去掉一个“一”端实体的 主码后,是联系表的候选码 多对多联系,上述超码是联系表的候选码*6数据库系统概念-E-R4.1 E-R到表的基本转化方法示例lE-R图:l实体转化成的表: Dept(dno,dname) Student(sno,

4、sname) Course(cno,cname)l联系转化成的表: SD(sno,dno,time) /dno非空 SC(sno,cno,score)院系隶属 属学生课程学习 属dnodnamesnonamecnocnametimescore*7数据库系统概念-E-R4.1 练习l请将下述E-R转化为关系模式: 注意指明各表的主码教师课程班级上课讲授tnonamecnocnameclassnameclassno*8数据库系统概念-E-R4.1 练习l将E-R转化为关系模式参考答案 实体转化成的表lTeacher(tno,name)lclass(classno,classname)lCourse

5、(cno,cname) 联系转化成的表ltc(tno,cno)ltcc(classno,cno,tno)*9数据库系统概念-E-R4.2表的合并l主要讨论联系转化的表与相关实体转化的表 的合并问题l按照联系类别分别讨论能否合并、如何合并 二元m:1联系 二元1:1联系 二元m:n联系 多元联系*10数据库系统概念-E-R4.2表的合并l二元多对一联系: 联系转化的表可以和“多端” 实体转化成的表进行合并l示例: E-R图 转化成的表lDept(dno,dname)lStudent(sno,sname)lSD(sno,dno,time) /dno非空 表的合并lStudent+SD Studen

6、t(sno,sname,dno,time)/dno可以为空院系隶属 属学生dnodnamesnonametime*11数据库系统概念-E-R4.2表的合并l二元一对一联系: 联系转化的表可以任一端实体转化成的表进行合并 二元一对一联系不能导致相关实体转化成的表合并 l示例: E-R图如右所示 转化成的表lDept(dno,dname)lPresident(pid,name)lManage(dno,pid) /dno,pid均可作主码,假设选dno作主码 表的合并l可以:Dept+Manage Dept(dno,dname,pid)l或者:President+ManagePresident(pi

7、d,name,dno) 不能进行下述合并: Dept+Manage+President ?(不能接受的合并)院系管理院长dnodnamepidname*12数据库系统概念-E-R4.2表的合并l二元m:n联系 联系转化的表和实体转化的表不能进行合并l示例: E-R图 转化成的表lStudent(sno,sname)lCourse(cno,cname)lSC(sno,cno,score) 无法进行表的合并学生课程学习snonamecnocnamescore*13数据库系统概念-E-R4.2表的合并l多元联系 联系转化的表和实体转化的表不能进行合并 即便是m:n:1,其转化的表和也不能进行合并 l

8、示例: E-R图(省略了属性): 转化成的表:lClass(classno,classname)lTeacher(tno,tname)lCourse(courseno,coursename)lTCC(tno,classno,courseno) /P.K.=(classno,tno)或(classno,courseno) 无法进行表的合并教师课程班级上课*14数据库系统概念-E-R4.2表的合并:总结l联系转化成的表,和实体转化成的表,可以机械地 按照下述原则合并: 二元多对一联系:l联系转化的表可以和“多端” 实体转化成的表进行合并 二元一对一联系:l联系转化的表可以任一端实体转化成的表进行合

9、并l二元一对一联系不能导致相关实体转化成的表合并 二元m:n联系:l联系转化的表和实体转化的表不能进行合并 多元联系:l联系转化的表和实体转化的表不能进行合并l即便是m:n:1,其转化的表和也不能进行合并 l实体转化成的表,相互之间不能机械合并 l联系转化成的表,相互之间不能机械合并*15数据库系统概念-E-R4.2 E-R图表以及表的合并:示例l教务系统概念模型如下图所示 请将E-R图转化为表并进行必要的合并:隶属学生 学习scoreage院系隶属教师课程讲授dnodnametnonamecnocnamesexagesnonamesexproperty4.2 E-R图表以及表的合并:示例l将

10、E-R图转化为表: 实体转化成表ld(dno,dname)lc(cno,cname,property)ls(sno,sname,age,sex)lt(tno,tname,age,sex) 联系转化为表lsd(sno,dno)ltd(tno,dno)lsc(sno,cno,score)ltc(tno,cno,time)隶属学生 学习scoreage院系隶属教师课程讲授dnodnametnotnamecnocnamesexagesnosnamesexproperty164.2 E-R图表以及表的合并:示例l表的合并 s+sds(sno,sname,age,sex,dno) t +td t(tno,

11、 tname,age,sex,dno)l合并表后的关系模式 d(dno,dname) c(cno,cname,property) s(sno,sname,age,sex,dno) t(tno,tname,age,sex,dno) sc(sno,cno,score) tc(tno,cno)l关系模式图如图所示174.2 E-R图表以及表的合并:示例l教务系统数据概念模型与逻辑模型对比 概念模型主要用E-R图刻画,用于需求分析 逻辑模型主要由关系模式图刻画,用于模式设计隶属学生学习scoreage院系隶属教师课程讲授dnodnametnotnamecnocnamesexagesnosnamesex

12、property18*19数据库系统概念-E-R4.2 练习一l请将E-R图转化为表并进行必要的合并: 假设每个实体都有属性id和name 假设供应联系有属性quantity,其它联系无属性仓库存放供应商零件生产项目供应职工管理 属参与 属领导 属领导员工*20数据库系统概念-E-R4.2 练习一:参考答案lE-R图转化为表 实体转化成表 project(pid,pname) employee(eid,ename) supplier(sid,sname) component(cid,cname) warehouse(wid,wname) 联系转化为表 participate(pid,eid)

13、lead(eid,leid) /leid非空 supply(sid,pid,cid,quantity) produce(sid,cid) store(cid,wid) manager(eid,wid) l表的合并 employee+leademployee(eid,ename,leid)/leid可以为空仓库存 放供应商零件生 产项目供 应职工管 理 属参 与 属领 导领导员工4.2 练习一:关系模型图*21数据库系统概念-E-R*22数据库系统概念-E-R4.2 练习二l将如下E-R图转化为表并进行必要的合并,请给出: 1.结果关系模式 2.关系模式图学生 学习scoreage院系隶属教师课

14、程讲授dnodnametno namecnocnamesnoname先行课 隶属age班级上课classnameclassnotelno隶属*23数据库系统概念-E-R4.3E-R图其它要素转化为表的方法l E-R图其它要素转化为表的方法 复杂属性处理 弱实体处理 继承转化为表 聚集转化为表*24数据库系统概念-E-R4.3.1复杂属性表l多值属性 每个多值属性转化为一个表 表主码: 实体主码+多值属性分辨符 例如:S-telno(sno,tno)l复合属性 只保留叶节点属性l派生属性 一般表模式中不保留派生属性 S(sno,sname,birthday,city,street) 如果考虑使用

15、频率、查询效率等因素,可以保留派 生属性,尽管本质上派生属性是表的冗余属性birthdayage学生snonamerelativepidnamerelationcitystreetaddrtelno*25数据库系统概念-E-R4.3.1复杂属性表l示例,学生实体转化为表: 所有单值属性转化为一个表lS(sno,sname,birthday,city,street) 每个多值属性转化为一个表lS-telno(sno,tno)lS-relative(sno,pid,relation,name)l思考: S-relative中,pid属性是否可以单独构成主码? 不同多值属性转化的表可以合并吗?birthdayage学生snonamerelativepidnamerelationcitystreetaddrtelno*26数据库系统概念-E-R4.3.2弱实体表l 弱实体转化为表 弱实体象普通实体一样向表转化,只是在弱 实体转化的表中,增加属主实体的主码作为 表属性 弱实体转化成表的主码:l属主实体的主码+弱实体的分辨符 标识性联系不转化成表,不作处理4.3.2弱实体表:示例l示例: 请将如下所示银行帐户E-R图转化为表账户acc

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号