计算机中级-数据库系统工程师-关系运算(2)

张开发
2026/4/20 5:13:14 15 分钟阅读

分享文章

计算机中级-数据库系统工程师-关系运算(2)
一、关系运算1. 自然连接1自然连接的定义与特点定义在两个关系中将相同属性列的值相等的元组进行连接并在结果集中去掉重复的属性列。特点需要两个关系具有相同的属性列结果集中会去掉重复的属性列当两个关系没有相同属性列时等价于笛卡尔积问题会丢失未匹配的元组信息。例如学生表S(学号,姓名)和成绩表SC(学号,成绩)自然连接时缺考学生(如学号003的王五)不会出现在结果中。2. 外连接1左外连接符号表示在自然连接符号左侧加两横记为R ⊳\joinrel⊲ S运算过程先计算自然连接结果取出左侧关系中所有未与右侧匹配的元组用NULL填充右侧关系的属性将补充的元组加入自然连接结果示例学生表S左外连接成绩表SC时会保留所有学生信息缺考学生的成绩显示为NULL应用场景需要保留左侧关系全部信息时使用如查询所有学生(包括缺考)的成绩2右外连接符号表示在自然连接符号右侧加两横记为R \joinrel⊳⊲ S运算过程先计算自然连接结果取出右侧关系中所有未与左侧匹配的元组用NULL填充左侧关系的属性将补充的元组加入自然连接结果示例关系R右外连接关系S时会保留S中所有元组未匹配的R属性用NULL填充3全外连接符号表示在自然连接符号两侧各加两横记为R \joinrel⊳\joinrel⊲ S运算过程计算左外连接和右外连接的结果对两个结果取并集自然连接部分只保留一次特点同时保留两个关系中所有未匹配的元组是最完整的外连接方式3. 关系运算的总结并运算R∪S取在R或S中的行要求R与S关系模式相同差运算R−S取在R中但不在S中的行交运算R∩S取既在R中又在S中的行选择运算σ条件(R)选取满足条件的行投影运算π属性列(R)选取指定的属性列连接运算θ连接先笛卡尔积再做选择等值连接θ为等号的特殊情况自然连接等值连接去重属性列外连接保留未匹配元组(左/右/全)4. 应用案例1例题:关系运算定义判断交集运算特性关系E∩F的结果元组必须同时属于关系E和F这是交集的本质特征。验证方法可通过构造具体实例验证运算结果如设E{1,2,3,4,5,6}F{4,5,6,7,8,9}E×F笛卡尔积结果元组不满足同时属于条件E∪F并集包含只属于单个关系的元组如7,8,9E−F差集结果元组必然不属于F排除技巧当不确定时通过具体例子验证各选项是否符合元组同时属于E和F的要求。2例题:关系运算计算院校院系除法运算应用关系E(学院,课程) ÷ 关系F(课程) → 结果仅保留学院属性运算逻辑找出E中包含F所有课程的学院实例验证计算机学院包含F中数据库课程且是唯一满足条件的学院笛卡尔积排除E×F会产生4×14行结果属性数为3个不符合题目要求的单行单属性结果运算方向E÷F与F÷E不等价需注意被除关系E应包含除关系F的所有属性3例题:关系表达式查询自然连接选择需要关联E(学校名称,所在地)和F(学校名称,专业代码,分数线)通过共同属性学校名称自然连接⋈可保留所有所需信息集合运算排除并交运算要求关系模式相同属性个数和名称一致E有2个属性F有3个属性无法直接进行并交运算验证方法可构造示例数据验证笛卡尔积会产生错误关联如学校与错误所在地匹配4例题:投影运算投影运算特性π主管部门(E)直接提取指定列保留所有行包括重复值结果应为{教育部,教育部,浙江,广西}不自动去重常见错误误选去重结果如选项B混淆投影与SQL的DISTINCT操作SQL对应相当于SELECT 主管部门 FROM E基础查询语句5例题:关系表达式计算运算可行性判断并/交/差运算要求关系模式严格一致R(efg)与S(fghk)属性不同只能进行笛卡尔积R×S属性集差运算R-S指在R但不在S中的属性集合R有{e,f,g}S有{f,g,h,k} → 结果仅含{e}易混淆点关系代数差运算元组级与属性集差运算的区别前者要求关系模式相同后者比较属性集合6例题:关系笛卡尔积和自然连接笛卡尔积运算属性计算给定关系R(A,B,C,D)与S(C,D,E,F)R×S的结果包含两个关系的所有属性列属性个数为∣R∣∣S∣即448个重复列处理当存在相同属性列时结果中需要带上关系名称作为前缀如r.C和s.Cs.Cs.C自然连接运算运算基础建立在笛卡尔积基础上要求相同属性列的值必须相等属性处理去掉重复的属性列如R和S都有C,D列结果中只保留一组最终属性个数为∣R∣∣S∣−相同属性数即44-26个等价转换可以表示为先求笛卡尔积再选择相同属性值相等的元组σr.Cs.C∧r.Ds.D(R×S)例题解析题目解析第一问R×S属性数8个自然连接属性数6个 → 正确答案A第二问自然连接后属性列计算R(A,B,C,D)和S(A,C,D,E,F)有3个重复属性总列数45-36 → 选C等价表达式分析需要同时满足r.As.A、r.Cs.C、r.Ds.D对应列号15、36、47附加条件r.Cs.F对应39最终正确形式为π1,2,3,4,8,9(σ15∧36∧47∧39(R×S))→ 选B7例题:关系表达式等价判断关系运算顺序运算结构分析应从最内层括号开始自右向左解读表达式自然连接本质先求笛卡尔积选择相同属性值相等的元组如r.A2s.A2∧r.A3s.A3去掉重复属性列等价转换技巧常见错误混淆且(∧)和或(∨)条件 → A选项错误遗漏自然连接的相等条件 → B选项不完全正确列号引用错误如对3列关系引用第6列 → C选项错误正确方法保持原表达式的逻辑连接词完整保留所有相等条件准确对应属性列的编号例题解析题目解析原表达式πA1,A4(σA22017∧A495(R⋈S))正确等价形式先分别选择σA22017(R)和σA395(S)求笛卡尔积后仍需添加R.A2S.A2∧R.A3S.A3条件最终正确选项D包含所有必要条件易错点容易忽略自然连接隐含的属性相等条件笛卡尔积模式结果关系模式包含两个关系的所有属性同名属性需加关系前缀正确模式应为X(R.A,B,R.C,D,S.A,S.C,E,G)→ 选C错误选项分析A缺少关系前缀B只包含R的属性D缺少关键属性8例题:笛卡尔积关系模式关系模式定义给定关系R(A,B,C,D)和S(A,C,E,G)其笛卡尔积R×S的关系模式应包含两个关系的所有属性列属性命名规则对于两个关系中相同的属性名如A、C需要加上关系名前缀区分如R.A、S.A不同名的属性直接保留原名称正确选项分析C选项X(R.A, B, R.C, D, S.A, S.C, E, G)完整包含所有属性并正确区分了同名属性9例题:关系r1投影运算得到r2题目解析观察关系r2包含的行需要识别出r2实际由r1中的哪些行组成关键判断依据r2包含r1中价格≥8的三行记录价格为18、8、8的记录选项分析A选项商品名毛巾或钢笔错误会包含不满足条件的其他钢笔记录B选项价格≥8正确完全匹配r2包含的记录C选项投影运算错误投影不会改变行数D选项商品编号筛选错误会漏掉符合条件的记录易错点注意区分选择运算筛选行和投影运算筛选列的不同作用需要仔细核对每个选项对应的实际结果是否与r2完全一致10例题自然连接运算属性个数自然连接运算基础属性计算规则给定关系R(A,B,C,D)和关系S(C,D,E)自然连接运算R⋈S会去除重复列C,D结果属性为A,B,C,D,E共5个等价转换方法自然连接可转换为笛卡尔积选择投影的组合运算需满足笛卡尔积R×S的属性列为R和S属性的并集选择条件为相同属性列值相等如R.CS.C∧R.DS.D投影去除重复列例题解析题目解析属性个数确认R⋈S结果为5个属性A,B,C,D,E表达式分析选项A/C直接比较数字而非属性列排除选项B使用单引号表示字符比较与题意r.bs.e不符选项D正确体现先笛卡尔积再选择第2列第7列且第3列第5列且第4列第6列最后投影验证技巧笛卡尔积后属性顺序为R全部列S全部列自然连接条件转换为R的第1列S的第4列R的第2列S的第5列附加选择条件r.bs.e对应笛卡尔积后的第2列第7列外连接运算关联实现关联机制通过外码Foreign Key建立表间关联合并运算自然连接Natural Join可合并关联表并去除重复列外连接类型左外连接保留左表所有元组右表不匹配处填NULL右外连接保留右表所有元组左表不匹配处填NULL全外连接保留两侧所有元组不匹配处填NULL除法运算示例除法运算要点计算R÷S时先提取S在R中的对应属性投影结果包含R中与S所有元组都有关联的元组外连接计数左外连接元组数左表基数含不匹配项右外连接元组数右表基数含不匹配项全外连接元组数内连接数左表独有数右表独有数解题技巧总结快速判断自然连接属性数R属性数S属性数-重复属性数外连接元组数可通过维恩图辅助计算易错提示注意选择条件中数字与属性列的对应关系区分字符比较带引号与属性列比较无引号11例题:关系代数表达式验证自然连接转换方法将自然连接转换为笛卡尔积加条件的形式需要满足两个条件相同属性列的值相等R.CS.C且R.DS.D即35且46附加条件R.BS.E即27投影运算处理自然连接后需要去掉重复属性列保留R的C,D列去掉S的C,D列因此最终投影列为1,2,3,4,7完整表达式π1,2,3,4,7(σ27∧35∧46(R×S))验证过程通过属性编号确认各条件对应位置R的属性为A(1),B(2),C(3),D(4)S的属性为C(5),D(6),E(7)12例题:表关联关系实现和运算表关联实现方式外码机制通过将一个表的主码作为另一个表的属性外码建立关联示例学生表学号[主码]姓名院系编号[外码]与院系表院系编号[主码]院系名称通过院系编号关联合并表运算选择自然连接优势能正确合并关联表信息自动处理重复属性列笛卡尔积问题会产生大量无意义组合如学号与成绩错误配对选择/投影不足选择只能筛选行投影只能筛选列都无法完整合并表信息典型应用场景通过自然连接查询跨表信息如学生所在院系名称保持原始信息完整性避免笛卡尔积导致的信息混乱13例题:关系代数表达式计算表间关联与运算关联实现方式: 关系数据库中表与表的关联通过外码实现通过自然连接运算将两个关联表合并成信息等价的表。运算顺序原则: 关系代数表达式计算应从右往左依次进行先观察整体结构再逐步分解。除法运算详解计算步骤:找出两个关系的相同属性列如A1,A2在被除数关系R中查找与除数关系S投影结果匹配的元组结果保留R中不与S重复的属性列如A3实例分析: 当R的A1,A2列包含(2,1),(3,4)且对应A3值均为4时R÷S结果为{4}外连接运算自然连接基础: 先求两关系的自然连接结果匹配相同属性列A1A1且A2A2左外连接:在自然连接基础上补充左表未匹配元组缺失属性用NULL填充示例中元组数为4含(1,2,3,null),(4,6,7,null)右外连接:补充右表未匹配元组示例中元组数同样为4全外连接:合并左右外连接结果需去重自然连接部分示例元组数44-26例题解析第37题解析:先计算σ13(S)得到{(2,1,8),(3,4,4)}投影πA1,A2​后为{(2,1),(3,4)}最终R÷S结果为{4}对应选项A第38题解析:左外连接4个元组含2个补充元组右外连接4个元组含2个补充元组全外连接6个元组44-2个重复正确答案为D选项(4,4,6)14例题:自然连接属性列个数属性列计算规则基本公式: 自然连接后的属性列数两关系属性列数之和-重复属性列数实例验证:R(A,B,C,D)有4列S(A,C,D,E)有4列重复列A,C,D共3列结果列数44-35对应选项B关系代数等价转换转换原理: 自然连接可转换为选择投影的组合运算典型结构:先做笛卡尔积R×S用选择σ筛选匹配元组如σ15∧36∧47​用投影π保留所需列如π1,2,3,4,8​易错提示: 注意属性列的原始位置编号R×S会产生1-8列的新关系二、知识小结知识点核心内容考试重点/易混淆点难度系数关系运算包括并、差、交、笛卡尔积、选择、投影、连接、除等基本运算并、差、交要求关系模式相同自然连接需去重⭐⭐⭐自然连接基于相同属性列的值相等并去掉重复列若两表无相同属性列则等价于笛卡尔积⭐⭐⭐⭐外连接处理缺失信息包括左外连接、右外连接、全外连接左外连接保留左表未匹配元组右外连接保留右表未匹配元组⭐⭐⭐⭐左外连接保留左表所有元组右表不匹配的用NULL填充符号⋉左侧加两横⭐⭐⭐右外连接保留右表所有元组左表不匹配的用NULL填充符号⋊右侧加两横⭐⭐⭐全外连接综合左外和右外连接的结果保留所有未匹配元组符号⨝左右均加两横⭐⭐⭐⭐除法运算找出满足条件的元组结果仅包含非公共属性需先匹配公共属性列的值⭐⭐⭐⭐⭐关系代数表达式通过运算符组合关系运算如σ、π、⋈等注意运算符优先级和括号匹配⭐⭐⭐⭐真题解析历年考题涉及自然连接、外连接、除法等高频考点重点掌握符号表示和运算规则⭐⭐⭐⭐

更多文章