分解为第三范式 (3NF)
Scheme (R) = (A,B,C,D,E,F,G,H)
Function Dependencies (F) = {A->CGH, AD->C, DE->F, G->H}
如何将模式 R 无损连接分解为第三范式 (3NF)?
任何帮助将不胜感激。
Scheme (R) = (A,B,C,D,E,F,G,H)
Function Dependencies (F) = {A->CGH, AD->C, DE->F, G->H}
How would I perform a lossless-join decomposition of the schema R into Third Normal Form (3NF)?
Any help will be appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
由于 A→CGH 和 Ax→C 对于任何字母 x,我们可以忽略第二个函数依赖关系 (AD→C),因为它没有告诉我们 A→CGH 没有告诉我们的任何信息。
没有什么可以决定B; 由于G决定
H,A决定G和H,所以我们可以将G→H分成一个关系(存在传递依赖A→G和G→H)。
剩下 F' = { A→CG, DE→F } 和 R' = (A, B, C, D, E, F, G)。
剩下的两个函数依赖关系可以形成另外两个关系:
R'' = { A, B, D, E }
R1、R2、R3 和 R4 的连接应该让您得到您开始时使用的任何起始值的 R R 的(满足给定函数依赖关系的约束)。
Since A→CGH and Ax→C for any letter x, we can ignore the second of the functional dependencies (AD→C) because it doesn't tell us anything that A→CGH doesn't also tell us.
There is nothing that determines B; there is nothing that determines D.
Since G determines H, and A determines both G and H, we can separate G→H into a relation (there is a transitive dependency A→G and G→H).
That leaves F' = { A→CG, DE→F } and R' = (A, B, C, D, E, F, G).
The two functional dependencies left can form two more relations:
That leaves R'' = { A, B, D, E }
The join of R1, R2, R3, and R4 should leave you with the R you started with for any starting value of R (that satisfies the constraints of the given functional dependencies).
总的来说,你应该先获得最小封面,然后添加密钥 ABDE
Overall you should get the min cover first and then add the key ABDE