数据库系统工程师—7.6~7.7 Armstrong公理系统、模式分解及分解后的特性

Armstrong公理系统

Armstrong公理系统

Armstrong公理系统(函数依赖的公理系统):设关系模式R(U,F),其中U为属性集,F是U上的一组函数依赖,那么有如下推理规则:

  • A1自反律:若Y⊆X⊆U,则X→Y为F所蕴涵
  • A2增广律:若X→Y为F所蕴涵,且Z⊆U,则XZ→YZ为F所蕴涵。
  • A3传递律:若X→Y,Y→Z为F所蕴涵,则X→Z为F所蕴涵。

根据上述三条推理规则又可推出下述三条推理规则:
(1)合并规则:若X→Y,X→Z,则X→YZ为F所蕴涵。

(2)伪传递律:若X→Y,WY→Z,则XW→Z为F所蕴涵

(3)分解规则:若X→Y,Z⊆Y,则X→Z为F所蕴涵。

函数依赖的闭包F+及属性的闭包XF+

函数依赖的闭包F+

关系模式R(U,F)中为F所逻辑蕴含的函数依赖的全体(通过Armstrong公理系统推理)称为F的闭包,记为:F+

属性的闭包XF+

设F为属性集U上的一组函数依赖,X⊆U,XF+={A|X→A能由F根据Armstrong公理导出},则称XF+为属性集X关于函数依赖集F的闭包。

候选码的求解方法

根据函数依赖。将属性划分为以下

  • L:仅出现在函数依赖集F左部的属性
  • R:仅出现在函数依赖集F右部的属性
  • LR:在函数依赖集F左右部都出现的属性
  • NLR:在函数依赖集F左右部都未出现的属性

结论1:若X(X⊆U)是L类属性,则X必为R的任一候选码的成员。若XF+=U,则X必为R的唯一候选码。

结论2:若X(X⊆U)是R类属性,则X不是R的任一候选码的成员。

结论3:是X(X⊆U)是NLR类属性,则X必为R的任一候选码的成员。

结论4:若X(X⊆U)是L类和NLR类属性组成的属性集,若XF+=U,则X必为R的唯一候选码。

  • 第1步、根据题意,将所有的属性分类:
    •  L:只在左边出现,一定是
    •  R:只在右边出现,一定不是
    •  LR:左右都出现,有可能是,也有可能不是
    • NLR:左右都没出现,一定是
  • 第2步、将所有的L类和NLR类属性组合起来,设为P,求其闭包PF+,如果是全集U,那么它就是候选码。
  • 第3步、如果PF+不是全集U,则依次将LR类属性跟P组合起来求闭包,只要其闭包是全集U,就是候选码。

模式分解及分解后的特性

无损连接

无损连接是指将一个关系模式分解成若干个关系模式后,通过自然连接和投影等运算仍能还原到原来的关系模式,则称这种分解为无损连接分解。

这个定理只适用于分解为两个子模式的情况,分解为多个子模式的时候不适用

关系模式R(U,F)的一个分解ρ ={ R1(U1,F1),R2(U2,F2)}

具有无损连接的充分必要的条件是:

  • U1⋂U2→U1-U2∈F+
  • 或U1⋂U2→U2-U1∈F+

保持函数依赖

设关系模式R(U,F)的一个分解 ρ ={R1(U1,F1), R2(U2,F2),…,Rk(Uk,Fk)},(F1 ⋃ F2 ⋃ F3 ⋃…⋃ Fk)+ =F+,则称分解ρ保持函数依赖

页面链接:https://www.datazzh.top/archives/2081/2025/04/19/

评论

  1. Gabriel1790
    Windows Chrome
    2 周前
    2025-4-23 8:00:05

    Good

本文评论已关闭
上一篇
下一篇