位置: 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模块和导出共享

  • 什么是企业税务登记号
  • 增值税普通发票查询真伪
  • 企业所得税减免所得税额怎么算
  • 股权分配利润应该怎么做账
  • 差旅费计入工资成本吗
  • 营业外收入做销项税调整
  • 发票密码区超出可以用吗
  • 小微企业亏损还用缴残保金吗
  • 坏账核销计入营业利润吗
  • 出口退税不退税则征税
  • 建筑企业增值税怎么算
  • 企业想成为退税商店需具备哪些条件
  • 付款单是发票吗
  • 政府给的专款专用发票
  • 其他应收款直接计入营业外收入
  • 单位购买小汽车一次性进成本报表怎么填写?
  • 营改增的税收政策
  • 金税三期个人客户端在哪下载
  • 纳税服务一体化综合监督工作情况报告
  • 基建人员工资计入哪个科目
  • 递延所得税资产怎么计算
  • 分公司不独立核算需要开银行账户吗
  • 小规模纳税人定额发票怎么报税
  • 业务招待费在税法上的规定
  • 现金比率在多少比较合适
  • 累计折旧差错调整减少
  • 注册资金印花税怎么算
  • 地下车库怎么缴费
  • 计征所得税会计分录怎么做?
  • 购进商品是什么会计科目
  • 建筑劳务公司开票税率是多少
  • html5 video标签
  • 企业拆迁补偿款税务最新政策
  • 用后期进项抵欠怎么做账
  • 鸿蒙系统怎么隐藏状态栏
  • php教程100
  • 按销售收入比例分摊进项税额按月还是按年
  • 不合格原材料
  • 房产税城镇土地使用税申报期限
  • 工业企业成本怎么结转
  • 分包缴纳的个税怎么算
  • 技术人员工资属于什么费用
  • 百慕大玛丽号
  • 长期负债和应付账款
  • web攻防之业务安全实战指南在线阅读
  • 进销存表格模板明细账
  • 古腾堡中文官网
  • 织梦如何采集文章
  • php首页
  • 固定资产清理怎么报税呢
  • 从农业生产者购进农产品
  • 维修费开专票怎么做账
  • Java连接sqlserver2008数据库代码
  • 个人发票抬头和税号是什么
  • 结转和结算
  • 开发票给别人该如何收取税点?
  • 应交税费科目怎么调整
  • 社会团体费怎么做分录
  • 高价购买股权
  • 固定资产折旧方法不考虑净残值
  • 企业会计准则2023电子版
  • sql语句编译执行过程
  • 最全的sql执行顺序
  • 三种实现方法实现的特点
  • 存储sql
  • win10自动
  • 清除桌面应用软件
  • route.exe - route是什么进程 有什么用
  • windows移动中心英文怎么写
  • macos 怎么用
  • centos 怎么用
  • cocos2d怎么用
  • 函数里面声明函数
  • 让动画不再僵硬的软件
  • javascript怎么做
  • 江苏税务网上办税服务厅服务提醒
  • 一般纳税人开票的税率是多少
  • 小规模纳税人个税税率
  • 国外寄东西到国内要身份证号码吗
  • 新疆喀什泽普县教育局联系电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设