数据库(第四章 关系数据库理论)

不合理的关系模式存在的异常问题

1.数据冗余

2.插入异常

3.删除异常

4.更新异常

产生上述问题的根本原因----属性间存在着数据依赖关系

函数依赖

平凡函数依赖----是子集((Sno,Sn,Age)确定时,(Sno,Age)自然也确定了)

非平凡函数依赖----不是子集

全集

F+

(a,b,c)的全集数量 = 2^3 * 2^3 = 64;

超码与候选码区别

超码虽然能决定所有属性,但其中可以包含候选码以外的其他属性(有冗余)

候选码求解算法

将属性分为L、R、N、LR四类,然后求属性的闭包

注意求候选码时,要严格按照候选码求解算法,找出所有候选码

最小函数依赖集求解算法(Fmin)

(1)将F中每个函数依赖的右边变成单属性

(2)去掉F中各函数依赖左边的多余属性,如BC->A,由B+=ABC,可将C去除

(3)去除F中冗余的函数依赖(传递函数依赖)

关系模式的分解

无损连接

保持依赖

无损分解的测试算法

---------------------------范式的规范化------------------------------------

 

第一范式

表中不能套表

第二范式

每个非主属性完全函数依赖于R的主码

第三范式

每个非主属性都不传递函数依赖于R的主码

求解算法

1.先求出Fmin

2.如果Fmin有一函数依赖X->A,且XA=R,则直接输出,结束

3.如果有N类的属性,将他们构成关系模式,从R中将他们分出去,单独构成一个模式

4.对于Fmin中每一个函数依赖X->A,都单独构成一个关系子模式XA。若Fmin中有X->A1,X->A2,......则可以用XA1A2代替输出

保持函数依赖和无损连接的3NF算法

1.先根据上面的算法求出3NF

2.判断是否具有无损连接性,若无则将候选码作为新表加入集合

BC范式

消除任何属性(主属性和非主属性)对主码的部分函数依赖传递函数依赖

如果一个范式是BCNF则必定是3NF,BCNF比第三范式更严格。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值