Database 我的BCNF分解正确吗?

Database 我的BCNF分解正确吗?,database,database-normalization,functional-dependencies,bcnf,Database,Database Normalization,Functional Dependencies,Bcnf,给定模式R=(A、B、C、D、E、G)和函数依赖关系: F={A->BC,BD->E,AD->E,CD->AB} BCNF分解: A->BC,但A不是R的超键。用2个关系替换R:R1(A,B,C)和R2(A,D,E,G) AD->E保留在R2上,但AD不是R2的超级键。将R2替换为2个关系:R2(A,D,E)和R3(A,D,G) 左边是R1(A,B,C),R2(A,D,E),R3(A,D,G) 它不是保持依赖关系,因为您需要进行连接来计算BD->E 我的分解正确吗?另外,我如何确定它是否是无损分

给定模式R=(A、B、C、D、E、G)和函数依赖关系:

F={A->BC,BD->E,AD->E,CD->AB}

BCNF分解:

  • A->BC,但A不是R的超键。用2个关系替换R:R1(A,B,C)和R2(A,D,E,G)
  • AD->E保留在R2上,但AD不是R2的超级键。将R2替换为2个关系:R2(A,D,E)和R3(A,D,G)
  • 左边是R1(A,B,C),R2(A,D,E),R3(A,D,G)

    它不是保持依赖关系,因为您需要进行连接来计算BD->E


    我的分解正确吗?另外,我如何确定它是否是无损分解?

    你的“我有这些FD”没有意义。“这些都是持有的FD”?——不可能。“这些都是持有的非平凡FD”?——不可能。“这是一些持有的FD”?——这个问题无法回答。了解什么是封面&应用特定定义/规则/算法的确切条件是什么。为了确定CKs和NFs,我们必须获得构成封面的FD。有时是最小/不可约覆盖。必须给出所有属性的集合。引用你正在遵循的特定算法&从哪里得到的。我们不上你的课。请每个帖子问1个问题。当你谈到FD保存和无损分解时,再次引用相关的定义和定理,应用你在课本中看到的,展示你尝试了什么,问哪里卡住了。请不要要求我们重写你的课本。任何组件中未出现的覆盖FD上方链接的PS并不意味着它在连接中不存在,因为它可能由组件中的非覆盖FD暗示。使用给定的定义、定理和算法。