计算机中级-数据库系统工程师-模式分解及模式分解后的特性

一、模式分解及分解后的特性
1. 无损连接
1)分解及无损连接的定义
  • 核心概念:将一个关系模式R分解成若干个子模式后,若能通过自然连接和投影运算还原原模式,则称为无损连接分解
  • 教材参考:详细定义见教材P288页,强调通过运算还原的特性
  • 考试重点:判断给定分解是否具有无损连接性是高频考点
2)定理
  • 适用条件:仅适用于分解为两个子模式的情况(R→R1,R2​)
  • 判定条件:设分解为ρ=[R1(U1,F1),R2(U2,F2)],无损连接的充要条件是:
    • U1∩U2→U1−U2∈F+或U1∩U2→U2−U1∈F+

  • 关键步骤:
    • 计算U1∩U2​
    • 计算U1−U2​和U2−U1​
    • 检查函数依赖是否属于原函数依赖集F的闭包
3)应用案例
  • 例题:关系模式分解无损连接判断
    • 题目背景:给定
    • R(U,F),U={A,B,C},F={A→B}

    • 分解方案1:ρ1={AB,BC}
      • 计算过程:
        • U1∩U2=B

        • U1−U2=A

        • U2−U1=C

        • 检查B→A和B→C是否属于F+(均不属于)
      • 结论:有损分解
    • 分解方案2:ρ2={AB,AC}
      • 计算过程:
        • U1∩U2=A

        • U1−U2=B

        • U2−U1=C

        • 检查A→B(属于F+)
      • 结论:无损分解
    • 易错提醒:定理仅适用于二分解情况,多分解需用其他方法(考试不考)
2. 保持函数依赖
1)定义
  • 形式定义:分解ρ=[R1(U1,F1),...,Rk(Uk,Fk)]保持函数依赖当且仅当(∪Fi)+=F+
  • 通俗理解:分解后所有子模式的函数依赖的并集能推导出原模式的所有函数依赖
  • 判断要点:检查原函数依赖是否都"落在"某个子模式中(即相关属性在同一子模式)
2)应用案例
  • 例题:关系模式分解保持函数依赖判断
    
    • 案例1:
      • 原模式:R(A1,A2,A3),F={A1A3→A2,A1A2→A3}
      • 分解:ρ={(A1,A2),(A1,A3)}
      • 分析:两个函数依赖都涉及三个属性,但分解后没有子模式包含全部三个属性
      • 结论:不保持函数依赖
    • 案例2:
      • 原模式:R(A1,A2,A3,A4),F={A1A3→A2,A2→A3}
      • 分解:ρ={(A1A2A4),(A1A3)}
      • 分析:
        • A1A3→A2:属性分散在不同子模式

        • A2→A3:属性不在同一子模式

      • 结论:不保持函数依赖
  • 例题:保持函数依赖的分解方法
    
    • 正确分解示范:
      • 对案例2可分解为:ρ={(A1A2A3),(A2A3)}
      • 原理:每个函数依赖的所有属性都包含在至少一个子模式中
        • A1A3→A2包含在第一个子模式

        • A2→A3包含在第二个子模式

  • 例题:关系模式分解保持函数依赖判断
    
    • 案例3:
      • 原模式:R(A,B,C,D),F={A→B,BC→D}
      • 分解:ρ={(A,B,C),(A,C,D)}
      • 分析:
        • A→B:保留在第一个子模式
        • BC→D:B,C,D不在同一子模式
      • 结论:不保持函数依赖(丢失BC→D)
    • 解题技巧:快速判断函数依赖是否"丢失"——检查依赖涉及的属性是否都在某个子模式中
二、知识小结

知识点

核心内容

考试重点/易混淆点

难度系数

无损连接分解

分解后能通过自然连接和投影还原原关系模式

定理适用条件:仅适用于分解为两个子模式的情况

⭐⭐⭐

无损连接判定定理

U1∩U2 → U1-U2 或 U1∩U2 → U2-U1 需属于F的闭包

关键步骤:交集决定差集是否成立(例:B→A或B→C是否可推导)

⭐⭐⭐⭐

保持函数依赖

分解后子模式函数依赖的并集闭包等于原函数依赖闭包

判断方法:检查原函数依赖是否因属性分散而丢失(如A1A3→A2需属性同属一子模式)

⭐⭐⭐

真题案例1(分解为AB和BC)

U1∩U2=B,B→A或B→C均不成立 → 有损分解

易错点:忽略定理仅适用于二分子模式

⭐⭐⭐⭐

真题案例2(分解为AB和AC)

U1∩U2=A,A→B成立 → 无损分解

对比维度:交集决定差集的有效性

⭐⭐⭐

保持函数依赖反例

A1A3→A2和A1A2→A3在分解后均丢失 → 不保持依赖

典型错误:未验证所有原依赖是否保留

⭐⭐⭐⭐

保持依赖的正确分解

按函数依赖分组属性(如A1A3A2和A2A3)

考试技巧:优先合并依赖涉及的属性

⭐⭐⭐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kethy__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值