位置: IT常识 - 正文

关系代数(关系代数的五个基本操作)(关系代数关系运算)

编辑:rootadmin
关系代数(关系代数的五个基本操作) 五种基本关系代数运算是?

推荐整理分享关系代数(关系代数的五个基本操作)(关系代数关系运算),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:关系代数是啥,关系代数关系运算,关系代数关系操作的核心运算,关系代数关系运算,关系代数关系演算和,关系代数关系演算还有关系什么,关系代数关系运算,关系代数关系演算,内容如对您有帮助,希望把文章链接给更多的朋友!

五种基本关系代数运算是并、差、投影、交、选择、投影。

1、并:设有两个关系R和S,它们具有相同的结构。R和S的并是由属于R或属于S的元组组成的集合,运算符为∪。记为T=R∪S。

2、差:R和S的差是由属于R但不属于S的元组组成的集合,运算符为- [1]  。记为T=R-S。

3、交:R和S的交是由既属于R又属于S的元组组成的集合,运算符为∩ [1]  。记为T=R∩S。R∩S=R-(R-S)。

4、选择:从关系中找出满足给定条件的那些元组。其中的条件是以逻辑表达式给出的,值为真的元组将被选取。这种运算是从水平方向抽取元组。

5、投影:从关系模式中挑选若干属性组成新的关系。这是从列的角度进行的运算,相当于对关系进行垂直分解。

扩展资料:

数据库中的全部数据及其相互联系都被组织成关系,即二维表的形式。关系数据库系统提供一种完备的高级关系运算,支持对数据库的各种操作。关系模型有严格的数学理论,使数据库的研究建立在比较坚实的数学基础上。

选择和投影运算都是属于一目运算,它们的操作对象只是一个关系。连接运算是二目运算,需要两个关系作为操作对象。5种基本关系代数运算是:∪,-,×,π和σ。

关系代数运算中的基本运算包括并(∪)、差(-)、广义笛卡尔积(×)、投影(π)和选择(σ),其他运算的功能都可以由这五种基本运算来实现。

扩展资料:

关系代数用到的运算符包括四类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符比较运算符和逻辑运算符是用来辅助专门的关系运算符进行操作的,所以按照运算符的不同,主要将关系代数分为传统的集合运算和专门的关系运算两类。

对关系进行运算时可以采用对待集合的方式来操作,这些操作被称为集合操作。其他的一些操作不能在集合上使用,那么被成为纯关系操作。五种基本关系代数运算是:并(∪)、差(-)、笛卡尔积(×)、选择(σ)、投影(π)并、差、笛卡儿积、投影、选择是关系代数的5种基本的运算,其他运算,即交、连接、除都可以通过基本的运算推导运算出。

1、并,设有两个关系R和S,它们具有相同的结构,R和S的并是由属于R或属于S的元组组成的集合;

2、差,R和S的差是由属于R但不属于S的元组组成的集合;

3、笛卡尔积,两个集合X和Y的笛卡尓积,又称直积,表示为X与Y相乘,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员;

4、选择,从关系中找出满足给定条件的那些元组称为选择;其中的条件是以逻辑表达式给出的,值为真的元组将被选取;

5、投影,从关系模式中挑选若干属性组成新的关系称为投影。a

数据库的关系代数表达式

原发布者:豆子9018

