【软考】数据库的规范化的讨论
添加时间: 2007-4-9 4:31:31 作者: 系统工程师认证参考 阅读次数:46 来源: http://www.d9soft.com
设有关系模式 W ( C,P,S,G,T,R ),其中各属性的含义是:C——课程,P——教师,S——学生,G——成绩,T——时间,R——教室,根据语义有如下数据依赖集:
D={ C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R }
关系模式 W 的一个码( 关键字 )是 __A__ ,W的规范化程序最高达到 __B__ 。若将关系模式 W 分解为 3 个关系模式 W1(C,P),W2(S,C,G),W3(S,T,R,C),则 W1 的规范化程序最高达到 __C__ ,W2 的规范化程度最高达到 __D__ ,W3 的规范化程序最高达到__E__ 。
供选择的答案
A ①(S,C) ②(T,R) ③(T,P) ④(T,S)
B~E ①1NF ②2NF ③3NF ④BCNF ⑤4NF
答案是:4.2.5.5.2
lxh9322:
关键字是可以函数决定关系中的所有属性的,因此可以推:
c->{c,p}
(s,c)->{s,c,G}
(t,r)->{t,r,c,p}
(t,p)->{t,p,r,c,p}
(t,s)->{t,s,r,c,p,g}
所以,只有(t,s)是关键字。
其规范化程度可以按照范式的定义来看。
hhxxttxs:
我可以给大家说说数据库的规范化
一、函数依赖:
a、所谓的函数依赖,可以这样来理解。关系模式数据库U中,比如有N列,如果某几列在列X中数值相同的,那么它们在列Y数值上一定相同,这样叫做Y依赖于x,如果存在一个关系r,r中有两行,如果它们在X列数值相同,而在Y数值上不同,那么称Y不依赖于X。
b、所谓的函数传递依赖。如果Z依赖与Y,Y依赖与X,并且Y不是X的一部分&&X不依赖与Y(如果Y是X的一部分的话,那么是直接依赖了,如果X和Y互相依赖的话,那么也是直接依赖了),那么称Z对X传递依赖。
二、码
码就是一个可以决定所有属性的一个属性,例如在学生一个数据库中,如果知道一个人的学号了,也就相当于知道了该人的姓名、成绩等,那么学号就是一个码,如果有很多码的话,那么选一个码为主码,其他的为候选码。包含码的属性为主属性。
三、范式
范式从底到高有1NF、2NF、3NF、BCNF、4NF、5NF
判断一个关系属于哪个范式的方法如下:
1、从底到高判断
2、* 如果没有表中表,那么该表符合1NF
* 如果没有部分函数依赖,那么符合2NF
* 如果表中任何属性不传递依赖,那么符合3NF
* 如果每一个决定因素均含有码,那么符合BCNF
* 如果表中没有多值依赖,那么符合4NF
* 如果表中没有连接依赖,那么符合5NF
上下文章:
上一篇文章: 数据库系统工程师全真预测试卷(一)下午试题 下一篇文章: 软考数据库系统工程师上午试卷
相关文章:

