关系代数(关系代数的五个基本操作)
五种基本关系代数运算是?
五种基本关系代数运算是并、差、投影、交、选择、投影。
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))))
关系代数(关系代数的五个基本操作)相关推荐
- 2.2 关系代数的五个基本操作
文章目录 前言 2.2 关系代数 2.2.1 关系代数的五个基本操作 (1)投影(Projection) (2) 选择(Selection) 选择与投影组合 3)并(Union) 关系R和S进行并运算 ...
- 数据库-关系代数的分类
关系代数分类 基本运算 并.差.笛卡尔积.选择.投影: 关系代数的基本操作(原始运算):"选择"."投影".笛卡尔积(也叫做"叉积"或&qu ...
- 【干货】蒋步星:关系代数的问题及尝试
讲座全文: 今天的内容分五个部分,开始先讲一下基本概念和背景:中间三部分都是数据分析的内容,这是今天的重点:最后一块研究得还不够深,但也涉及到关系代数,就放进来一起谈谈. 我们先从编程序谈起. 编程序 ...
- 阐述Linux操作系统之rpm五种基本操作
Linux操作系统现在已经成为流行的操作系统,很多的人都开始学习,Linux操作系统包括了很多的专业知识,今天和大家讲讲Linux操作系统中的rpm基本操作.希望你学会本文中提到rpm的五种基本操作知 ...
- 【数据库】期末复习:SQL语句、关系代数的运算、范式的定义和判断、求最小函数依赖集、ER图转关系模式
文章目录 SQL语句 查询select 其他 视图 关系代数的运算 并.差.笛卡尔积.投影和选择 连接 自然连接 笛卡尔积 详细版(如果完全不了解就看这里) 范式的定义和判断 如何求候选码 一些例题 ...
- 关于数据库中关系代数的一些理解(一)
目录 一.首先我们来了解一下什么是关系代数 二.关系代数的分类 三.常用的关系代数的使用以及含义 一.首先我们来了解一下什么是关系代数 关系代数是以关系为运算对象的一组高级运算集合,显然这样的解释 较 ...
- Restful风格的五种基本操作
Restful风格的五种基本操作 五种操作分别为:新增.删除.修改.查询单个.查询所有. 利用restful风格书写访问路径时,会发现大多数路径其实都是很相似甚至一样的,但他们的区别主要是利用数据提交 ...
- 数据库-——关系代数的除法运算最白话解析
数据库---关系代数的除法运算及易错示例 除法运算 大概数据库中关系运算复杂点的也就是除法运算了,这也可能是很多入门新手数据库学习中遇到的第一个障碍. 接着我们来理清一下. 除法//话不多说,直接开莽 ...
- 关系代数基本运算_关系代数的基本和附加运算
关系代数基本运算 Definition 定义 Every DBMS must define a query language to enable users to access the data wh ...
最新文章
- Revit初学者完整指南 The Complete Revit Guide for Beginners
- Swift的类,及存储属性,计算发发样码
- erc20 php,使用php将erc20令牌从一个帐户传输到另一个帐户
- OGC和Khronos建立合作关系,共同推动地理信息和3D图形社群的交互操作
- 中移4G模块-ML302-OpenCpu开发-ADC
- Tensorflow 卷积神经网络 (二)
- 做游戏,学编程(C语言) 5 数组之生命游戏
- cgroup代码浅析(1)
- Oracle grant connect, resource to user语句中的权限
- VC 图像处理相关源代码,共28套打包下载.rar 分享
- 读书笔记之《薄世宁·医学通识50讲》
- 联想t450进入bios设置按哪个键_联想笔记本BIOS设置图解中文说明
- htb:Starting Point
- Leetcode#183. Customers Who Never Order
- 吸拖一体机和扫地机器人哪个好,吸拖一体机值得买吗
- 七自由度机械臂设计分析——待更新
- 找不到 blog.csdn.net 的服务器 DNS 地址
- node.js - 收藏集
- 什么是驻点和拐点_拐点和驻点的区别
- joj level 3 wp