数据库范式小结 1NF 2NF BCNF 3NF 4NF DB normal form

1. 1NF指关系中的每一个变量不可再分

2. 2NF指消除了非主属性对码(candidate key)的部分依赖的1NF

   例如(S#,C#)-> SN ,(S#,C#)-> SD ,S#->SD那么SD部分依赖与候选键,不是2NF,只能是1NF;分解为SC(S#, C#, G)和S_SD(S#,SN,SD,DEAN)就是2NF

3. BCNF指消除了主属性对码(candidate key)的部分依赖的2NF

例如 (S#,C#)->T#, T#->C#不是BCNF,因为candidate 是 (S#,T#),(S#,C#),主属性C#部分依赖于(S#,T#),所以不是BCNF;可以分解为:

(S#,T#),(T#,C#)两张表

4. 3NF指消除了传递依赖的BCNF

例如 S#->SD, SD->DEAN不是3NF,因为DEAN传递依赖于S#,可以分解为STUDENT(S#,SN,SD)和DEPT(SD,DEAN)

4. 4NF指消除了多值依赖的3NF

例如:

 他的原来的主键为(C#,T#,B#),分解为(C#,T#)和(C#,B#)



Comments: SN = Student Name, SD = Student Department, T# = the # of teacher


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值