图到关系模式的转换.pptVIP

  • 1
  • 0
  • 约1.58千字
  • 约 15页
  • 2017-09-10 发布于北京
  • 举报
图到关系模式的转换

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

文档评论(0)

1亿VIP精品文档

相关文档