第六章 范式练习题和Markdown-Unicode-LaTeX使用

范式

1NF:二维表每个分量必须是不可分开的数据项。
2NF:不存在不完全依赖
3NF:不存在传递依赖
BNCF:若 X → Y X \rightarrow Y XY Y ⊈ X Y \nsubseteq X YX时X必含有码。
高一级的范式必定包含低一级的范式。

第一题

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

分析:
因为X2→X4,所以(X1,X2)→X4;
因为(X1,X2)→X3,所以(X1,X2)→(X1,X2,X3,X4)。
因此:候选码:(X1,X2);非主属性:X3,X4。
因为(X1,X2)→X4, X2→X4,存在非主属性X4对候选码(X1,X2)的部分函数依赖;
所以不属于2NF。
结论:候选码(X1,X2),属于第一范式。

第二题

R(A,B,C,D)
F={AB→D,AC→BD,B→C}
求侯选码?
最高属于第几范式?

分析:
通过观察可以直接发现
候选码:(A,B),(A,C)
非主属性:D
因为D没有部分依赖或传递依赖于码,所以属于3NF。
不属于BCNF 因为B→C,B不包含码。

第三题

R(X,Y,Z,W)
F={Y←→W,XY→Z}
求侯选码?
最高属于第几范式?
分析:
XY→X,XY→Y,XY→Z,Y→W,XY→W 所以 XY是key
WX→X,WX→W, W→Y,XW→XY,XY→Z,XW→Z,WX→W,W→Y,WX→Y 所以WX是key
候选码:(X,Y)(X,W);非主属性:Z
是2NF,因为Z完全依赖于码(非主属性只有Z)
是3NF,因为Z没有传递依赖于码
不是BCNF W→Y,决定者不包含key
所以最高为3NF

这道题目候选码是(X,W)刚开始还没有做出来,感觉主要是因为Y←→W这个条件写的不太明显,最好把这个条件拆开来写。

总结

判断时第几范式的前提是先要进行候选码的判断,进而判断出主属性和非主属性。再根据相关的范式条件进行判断,只要想办法举出反例就好了。

符号说明

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$

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
React-markdown是一个用于在React项目中渲染Markdown文件的组件。它可以将Markdown文件转换为HTML,并将其显示在网页上。通过使用React-markdown,您可以在React应用程序中实现在线浏览Markdown文件的功能。 Markdown-navbar是一个用于自动生成侧边导航栏目录的插件。它可以根据Markdown文件的标题层级结构生成导航栏,并且可以通过点击导航栏中的链接来快速跳转到相应的部分。 使用React-markdownMarkdown-navbar可以实现在React项目中浏览Markdown文件并自动生成侧边导航栏的功能。首先,您需要安装相关的依赖包,如yarn add react-markdown和yarn add markdown-navbar。然后,您可以使用React-markdown来渲染Markdown文件内容,并在合适的地方添加Markdown-navbar组件,这样就可以实现自动生成侧边导航栏目录的效果。 例如,在React项目中引入React-markdownMarkdown-navbar,并使用React-markdown来渲染Markdown文件的内容。您可以通过fetch函数获取Markdown文件的内容,并将其传递给ReactMarkdown组件进行渲染。同时,您还可以使用Markdown-navbar组件来生成侧边导航栏目录。通过这样的配置,您就可以实现在React项目中浏览Markdown文件并自动生成侧边导航栏的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [使用react-markdownmarkdown-navbar实现在线浏览markdown文件并自动生成侧边导航栏目录(react项目)](https://blog.csdn.net/xz060585/article/details/129494847)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [markdown-navbar:React 的最佳降价导航栏](https://download.csdn.net/download/weixin_42102713/20451909)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值