5.2.5关系模式的分解: 在前面的讨论中,为了提高关系模式的规范化程度,我们都是通过把低一级的关系模式分解为若干个高一级的关系模式来实现的。这样的分解使各个关系模式达到某种程度的分离,让一个关系模式描述一类实体或者实体间的一种联系。 然而,如何对关系模式进行分解呢?对于同一个关系模式可能有多种分解方案。例如,关系模式S(SNO,CLASSNO,DEPTNO),其中学号SNO,班级编号CLASSNO,系编号DEPTNO。 其属性集合上的函数依赖集F={SNO→CLASSNO,CLASSNO→DEPTNO} 显然S 3NF。对关系模式S我们至少有三种分解方案。 分解1:S11(SNO,DEPTNO),S12(CLASSNO,DEPTNO) 分解2:S21(SNO,CLASSNO),S22(SNO,DEPTNO) 分解3:S31(SNO,CLASSNO),S32(CLASSNO,DEPTNO) 每种分解方案得到的两个关系模式都属于3NF,实际上,它们都属于BCNF和4NF范式。如何比较这三种分解方案的优劣呢?将一个关系模式分解为多个关系模式时,除了提高规范化程度外还需要什么别的考虑吗? 1.模式分解的等价标准 2.关于模式分解的几个事实 |