【软考】数据库的规范化的讨论

www.net130.com     日期:2004-12-16    浏览次数:
作者:红色月亮    出处:老顽童网站
这是1993年高程上午试卷关于数据库的规范化的试题(第2题):
  设有关系模式 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

相关新闻
无相关正文
推荐文章