SSCC(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)答:∏课程号,课程名(σTEACHER=“程军”(C))(2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。答:∏学号,姓名(σ性别=“男”∧年龄>21(S))(3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。答:∏姓名(σTEACHER=“程军”(C)∞SC∞∏学号,姓名(S))(4)检索“李强”同学不学课程的课程号(C#)。答:∏课程号(C)-∏课程号(σ姓名=“李强”(SC∞S))(5)检索至少选修两门课程的学生学号(S#)。答:∏学号(σ课程号=“K1”∨课程号=“K5”(SCхC))(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。答:∏学号,课程号,课程名(SC∞C)÷∏学号(S)(7)检索选修课程包括“程军”老师所授课程之一的学生学号(S#)。答:∏学号,课程号(SC)÷∏课程号(σTEACHER=“程军”(C))(8)检索选修课程号为K1和K5的学生学号(S#)。答:σ课程名=k1∨课程号=k5(S)(9)检索选修全部课程的学生姓名(SNAME)。答:∏姓名(S∞(∏课程号,学号(SC)÷∏课程号(C)))(10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。答:∏学号(C∞(σ学号=“2”(SC))(11)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。答:∏学号,数据库的关系代数表达式是由关系代数运算经有限次复合而成的式子。

在关系代数运算中,把由并(∪)、差(-)、笛卡尔积(×)、投影(π)、选择(σ)五个基本操作经过有限次复合的式子称为关系代数表达式。关系代数表达式的运算结果仍然是一个关系。可以用关系代数表达式表示对数据库的各种数据查询和更新操作。

关系代数表达式用到的运算符包括集合运算符、专门的关系运算符、算术比较符和逻辑运算符。和交(∩)、联接(等值联接)、自然联接(RXS)、除法(÷) 四个组合操作。

扩展资料:

关系代数表达式的运算过程是将关系的属性分为像集属性和结果属性两部分;与关系相同的属性属于像集属性;不相同的属性属于结果属性。在关系中,对像集属性投影,得到目标数据集。将被关系分组。

分组原则是结果属性值一样的元组分为一组。逐一考察每个组,如果它的像集属性值中包括目标数据集,则对应的结果属性应属于该运算结果集。一、关系代数的9种操作:

关系代数中包括了:并、交、差、乘、选择、投影、联接、除、自然联接等操作。

五个基本操作:

并(∪)、差(-)、笛卡尔积(×)、投影(σ)、选择(π)

四个组合操作:

交(∩)、联接(等值联接)、自然联接(R S)、除法(÷)

注2:等值连接表示先做笛卡尔积(×)之后,对相应列进行选择或等值关联后的结果(仅筛选行、不筛选列)

注2:自然连接表示两个关系中若有相同名称的属性,则自动作为关联条件,且仅列出一列

二、关系代数表达式:

由关系代数运算经有限次复合而成的式子称为关系代数表达式。这种表达式的运算结果仍然是一个关系。可以用关系代数表达式表示对数据库的查询和更新操作。

三、举例说明:

设教学数据库中有3个关系:

学生关系S(SNO, SNAME,AGE,SEX)

学习关系SC(SNO,CNO,GRADE)

课程关系C(CNO,CNAME,TEACHER)

(1) 检索学习课程号为C2的学生学号与成绩

------------------------------------

SELECT SNO,GRADE

FROM SC

WHERE CNO='C2'

------------------------------------

π SNO, GRADE (σ CNO='C2' (SC))

************************************

(2) 检索学习课程号为C2的学生学号与姓名

------------------------------------

SELECT SC.SNO,S.SNAME

FROM SC,S

WHERE SC.SNO=S.SNO

AND SC.CNO='C2'

------------------------------------

π SNO,SNAME (σ CNO='C2' (S SC))

此查询涉及S和SC,先进行自然连接,然后再执行选择投影操作。

----

π SNO,SNAME (S) (π SNO (σ CNO='C2' (SC)))

自然连接的右分量为"学了C2课的学生学号的集合"。

此表达式比前一个表达式优化,执行起来要省时间、省空间。

************************************

(3) 检索选修课程名为MATHS的学生学号与姓名

------------------------------------

SELECT SC.SNO,S.SNAME

FROM SC,S,C

WHERE SC.SNO=S.SNO

AND SC.CNO=C.CNO

AND C.CNAME='MATHS'

------------------------------------

π SNO, SANME (σ CNAME='MATHS' (S SC C))

************************************

(4) 检索选修课程号为C2或C4的学生学号

关系代数(关系代数的五个基本操作)(关系代数关系运算)

------------------------------------

SELECT SNO

FROM SC

WHERE CNO='C2'

OR CNO='C4'

------------------------------------

π SNO (σ CNO='C2'∨CNO='C4' (SC))

************************************

(5) 检索至少选修课程号为C2或C4的学生学号

------------------------------------

SELECT SA.SNO

FROM SC AS SA,SC AS SB

WHERE SA.SNO=SB.SNO

AND SA.CNO='C2'

AND SB.CNO='C4'

------------------------------------

π 1 (σ 1=4∧2='C2'∧5='C4' (SC×SC))

************************************

(6) 检索不学C2课的学生姓名与年龄

------------------------------------

SELECT SNAME,AGE

FROM S

MINUS

SELECT S.SNAME,S.AGE

FROM SC,S

WHERE SC.SNO=S.SNO

AND SC.CNO='C2'

(Oracle)

------------------------------------

π SNAME, AGE (S)-π SNAME, AGE (σ CNO='C2' (S SC))

************************************

(7) 检索学习全部课程的学生姓名

------------------------------------

这个定义用SQL表示比较麻烦,略过

------------------------------------

π SNO, CNO (SC)÷π CNO (C)

先用除法取出选取所有课程的SNO集(除法可以理解为一个Filter)

π SNAME (S (π SNO,CNO (SC)÷π CNO (C)))

再关联S表取出SNAME

************************************

(8) 检索所学课程包含S3所学课程的学生学号

------------------------------------

这个定义用SQL表示比较麻烦,略过

------------------------------------

π SNO,CNO (SC)÷ π CNO (σ SNO='S3' (SC))

同样运用了除法的特性

************************************

(9) 将新课程元组( 'C10','PHYSICS','YU') 插入到关系C中

------------------------------------

INSERT INTO C VALUES('C10','PHYSICS','YU')

------------------------------------

(C∪ ('C10','PHYSICS','YU'))

记住该符号的用法

************************************

(10) 将学号S4选修课程号为C4的成绩改为85分

------------------------------------

UPDATE SC SET GRADE=85

WHERE SNO='S4'

AND CNO='C4'

------------------------------------

(SC- ('S4','C4',? )∪ ('S4','C4',85))

先用'- '实现DELETE功能,再用'∪'实现INSERT功能

注意使用?来表示检索时忽略该字段值

************************************

四、关系代数表达式的优化:

目的 :为了系统在执行时既省时间又能提高效率。

基本策略 :先做选择,运用投影去除多余属性等等。

优化算法 :语法树( 尽量提前做选择操作;在每个操作后,应做个投影操作,去掉不用的属性值)

例如:

π SNO ,SNAME (σ GRADE>60 (S SC)) 进行 优化后转换为:

π SNO ,SNAME (π SNO ,SNAME (S) π SNO (σ GRADE>60 (SC)))

--即提前做选择操作;在每个操作后,应做个投影操作,去掉不用的属性值

S(S#,SNAME,AGE,SEX)

SC(S#,C#,GRADE)

C(C#,CNAME,TEACHER)

π CNAME,TEACHER (σ SEX='女' (S SC C)) 进行 优化后转换为:

π CNAME, TEACHER (C π C# (π S#,C# (SC) π S# (σ SEX='女' (S))))

本文链接地址:https://www.jiuchutong.com/zhishi/299595.html 转载请保留说明!

上一篇:基于stm32的太空人温湿度时钟项目——DHT11(HAL库)(基于stm32的飞行器)

下一篇:Node.js——http模块和导出共享

  • 进料加工要交税吗
  • 免租期租金怎么处理
  • 广告公司的税务
  • 小规模纳税人增值税减免账务处理
  • 租赁服务增值税税率
  • 资金什么情况下退出企业
  • 维修费开具发票
  • 物业缴纳发票可以抵税吗
  • 子公司之间资产划拨会计处理
  • 建筑行业预缴增值税可以用进项抵缴吗
  • 通行费机打发票税率
  • 企业垃圾处理费计入什么科目
  • 企业预缴的增值税收入算不算企业的销售收入
  • 员工一次性补偿要缴纳个税吗
  • 个人购买房产是指什么
  • 质检实验室布局
  • 内部损益表
  • 本票汇票支票的区别
  • 上年度的会计分录做错了今年可以调整吗
  • 收到违约金需要缴纳所得税吗
  • 研发的样机属于固定资产吗
  • 新租赁准则承租人计提折旧吗
  • 安置房税金如何交
  • 财务管理和会计学哪个好就业
  • 非贸易企业代扣代缴增值税和附加税如何做账?
  • 小微企业需要税务登记吗
  • 存量资金上缴国库是哪个文件规定了
  • 合同的情势变更是什么
  • 收取水电费如何开票
  • 在win7中如何设置屏幕保护程序
  • quicklylook
  • amr文件什么意思
  • 如何查看电脑型号信息
  • 扫码分享到微信
  • php课堂笔记
  • php __destruct
  • this.emit('input')
  • 成品油发票如何下载库存
  • 简述跨期摊提账户
  • 库存亏损要缴纳增值税吗
  • 未缴纳的出资款怎样清算
  • 收回款项的会计处理分录
  • 劳务分包的三种形式
  • sql server复制表数据
  • 小规模增值税纳税人税率
  • 增值税发票怎么领取
  • 收到分红的会计科目
  • 电子承兑过期了
  • 以股权入资该怎么办
  • 差额征税问题
  • 费用报销单一张写不完怎样转下一张?
  • 股权转让如何进行
  • 一年内到期的非流动负债是经营性负债吗
  • 政府补助计入资本公积吗
  • 公司既没有收入怎么办
  • 收到投资款应该填制什么凭证
  • 如何填报自然人缴税系统
  • 接到国外的电话是怎么回事
  • 注销公司需要多长时间完成
  • sqlserver如何设置主键
  • mmc不能打开文件win10
  • win10免费安装吗
  • win7防火墙如何添加允许
  • win10启动项怎么设置
  • ha1.dll丢失开不了机
  • win7开机后网络一直转圈怎么回事
  • linux开机后怎么进去系统
  • win10周年更新版是什么意思
  • windows10不能在任务栏进行的操作
  • js中匿名函数的作用
  • python redis hmset
  • 一起学ap
  • nodejs apply
  • nodejs的流处理模块
  • shell脚本替换文件中某个字符串
  • unity shooter
  • js 队列
  • 江苏电子税务局登录入口
  • 珠海南湾国际属于香洲哪个街道
  • 全国书法等级考试官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设