码迷,mamicode.com
首页 > 数据库 > 详细

数据库-关系模式的范化

时间:2018-06-17 17:48:32      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:图片   依赖   传递   分解   不能   property   出现   包含   主键   

 

阿姆斯特朗公理

自反律:X->Y则Y->X

增广率:A->D则AC->DC

分解率:A->BC则A->B,A->C

 

依赖关系:

平凡依赖:AB->B

非平方依赖:AB->C

部份依赖:AB->D,B->D

完全依赖:没有部份依赖就是完全依赖

 

范式

第一范式:每一个字段不能再分

技术分享图片

不喜欢的事物还能再分,不满足第一范式的要求

修改后:

技术分享图片

第二范式:基于第一范式,非主属性完全依赖于主属性

技术分享图片

主键为组建ID+供应商ID,组件ID+供应商ID->供应商名称+供应商地址,但其实供应商ID就可以决定供应商名称+供应商地址,所以不满足第二范式的要求

修改后:

技术分享图片

技术分享图片

第三范式:基于第二范式,非主属性不能传递依赖于主属性

技术分享图片

组建编号->制造商名称,组件编号->制造商地址,但是同时也有制造商名称->制造商地址,所以存在非主属性对主属性的传递依赖,不符合第三范式要求

修改后:

技术分享图片

BC范式:基于第一范式,每个非平凡依赖的左边必须包含键码;每个决定因素必须包含键码。wiki:任何属性(包括非主属性和主属性)都不能被非主属性所决定。(个人感觉wiki上的更好懂)

技术分享图片

Property_id#->{County_name,Lot#,Area}; {County_name,Lot#}->{Property_id#,Area},但是Area->County_name,导致出现其他属性属性对非主属性的依赖,不符合BC范式的要求

修改后:

技术分享图片

数据库-关系模式的范化

标签:图片   依赖   传递   分解   不能   property   出现   包含   主键   

原文地址:https://www.cnblogs.com/visualVK/p/9193172.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!