第六章习题练习

该篇博客探讨了数据库理论中的候选码选取和范式分析。通过实例解析了如何确定关系模式的候选码,以及如何判断其所属的范式级别,包括第一范式、第二范式和第三范式。博客内容涵盖了关系数据库的基本概念和规范化处理。
摘要由CSDN通过智能技术生成

  这节课是练习一下表达式的运用,及课上例题的书写。

第一题

Y(X1,X2,X3,X4)
(X1,X2)→X3
X2→X4
侯选码?
属于第几范式?

问题1:结论:候选码:(X1,X2);  非主属性:X3,X4。

 分析:因为 X → Y X \rightarrow Y XY,所以 ( X 1 , X 2 ) → X 4 (X1,X2) \rightarrow X4 (X1,X2)X4;又因为 ( X 1 , X 2 ) → X 3 (X1,X2)→X3 (X1,X2)X3,所以 ( X 1 , X 2 ) → ( X 1 , X 2 , X 3 , X 4 ) (X1,X2)→(X1,X2,X3,X4) (X1,X2)(X1,X2,X3,X4),因此:候选码:(X1,X2);非主属性:X3,X4。

  1. 嗯,上面主要是候选码的选取de挑选,在元素比较少的时候进行挨个看还是比较容易的,但是一旦元素较多的话就比较头疼啦。
  2. 在挑选候选码的时候,首先进行一个元素的筛选,从一个元素到最多n个元素进行,首先 X 1 ↛ X 2 X1 \not\rightarrow X2 X1X2,可以直接排除X1,同理 X 2 ↛ X 1 X2 \not\rightarrow X1 X2X1,可以直接排除X2,同理X3,X4也一样排除掉。
  3. 然后再看两个元素结合的候选码的情况,根据上面分析中可以知道,(X1,X2)是候选码,(X1,X3)无法推出其他元素,同理其他两个元素组合起来的元素也无法推出其他元素。
  4. 我们已经推出有两个元素构成的候选码,所以也不用再去推理长度大于2的,大于2的肯定也有符合的,但那属于超码。
问题2:结论:候选码(X1,X2),属于第一范式。

 因为(X1,X2)→X4, X2→X4,存在非主属性X4对候选码(X1,X2)的部分函数依赖;所以不属于第二范式。因而属于第一范式

  1. 简单总结一下,一般的都满足第一范式,若有决定元素不是属于候选码的情况下,则不属于第二范式,若有非主属性函数传递,则不属于第三范式。
  2. 若一般想要对更高范式转换,则需要对表进行拆开,再分成若干个表。

第二题

R(A,B,C,D)
F={AB→D,AC→BD,B→C}(相当于(a,b)→d…)
Q1;求侯选码
Q2;最高属于第几范式

Q1;
候选码:(A,B),(A,C)
非主属性:D
  1. 首先A无法推出B,直接排除。
  2. (A,B)可以推出 C 和 D,所以(A,B)是候选码同理(A,C)也可以推出B,D,所以(A,C)也是候选码,既然如此,我们没必要在分析包含(A,B)和(A,C)的三元素的候选码,所以只考虑(B,C,D)但是无法推出 A,所以它不是候选码。
Q2:属于3NF

 因为非主属性只有 D,所以我们看 D 既不函数依赖,又不会函数传递,但是又因为B为决定元素但不是候选码,所以不是BCNF

这里需要注意的是,决定元素必须是在候选码以完整的形式存在。

第三题

R(X,Y,Z,W)
F={Y←→W,XY→Z}
Q1:求侯选码
Q2:最高属于第几范式

Q1:候选码:(x,y),(w,x)。
非主属性码;Z
  1. 同上面的分析过程一样,一个元素均无法推出其他剩余全部元素,所以直接考虑以两个元素为整体的候选码,首先(X,Y)可以推出 Z,又因为Y可以推出W,所以(X,Y)是候选码,同理(W,X)也是。
Q2:3NF
  1. 首先,Y←→W,但是Y和W都不是候选码,所以肯定不是BCNF。
  2. 其次非主属性 Z 而言不是部分函数依赖于候选码,说已符合第二范式。
  3. 对于非主属性 Z 来说只能由XY整体推出,所以也没有函数传递。所以属于第三范式而不是BCNF。

嗯,最后再对选候选码的简单来个总结,开始的时候,我们要对一个元素一个元素进行判断,其次二个元素,以此类推,但是一旦判断某一个集合为候选码,不是说就不用判断所有更多元素组成的情况,而是不用考虑在候选码基础上再进行元素添加,也就是说抛开以候选码为子集的情况,但是其它不以候选码为子集的更多元素的情况也应进行考虑。

X ← Y X \leftarrow Y XY X → Y X \rightarrow Y XY
X ↚ Y X \nleftarrow Y XY X ↛ Y X \nrightarrow Y XY
X ↚ Y X \not\leftarrow Y XY X ↛ Y X \not\rightarrow Y XY
X → F Y X \overset F \rightarrow Y XFY X ⟶ F Y X \overset F \longrightarrow Y XFY
X → P Y X \overset P \rightarrow Y XPY X ⟶ P Y X \overset P \longrightarrow Y XPY
X → 传 递 Y X \overset {传递} \rightarrow Y XY X ⟶ 传 递 Y X \overset {传递} \longrightarrow Y XY
( S n o , C n o ) → F G r a d e (Sno,Cno) \overset F \rightarrow Grade (Sno,Cno)FGrade
X ⟶ F Y X \stackrel {F} {\longrightarrow} Y XFY
X ⊂ Y X \subset Y XY X ⊃ Y X \supset Y XY X ⊄ Y X \not\subset Y XY X ⊅ Y X \not\supset Y XY
X ⊆ Y X \subseteq Y XY X ⊇ Y X \supseteq Y XY X ⊈ Y X \nsubseteq Y XY X ⊉ Y X \nsupseteq Y XY

$X \leftarrow Y$ $X \rightarrow Y$ 
$X \nleftarrow Y$ $X \nrightarrow Y$
$X \not\leftarrow Y$ $X  \not\rightarrow Y$
$X \overset F \rightarrow Y$ $X \overset F \longrightarrow Y$
$X \overset P \rightarrow Y$  $X \overset P \longrightarrow Y$
$X \overset {传递} \rightarrow Y$ $X \overset {传递} \longrightarrow Y$
$(Sno,Cno) \overset F \rightarrow Grade$
$X \stackrel {F} {\longrightarrow} Y$
$X \subset Y$ $X \supset Y$ $X \not\subset Y$ $X \not\supset Y$
$X \subseteq Y$ $X \supseteq Y$ $X \nsubseteq Y$ $X \nsupseteq Y$

这里是一些公式的练习,附上链接markdown - Unicode - LaTeX

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谁会没有丶遗憾呢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值