主题切换
关系代数
考点分值总览
| 考点 | 重要程度 | 分值 | 常见题型 |
|---|---|---|---|
| 传统集合运算 | ★★★ | 1~2 | 选择题 |
| 专门的关系运算 | ★★★★★ | 2~10 | 选择、简答、计算、应用题 |
1. 传统集合运算
前置前提
并、差、交运算要求关系
示例基础关系
(1)并运算
公式:
(2)差运算
公式:
(3)交运算
公式:
(4)笛卡尔积
公式:
为 目、 为 目,结果为 列; 有 条元组, 有 条元组,结果总元组数 = ; - 每一条
的元组,依次拼接 的每一条元组。
2. 专门的关系运算(核心必考)
(1)选择 (行筛选)
又称限制,按行筛选满足条件的元组。 公式:
:逻辑条件表达式,格式 ; 为比较符: 。
(2)投影 (列截取,自动去重)
公式:
- 查询姓名与院系:
- 只查询院系:
,重复CS只保留一行。
(3)连接
本质:先做笛卡尔积,再按条件筛选匹配元组。 通用公式:
① 等值连接
=,仅筛选属性值相等的元组,保留重复同名列。
② 自然连接(特殊等值连接)
- 要求两张表同名属性做等值匹配;
- 结果自动删除重复的同名列;
- 同时完成行筛选+列去重两步操作。
③ 外连接
- 左外连接:自然连接结果 + 左表中未匹配成功的元组,右表字段补
null; - 右外连接:自然连接结果 + 右表中未匹配成功的元组,左表字段补
null; - 全外连接 = 左外连接
右外连接,保留左右两边所有不匹配元组,空缺填 null。
(4)除运算
定义
典型例题
题目:查询至少选修1号、3号课程的学生学号
- 构造临时关系
(仅含Cno:1、3); - 表达式:
; - 输出满足两门课都选的学号集合。
综合查询例题
题目:查询至少选修先行课为5号课程的学生姓名 表达式:
解析:
筛选先行课为5的课程; - 和SC自然连接,拿到选该课的学号;
- 和Student投影后的学号、姓名表连接;
- 最终投影只输出学生姓名。
课时二 练习题
1. 选择题
关系数据库管理系统应能实现的专门关系运算包括()。 A. 排序、索引、统计 B. 选择、投影、连接 C. 关联、更新、排序 D. 显示、打印、制表 答案:B
2. 简答:等值连接与自然连接的区别
- 等值连接只要求比较属性值相等,允许两张表比较属性名不同;自然连接必须是同名属性等值匹配;
- 等值连接结果保留重复的匹配属性列;自然连接自动删除重复同名列;
- 等值连接仅做行筛选;自然连接同时完成行筛选+重复列删除。
3. 计算:
解:
投影 ; - 遍历
中 的象集: 对应 ,包含 全部元组; 对应 ,不包含 ; 对应 ,包含 全部元组;
- 结果
:
4. SPJ四表查询
关系模式:
1)求供应J1工程零件的供应商号
2)求供应J1工程、P1零件的供应商号
3)求供应J1工程红色零件的供应商号
4)求至少使用天津供应商生产的红色零件的工程号
5)求至少使用S1供应商全部零件的工程号
5. 雇员、工作、公司、主管多表查询
模式: 雇员(员工姓名,居住城市,居住街道) 工作(员工姓名,公司名,工资) 公司(公司名,公司所在城市) 主管(员工姓名,主管姓名)
1)找出在firstbank工作的员工姓名
2)firstbank员工姓名+居住城市
3)firstbank、工资>1000的员工姓名+工资
4)所有员工工资都大于1000的公司名
5)主管Smith下属员工姓名+居住城市