一、今日学了啥?
- 关系代数核心运算:并(∪)、交(∩)、差(-)要求两关系结构一致;笛卡尔积(×)无此限制,结果为行数相乘、列数相加;自然连接(⨝)隐含相同属性值相等且合并重复列。
- 操作优先级与效率:先通过选择(σ)缩小数据集再连接,自然连接效率高于笛卡尔积;符号优先级:括号 > 投影/选择 > 笛卡尔积/连接 > 并/交/差。
- 易错点:投影可能丢失列导致后续条件误判;自然连接隐含条件易与笛卡尔积混淆;差操作方向敏感(A-B ≠ B-A)。
二、重点/要记住的!
-
关系代数运算
- 并(∪):两关系结构相同,合并后去重。
- 交(∩):两关系中完全相同的元组。
- 差(-):从一个关系中移除与另一个关系相同的元组(方向敏感)。
- 笛卡尔积(×):两关系所有行组合,列数相加,无需结构一致。
- 投影(π):按列选择(列操作),保留指定属性。
- 选择(σ):按行筛选(行操作),保留满足条件的元组。
- 自然连接(⨝):合并两关系,保留相同属性名且值相等的元组,合并重复列。
-
符号与优先级
- 并、交、差:要求两关系属性一致。
- 笛卡尔积:无结构限制,结果列数为两者之和。
- 自然连接:隐含条件(相同属性值相等),合并重复列。
- 运算符优先级:括号 > 投影/选择 > 笛卡尔积/自然连接 > 并/交/差。
-
效率优化原则
- 先筛选后连接:先通过选择(σ)缩小数据集,再进行连接或笛卡尔积。
- 自然连接优于笛卡尔积:自然连接减少行数和列数,效率更高。
-
示例对比
操作 结构一致要求 结果行数 结果列数 典型错误点 并(∪) 合并后去重 保持原列数 忽略去重 交(∩) 共有元组 保持原列数 混淆为差集 差(-) 差集元组 保持原列数 忽略方向性(A-B ≠ B-A) 笛卡尔积(×) 行数相乘 列数相加 误认为需要结构一致 自然连接(⨝) 满足属性值相等 合并重复列 忽略隐含条件和列合并
三、今天的小收获/卡住的地方
暂不涉及
四、明天学啥?
明天学习函数依赖-有向图
像实干家一样思考问题,像思想家一样付诸行动。
愿你我共同进步!
来源链接:https://www.cnblogs.com/yangor/p/19038678
© 版权声明
本站所有资源来自于网络,仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您(转载者)自己承担!
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
THE END
暂无评论内容