将关系分解为3NF,如何分离关系?

时间:2013-04-05 19:30:13

标签: database relation 3nf

给定关系,R = ABCDE

和这套FD:

AB > C
DE > C
B  > D

我能找到候选键ABE(正确?)

我需要将这种关系R分解为3NF。

我不明白的是,你以什么方式分解?我想你考虑候选键和FD,但具体过程是什么?我所看到的一切都太密集了,我无法应用这个小问题。

1 个答案:

答案 0 :(得分:0)

ABE是唯一的候选键。

从1NF的测试开始,并向您展示现有的关系R满足1NF。当您找到R 满足的普通表单时,请修复它。

例如,在测试2NF时,您会看到FD AB-> C是部分密钥依赖性。 (ABE是唯一的候选键; C仅依赖于该键的 part 。)使用投影从R中删除C.

  • R { ABE CD}就是我们的开始。通过投影删除C后我们
  • R 1 { ABE D},
  • R 2 { AB C}

重复直到所有表格都在5NF中。 (R 1 不在2NF; R 2 在5NF。)