首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分解为第三范式(3NF)

分解为第三范式(3NF)
EN

Stack Overflow用户
提问于 2010-12-06 07:16:17
回答 2查看 29.7K关注 0票数 14
代码语言:javascript
复制
Scheme (R) = (A,B,C,D,E,F,G,H)

Function Dependencies (F) = {A->CGH, AD->C, DE->F, G->H}

如何执行模式R到第三范式(3NF)的无损连接分解?

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2010-12-06 07:34:28

没有决定B的东西,也没有决定D的东西。

由于G决定H,A决定G和H,我们可以将G和H分离成一个关系(存在传递依赖A→G和G→H)。

代码语言:javascript
复制
R1 = { G, H }       : PK = { G }

剩下F‘={ A→CG,DE→F }和R’= (A,B,C,D,E,F,G)。

剩下的两个函数依赖关系可以形成另外两个关系:

代码语言:javascript
复制
R2 = { A, C, G }    : PK = { A }
R3 = { D, E, F }    : PK = { D, E }

剩下R'‘={ A,B,D,E}

代码语言:javascript
复制
R4 = { A, B, D, E } : PK = { A, B, D, E }

R1、R2、R3和R4的连接应该会为R的任何起始值(满足给定函数依赖的约束)留下您开始时使用的R。

票数 18
EN

Stack Overflow用户

发布于 2017-11-12 00:42:33

总而言之,你应该首先获得最小的封面,然后添加密钥ABDE

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4361910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档