- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.2 关系代数操作:连接实例 设关系student(学生)、course(课程)和sc(成绩)如下: 学号 sno 姓名 sname 性别 gender 年龄 sage 系 sdept 95001 95002 95003 95004 李勇 刘晨 王敏 张立 男 女 女 男 20 19 18 19 CS IS MA IS 课程号 cno 课程名 cname 先行课 cpno 学分 credit 1 2 3 4 5 6 7 数据库 数学 信息系统 操作系统 数据结构 数据处理 C语言 5 1 6 7 6 4 2 4 3 4 2 4 学号 sno 课程号 Cno 成绩 grade 95001 95001 95001 95002 95002 1 2 3 2 3 92 85 88 90 80 student sc course 5.2 关系代数操作举例 1、查询计算机系所有同学的姓名 2、查询选修了2号课程的学生的姓名 3、查询至少选修了一门其直接先行课为5号课程的学生姓名 组合操作方法:πsname(σsdept=“CS” (student)) 组合操作方法:πsname(σcno=“2”(student sc)) 或:πsname( (student σcno=“2”(sc)) (比较两者效率) 组合操作方法:πsname(σcpno=“5”(course) sc πsno,sname(student)) 或线性符号:R1=σsdept=“CS” (student) Result= πsname (R1) 线性符号:R1=σcno=“2” (sc);R2= student R1;Result= πsname (R2) 5.2 关系代数操作举例 4、查询所有选修数学课,成绩大于80分的女生的姓名 5、查询被两个及以上的同学选修的课程名 πsname(σgender=“女” and cname=“数学”(student sc course)) 或: πsname( (σgender=“女”(student) sc σcname=“数学” (course))) 组合操作法: πcname(πcno(ρsc1(sno1,cno1,grade1)(sc) sc)) (πcno,cname(course))) C:sc1.cno1=sc.cno and sc1.sno1sc.sno 解释原因:----求解过程 C 上面第5题解题过程 cno cname Cpno credit 1 2 3 4 5 6 7 数据库 数学 信息系统 操作系统 数据结构 数据处理 C语言 5 1 6 7 6 4 2 4 3 4 2 4 sno Cno grade 95001 95001 95001 95002 95002 1 2 3 2 3 92 85 88 90 80 sno1 Cno1 grade1 sno Cno grade 95001 95001 95001 95001 95001 95002 95002 95002 95002 1 2 2 3 3 2 2 3 3 92 85 85 88 88 90 90 80 80 95001 95001 95002 95001 95002 95001 95002 95001 95002 1 2 2 3 3 2 2 3 3 92 85 90 88 80 85 90 88 80 sc1 sc:(C:sc1.cno1=sc.cno) C 对上述的θ连接再加条件,使得红色及蓝色元组各合并成一条元组,且能去掉黑色元组 C:sc1.cno1=sc.cno and sc1.sno1sc.sno 从θ连接结果投影出cno为: 即被两个及以上的同学选修的课程名 Cno 2 3 为求得课程名还得跟course连接 An Introduction to Database Systems 第二章 数据模型 2.1 数据模型概述 2.2 关系模型基础 2.3 在SQL中定义关系模式 2.4 代数查询语言 2.5 关系上的约束 An Introduction to Database Systems 2.5 关系的约束 关系代数表示约束的两种方法 如果R是关系代数表达式,则R=φ表示约束“R的值必须为空”,等价于“R中没有元组” 如果R和S都是关系代数表达式,则R S表示约束“任何在R中出现的元组都必须在S中出现” 后一种约束也可以用前一种约束表示为R-S=φ 前一种约束也可以用后一种约束表
文档评论(0)