无损连接和保持依赖性(有脑就行,尽量说人话版本)

  1. 模式分解
  2. 无损连接
  3. 保持依赖

模式分解:

def : 把一个关系模式,分解成若干个关系模式。(人话:把一个表分解成几个表)

主要关注点:1. 分成几个表后做自然连接,在内容上与原来的表内容是否等价:分解的无损连接性

                      2. 分成几个表后做自然连接,在数据依赖(约束)上是否等价:分解的保持依赖性

 像上表就不符合内容等价性,r被分解成r1和r2,自然连接以后成m_{\rho }(r),容易看出该表与原来r的表增加了几行数据,这些增加的数据有可能是错的,因此数据内容上不等价。

什么情况下需要分解呢

当关系模式不符合关系范式时分解(一般是第三范式)。分解的规则是:当将每一个函数依赖单独组成一个关系。下面贴一张哈工大战老师的PPT结合看比较好

 无损连接性(判断内容是否等价)

step1: 把分解的两个表(设为R1和R2)的交集找出来。 

step2: 判断这个交集是否为R1的超码或者是R2的超码(超码:一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中唯一地标识一个实体)。

如果step2满足,那么则有无损连接性

具体例子(必看)https://blog.csdn.net/qq_43179428/article/details/105706351

保持依赖性(判断数据依赖上是否等价)

直接判断在原来的未被分解的表中的每个函数依赖的左右两边的属性是否都在同一个被分解的表中。具体例子看https://blog.csdn.net/qq_43179428/article/details/105706351必看!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值