• 数据库-关系模式的范化


    阿姆斯特朗公理

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

    修改后:

  • 相关阅读:
    C语言学习代码〈二〉
    C语言学习笔记<三 >
    C语言学习笔记<一 >
    C语言学习代码〈四〉
    C语言学习代码〈三〉
    C语言学习笔记<五>
    C语言学习笔记<四>
    C语言学习笔记<二 >
    C语言学习代码<一> .
    周末练习
  • 原文地址:https://www.cnblogs.com/visualVK/p/9193172.html
Copyright © 2020-2023  润新知