数据库关系模式范式的题目应该怎么做

1个回答

  • (1)可以这样分析:“→”我们可以理解为决定.候选关键字就是唯一决定(A,B,C,D,E)这个数据集的几个字段,在F中我们不难看出C,E没有谁决定它,所以C,E一定是候选关键字,但是仅有C,E却不能决定A,B,D.这时我们再看F,发现能决定A的只有DC,所以再在候选关键字中加上D,加上D后我们发现B可以被D决定了,同时D当然可以决定D自身,于是R的候选关键字就是DCE

    (2)首先R肯定是第一范式,简单理解就是F中A,B,C,D,E都有;其次R也属于第二范式,因为在F中不存在部分函数依赖.就是说,没有像AB→C,B→C这种约束.但是R不属于第三范式,因为在F中很明显有传递依赖(A→D, E→D,BC→D ,D→B),所以R属于第二范式.

    (3)将R分解为3NF就是消除传递依赖,很好办,就把上面传递依赖中D换成B(A→B, E→B,BC→B ,B→B),再把其中(BC→B ,B→B)去掉,因为太显然了,就不需要去约束了.所以最后结果为F={A→B,E→B,DC→A }

    可以参考的资料:

    http://ce.sysu.edu.cn/cdbm/news/coures/200908/news_20090807210925_242.html