规范化理论-范式

知识点

图示法求候选键:

  1. 将关系的函数依赖关系,用有向图的方式表示。
  2. 找出入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有结点,则该属性集即为关系模式的候选键。
  3. 若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间结点(既有入度,也有出度的结点)并入入度为0的属性集中,直至该集合能遍历所有结点,集合为候选键。

例:给定关系R(A1,A2,A3,A4)上的函数依赖集F={A1→A2,A3→A2,A2→A3,A2→A4},R的候选关键字为(A1)。
如下图所示:
在这里插入图片描述
第一范式(1NF): 在关系模式R中,当且仅当所有域只包含原子值,即每个属性都是不可再分的数据项,则称关系模式R是第一范式。
例如:
在这里插入图片描述
第二范式(2NF): 当且仅当关系模式R是第一范式(1NF),且每一个非主属性完全依赖候选键时,则称关系模式R是第二范式。(单属性不存在部份依赖因此都是满足第二范式)
例如:关系模式SC(学号,课程号,成绩,学分)
其中:(学号,课程号)→成绩,课程号→学分
解决方案:SC1(学号,课程号,成绩) ,SC2(课程号,学分)

第三范式(3NF): 当且仅当关系模式R是第二范式(2NF)且R中没有非主属性传递依赖于候选键时,则称关系模式R是第三范式。(没有非主属性至少满足第三范式)
例如:学生关系(学号,姓名,系号,系名,系位置)
其中:学号→姓名 ,学号→系号,系号→系名,系号→系位置
(单属性所以满足第二范式,存在传递依赖)
解决方案:学生关系1(学号,姓名,系号),学生关系2(系号,系名,系位置)

BC范式(BCNF): 设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码。(左侧必定包含候选键)
例如:关系模式STJ(S,T,J)中,S表示学生,T表示老师,J表示课程。每一老师只教一门课程。每门课程有 若干老师,某一学生选定某门课,就对应一个固定老师。
其中:T→J,SJ→T
候选键:SJ,ST
非主属性:没有
决定因素T不是候选键也不包含候选键,因此不是BC范式。
BC范式只考判断,不用进行修改。
在这里插入图片描述
范式之间的关系:
在这里插入图片描述

试题

某企业的培训关系模式 R(培训科目,培训师,学生,成绩,时间,教室), R的函数依赖集 F={培训科目→培训师,(学生,培训科目)→成绩,(时间,教室)→培训科目,(时间,培训师)→教室,(时间,学生)→教室}。关系模式R的主键为(52),其规范化程度最高达到(53)。
(52) A.(学生,培训科目) B.(时间,教室) C.(时间,培训师) D.(时间,学生)
(53) A.1NF B.2NF C.3NF D.BCNF
【答案】D B
【解析】
1、函数依赖关系为的函数依赖集 F={培训科目→培训师,(学生,培训科目)→成绩,(时间,教室)→培训科目,(时间,培训师)→教室,(时间,学生)→教室}。可以得出,(时间,学生)→教室→培训科目→成绩,(时间,学生)→教室 →培训科目→培训师
时间和学生共同组合,可以推导出所有的属性,描述出所有的函数依赖关系。
所以主键是时间和学生的组合键。
2、存在传递函数依赖,时间和教室→培训科目;培训科目→培训师。

某公司数据库中的元件关系模式为P(元件号,元件名称,供应商,供应商所在地,库存量),函数依赖集F如下所示:
F={元件号→元件名称,(元件号,供应商)→库存量,供应商→供应商所在地}
元件关系的主键为(54),该关系存在冗余以及插入异常和删除异常等问题。为了解决这一问题需要将元件关系分解(55),分解后的关系模式可以达到(56)。

(54)A.元件号,元件名称 B.元件号,供应商 C.元件号,供应商所在地 D.供应商,供应商所在地
(55)A.元件1(元件号,元件名称,库存量)、元件2(供应商,供应商所在地)
B.元件1(元件号,元件名称)、元件2(供应商,供应商所在地,库存量)
C.元件1(元件号,元件名称)、元件2(元件号,供应商,库存量)、元件3(供应商,供应商所在地)
D.元件1(元件号,元件名称)、元件2(元件号,库存量)、元件3(供应商,供应商所在地)、元件4(供应商所在地,库存量)
(56)A.1NF B.2NF C.3NF D.4NF
【答案】B C C
【解析】
(54)本题第1空的正确选项为B。根据题意,零件关系的主键为(元件号,供应商)。
(55)本题第2空的正确选项为C。因为关系P存在冗余以及插入异常和删除异常等问题。
为了解决这一问题需要将零件关系分解。选项A,选项B和选项D是有损连接的,且不保持函数依赖性故分解是错误的,例如,分解为选项A、选项B和选项D后,用户无法查询某零件由哪些供应商供应,原因是分解有损连接的,且不保持函数依赖。
(56)本题第3空的正确选项为C。因为,原零件关系存在非主属性对码的部分函数依赖:(零件号,供应商)供应商所在地,但是供应商→供应商所在地,故原关系模式零件非2NF的。分解后的关系模式零件1、零件2和零件3消除了非主属性对码的部分函数依赖,同时不存在传递依赖,故达到3NF。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值