代码之家  ›  专栏  ›  技术社区  ›  Srikar Murali

转换关系到第三范式和BCNF检查工作

  •  -1
  • Srikar Murali  · 技术社区  · 6 年前

    我试图把这个关系转换成第三范式和BCNF。

    A3、A4、A1;

    提供模式的3NF和BCNF形式并解释原因。

    我记得这样做,但我是一个生锈。

    这是我的开始。

    因此产生:

    R2(A1、A2、A3)

    因为没有更多的函数依赖或可传递依赖,所以应该在3NF中。

    第二,因为R1的键(A2,A3)和R2的键(A1,A2)都是复合键,所以这不也是BCNF中的吗?

    我想知道这是不是真的,如果不是的话,这种关系的BCNF是什么?

    如果你需要进一步的信息,请告诉我。

    谢谢你的帮助。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Renzo    6 年前

    假设一个模式在3NF中,如果每个行列式都是超键,或者每个确定属性都是素数,那么这个模式已经在3NF中了。事实上,唯一的候选键 R {A1, A2} {A2, A3} A2 A1 您会发现,您获得了一个候选密钥,因为 A1, A2 确定所有属性,如果尝试添加 A3 . 这不是真的 A4 , A2级 A3级 是基本属性,没有违反3NF的函数依赖关系。

    假设一个模式在BCNF中,如果每个非平凡依赖项都有一个determinate,它是一个超键,那么您的模式就不在该依赖项的BCNF中 A3, A4 → A1 ,自 {A3, A4} 不是超级键。

    应用分析算法在BNCF中生成分解的模式,可以使用依赖关系 A3、A4和A1 在BCNF中分解,这产生了两个关系:

    R1 (A1, A3, A4) (with candidate key {A3, A4})
    R2 (A2, A3, A4) (with candidate key {A2, A3})
    

    A1 A2 → A3 他迷路了。