首先了解一下几个概念:
1)把一个关系模式分解成若干个关系模式的过程,称为关系模式的分解。
2)把低一级的关系模式分解为若干个高一级的关系模式的方法不是唯一的。
3)只有能够保证分解后的关系模式与原关系模式等价,分解方法才有意义。
对于第一句话,为什么需要分解关系模式?因为原来的关系模式可能造成数据冗余或给数据库带来潜在的不一致性。对于第二句话,根据不同语义,分解的原则也不尽相同,所以方法肯定是不唯一的,譬如U={A,B,C},根据不同原则(随便你自己定),可能分成(A,B)(A,C)也可能分成(B,C)(A,C)。对于第三句话,则是本文所要讲的内容。
为了保证分解后的关系模式与原关系模式等价,我们要判定 1)分解后形成的行的关系模式中是否为无损连接 2)是否保持函数依赖
原文链接:https://blog.csdn.net/legendaryhaha/article/details/80649234
判断无损连接
原文链接:https://blog.csdn.net/weixin_42662249/article/details/107740871
判断函数依赖
原文链接:https://www.jianshu.com/p/abf48dfec989