某一种级别的关系模式的集合关系数据库中的关系必须满足一定的要求即满足不同的
范式目前关系数据库有六种范式第一范式1NF 第二范式2NF 第三范式3NF
第四范式4NF 第五范式5NF 和第六范式6NF 满足最低要求的范式是第一
范式1NF 在第一范式的基础上进一步满足更多要求的称为第二范式2NF 其余
首先了解一下几个概念:
1)把一个关系模式分解成若干个关系模式的过程,称为关系模式的分解。
2)把低一级的关系模式分解为若干个高一级的关系模式的方法不是唯一的。
3)只有能够保证分解后的关系模式与原关系模式等价,分解方法才有意义。
对于第一句话,为什么需要分解关系模式?因为原来的关系模式可能造成数据冗余或
给数据库带来潜在的不一致性。对于第二句话,根据不同语义,分解的原则也不尽相
同,所以方法肯定是不唯一的,譬如U={A,B,C},根据不同原则(随便你自己定),
可能分成(A,B)(A,C)也可能分成(B,C)(A,C)。对于第三句话,则是本文所要
讲的内容。
为了保证分解后的关系模式与原关系模式等价,我们要判定 1)分解后形成的行的关
系模式中是否为无损连接 2)是否保持函数依赖
一、无损连接的判定:
1)如果分解后的的关系模式是形如{U1,U2}这,里面只有两个,那很好做,就判断
或 是否成立,成立的话肯定是
无损连接。
2)如果是两个以上{U1,U2,U3....}这种,那就比较麻烦了,比如,有属性集,
ABCDEF,存在这样的函数依赖集{A->BC , CD->E , B->D , BE->F , EF->A},然后有
这样的分解{ABC , BD , BEF}。
例如:
设U1=ABC,U2=BD,U3=BEF,根据提供的函数依赖集,我们可得U1存在这样的
函数依赖A->BC,U2上的函数依赖是 B->D, U3的函数依赖是BE->F。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)