E-R图向关系模型的转换

一、关系模型的基本概念

1.关系
关系是一张二维表,表示数据的逻辑结构。表中每一行代表一个记录元组),每一列代表一个属性(属性值的取值范围为)。
2.关系模型
关系模型是指以二维表结构表示的实体关系,用键表示实体间联系的数据模型。
关系模型的组成包括关系数据结构、关系操作和关系完整性约束三部分。
3.码(键)
在关系中由唯一可标识记录的属性或属性组构成。
4.超码
关系中某一属性组的值能唯一标识一个元组,可能包含一些无关紧要的属性(学号、姓名)
5.候选码
最小超码,任一真子集都不能成为超码
6.主码
在候选码中选定一个码作为记录标识,不能为空
7.外键
若在关系R中包含另一个关系S的主键对应的属性或属性组K,则称K为R的外键。
8.主属性
候选码中各属性
9.非主属性
不包含在任意一个候选码中的属性

二、由E-R图向关系模型的转换

E-R图向关系模型的转换就是将实体型、属性和实体之间的联系转换为关系模式,或者说是将E-R图中的内容如何存储到关系中

1.一个实体型转换为一个关系模式

  • 实体名称作为关系模式名称
  • 实体的属性就是关系的属性
  • 实体的主码就是关系的主码
    在这里插入图片描述
    语义:一种实体存储在一个表中,一行代表一个实体

2.一个联系集转换为一个关系模式—通用规则

设R是联系集,R的实体集的主码属性集合为{a1,a2,…am},R的描述性属性集为{b1,b2,…bn}

  • 关系模式的属性由参与实体集的主码和联系的属性组成,即{a1,a2,…am}∪{b1,b2,…bn}
  • 参与实体集的主码形成关系模式的超码,即{a1,a2,…am} (从超码中选择主码)
  • 关系模式中建立相应的外键约束,针对属性中每个实体集的主码建立一个外键约束(参照/引用关系)
(1)多对多联系(m:n)
转换为一个独立的关系模式

主码: 关系模式的主码为各实体主码的集合
例:
在这里插入图片描述

学生(学号,姓名,专业)
课程(课程编号,课程名称,学分)

选修(学号,课程编号,成绩)

以上“斜体加粗”为主码

(2)一对一联系(1:1)
① 转换为一个独立的关系模式

主码: 每个实体的主码均是关系的候选码,从候选码任选一个作为主码
例:
在这里插入图片描述

管理员(管理员号,姓名,联系方式)
仓库(仓库编号,面积)

管理(仓库编号,管理员号

以上“斜体加粗”为主码

② 与任一端的关系模式合并
  • 选择任一个实体对应的关系进行合并
  • 在该关系中加入另一个关系的主码与联系的属性
  • 主码: 保持不变
    例:
    在这里插入图片描述
    将管理员关系加入仓库关系中如下

管理员(管理员号,姓名,联系方式)

仓库(仓库编号,面积,管理员号

以上“斜体加粗”为主码

(3)一对多联系(1:n)
① 转换为一个独立的关系模式

主码: 关系模式的主码为n端的主码
例:
在这里插入图片描述

专业(专业编号,专业名称,所在院系)
学生(学号,姓名)

学习(学号,专业编号)

②与n端的关系模式合并
  • 一端的主码及联系的属性并入n端的关系模式
    例:
    在这里插入图片描述

专业(专业编号,专业名称,所在院系)

学生(学号,姓名,专业编号

(4)3个或3个以上实体间的多元联系
转换为一个关系模式

主码: 关系模式的主码为各实体码的组合
例:
在这里插入图片描述

供应商(供应商号,供应商名,地址,电话)
项目(项目编号,项目名称,开工日期)
零件(零件号,零件名,材料,颜色)

使用(供应商号,项目编号,零件号,用量)

(5)同一个实体内部的联系

将该实体拆分为互相联系的两个子集,按其不同的联系方式进行处理
例:
在这里插入图片描述

职工(职工号,姓名,年龄,专业,领导职工号

可看作一对多联系中的“与n端关系合并”,即领导关系并入职工关系,将其主码加入。

  • 93
    点赞
  • 487
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
数据库ER图关系模型的方法如下: 1. 将ER图中的实体转换为关系模式,实体名称作为关系模式名称,实体的属性就是关系的属性,实体的主码就是关系的主码。每个实体对应一个表,表中的每一行代表一个实体,每一列代表一个属性。 2. 将ER图中的联系转换为关系模式。通用规则是:将联系转换为新的关系模式,新关系模式的属性包括参与联系的实体的主码,新关系模式的主码是这些属性的组合。例如,一个“学生选课”联系可以转换为一个新的关系模式,包括“学生编号”和“课程编号”两个属性,主码是这两个属性的组合。 3. 确定每个关系模式的码(键)。在关系中,由唯一可标识记录的属性或属性组构成的称为码或键。一个关系模式可能有多个码,其中一个码被选为主码。 4. 确定每个关系模式的主属性和非主属性。主属性是候选码中的各属性,非主属性是不包含在任意一个候选码中的属性。 5. 确定每个关系模式的外键。若在关系R中包含另一个关系S的主键对应的属性或属性组K,则称K为R的外键。 6. 确定每个关系模式的完整性约束。例如,一个学生只能选修已经开设的课程,这个约束可以表示为一个外键约束。 下面是一个示例,将一个简单的ER图转换关系模型: ![ER图转换关系模型示例](https://i.imgur.com/5JZzvJL.png) 根据上图,可以得到以下关系模型: 1. 学生(学号,姓名,性别,出生日期,班级) 2. 课程(课程编号,课程名称,学分) 3. 选课(学号,课程编号,成绩)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值