数据库设计与实现-ER转换为关系模式.pptx
4从E-R图到数据库模式设计17四月2025数据库系统概念----E-R根据E-R建立数据库模式的步骤1、E-R图转换为表并进行必要的合并本步骤可以按照机械方法完成一个良好的E-R图,完成本步转换和合并得到的结果,已经是比较理想的数据库模式 (尽管还有人工进一步优化的余地)2、优化本步无具体可行的机械方法主要依靠设计人员的经验和能力转换、设计理解、表达现实世界概念模型:E-R图逻辑模型:DBSchema
44从E-R图到数据库模式设计17四月2025数据库系统概念----E-R本章主要内容4.1E-R图到表的基本转化方法暂时只考虑基本E-R图的转换,且只考虑简单、单值属性4.2表合并方法讨论讨论联系转化的表能否及如何与其它表合并4.3E-R复杂要素转化为表的方法复杂属性处理弱实体处理继承转化为表聚集转化为表4.4关于表模式进一步优化问题的讨论4.5其它逻辑模式设计问题讨论
4.1E-R到表的基本转化方法17四月2025数据库系统概念----E-R实体转化为表E-R图的每个实体转化成一个表实体的属性转化为表的属性 (暂时只考虑简单、单值属性)实体的主码转化为表的主码
4.1E-R到表的基本转化方法17四月2025数据库系统概念----E-R联系转化为表每个联系转化成一个表联系转化成表的属性参与联系实体的主码并集pk(e1)∪pk(e2)…以及联系的属性{a1,a2}共同构成表的属性pk(e1)∪pk(e2)∪…∪{a1,a2…}在联系转化成的表中,属性的非空限制:实体主码形成的属性pk(e1)∪pk(e2)∪… 均应notnull只有在联系转化成的表与其他表合并后,才可能允许null
4.1E-R到表的基本转化方法17四月2025数据库系统概念----E-R联系转化成的表的码:参与联系实体的主码并集pk(e1)∪pk(e2)… 是联系转化成的表的超码多对一联系,上述超码去掉一个“一”端实体的主码后,是联系表的候选码多对多联系,上述超码是联系表的候选码
17四月2025数据库系统概念----E-R4.1E-R到表的基本转化方法示例E-R图:实体转化成的表:Dept(dno,dname)Student(sno,sname)Course(cno,cname)联系转化成的表:SD(sno,dno,time)//dno非空SC(sno,cno,score)院系隶属属学生课程学习属dnodnamesnonamecnocnametimescore
4.1练习17四月2025数据库系统概念----E-R请将下述E-R转化为关系模式:注意指明各表的主码教师课程班级上课讲授tnonamecnocnameclassnameclassno
4.1练习17四月2025数据库系统概念----E-R将E-R转化为关系模式参考答案实体转化成的表Teacher(tno,name)class(classno,classname)Course(cno,cname)联系转化成的表tc(tno,cno)tcc(classno,cno,tno)
4.2表的合并17四月2025数据库系统概念----E-R主要讨论联系转化的表与相关实体转化的表的合并问题按照联系类别分别讨论能否合并、如何合并二元m:1联系二元1:1联系二元m:n联系多元联系
4.2表的合并17四月2025数据库系统概念----E-R二元多对一联系:联系转化的表可以和“多端”实体转化成的表进行合并示例:E-R图转化成的表Dept(dno,dname)Student(sno,sname)SD(sno,dno,time)//dno非空表的合并Student+SD?Student(sno,sname,dno,time)//dno可以为空院系隶属属学生dnodnamesnonametime
4.2表的合并17四月2025数据库系统概念----E-R二元一对一联系:联系转化的表可以任一端实体转化成的表进行合并二元一对一联系不能导致相关实体转化成的表合并示例:E-R图如右所示转化成的表Dept(dno,dname)President(pid,name)Manage(dno,pid)//dno,pid均可作主码,假设选dno作主码表的合并可以:Dept+Manage?Dept(dno,dname,pid)或者:President+Manage?President(pid,name,dno)不能进行下述合并: Dept+Manage+President??(不能接受的合并)院系管理院长dnodnamepidname
4.2表的合并17四月2025数据库系统概念----E-R二元m:n联系联系转化的表和实体转化的表不能进行合并示例:E-