首页/新闻资讯/正文详情

软考软件设计师/系统架构设计师必考:关系代数(并、交、差、笛卡尔积、选择、投影、连接、除)最全详解

发布时间:2026/9/24 10:02:51 来源:云帆数科 栏目:资讯中心
软考软件设计师/系统架构设计师必考:关系代数(并、交、差、笛卡尔积、选择、投影、连接、除)最全详解
目标一文彻底掌握软考上午题中“关系代数”所有高频考点。包含并、交、差、笛卡尔积、选择、投影、连接、除八大运算的符号、定义、适用条件、计算方法与典型例题。配学生选课实例和软考风格练习题看完这篇无需再翻其他资料。一、关系代数概述关系代数是一种过程化查询语言以关系为运算对象通过对关系进行一系列运算得到查询结果。关系代数是SQL语言的理论基础也是软考数据库部分必考内容。1. 运算分类基本运算并、差、笛卡尔积、选择、投影。导出运算交、连接、除可由基本运算组合得到。2. 并相容性并、交、差运算要求两个关系满足并相容具有相同的属性个数元数相同。对应属性的域相同或可兼容。3. 常用符号运算符号含义并R ∪ S两个关系的所有元组合并交R ∩ S两个关系中共有的元组差R − S在R中但不在S中的元组笛卡尔积R × S两个关系元组的全组合选择σ_条件®按条件筛选行投影π_属性®选择指定列并去重连接R ⋈_条件 S按条件连接两个关系自然连接R ⋈ S按同名属性等值连接并去重列除R ÷ S求“包含所有”的元组二、并、交、差1. 并Union定义R ∪ S { t | t ∈ R 或 t ∈ S }要求R和S并相容。结果包含R和S中的所有元组重复元组只保留一个。示例R(A,B): (1,2), (2,3), (3,4) S(A,B): (1,2), (2,3), (4,5) R ∪ S (1,2), (2,3), (3,4), (4,5)2. 交Intersection定义R ∩ S { t | t ∈ R 且 t ∈ S }要求R和S并相容。结果同时出现在R和S中的元组。示例R ∩ S (1,2), (2,3)3. 差Difference定义R − S { t | t ∈ R 且 t ∉ S }要求R和S并相容。结果在R中出现但不在S中出现的元组。示例R − S (3,4) S − R (4,5)软考常考并、交、差要求并相容差运算不满足交换律。三、笛卡尔积Cartesian Product定义R × S { t_R t_S | t_R ∈ R 且 t_S ∈ S }结果属性R的属性 S的属性若属性名冲突需加前缀区分。结果元组数|R| × |S|。示例R(A,B): (1,2), (2,3) S(C,D): (5,6), (7,8) R × S 结果属性为 (A,B,C,D)共4个元组 (1,2,5,6) (1,2,7,8) (2,3,5,6) (2,3,7,8)软考常考笛卡尔积结果元组数等于两个关系元组数之积结果属性为两个关系属性之和。四、选择与投影1. 选择Selection定义σ_条件® { t | t ∈ R 且 t 满足条件 }作用从关系中筛选出满足条件的行元组。条件可用 、≠、、≤、、≥ 及逻辑运算符 ∧、∨、¬。示例R(A,B): (1,2), (2,3), (3,4) σ_{A1}(R) (2,3), (3,4) σ_{A2 ∧ B3}(R) (2,3)2. 投影Projection定义π_属性列表® { t[属性列表] | t ∈ R }作用从关系中选出指定的列并去除重复元组。示例R(A,B): (1,2), (2,3), (3,4), (4,3) π_A(R) (1), (2), (3), (4) π_B(R) (2), (3), (4)软考常考选择是行运算投影是列运算投影结果自动去重。五、连接Join连接是将两个关系的元组按一定条件拼接成新元组。1. θ连接Theta Join定义R ⋈_{条件} S σ_{条件}(R × S)条件可以是 、、 等比较运算。结果先做笛卡尔积再按条件筛选。示例R(A,B): (1,2), (2,3) S(B,C): (2,5), (3,6), (4,7) R ⋈_{R.B S.B} S 结果属性 (A,B,B,C)满足条件的元组 (1,2,3,6) // 23 (1,2,4,7) // 24 (2,3,4,7) // 342. 等值连接Equi-Join定义θ连接中条件为等号的情况。示例R ⋈_{R.BS.B} S结果保留两个B列。3. 自然连接Natural Join定义R ⋈ S按两个关系中所有同名属性进行等值连接并去掉重复属性列。要求两个关系有同名属性。示例R(A,B): (1,2), (2,3), (3,4) S(B,C): (2,5), (3,6), (4,7) R ⋈ S (1,2,5), (2,3,6), (3,4,7)结果属性为 (A,B,C)B列只保留一个。4. 连接类型对比连接条件结果属性是否去重列θ连接任意条件R属性S属性否等值连接等号条件R属性S属性否自然连接同名属性相等去掉重复列是软考常考自然连接与等值连接的区别自然连接结果属性数 R属性数 S属性数 − 同名属性数。六、除Division定义R(X,Y) ÷ S(Y) { x | 对所有 y ∈ S都有 (x,y) ∈ R }结果属性X即R中除去S属性后的属性。用途解决“包含所有”“选修了全部课程”等查询。示例R(A,B): (1,2), (1,3), (2,3), (3,2), (3,3) S(B): (2), (3) R ÷ S (1), (3)解释A1 对应 B2,3包含S中所有BA3 对应 B2,3也包含A2 只对应 B3不包含B2所以排除。软考常考除法用于“全部”“所有”语义结果属性为R属性减去S属性。七、综合例题例题1学生选课数据库设学生 S(学号, 姓名, 性别, 年龄)课程 C(课程号, 课程名, 学分)选课 SC(学号, 课程号, 成绩)查询1查询选修了“数据库”课程的学生姓名。π_{姓名}(σ_{课程名数据库}(S ⋈ SC ⋈ C))或π_{姓名}(S ⋈ SC ⋈ σ_{课程名数据库}(C))查询2查询选修了全部课程的学生学号。π_{学号,课程号}(SC) ÷ π_{课程号}(C)查询3查询至少选修了课程号为“C01”和“C02”的学生学号。π_{学号}(σ_{课程号C01}(SC)) ∩ π_{学号}(σ_{课程号C02}(SC))例题2计算关系代数表达式给定R(A,B): (1,2), (2,3), (3,4) S(B,C): (2,5), (3,6), (4,7)求R ∪ S不满足并相容属性不同不能直接并。π_A® (1),(2),(3)σ_{B2}® (2,3),(3,4)R ⋈ S (1,2,5),(2,3,6),(3,4,7)R × S 结果元组数 3×39。八、软考常见题型与技巧题型一判断表达式含义例题表达式 π_{学号}(σ_{成绩90}(SC)) 的含义是 。A. 查询成绩大于90的学生学号B. 查询所有学生学号C. 查询成绩大于90的课程号D. 查询选修了课程的学生学号答案A题型二根据需求写关系代数例题查询没有选修任何课程的学生学号。π_{学号}(S) − π_{学号}(SC)题型三计算表达式结果例题R(A,B): (1,2),(2,3),(3,4)S(B,C): (2,5),(3,6)。求 R ⋈ S。答案(1,2,5),(2,3,6)题型四除法应用例题查询选修了全部课程的学生姓名。π_{姓名}(S ⋈ (π_{学号,课程号}(SC) ÷ π_{课程号}(C)))九、易错点与注意事项并、交、差必须并相容否则不能运算。投影会自动去重选择不会。自然连接去掉重复属性列等值连接保留。笛卡尔积结果元组数 |R| × |S|属性数 R属性数 S属性数。除法用于“包含所有”结果属性为R属性减去S属性。差运算不满足交换律R−S ≠ S−R。连接条件中属性名冲突需加关系名前缀。关系代数表达式可以嵌套先内层后外层。并、交、差的结果属性名继承第一个关系。SQL与关系代数对应SELECT对应投影WHERE对应选择JOIN对应连接。十、总结与速记速记1八大运算运算符号作用关键点并∪合并元组并相容交∩公共元组并相容差−去掉公共并相容不交换笛卡尔积×全组合元组数相乘选择σ选行条件筛选投影π选列自动去重连接⋈按条件拼接自然连接去重列除÷包含所有结果属性为差集速记2核心区别选择行投影列。自然连接去重列等值连接不去。除法对应“全部”“所有”。并交差要并相容。速记3常用表达式没有选修任何课程π_{学号}(S) − π_{学号}(SC)选修了全部课程π_{学号,课程号}(SC) ÷ π_{课程号}©选修了“数据库”的学生姓名π_{姓名}(S ⋈ SC ⋈ σ_{课程名‘数据库’}©)掌握以上内容配合历年真题练习关系代数部分即可轻松得分。建议重点练习根据需求写关系代数表达式、自然连接结果计算和除法应用。发布日期2026-09-23下期预告数据库系统——SQL语言DDL、DML、DCL、查询敬请关注。

