闲话数据库(三)---模式的分解

前面刚刚说过一些关系模式范式的东西,不过只是一些指导意见,并不是一些硬性规定。遵从了可以帮我们减少数据库维护的麻烦,不遵从只要自己能够继续维护下去也行。


如果想进行规范化到第三范式,很明显要进行一些化简的操作,那么怎么进行去化简呢?


现行通用的方式是进行模式分解,分解之后要达到以下的结果:

1.分解必须保证分解出的所有属性组最后组合起来可以恢复到分解之前属性组集合

2.这些分解出基于分属性组的关系模式进行连接之后可以恢复到与分解之前的关系模式一致

3.函数依赖虽然被分解到分属性组,但是仍然需要保证不破坏分解之前的函数依赖


然后为了满足上面三个要求,关系数据库方面的大拿们求助数学方面的知识,找到了可以解决上面问题的一些数学定义,然后基于这些定义制定相关的关系数据库规则。例如:分解,无损连接,保持函数依赖。


相关的具体操作可以从以下几点来考量:

1.候选码是多个的时候,一般每一个候选码需要进行分解,基于每一个候选码的函数依赖要归并到

    与当前候选码一致的分解中去

2.根据函数依赖分解完属性组之后进行化简,去掉每一个分组的重复选项

3.尝试将化简之后的分组重新进行连接操作,对比分解之前的关系模式是不是一致

4.一致则可以认为这种化简是有效的


最后再次提醒,上面的这些都是基于纯技术手段进行的化简,并没有考虑语义方面的问题,其实语义对这种化简操作要比纯技术手段要有效一些。语义化简可以看做是人的感性操作,技术化简可以看做是人的理性操作,还是结合着一起用才好。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值