资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ER图到关系模式的转换,1,ER图向关系模式转换的基本问题,基本问题,如何将ER图中的各种结构转换为关系模式,ER图的结构包括,实体,联系,标识属性,非标识属性,2,参照完整性与外键的概念,外键:,如果关系A的一个属性不是关系A自身的主键,但它是关系B的主键,则称该属性是关系A依赖于(引自)关系B的外键,参照完整性(即包含依赖),一个关系中的某个属性上的全部取值包含在另一个关系的某个属性上的全部取值中,外键一定要符合参照完整性,3,外键的例子,假设有“关系”和“部门”两个关系模式,其关系模式分别是,职工(,工号,,姓名,性别,出生日期),部门(部门编号,名称,地点),为了表达“职工在部门工作”的联系语义,将“职工”所在部门的编号放入职工的关系模式中,此时,“部门编号”就是关系“职工”的外键,职工(,工号,,姓名,性别,出生日期,,部门编号,),这样做虽然增加了数据的冗余,但对于表示实体间的联系是有必要的、有利的,同时,“职工”中的部门编号的取值一定要包含在“部门”中的部门编号的取值域中,这就是参照完整性,4,实体的转换方法,一个实体转换为一个关系模式,其中实体标识转换为关系模式的主键(即标识属性转换为键属性),非标识属性转换为非键属性,例如:,职工,工号,姓名,性别,出生日期,转换为,职工(,工号,,姓名,性别,出生日期),5,两实体一对一联系的转换方法,对于两实体的一对一联系,转换时可以将其中任何一方实体的标识属性放入另一方实体的关系模式中作为外键,并将联系的属性也加入其中,可以选择将强制存在一方实体的标识属性放入另一方实体的关系模式中,以避免处理空值,双方都是可选存在时,可以做相互引用的处理,6,两实体一对一联系转换的例子,报告,缩写,含有,1,1,职工,部门,管理,1,1,1,0,工程师,电脑,使用,1,1,0,0,7,两实体一对多联系的转换方法,对于两实体的一对多联系,转换时可以将“1”方实体的标识属性加入“多”方实体的关系模式中作为外键,并将联系的属性也加入其中,反之,会产生多值属性,8,两实体一对多联系转换的例子,职工,部门,工作于,M,1,1,1,转换为,职工(,工号,,姓名,,部门编号,),部门(,部门编号,,部门名称,),职工部门编号 部门部门编号,9,两实体多对多联系的转换方法,将两实体的多对多联系转换为一个关系模式,将相关实体的标识属性作为外键加入其中,并且它们联合构成该关系模式的主键,10,两实体多对多联系转换的例子,工程师,行业协会,属于,M,N,0,0,转换为,工程师(,工号,,姓名,)行业协会(,协会名,,),属于(,工号,,,协会名,,),属于工号 工程师工号,属于协会名 行业协会协会名,11,单实体联系的转换方法,对于单实体的一对一联系,转换时可以将联系中实体的标识属性加上实体角色的前缀放入该实体的关系模式中,作为引自本身的外键,对于单实体的一对多联系,转换时可以将联系中实体的标识属性加上“1”方实体角色的前缀放入该实体的关系模式中,作为引自本身的外键,将单实体的多对多联系转换为一个关系模式,将实体的标识属性加上两个相关的实体角色前缀加入其中,它们分别是两个外键,并且联合构成该关系模式的主键,12,单实体联系转换的例子,职工,结婚,1,1,工程师,小组领导,1,N,职工,合作,M,N,13,多实体联系的转换方法,将多实体联系转换为一个关系模式,将所有相关实体的标识属性加入其中作为外键,该关系模式的主键的确定分以下几种情况,1:1:1联系,任选两个实体的标识属性联合作为主键,1:1:多联系,任选一个“1”方实体和“多”方实体的标识属性联合作为主键,1:多:多联系,选择两个“多”方实体的标识属性联合作为主键,多:多:多联系,三个实体的标识属性联合作为主键,14,多实体联系转换的例子,使用,笔记本,项目,技术员,1,1,1,分配到,地点,项目,职工,1,1,N,使用,技能,项目,职工,P,N,M,管理,工程师,项目,经理,N,M,1,15,
展开阅读全文