相关推荐

Robot Framework 4.1 版本特性详解:continue-on-failure 标签控制与参数转换增强
Robot Framework 4.1 版本特性详解:continue-on-failure 标签控制与参数转换增强

测试RPA接口测试 【免费下载链接】robotframework Generic automation framework for acceptance testing and RPA 项目地址: https://gitcode.com/gh_mirrors/ro/robotframework 点击查看 免费下载 导读 Robot Framework 4.1 是继 4.0 之后的一个特性版本&#x… · 2026/9/24 10:02:20

Linux内核参数调优实战:从/proc/sys到sysctl全面解析
Linux内核参数调优实战:从/proc/sys到sysctl全面解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 10:02:08

2026企业AI办公工具选型指南:从场景匹配评估AI工作平台
2026企业AI办公工具选型指南:从场景匹配评估AI工作平台

企业在采购AI办公工具时,很容易陷入功能清单对比的误区。很多数字化负责人会直接统计工具具备多少项能力,或是以单次对话的效果作为评判依据,也有团队会单纯依据报价、品牌知名度做决策。这类评估方式容易造成采购后的落地断层:工… · 2026/9/24 10:02:01

SemIf Phase 1 结果全解:开源 4B 模型在 RTX 3090 上复现语义决策算子(质量、速度与边界)
SemIf Phase 1 结果全解:开源 4B 模型在 RTX 3090 上复现语义决策算子(质量、速度与边界)

