摘要:将模式R分解成3NF:如果关系模式R中,存在FD W→Z,X→Z,X不是候选键,其中w是主键,Z是非主属性,Z不?X,则有W→Z是传递依赖。分解正R1(XZ),主键是X,R2(Y),Y=U-Z,主键是W,外键是X.
第二章关系数据库
数据库系统工程师考试关系数据库知识重点三
11.关系模式的范式-规范化
1NF:如果关系R的每个关系r的属性值都是不可分的原子值。(规范化关系)
1NF存在的问题:冗余度大和更新异常。
2NF:如果每个非主属性完全函数依赖于候选键。
3NF扶沟每个非主属性都不传递依赖R的候选键。
BCNF:如果每个属性都不传递函数依赖与R的候选键。
12.关系模式R分解成2NF模式集:如果关系模式R中,存在FD W→Z,X→Z,X?W,其中w是主键,Z是非主属性,则有W→Z是局部函数依赖。分解成R1(XZ),主键是X;R2(Y),Y=U-Z,主键是W,外键是X.
13.将模式R分解成3NF:如果关系模式R中,存在FD W→Z,X→Z,X不是候选键,其中w是主键,Z是非主属性,Z不?X,则有W→Z是传递依赖。分解正R1(XZ),主键是X,R2(Y),Y=U-Z,主键是W,外键是X.
14.模式的分解有三种等价情况:
分解具有无损连接性
分解要保持函数依赖
分解既要无损连接又要保持函数依赖
15.无损分解的充要条件是:如果p(R1,R2)是R的一个分解则要满足:(R1∩R2)→(R1-R2)或是(R1∩R2)→(R2-R1)
16.保持函数依赖:设p(R1,R2… Rk)是R的一个分解,F是R上FD,如果有?_(i=1)^k?〖π_Ri (F)|=F〗,则保持函数依赖。
17.无损连接的测试:
设关系模式R=A1,…,An,R上成立的FD集F,R的一个分解p={R1,…,Rk}.无损连接分解的判断步骤如下:
(1)构造一张k行n列的表格,每列对应一个属性Aj(1≤j≤n),每行对应一个模式Ri(1≤i≤k)。如果Aj在Ri中,那么在表格的第i行第j列处填上符号aj,否则填上符号bij.
(2)把表格看成模式R的一个关系,反复检查F中每个FD在表格中是否成立,若不成立,则修改表格中的元素。修改方法如下:对于F中一个FD:X→Y,如果表格中有两行在X分量上相等,在Y分量上不相等,那么把这两行在Y分量上改成相等。如果Y的分量中有一个是aj,那么另一个也改成aj;如果没有aj,那么用其中的一个bij替换另一个(尽量把ij改成较小的数,亦即取i值较小的那个)。
(3)若在修改的过程中,发现表格中有一行全是a,即a1,a2,…,an,那么可立即断定p相对于F是无损连接分解,此时不必再继续修改。若经过多次修改直到表格不能修改之后,发现表格中不存在有一行全是a的情况,那么分解就是有损的。特别要注意,这里有个循环反复修改的过程,因为一次修改可能导致表格能继续修改。
返回目录:数据库系统工程师考试分章节复习资料汇总
编辑推荐:
软考备考资料免费领取
去领取