数据库-关系模式的范化

阿姆斯特朗公理

自反律: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范式的要求

修改后:

猜你喜欢

转载自www.cnblogs.com/visualVK/p/9193172.html