数据库关系代数表达式(关系数据库关系代数表达式怎么写)
大家好,关于数据库关系代数表达式很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于关系数据库关系代数表达式怎么写的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
求助 这道数据库 关系代数表达式的题目 的答案
--1.检索“吴迪”老师讲授的课程号和课程名
select cno,cname,teacher from c where teacher='吴迪'
--2.检索所有女同学和年龄小于20岁的男同学
select* from s where
s.sex='男' and age<20 or s.sex='女'
--3.检索至少选修“吴迪”老师讲授课程中一门课的学生姓名
select sname from s where sno in(select sno from sc where cno in(select cno from c where teacher='吴迪'))
--4.检索“李波”同学不学的课程的课程名
select cname from c where cno in(select cno from sc where sno not in(select sno from s where sname='李波'))
--5.检索至少选修两门课程的学生的姓名
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)
--6.检索未被选修的课程的课程名
select cname from c where cno not in(select cno from sc)
--7.检索选修全部课程的学生的学号
select sno from s where sno in(select sno from(select COUNT(sno) as'scNumber',sno from sc group by sno) scs where scNumber=(select COUNT(distinct c.cname) from c))
--8.检索选修了“吴迪”老师讲授课程的学生的学号
select sno from s where sno in(select sno from sc where cno in(select cno from c where teacher='吴迪'))
--9.检索选修了“吴迪”老师讲授课程且成绩高于85的学生的学号sele
select sno from s where DEPT>85 and sno in(select sno from sc where cno in(select cno from c where teacher='吴迪'))
--10.检索“王虎”同学所学课程的课程号
select cno from sc where sno=(select sno from s where sname='王虎')
--11.检索选修了C01和C02两门课程的学生的姓名
select sname from s where sno in( select sc.sno from sc where sc.sno in(select sc.sno from sc where sc.cno=(select c.cno from c where c.cname='c01'))and sc.cno=(select c.cno from c where c.cname='c02'))
--12.检索未选修课程的学生的学号
select sno from s where sno not in(select sno from sc) select* from sc
关系代数表达式怎么写
关系代数表达式怎么写如下:
数据库的关系代数表达式是由关系代数运算经有限次复合而成的式子。
在关系代数运算中,把由并(∪)、差(-)、笛卡尔积(×)、投影(π)、选择(σ)五个基本操作经过有限次复合的式子称为关系代数表达式。关系代数表达式的运算结果仍然是一个关系。可以用关系代数表达式表示对数据库的各种数据查询和更新操作。
关系代数表达式用到的运算符包括集合运算符、专门的关系运算符、算术比较符和逻辑运算符。和交(∩)、联接(等值联接)、自然联接(RXS)、除法(÷)四个组合操作。
扩展资料:
关系代数表达式的运算过程是将关系的属性分为像集属性和结果属性两部分;与关系相同的属性属于像集属性;不相同的属性属于结果属性。在关系中,对像集属性投影,得到目标数据集。将被关系分组。
分组原则是结果属性值一样的元组分为一组。逐一考察每个组,如果它的像集属性值中包括目标数据集,则对应的结果属性应属于该运算结果集。
关系数据库中关系代数的基本运算有哪些
五种基本操作:并,差,积,选择,投影;构成关系代数完备的操作集。其他非基本操作:可以用以上五种基本操作合成的所有操作。并(U)、交(⌒)、投影(π)选择(σ)和笛卡儿积(×)。
传统的集合运算:
1、并(UNION)设有两个关系R和S,它们具有相同的结构。R和S的并是由属于R或属于S的元组组成的集合,运算符为∪。记为T=R∪S。
2、差(DIFFERENCE)R和S的差是由属于R但不属于S的元组组成的集合,运算符为-。记为T=R-S。
3、交(INTERSCTION)R和S的交是由既属于R又属于S的元组组成的集合,运算符为∩。记为T=R∩S。R∩S=R-(R-S)。
扩展资料:
在数据库世界里,后关系数据库仍旧泰然自若,保持其本色。
在现代IT界,SQL和XML已经成为数据库的非常重要组成部分,这二者成为数据库系统结构组成部分的历史也很长久了,至于开始的时间我也很难记得了。
在60年代末和70年代初,出现了具备灵活字段长度、嵌套表格、松散数据类型选择的数据库构架,这样的数据库系统不仅受市场欢迎,也得到大家的青睐。这些早期的数据库系统虽然缺乏像XML一样的标记功能,但是它们在实际工作中却表现出和XML极为类似的功能。
描述这些数据库系统的术语是“后关系”或者“多值”,它们没有SQL关系数据库知名,是因为这些数据库系统缺乏许多新闻的宣传度,我们很容易把它认为是一个实验而已,然后这些实验在人们的印象中就会半途而废了,最终慢慢的消失。
参考资料来源:百度百科-关系数据库
关系数据库关系代数表达式怎么写
一、关系代数的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)检索学习全部课程的学生姓名
------------------------------------
OK,关于数据库关系代数表达式和关系数据库关系代数表达式怎么写的内容到此结束了,希望对大家有所帮助。