数据库--范式

数据库令人头疼的----范式问题

范式解决方案:理解+做题

定义

范式–1NF:关系的属性是原子的(不可分的),这样的关系模式就属于1NF。
范式–2NF:若R属于1NF,且每个非主属性完全函数依赖于关键字,则R属于2NF。
在这里插入图片描述
让其满足二范式:
在这里插入图片描述
在这里插入图片描述
范式–3NF:若R属于2NF,且R的每个非主属性都不传递依赖于关键字,则R属于3NF。
在这里插入图片描述
让其满足三范式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

题目

1.设有关系 R 和函数依赖 F:
R(A, B,C,D, E),F = { ABC →DE, BC→D,D→ E } 。
试求下列问题:
(1)关系 R 的侯选码是什么? R 属于第几范式?并说明理由。 (3 分)
(2)如果关系 R 不属于 BCNF,请将关系 R 逐步分解为 BCNF。(5 分)
要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。

参考答案:
(1)关系 R 的候选码是( A,B,C),R∈1NF ,因为 R 中存在非主属性 D,
E 对候选码( A, B,C)的部分函数依赖。 (3 分)
(2)首先消除部分函数依赖
将关系分解为:
R1(A, B, C) (A, B,C)为候选码,
R1 中不存在非平凡的函数依赖
R2(B, C,D,E),( B, C)为候选码,
R2 的函数依赖集为: F2={ (B, C)→ D,D→ E}
在关系 R2 中存在非主属性 E 对候选码 (B,C)的传递函数依赖, 所以
将 R2 进一步分解:
R21(B, C, D) ,(B,C)为候选码,
R21 的函数依赖集为: F21 = { (B,C)→ D }
R22(D ,E) , D 为候选码,
R22 的函数依赖集为: F22 = { D →E }
在 R1 中已不存在非平凡的函数依赖,在 R21、R22 关系模式中函数依
赖的决定因素均为候选码,所以上述三个关系模式均是 BCNF。

