关系代数表达式 关系代数表达式sql语句怎么写
关系 R、S 如下图所示,关系代数表达式= (32) ,它与元 组演算表达式
select sname from s where sno in (select sno from (select COUNT (sno) as 'scNumber',sno from sc group by sno) scs where scNumber >=2)|t∈R
关系代数表达式 关系代数表达式sql语句怎么写
关系代数表达式 关系代数表达式sql语句怎么写
现在我们要查询选择了软件测试这门课的所有学生,则被除数关系为 R(学生) ,除数关系为:
∧t∈S}
这个t是元组变量,t∈R表示t是R的一个元组
R(u)和S(v)表明,u是R的元组变量,v是S的元组变量
比如u[1]表示关系R中的第1个列在u元组上的分量;v[2]就是S的B列在一个元组上的分量。
关系代数表达式的sql实现就是:
select
r.A,s.B,s.C
Rr,S
swhere
r.A
>s.B
r.A
为t[1]即u[1],s.B
>s.B即为u[1]>v[2].
所以第二个空选C。
求助数据库。关系代数表达式可以用group by吗
select count(),g(age) from studentsql语句是计算机程序用的,如Sql,MySQL,oracle等。而关系代数表达式不能被这些识别。
完。关系代数的9种作:关系代数中包括了:并、交、、乘、选择、投影、联接、除、自然联接等作。
①五个基本作:
并(∪)、(-)、笛卡尔积(×)、投影(σ)、选择(π);
②四个组合作:
交(∩)、联接(等值联接)、自然联接(RS)、除法(÷) 。
求助 这道数据库关系代数表达式的
从上面的例子来看,除作适用于“满足全部····”的查询。举个例子,从学生表中查询选择了首先对这两个关系进行自然连接:所有课程或者选择了软件测试和软件工程这两门课程的学生。(1)π姓名,学号(δ课程名='数据库'(课程)∞选课∞学生)
(2)π姓名,学号(δ课程名='数据库',课程名='数据结构'(课程)∞选课∞学生)
(3)π学号(δ课程名<>'数据库'(课程)∞选课)
(4)π学号(π先行课(δ课程名='数据库'(课程))∞选课)
什么是一种表示关系代数表达式的树型结构
设存在一个关系 R(学生) 和 S(课程) :(29)[选择作就是从一个关系中,选择出满足条件的元组。]B
层次模型结构是一棵有向树,树中的每个结点代表一种记录类型,这些结点满足:有且一个结点无双亲(根结点),其它结点有且一个双亲结点。
网状模型则相当于一个有向图,与层次模型结构不同的是:一个结点可以有多个双亲结点,且多个结点可以无双亲结点。
关系模型则是二维表,一张表即为一个关系,这个很常见,如学生关系(学号,姓名,出生年月,性别),就像我们的办公中电子表格那样的表格。
D项的数据模型不是数据库的基本模型
为什么sql语言的select命令和关系代数表达式相比,dbms更容易进行优化?
举一个例子:R∪S={t关系代数表达式由关系代数作组合而成。作中,以笛卡尔积和联接作最费时,并生成大量的中间结果。如果直接按表达式书写的顺序执行,必将花费很多时间,并生成大量的中间结果,效率较低。在执行前,由DBMS的查询子系统先对关系代数表达式进行优化,尽可能先执行选择和投影作,以便减少中间结果,并节省时间。
s,sc,c5、 设二元关系R(A,B),关系代数表达式是: π1,2(σ1=4 AND 2=3 (R×R)) 写出与此表达式等价元组
--3.检索至少选修“吴迪”老师讲授课程中一门课的学生姓名{t2|($u)($v)(R(u)∧R(v)∧t[1]=u[1]∧t[2]=u[2]∧u(1)= v[2]∧u[2]=v[1])select count() as 学生总数,g(年龄) from 学生表}
说明:$是存在量词符号,这里敲不出反E的那个符号,word里粘贴过来也显示不了,只好用这个美元符号替换。
另外t2,后面的2是上标,也显示不了。
(49) 按条件f对关系R进行选择,其关系代数表达式为______。 A. R|X|R B. R|X|R f C. бf(R) D. ∏f(R)
图有点看不清,(49)[]C
--7.检索选修全部课程的学生的学号C是选择一行,D是投影一列,二者要区分开。
如果不仅谈此题的话,有关关系代数,内容有些多,这里不是一两句能说清,可以看看相关《数据库》的资料中的关系代数,里面写得很详细。为应试,情急之下能记住几个题就行。
关于关系代数中并运算的说法
现有图书借阅关系数据库:图书(图书号、书名,作者,单价,库存量)、读者(读者号,姓名,工作单位,地址)、借阅(图书号,读者号,借期,还期,备注),其中还期为NULL表示该书未还。根据这组关系模式回答以下问题:关系代数是以关系为运算对象的一组高级运算的。由于关系定义为属性个数相同的元组的,因此代数的作就可以引入到关系代数中。
关系代数中的作可以分为两类:传统的关系作,并、、交、笛卡尔积(乘)、笛卡尔积的逆运算(除);扩充的关系作,对关系进行垂直分割(投影)、水平分割(选择)、关系的结合(连接、自然连接)等。
传统的关系运算传统的关系运算起源于数学的论,有下面几种:笛卡尔积运算运算交运算并运算1.2专门的关系运算选择投影连接除运算。关系代数基于(关系),定义了一系列对(关系)对作。如并,,笛卡尔积,选择,更名,投影等基本作,以及基于基本作推导出来的扩展作。五个关系代数作分别是:并、、笛卡尔积、投影和选择。
关系代数运算中,把由五个基本作经过有限次复合的式子称为关系代数表达式。这种表达式的运算结果仍是一个关系。我们可以用关系代数表达式表示各种数据查询作。
数据库系统原理之关系代数
是不可以的,关系代数表达式是帮助你后面学习SQL语句打基础用的。关系代数作用于一个或多个关系,然后产生一个新的关系。可以将关系代数理解为函数,接受一个关系输入,返回一个新对关系。举个例子,我们将并作命名为 Union ,那么并作可以表示为:
关系代数定义了基于(关系)的作,其是 SQL 的重要基础(另一个重要基础是关系演算),了解了关系代数的概念以及各个作要达到的目的之后,对 SQL 中对一些概念也会更加清晰,如连接作。
本文首先介绍关系代数中的基础作,再介绍扩展作。
关系代数的基础作有:并,,笛卡尔积,选择,更名,投影等。有些作如并,等要求参与运算的关系需要具备并相容性。所谓并相容性,就是两个关系的属性数目(度)相同,并且每个度所在的域相同。
如 R(学生,学号,地址) 和 S(课程,课程号) 两个关系由于度和属性所在的域不相同,因此不具备并相容性,也就无法进行并,等作。
相应的, R2(学生,学号,地址) 和 S(教师,教师号,地址) 由于度和属性所在的域相同,因此具备并相容性。
并作就是将两个关系合并为一个关系,在合并时去掉重复的元组。为什么要去掉重复项呢?这是的特质,要求不能有重复项。
R 并 S 和 S 并 R 得到的结果是一样的,即并作满换律。
举个例子,有两个关系 R(学生) 和 S(教师):
这两个关系进行并作的结果为:
作用来选择出现在一个关系但并未出在另一个关系中的元组。
还是以上面两个关系 R(学生) 和 S(教师) 为例,R S 的结果为:
S R 的结果为:
其中元组 T(Jerry,2,澳大利亚) 在两个关系中都出现,是两个关系的交集。因此作就是从一个关系中去除和另一个关系的交集所得到的。
笛卡尔积用来将两个关系连接起来,笛卡尔积的结果将两个关系中所有可能的元组组合起来。设关系 R 的元组数目为 M,度数为 I,关系 S 的元组数目为 N,度数为 J,那么 R 和 S 进行笛卡尔积运算得到的新关系的元组数目为 M N,度数为 I + J。
举个例子,有两个关系 R(学生) 和 S(课程) :
那么对 R 和 S 进行笛卡尔积的结果为:
笛卡尔积用来将两个关系连接在一起,获取所有可能的结果,其是连接作的基础。
如从上面的学生表中,选择出学号大于等于 2 的学生,结果为:
选择条件由与或非逻辑表达式构成。
投影作是从给定的关系中,选择出某些属性属性构成新的关系。如从学生表中投影出一个新的关系 R(姓名,地址) :
关系代数常用的扩展作有交作,Theta 连接作,自然连接作,外连接作,除作等。扩展作可以由基础作推导而来。
交作用来从两个关系中,选择出同时存在于两个关系中的元组。如上面 R(学生) 和 S(教师) 进行交作的结果为:
Theta 连接作会从两个关系的笛卡尔积中,选择出某个条件的元组,并去掉重复项。例如在上面笛卡尔积例子,选择出课程号不为 c1 并且学号不为 s1 的元组:
连接作一般和投影作配合使用,比如从上面的结果集中投影出 R(姓名,课程) :
Theta 连接作中有个特对 R 和 S 进行除作,得到的结果为:殊的作,叫做等值连接,即选择条件为判断是否相等。
自然连接可以认为是一种特殊的等值连接,其要求两个关系具有相同的属性,并且判断条件为两个关系中的某两个相同属性的值相等。
自然连接是最常用的连接作。
如有两个关系 R(学生 ) 和 S(班级) :
对这两个关系进行自然连接的结果为:
如有两个关系 R(学生 ) 和 S(班级) :
我们在自然连接的结果集中,机上空值元组和没有匹配到的元组:
以上就是外连接的结果,也叫做全外连接:保证两端的元素不丢失。对应的,还有左外连接和右外连接,左外连接会保证左侧的元素不丢失,右外连接会保证右侧的元素不丢失。
因此上面两个进行左外连接的结果为:
进行右外连接的结果为:
除作是对两个关系进行“除法”作,要求“除数”关系是“被除数”关系的真子集。除作会从“被除数”关系中,选择出一个新的关系,设为 N,N 也是 “被除数”关系的真子集。N 需要满足一个条件:
N 和“除数”关系的笛卡尔积是“被除数”关系的真子集。
好绕啊···
我们还是直接看例子吧。
设有两个关系: R(A1,A2,A3) 和 S(A3) :
如果 S 关系为:
对两个关系进行除作,得到的结果为:
如果我们只需要获取学生的姓名,不需要学号这一列,那么可以再对结果集进行投影作:
关系代数是 SQL 语言的基础,SQL 语言是在关系代数上的一层封装,目的是方便程序员使用。
关系代数的作接受一个或多个关系作为输入,再输出一个新的关系,不同的关系作可以进行相互的组合。例如可以先进行选择作再进行投影作,先进行自然连接作再进行选择作等等。根据不同的需求需要灵活的组合这些作。
写出关系代数表达式,查出读者丁一借出的所有书的书名
本文介绍了关系代数以及关系代数中常用的基础作和扩展作,基础作包括并,,笛卡尔积,选择,投影,更名等,某些基础要做要求两个参与运算对于其他对作如作,选择作等,都有相应对数学符号进行表示,但在中输入这些符号比较困难,再加上我学习关系代数是了解基本的概念知识,这里就不使用数学符号表示了,而是以文字代替。的关系具有并相容性。扩展作可以由基础作推导而来,可以完成更复杂的作。(1)用关系代数表达式写出检索借阅图书号为“007B”的读者姓名;
(2)用关系代数表达式写出检索读者“张三”所借图书中未还的书名;
(3)用SQL语句实现检索读者“张三”所借图书的书名;
(4)用SQL语句实现将读者“张三”所借图书的信息从借阅表中删除;
(5)用SQL语句实现检索读者“张三”所借图书中未还的书名;
(6)用SQL语句实现建立未还图书的读者姓名和单位视图BOOK。
用关系代数表达式表示下面作
1.select c#,cname from cfrom where teacher=‘程军’
3.select s.s# from s,s作不满换律。c where s.s#=sc.s# group by s.s# hing count()>1
我只会两题了,不好意思
select s.sname from
where s.s#=sc.s# and sc.c#=c.c#
and c.teacher=程军
group by s.s#
自然连接
这个符号
,只好用
无穷大
代替了.
部门名称
和职务
后面那个都是
=号第三题:
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。