数据库概论笔记第六章(关系数据库设计)

关系数据库设计

1.分解decompose

函数依赖functional dependency:num→amount,amount依赖于num,num确定amount也能确定。

非码(非候选码)属性需要分解

有损分解lossy decomposition:能分不能合

无损lossless连接分解:分解后能通过自然连接恢复

2.第一范式First Normal Form

如果元素是不可分割的,域就是原子的atomic

如果R的所有属性的域都是原子的,那么关系模式R就是第一范式

3.函数依赖

函数依赖:用来判断关系(函数依赖集下合法),判断方法从语义上类似超码

函数依赖集:F{A→B,C→D}

如果关系r在F下合法,称r满足satisfy F。

函数依赖就相当于超码的优化

平凡trivial函数依赖:X→Y(Y⊂X)

超码:K→R

F的闭包closure F+:F逻辑上所有函数依赖的集合(全集)

F+是F的超集

4.BCNF(BC范式)

R满足BC范式需要函数依赖F(语义),对所有F+a→b,a和b都是R的子集,满足a→b是平凡的trivial或a是R的超码(对所有F+中函数依赖,左面不是超码,就不符合BC范式)

简易BC范式的分解:若a→b的a不是超码,R1 = a∪b(=AB)、R2= R-(b-a)(=R-B=ABC-B=AC),

b-a=b :ab没有交集

分解保持函数依赖:分解后的单独关系上的依赖关系保证所有函数依赖都成立(所有依赖都能在某一个子模式实现)

是无损分解,不是保持依赖的分解

BC范式判断:计算a+判断是否包含R的所有属性

(对于不符合BC范式的a → \rightarrow b,分解为R1 = a+,R2 = a和其他不包含在R1中的元素

5.第三范式Third NF

相比于BC范式多出一个可选条件:b-a的每个属性都包含在R的候选码中(候选码可以不同)

满足BC范式必定满足第三范式

第三范式(BC范式的最小扩展)能确保函数依赖

规范化的目标:R是F的关系模式,判断R是不是好的

不好就分解,分解后必须保证无损分解,最好能保证函数依赖

三范式分解最小覆盖Fc中,a→b,增加子模式R1 = a∪b,如果几个子模式中有一个包含候选码就结束,如果不包含就多定义一个包含候选码的子模式

6.闭包

Armstrong’s Axioms公理:

自反律:b⊆a,则a→b

增广律:a→b,那么ca→cb

传递律:a→b,b→c那么a→c

求取F+:将初值交给F,然后对F+的每个函数依赖f,对f应用自反律和增广律,加入到F+中。每一对函数依赖f1、f2上,就用传递律。直到F+不变。

定理

a→b,a→c,则a→bc

a→bc,则a→b,a→c

a→b,cb→d,则ac→d

F下的属性闭包aF+:a在函数依赖集F下所有决定关系(a → \rightarrow ?)

a的闭包:如果b→c,b在a中,就把c加入到结果中

如果a+=R,则a是超码

7.正则覆盖Canonical Cover

冗余:a→c,在a→b和b→c的情况下

正则覆盖:**Fc**就是最小的函数依赖集

无关属性:对a → \rightarrow b,A是无关属性

如果属性A在a中,则 F ′ = ( F − a → b ) ∪ ( a − A ) → b F' = (F-{a \rightarrow b }) \cup {(a-A) \rightarrow b} F=(Fab)(aA)b​(就是将A从a中删除)

如果属性A在b中,则F’ = (F- { a → b }) ∪ \cup {a → (b-A)} (a→bc可以和a→b合并)(A从b中删除)

证明属性A无关:对a → \rightarrow b

如果A在a中,计算a去掉A属性后的闭包(a-A)+(对F),看是否包含b

如果A在b中,F’ = ( F − (F- (F{ a → b a \rightarrow b ab}) ∪ \cup {a → (b-A)},检查a+中包含A(A从b中删去后计算a+(对F’),包含A就是无关属性)

8.无损连接分解和保持函数依赖的分解

相交属性是任意一个集合的主码

无损连接:R1 ∩ \cap R2 → \rightarrow R1或R1 ∩ \cap R2 → \rightarrow R2在F+

保持函数依赖:检查分解后的函数依赖Fi并集是否等于F+

保持函数依赖的检查:检查a → \rightarrow b是否在分解后子集存在

9.多值依赖Multivalued Dependencies

a → \rightarrow → \rightarrow b(同时a → \rightarrow → \rightarrow else)

abelse
t1ab1c1
t2ab2c2
t3ab1c2
t4ab2c1

y → \rightarrow z则y → \rightarrow → \rightarrow z

10.第四范式

a→→b是平凡的trivial或a是R的超码

11.其他

时态数据:随时间变化值发生改变

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值