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

  • 应补退税额较少是什么意思
  • 小规模拍卖公司佣金怎么交税
  • 筹建期间的会计分录
  • 二手商铺买卖税率大约百分比
  • 什么是进项税额转出
  • 土地增值税税率2023
  • 子公司自购买日开始持续计算的净资产包括商誉吗
  • 金税盘当月不抵扣如何做分录
  • 速达建账套期初数据
  • 企业残疾金的基数是多少
  • 年金个税税率表
  • 一张发票开不足一台设备的金额怎么办
  • 财产损失怎么办
  • 付款时没有发票怎么做账
  • 补计提去年的折旧该怎么做账
  • 维修变压器的维修方法
  • 企业购买硬件与软件该如何做账?
  • 城建税本月计提下月缴纳怎么算
  • 建筑工程的适用范围
  • 应收账款融资的会计如何核算
  • 购物预付卡怎么用
  • 3%减按2%征收增值税政策
  • 费用确认条件新准则
  • Win11如何卸载microsoft edge浏览器
  • php教程100
  • 自定义发件人邮件
  • php数组函数 菜鸟
  • 再保险业务核算方法
  • 高新技术企业研发费用占比要求
  • 目前最流行的婚纱照风格
  • 溢缴退费是什么意思
  • 工程项目成本费用的分类有哪些?
  • 实收资本本年利润属于什么科目
  • 黄石国家公园的占地面积
  • php多维数组转一维数组
  • uni vuex
  • 非常好看的头像
  • matlab基础介绍
  • php image
  • 收到员工的社保费用记什么科目
  • 税务清单和发票清单是一样吗
  • dedecms使用教程
  • 教育培训学校是什么意思
  • 个体工商户可以开增值税专用发票
  • 出口货物的报关时间为货物运抵海关
  • 新会计准则规定
  • mysql常见故障
  • 小规模纳税人注册流程
  • 管理费用里面包括哪些明细科目
  • 质押发票
  • 实际费用以什么为准
  • 购入软件的账务处理
  • 软件企业确认收入
  • 投资收益科目在借方
  • 工会经费缴纳会计分录
  • 新成立的公司工会经费需要交吗
  • 企业应该设置的账薄
  • 什么计提折旧什么不计提折旧
  • 电脑安装win8系统
  • 组策略 guest
  • linux 编译命令
  • 在unix操作系统中,账户的功能有哪些
  • 如何修复hosts文件
  • linux unhide
  • win8删除所有内容并重新安装windows
  • pqtray.exe - pqtray 是什么进程 有什么用
  • win7旗舰版如何升级到win10
  • linux常用配置
  • win10系统用正版有什么好处
  • windows8.1仿win7
  • win10预览版21337
  • cocos2dx 3.17
  • nodejs 插件开发
  • 什么是Shell,shell作用
  • python3 栈
  • python cx_Oracle模块的安装和使用详细介绍
  • Unity GameObject.activeSelf, GameObject.activeInHierarchy,GameObject.SetActive和SetActiveRecursively
  • javascript网页编程
  • 收集什么比较好
  • 河南濮阳市供电公司何文中个人简历
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设