【免费下载链接】SemIf Semantic ifs from open models, on a 3090 at home. Independent; not affiliated with Jev or TypeSafe. 项目地址: https://gitcode.com/gh_mirrors/op/SemIf 点击查看 免费下载 本篇技术指南围绕 docs/RESULTS.md 展开,系统解… · 2026/9/24 15:17:27

RK3538与RK3572芯片选型对比:从边缘计算到AIoT的架构解析
RK3538与RK3572芯片选型对比:从边缘计算到AIoT的架构解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 15:17:27

SDR++ Android NDK 编译指南——三步配出跨架构软件无线电
SDR++ Android NDK 编译指南——三步配出跨架构软件无线电

SDR Android NDK 编译指南——三步配出跨架构软件无线电 【免费下载链接】SDRPlusPlus Cross-Platform SDR Software 项目地址: https://gitcode.com/GitHub_Trending/sd/SDRPlusPlus 列车驶过的瞬间,手机瀑布图上亮起了信号。完成 SDR Android NDK 编译后就… · 2026/9/24 15:17:19

ESP32-P4 + ST7703 RGB屏视频轮播器:MIPI-DSI驱动与24fps实现
ESP32-P4 + ST7703 RGB屏视频轮播器:MIPI-DSI驱动与24fps实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 15:17:19

CKAD 实战:Multi-container Pods(10%)多容器与 Init 容器考点全解析
CKAD 实战:Multi-container Pods(10%)多容器与 Init 容器考点全解析

CKAD 实战:Multi-container Pods(10%)多容器与 Init 容器考点全解析 【免费下载链接】CKAD-exercises A set of exercises to prepare for Certified Kubernetes Application Developer exam by Cloud Native Computing Foundation 项目地址… · 2026/9/24 15:17:19

OpenSpec 增量规范同步(sync)工作流实战:以 imewlconverter 仓库的 Agent 驱动规范合并为例
OpenSpec 增量规范同步(sync)工作流实战:以 imewlconverter 仓库的 Agent 驱动规范合并为例

桌面应用CLI开发工具 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 点击查看 免费下载 本指南围绕仓库中 .claude/commands/opsx/sync.md 定义的 OPSX: 同步 命… · 2026/9/24 15:17:19

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码