2. 设有关系 STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE) ,
(S#,CNAME )为候选码,设关系中有如下函数依赖:
(S#,CNAME )→ SNAME,SDEPT,MNAME
S#→ SNAME,SDEPT,MNAME
(S#,CNAME )→ GRADE
SDEPT →MNAME
试求下列问题:
(1)关系 STUDENT 属于第几范式?并说明理由。( 3 分)
(2)如果关系 STUDENT 不属于 BCNF,请将关系 STUDENT 逐步分解为巧
BCNF。( 7 分)
要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。

参考答案:
(1) 关系 STUDENT 是 1NF ,因为 F 中存在非主属性 SNAME ,SDEPT,
MNAME 对侯选码( S#,CNAME )的部分函数依赖。
(2)① 首先消除部分函数依赖( S#,CNAME )→ SNAME,SDEPT,MNAME 将关系分解为:
R1(S#,SNAME,SDEPT,MNAME) ,S#为候选码,
R1 的函数依赖集为:
F1 = { S# → SNAME,SDEPT,MNAME ,SDEPT→ MNAME}
R2(S#,CNAME,GRADE) ,S#为候选码,
R2 的函数依赖集为:
F2={ (S#,CNAME )→ GRADE}
② 在关系 R1 中存在非主属性 MNAME 对候选码 S#的传递函数依赖 S#
→MNAME ,所以将 R1 进一步分解:
R11(S#,SNAME,SDEPT) ,S#为候选码,
R11 的函数依赖集为:
F11 = { S# →SNAME,SDEPT}
R12(SDEPT,MNAME) , SDEPT 为候选码,
R12 的函数依赖集为:
F12 = { SDEPT →MNAME}
在 R2、R11、 R12 关系模式中函数依赖都是非平凡的,并且决定因素均是候
选码,所以上述三个关系模式均是 BCNF。

3.设有关系 R 和函数依赖 F:
R(W ,X,Y,Z),F = { X →Z, WX→ Y } 。
试求下列问题:
(1)关系 R 属于第几范式?( 3 分)
R 是 1NF。侯选码为 WX ,则 Y, Z 为非主属性,又由于 X→Z,因此 F 中
存在非主属性对侯选码的部分函数依赖。
(2)如果关系 R 不属于 BCNF ,请将关系 R 逐步分解为 BCNF 。(5 分)
要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。
将关系分解为:
R1(W,X ,Y ),F1 = { WX → Y }
R2(X,Z),F2 = { X → Z }
消除了非主属性对码的部分函数依赖。
F1 和 F2 中的函数依赖都是非平凡的,并且决定因素是候选码,所以上述关
系模式是 BCNF。

参考答案:
(1)R 是 1NF。侯选码为 WX ,则 Y,Z 为非主属性,又由于 X→Z,因此 F
中存在非主属性对侯选码的部分函数依赖。
(2)将关系分解为:
R1(W,X ,Y ), F1 = { WX → Y }
R2(X,Z), F2 = { X → Z }
消除了非主属性对码的部分函数依赖。
F1 和 F2 中的函数依赖都是非平凡的,并且决定因素是候选码,所以上
述关系模式是 BCNF 。

4. 设某商业集团数据库中有一关系模式 R 如下:
R (商店编号,商品编号,数量,部门编号,负责人 )
如果规定:
(1)每个商店的每种商品只在一个部门销售;
(2)每个商店的每个部门只有一个负责人;
(3)每个商店的每种商品只有一个库存数量。
试回答下列问题:
(1)根据上述规定,写出关系模式 R 的基本函数依赖; (2 分)
(2)找出关系模式 R 的候选码;(2 分)
(3)试问关系模式 R 最高已经达到第几范式?为什么?( 2 分)
(4)如果 R 不属于 3NF,请将 R 分解成 3NF 模式集。(4 分)

参考答案:
(1)有三个函数依赖:
(商店编号,商品编号 ) →部门编号
(商店编号,部门编号 ) →负责人
(商店编号,商品编号 ) →数量。(2 分,错、漏一个扣 1 分)
(2)R 的候选码是 (商店编号,商品编号 )。( 2 分)
(3)R 最高达到 2NF (1 分),因为 R 中存在着非主属性“负责人”对候选
码 (商店编号、商品编号 )的传递函数依赖,所以 R 属于 2NF,但 R 不
属于 3NF。(1 分)
(4)将 R 分解成: R1 (商店编号,商品编号,数量,部门编号 ) (2 分)
R2 (商店编号,部门编号,负责人 ) (2 分)

5 . 现有如下关系模式:借阅(图书编号,书名,作者名,出版社,读者编号,
读者姓名,借阅日期,归还日期) ,基本函数依赖集 F={ 图书编号→(书名,
作者名,出版社) ,读者编号→读者姓名, (图书编号,读者编号,借阅日期)
→归还日期 }
(1)读者编号是候选码吗?( 2 分)
(2)写出该关系模式的主码。 (2 分)
(3)该关系模式中是否存在非主属性对码的部分函数依赖?如果存在, 请写
出一个。(2 分)
(4)该关系模式满足第几范式?并说明理由。 (4 分)

参考答案:
(1)不是( 2 分)。
(2)(图书编号,读者编号,借阅日期) (2 分)
(3)存在( 1 分)。(图书编号,读者编号,借阅日期)→书名、 (图书编号,
读者编号,借阅日期)→作者名、 (图书编号,读者编号,借阅日期)→
出版社、(图书编号,读者编号,借阅日期)→读者姓名( 1 分,四个函
数依赖任选一个即可)
(4)1NF。因为存在非主属性对码的部分函数依赖。

发布了6 篇原创文章 · 获赞 5 · 访问量 637

猜你喜欢

转载自blog.csdn.net/ZUO_HE1/article/details/103869038