【数据库设计】无损连接的判别方法
无损连接是指分解后的关系通过自然连接可以恢复成原来的关系,即通过自然连接得到的关系与原来的关系相比,既不多出信息、又不丢失信息。保持函数依赖分解是指在模式的分解过程中,函数依赖不能丢失的特性,即模式分解不能破坏原来的语义。
判断是否无损连接的方法:
若关系模式R(U,F)中,被分解为p={R1, R2}是R的一个分解,若R1∩R2 → R1 - R2或者R1∩R2 → R2 - R1,则为无损连接
下面来看个例题
设有关系模式R(U,V,W,X,Y,Z),其函数依赖集:F={U→V,W→z,Y→U,WY→X},现有下列分解:p={UVY,WXYZ}
判断分解p是否为无损连接
首先计算 R1∩R2 为Y,R1-R2为UV因为 Y→U,U→V,因此Y→UV。
所以为无损连接
此外我们还可以构造一个二维表来进行判断是否为无损连接,就刚刚这个题来说
U | V | W | X | Y | Z |
---|---|---|---|---|---|
分解1 | a1 | a2 | a5 | ||
分解2 | a3 | a4 | a5 |
因为U→V,Y→U,因此可以得出
U | V | W | X | Y | Z |
---|---|---|---|---|---|
分解1 | a1 | a2 | a5 | ||
分解2 | a1 | a2 | a3 | a4 | a5 |
因此可以得出,为无损连接