模式分解——无损连接分解
练习1:已知R<U,F>,U={A, B, C, D, E},F={AB->C, C->D, D->E},R的一个分解为R1(A, B, C),R2(C, D),R3(D, E),判断是否为无损分解
1. 构造表(根据分解的R进行构造,和F无关)
A | B | C | D | E | |
ABC | |||||
CD | |||||
DE |
2. 初始化,根据表中行号中的元素,填上对应的ai
A | B | C | D | E | |
ABC | a1 | a2 | a3 | ||
CD | a3 | a4 | |||
DE | a4 | a5 |
对空白部分补上bij
A | B | C | D | E | |
ABC | a1 | a2 | a3 | b14 | b15 |
CD | b21 | b22 | a3 | a4 | b25 |
DE | b31 | b32 | b33 | a4 | a5 |
3. 由AB->C,找AB列(注意不是A、B列),发现每一行(元组)中AB组合没有相同的,跳过
由C->D,找C列,发现1、2行相同,因此将D列的1、2行改为a4
A | B | C | D | E | |
ABC | a1 | a2 | a3 | a4 | b15 |
CD | b21 | b22 | a3 | a4 | b25 |
DE | b31 | b32 | b33 | a4 | a5 |
由D->E,找到D列,发现1、2、3行全部相同,因此将E列的1、2、3行都改为a5
A | B | C | D | E | |
ABC | a1 | a2 | a3 | a4 | a5 |
CD | b21 | b22 | a3 | a4 | a5 |
DE | b31 | b32 | b33 | a4 | a5 |
4. 全部处理完了,发现第一行出现a1、a2、a3、a4、a5,因此本次分解为无损连接分解
2022.3.21更新
如果对于X->Y,对于相同的X,所有的Y都不相同,则取行号最小的Y覆盖所有的Y(本例题没有体现)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现