【系统架构设计师】数据库系统 ⑦ ( 规范化理论 | Armstrong 公理系统 | 自反律 | 增广律 | 传递律 | 合并规则 | 伪传递规则 | 分解规则 | 最小不可推导依赖 )





一、Armstrong 公理 基本定律



Armstrong 公理 基本定律 : 关系模式 R ( U , F ) , 有如下 基本规则 ;

  • 自反律 : 如果 Y ⊆ X ⊆ U , 则有 X -> Y 成立 ;
  • 增广律 : 如果 Z ⊆ U 并且 X -> Y , 则有 XZ -> YZ 成立 ;
  • 传递律 : 如果 X -> Y 并且 Y -> Z , 则有 X -> Z 成立 ;

1、自反律


自反律 : 如果 Y ⊆ X ⊆ U , 则有 X -> Y 成立 ;


U 是 关系模式 R ( U , F ) 的 属性集合 , Y 属性集合 和 X 属性集合 都是 关系 R 属性集合 U 的子集 , Y 集合 是 X 集合的子集 , 根据 X 可以推导出 Y , 则有 X 集合中的属性 函数决定 Y 集合中的属性 ;


给定下面的 三个属性集合 ;

  • U = { A , B , C } , 这是 关系模式 R ( U , F ) 的 所有属性 的 集合 ;
  • X = { A , B }
  • Y = { A }

有 Y ⊆ X ⊆ U 的 集合 关系 ;

X = { A , B } 集合 中的 属性 , 是可以 决定 属性 A 和 属性 B 本身的 , 因此 X = { A , B } 集合 中的属性 可以 函数决定 { A } 、 { B } 、 { A , B } 这三个集合中的属性 ;


使用真实的属性说明 : { 学号 , 姓名 } 可以唯一确定 { 学号 } 、 { 姓名 } 、 { 学号 , 姓名 } 属性集合中的属性 ;


2、增广律


增广律 : 如果 Z ⊆ U 并且 X -> Y , 则有 XZ -> YZ 成立 ;


U 是 关系模式 R ( U , F ) 的 属性集合 ,

属性集合 X 和 属性集合 Y 是 U 的子集 , 并且有 X 属性集合 函数决定 Y 属性集合 , 有 X -> Y ;

属性集合 Z 是 U 的子集 ;

满足 上述 ① ② 两个条件 , 则有 : XZ -> YZ ;

  • XZ 是 属性集合 X 和 属性集合 Z 的并集 ;
  • YZ 是 属性集合 Y 和 属性集合 Z 的并集 ;

X 属性集合 本来就可以 函数决定 Y 属性集合 , X -> Y , 在 左右两侧 分别增加 Z 属性集合 , XZ -> YZ 依然成立 ;


3、传递律


传递律 : 如果 X -> Y 并且 Y -> Z , 则有 X -> Z 成立 ;


U 是 关系模式 R ( U , F ) 的 属性集合 ,

① 属性集合 X 、 属性集合 Y 、 属性集合 Z 都是 U 的子集

X 属性集合 函数决定 Y 属性集合 , 有 X -> Y ;

Y 属性集合 函数决定 Z 属性集合 , 有 Y -> Z ;

满足 上述 ① ② ③ 两个条件 , 则有 : X -> Z ;

  • X 属性集合 函数决定 Z 属性集合 ;




二、Armstrong 公理 推论



Armstrong 公理 推理规则 :

  • 合并规则 : 如果有 X -> Y 并且有 X -> Z , 则有 X -> YZ ; ( 根据 增广律 和 传递率 推理得到 )
  • 伪传递规则 : 如果有 X -> Y 并且有 WY -> Z , 则有 XW -> Z ; ( 根据 增广律 和 传递率 推理得到 )
  • 分解规则 : 如果有 X -> Y 并且有 Z ⊆ Y , 则有 X -> Z ; ( 根据 自反律 和 传递率 推理得到 )

1、合并规则


合并规则 : 如果有 X -> Y 并且有 X -> Z , 则有 X -> YZ ; ( 根据 增广律 和 传递率 推理得到 )

X 、 Y 、 Z 属性集合 都是 关系模式 R ( U , F ) 的 属性集合 U 的子集 ;

① 根据 增广律 推导 :

  • X -> Y , 根据 增广律 在左右两边都增加 X , 有 XX -> XY , XX 是重复的 直接记为 X -> XY ;
  • X -> Z , 根据 增广律 在左右两边都增加 Y , 有 XY -> YZ ;

② 根据 传递律 推导 : 有 X -> XY 和 XY -> YZ , 可以得到 X -> YZ ;

最终得到 X -> YZ ;


2、伪传递规则


伪传递规则 : 如果有 X -> Y 并且有 WY -> Z , 则有 WX -> Z ; ( 根据 增广律 和 传递率 推理得到 )


X 、 Y 、 Z 、 W 属性集合 都是 关系模式 R ( U , F ) 的 属性集合 U 的子集 ;


① 增广律 : X -> Y , 根据 增广律 , 左右两边增加 W , 得到 WX -> WY ;

② 传递律 : 有 WX -> WY 和 WY -> Z , 根据 传递率 , 可以得到 WX -> Z ;

最终得到 WX -> Z ;


3、分解规则


分解规则 : 如果有 X -> Y 并且有 Z ⊆ Y , 则有 X -> Z ; ( 根据 自反律 和 传递率 推理得到 )


X 、 Y 、 Z 属性集合 都是 关系模式 R ( U , F ) 的 属性集合 U 的子集 ;


① 自反律 : Z ⊆ Y , 根据 自反律 , Y -> Z ;

② 传递律 : 有 X -> Y 和 Y -> Z , 根据 传递率 , 可以得到 X -> Z ;

最终得到 X -> Z ;





三、最小不可推导的依赖



Armstrong 公理系统 ( 自反律、增广律、传递律 ) 及其 推论 ( 合并、伪传递、分解规则 ) 构成 函数依赖 的 完备 推理框架 ;

在描述 关系模式 R ( U , F ) 时 , 函数依赖集合 F 仅需包含 " 最小不可推导的依赖 " , 即 无法通过公理系统推导的 " 核心依赖 " , 其他依赖可 通过 公理系统 的 6 个推理规则 自动生成 , 可以推导出来的 依赖 就是 冗余依赖 ;


不包含 冗余性依赖 原则 :

  • 覆盖完备性 : Armstrong 公理可生成 函数依赖集合 F 的 闭包 F⁺ , 任何未直接列出的 函数依赖 如果可通过公理推导 , 则该 被推导出的 函数依赖 仍然属于 F⁺ 闭包 , 可推导的依赖 无需显式写入 F 集合 ;
  • 最小依赖集 : 冗余的 函数依赖 , 会 增加 数据库系统 的 维护成本 ;
  • 逻辑等价性 : 关系模式 关系模式 R ( U , F ) 增加一个 冗余依赖 , 与 原来的 关系模式 完全相同 , 增加冗余依赖 不会改变 闭包 F⁺ 的语义 ;
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值