导图社区 第3章 关系运算
这是一篇关于第3章 关系运算的思维导图,主要内容包括:关系数据模型,关系代数,关系演算,查询优化。内容全面且逻辑清晰。
这是一篇关于数据库系统结构的思维导图,主要内容包括:数据描述,数据模型,数据库管理系统(DBMS),数据库系统(DBS),数据库体系结构。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
第3章 关系运算
关系数据模型
定义与性质
域(Domain):值的集合(如性别域={男,女})
笛卡尔积:域的组合(如教师域×课程域)
关系:笛卡尔积的子集,满足原子性、无重复元组、无行序(例:TC={(汪宏伟,数据结构)})
关系特点:二维表、行=元组、列=属性、主键唯一标识元组
关键码与约束
关键码
超键:唯一标识元组的属性集
候选键:无多余属性的超键
主键:候选键中选定的一个
外键:参照其他关系主键的属性
完整性规则
实体完整性:主键非空(例:研究生表主键“学号”非空)
参照完整性:外键值必须为参照表主键有效值或空值(例:研究生表“导师编号”需在导师表中存在)
用户定义完整性:自定义语义约束(如成绩≥0)
关系代数
基本操作
并(∪):合并相同结构的两个关系(例:库存表∪进货表)
差(−):保留仅属于前者的元组
笛卡尔积(×):所有元组组合(例:R×S)
投影(π):垂直选取属性列(例:π部门(职工表))
选择(σ):水平筛选满足条件的元组(例:σSEX='女'(学生表))
组合操作
交(∩)
取公共元组(例:优秀学生∩优秀学生干部)
连接(⋈)
θ连接:按条件组合元组(例:SC ⋈_{SC.CNO=C.CNO} C)
自然连接:自动匹配同名属性并去重(例:SC ⋈ C)
外连接:保留未匹配元组(左/右/全外连接)
除(÷)
筛选与所有指定元组关联的元组(例:SC÷CG,检索满足所有成绩条件的学生)
查询示例
检索供应红色零件给工程J1的供应商名称πSNAME(σCOLOR=′红色′∧JNO=′J1′(S⋈SPJ⋈P))
关系演算
元组关系演算
表达式
{t∣P(t)}(例:{t∣SPJ(t)∧t[JNO]=′J1′})
原子公式
R(t)(元组属关系R)、t[i]θu[j](分量比较)
域关系演算
表达式:{t1,t2,⋯,tk∣P(t1,⋯,tk)}(例:{xyz∣R(xyz)∧x<5})
安全性
避免无限关系与无穷验证(约束变量范围)
查询优化
优化策略
尽早执行选择操作(减少中间结果)
合并笛卡尔积与选择为连接操作
预计算重复子表达式
优化算法
步骤
1. 拆分选择条件为合取式
2. 将选择/投影移近叶端
3. 合并选择与投影
4. 分组语法树节点
示例
σJNO=′J1′(SPJ)⋈σCOLOR=′红色′(P) 优于 σJNO=′J1′∧COLOR=′红色′(SPJ×P)
等价变换规则
连接和笛卡尔积的交换律
E1⋈FE2≡E2⋈FE1 E1×E2≡E2×E1
连接和笛卡尔积的结合律
(E1⋈F1E2)⋈F2E3≡E1⋈F1(E2⋈F2E3) (E1×E2)×E3≡E1×(E2×E3)
投影的串接
πL1(πL2(⋯(πLn(E))⋯)≡πL1(E) 其中 L1⊆L2⊆⋯⊆Ln
选择的串接
σF1(σF2(E))≡σF1∧F2(E)
选择与投影的交换
πL(σF(E))≡σF(πL(E))
选择对笛卡尔积的分配律
σF(E1×E2)≡σF(E1)×E2
选择对并的分配律
σF(E1∪E2)≡σF(E1)∪σF(E2)
选择对集合差的分配律
σF(E1−E2)≡σF(E1)−σF(E2)
选择对自然连接的分配律
σF(E1⋈E2)≡σF(E1)⋈σF(E2)
投影对笛卡尔积的分配律
πL1∪L2(E1×E2)≡πL1(E1)×πL2(E2) L1属 E1,L2属 E2
投影对并的分配律
πL(E1∪E2)≡πL(E1)∪πL(E2)
选择与连接操作的结合
σF(E1×E2)≡E1⋈FE2 σF1(E1⋈F2E2)≡E1⋈F1∧F2E2
并和交的交换律与结合律
E1∪E2≡E2∪E1,(E1∪E2)∪E3≡E1∪(E2∪E3)
E1∩E2≡E2∩E1,(E1∩E2)∩E3≡E1∩(E2∩E3)