您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > E-R转换为关系模型
ER图设计与转换学习目标掌握利用ER图进行概念设计的方法掌握ER图的基本元素与确定理解ER局部模式的设计方法理解局部ER模式综合为全局ER模型了解全局ER模型的优化5.1实体-联系方法本节我们要介绍P.P.S.Chen于1976年提出的实体-联系方法,即E-R(Entity-Relationship)方法。这种方法由于简单、实用,得到了非常普遍的应用,也是目前描述信息结构最常用的方法。E-R方法使用的工具称作E-R图,它们描述的现实世界的信息结构称为企业模式(EnterpriseSchema),也把这种描述结果称为E-R模型。目前还没有具体的数据库管理系统支持E-R模型,但是已经有支持E-R模型的数据库设计工具,它可以把E-R模型直接转换为具体的数据库管理系统上的数据模型。E-R方法是设计数据库的有力工具,应用非常广泛,用E-R图描述的概念模型也称为实体联系模型。转换现实世界人的认识抽象现实世界概念模型信息世界DBMS支持的数据结构机器世界从现实世界到机器世界的过程本章首页本节首页本章首页本节首页E-R图提供了表示实体表、属性和联系的方法,规定如下:实体集:用矩形框表示,框内写明实体名。属性:用椭圆框表示,框内写明属性名,用一条无向线与所属实体连接起来。联系:用菱形框表示,框内写明联系名,并用无向线分别与有关实体连接起来,同时在无向线旁边标明联系类型。下图描述了三种联系类型的例子。班级班级学生班长学生课程领导组成选修111nnm在建立E-R图的时候,应根据实际应用首先确定哪些是实体集,有多少个实体集,其次确定实体集的属性,然后再确定这些实体集之间存在什么联系及联系的属性。例:现在我们完整地考虑一下学校教学管理中的教学情况。教学过程可由学生、班级、课程、教师、讲授、选修、组成等方面构成。其中,学生、班级、课程、教师是实体集,而讲授、选修、组成是实体集间的联系。假设各属性如下:学生学号、姓名、性别、出生年月、入学成绩班级班级号、班级名称、所属专业、组成时间、系别课程课程号、课程名称、学分教师职工号、姓名、性别、出生日期、职称选修成绩学生对课程存在多对多的“选修”联系;教师对课程也是多对多的“讲授”联系;班级对学生是一对多的“组成”联系。本章首页本节首页上一页下图给出了教学情况实体联系模型图,即教学情况E-R图选修成绩课程号课程名称学分职工号姓名性别出生日期职称职工号姓名性别出生日期职称班级号班级名称所属专业组成时间系别课程学生讲授教师组成班级实体联系方法是抽象和描述现实世界的有力工具,用E-R图表示的概念模型独立于具体的DBMS所支持的数据模型,它是各种数据模型的共同基础,因而比数据模型更一般、更抽象、更接近于现实世界。本章首页本节首页上一页例:有仓库和职工两个实体,并且有语义——一个仓库可以有多名职工,但是一个职工只能在一个仓库工作。那么仓库和职工是一对多的联系,我们把这种联系命名为工作,相应的E-R图如下图所示。例:有仓库和器件两个实体,并且有语义——一个仓库可以存放多种器件,一种器件可以存放于多个仓库。那么仓库和器件间是多对多的联系,我们把这种联系命名为库存,相应的E-R图如下图所示。仓库工作职工1n如果实体集A与实体集B之间存在联系,并且对于实体集A中的一个实体,实体集B中有多个实体与之对应;而对实体集B中的一个实体,在实体集A中也同样,则称实体集A到实体集B的联系是多对多的,记为m:n。仓库库存器件mn本章首页本节首页上一页E-R图不仅能描述两个实体之间的联系,而且还能描述两个以上实体之间的联系。5.1.2E-R模型的组成要素及表示方法1.E-R图的组成要素及其画法实体名联系名属性名实体表示属性表示联系表示三、联系的设计之一联系的元数一个联系涉及到的实体集个数一元、二元、三元问题:运动员根据其得分来排定名次。在名次排列中,排在他前面只有一个人排在他后面也只有一个人运动员编号姓名性别名次顺序11图5.9一元联系中的1:1联系职工之间的上下级联系职工工号姓名年龄性别领导1N图5.10一元联系中的1:N联系工厂的零件之间存在着组合关系,一种零件由许多种子零件组成,而一种零件也可以是其他零件的子零件零件零件号零件名规格数量组成MN图5.11一元联系中的M:N联系某商业集团中,商店、仓库、商品之间的进货联系图5.12三元联系中的M:N:P联系仓库商品商店仓库号仓库名地址数量商店号商品名商品号商店名日期进货MNP学校里规定每学期学生至少选修1门课程,最多选修6门课程;每门课程至多有50人选修,最少可以没人选修图5.13联系的连通词和实体的基数学生课程选课M(1,6)N(0,50)联系的连通词联系涉及到的实体集之间实体对应的方式1:1,1:N,M:N实体的基数有两个实体集E1和E2,E1中每个实体与E2中有联系实体的数目的最小值min和最大值max,称为E1的基数,用(min,max)形式表示五、ER设计步骤设计方法:自底向上设计过程局部ER模型局部结构范围实体联系属性全局ER模型设计确定公共实体局部ER合并消除冲突全局优化需求分析结果确定局部结构范围实体定义联系定义属性分配还有局部结构待分析有无进入全局ER模式设计图5.18局部ER模式设计无图5.20全局ER模式设计局部ER模式确定公共实体类型合并两个局部ER模式检查并消除冲突还有未合并的局部模式有还有冲突吗有六、设计局部ER模式需求分析结果确定局部结构范围实体定义联系定义属性分配还有局部结构待分析有无进入全局ER模式设计图5.18局部ER模式设计1、范围的确定方法:(1)、当前用户群(2)、提供的服务2、注意因素(1)范围的划分要自然,易于管理;(2)范围之间的界面要清晰,相互影响要小(3)范围的大小要适度。太小了,会造成局部结构过多,设计过程繁琐,综合困难;太大了,则容易造成内部结构复杂,不便分析2、实体划分的依据:(1)采用人们习惯的划分;(2)避免冗余,在一个局部结构中,对一个对象只取一种抽象形式,不要重复;(3)依据用户的信息处理需求3、属性确定与分配(1)确定原则:属性应该是不可再分解的语义单位;实体与属性之间的关系只能是1:N的;不同实体类型的属性之间应无直接关联关系。(2)属性分配的原则:当多个实体类型用到同一属性时,一般把属性分配给那些使用频率最高的实体类型,或分配给实体值少的实体类型。有些属性不宜归属于任一实体类型,只说明实体之间联系的特性3、定义联系:(1)实体之间有联系?(2)什么样的联系;(3)有冗余联系吗?(4)联系的命名六、设计局部ER模式4、关于属性与实体原则:能作为属性的尽量作为属性实体与属性的区分准则:准则1:属性不能再具有需要描述的性质,是不可分的数据项,不能包含其他属性。准则2:属性不能与其他实体有联系例1:职工实体一般具有工号、姓名、年龄、职称等。但如果职称与工资、住房标准、福利等挂钩,应该将其看成是实体:职称(代码、住房、工资、福利)例2:住院病人的病房号本来可以是病人的属性,但如果病房与医生相联系,那就是实体了。职工姓名年龄职称职工号职工姓名年龄职工号职称工资职称代码福利聘任局部模式设计举例初步分析系统的对象根据服务种类分析教师子模块……现有的教学管理系统局部ER图教师管理子系统学籍管理子系统课程管理子系统需求分析:1、教师由某个系聘用2、学院设置了若干个系3、每个学院有一个院长4、每位教师都有职称,每个职称有不同的工作量5、各个系可以承接项目,项目有负责人6、教师可以参加项目其他局部模式初步分析系统的对象现有的教学管理系统根据服务种类分析学生子模块……图5.21学籍管理局部应用的分E-R图导师班级学生组成管理班主任档案材料宿舍住宿归档指导系有参加学会1N111NNN11NMN1具有社会关系1N局部ER图其它局部模式现有的教学管理系统初步分析系统的对象根据服务种类分析课程子模块……局部ER图图5.22课程管理局部应用分E-R图1教室M1教科书教师担任课程系开设N1学生选修NMN上课PN七、设计全局ER模式1、确定公共实体:合并的基础同名实体相同键的实体无图5.20全局ER模式设计局部ER模式确定公共实体类型合并两个局部ER模式检查并消除冲突还有未合并的局部模式有还有冲突吗有2、合并方法:一次性合并与两两合并优先合并有联系的局部ER从公共实体开始合并1教室M1教科书教师担任课程系开设N1学生选修NMN上课PN导师班级学生组成管理班主任档案材料宿舍住宿归档指导系有参加学会1N111NNN11NMN1具有社会关系1N七、设计全局ER模式无图5.20全局ER模式设计局部ER模式确定公共实体类型合并两个局部ER模式检查并消除冲突还有未合并的局部模式有还有冲突吗有(1)属性冲突:如,重量单位有的用公斤,有的用克。(2)结构冲突:•同一对象在不同应用中的不同抽象;属性变为实体或把实体变为属性,使同一对象具有相同的抽象。•同一实体在不同局部ER图中属性的个数或次序不同;合并且设计次序•实体之间的联系在不同的局部ER图中呈现不同的类型根据语义进行调整(3)命名冲突:属性名、实体名、联系名之间存在同名异义或异名同义冲突八、全局ER模式的优化1、实体类型的合并1:1联系的两个实体类型具有相同键的实体类型2、冗余属性的消除通过其他属性可以推出的属性,往往是合并后产生的。非键属性同时出现在几个实体中使用上的权衡,完整性约束来保证冗余联系的消除:利用规范化理论中函数依赖的概念消除冗余联系例子:三个局部ER图合并成一个ER图1图5.24合并后的教学管理E-R图1N1P1N1N1N1MMNNNN社会关系具有1NNM1系聘用承接项目参加设置院长学院主管NN111教师评定职称分配工作量111N档案材料归档参加学会1宿舍住宿教科书担任指导课程选修教室上课有1班级学生组成N开设N管理11教师管理115.4逻辑设计1、目标:将概念模式转换为DBMS所支持的逻辑模式2、逻辑设计步骤初始模式的形成:将全局ER模式转换成初始关系模式规范化处理—数据模型的优化确定规范的级别:3NF,BCNF实施规范化处理:关系分解(保持依赖、无损连接)逻辑结构设计转化为一般数据模型转化为特定DBMS支持下的据模型优化模型概念结构设计数据库物理设计基本E-R图转换规则特定DBMS的特点与限制优化方法如规范化理论逻辑模型一、E-R图向关系模型的转换1、转换要解决的问题:实体和实体间的联系转换为关系模式确定关系模式的属性和码职工职工号姓名年龄职称5.4逻辑设计5.4E—R模型到关系模型的转换把E-R图转换为关系模型可遵循如下原则:(1)对于E—R图中每个实体型,都应转换为一个关系,该关系应包括对应实体的全部属性,并应根据关系所表达的语义确定哪个属性或哪几个属性组作为“主关键字”,主关键字用来标识实体。实体的属性就是关系的属性,实体的码就是关系的码。(2)对于E—R图中的联系,情况比较复杂,要根据实体联系方式的不同,采取不同的手段加以实现。下面着重讨论联系的转换方法。3、二元联系类型的转换若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。若实体间联系是1:N,则在N端实体类型转换成的关系模式中加入1端实体类型的键和联系类型的属性。若实体间联系是M:N,则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合4、一元联系类型的转换:同二元联系5、三元联系类型的转换总是将三元联系类型转换成关系模式,其属性为三端实体类型的键加上联系类型的属性,而键为三端实体键的组合。具有相同码的关系模式可合并。目的是减少系统中的关系个数5.4逻辑设计ER模型到关系模型的转换实例运动员(编号,姓名,性别,名次,上一名次编号,下一名次编号)职工(工号,姓名,年龄,性别,经理工号)职工工号姓名年龄性别领导1N运动员编号姓名性别名次顺序11校名地址校长任职学校电话任职年月姓名性别年龄11职
本文标题:E-R转换为关系模型
链接地址:https://www.777doc.com/doc-7029120 .html