模式分解理论
模式分解:
模式分解的概念:
理解:
把关系模式R分解成k个关系模式,k个关系模式的的集合就是p={R1(U1),R2(U2),R3(U3),…,Rk(Uk)},
而U = U1∪U2∪U3∪…∪Uk。
每一个小的关系模式对应的关系(r1,r2,r3,r4,…,rk),它们也相当于R的关系r分别在R1,R2…上的投影,
把这些投影连接起来
即:
得到的就是R的任意关系向p的投影连接
模式分解的特性:
数据内容的等价性:
理解:
1.由关系模式R的任意关系r分解连接得到的新关系必然包含关系模式R的关系r。
2.关系模式R的任意关系r分解连接得到的新关系,记为S,S再分解得到的各个关系必然等于原来的ri。
3.由关系模式R的关系r分解连接得到的新关系S再次分解连接得到的关系,其必然跟原来的新关系S相同。
数据约束的等价性
理解:
若关系模式R进行模式分解,得到的R1(SZ),R2(CZ),必然会丢失约束CS->Z。
模式分解要考虑的问题:
理解:
如果想要把一个关系模式模式分解成若干个符合关系范式3NF的子关系模式,一般方法会把每个函数依赖单独组成一个关系。但是这样做可能会丧失无损连接性和保持依赖性。