数据库关系代数习题
数据库练习题
一、关系运算1、设有两个关系R(A,B)和S(B,C),请写出与下面关系代数表达式等价的SQL语句。
πB(R) -πB(σc=`C56`(S))2、已知关系R、S如下所示,以表的形式给出下列运算结果。
(1)σX=Z(R ╳ S)已知关系模式如下:学生:S(Sno,Sname,Ssex,Sage,Sdept) 对应学生的学号,姓名,性别,年龄,系;课程:C(Cno,Cname,Tname) 对应课程的课程号,课程名,授课教师名字;学生选课:SC(Sno,Cno,Grade)对应学生选修课程的成绩。
3、检索至少选修两门课程的学生学号及姓名。
4、查询王力同学不学课程的课程名。
5、查询既选修了课程1也选修了课程2的学生学号。
6、检索全部学生都选修的课程的课程号与课程名。
7、查询刘宏老师所授课程的每门课程的学生平均成绩。
8、为“三建”工程项目建立一个供应情况视图,包括SNO、PNO、QTY。
9、试修改Student表结构,实现学生性别取值为‘男’,‘女’的约束。
答案:1、SELECT BFROM RWHERE B NOT IN(SELECT BFROM SWHERE C=`C56`);2、(bebb,cccc) ,(ccc)3、检索至少选修两门课程的学生学号及姓名。
select sno,sname from student where sno in(select sno from scgroup by snohaving count(*)>=2);4、查询王力同学不学课程的课程名。
SELECT CNAME FROM CWHERE NOT EXISTS(SELECT*FROM SCWHERE O=O AND SNO =(SELECT SNO FROM STUDENT WHERE SNAME=’王力’));5、查询既选修了课程1也选修了课程2的学生学号。
SELECT SnoFROM SCWHERE Cno='1' AND Sno IN(SELECT SnoFROM SCWHERE Cno='2');6、检索全部学生都选修的课程的课程号与课程名。
数据库关系模式习题
(一)现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金)课程(课程号,名称,学分)率学习(学号,课程号,分数)用关系代数表达式实现下列1-4 小题。
1. 检索“英语”专业学生所学课程的信息,包括学号、姓名、课程名和分数。
2. 检索“数据库原理”课程成绩高于90 分的所有学生的学号、姓名、专业和分数。
3. 检索不学课程号为“C135”课程的学生信息,包括学号,姓名和专业。
4. 检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业。
设学生S(学号sno,姓名sname,专业major,奖学金money)课程C(课程号cno,课程名cname,分数grade)学习SC(学号sno,课程号cno,分数grade)1.πsno,sname,cname,grade(σmajor=’英语’(S) ∞C∞ SC)2. πsno,sname,major,grade(σcname=’数据库原理’ (C) ∞(σgrade >90(SC) ∞S)3. πsno,sname,major ((πsno(S)-πsno (σcno=’C135’(SC)) ∞S)4. πsno,sname,major(( πsno(SC)-πsno(σgrade<60(SC) ) ∞S)(二)设有关系 S、SC 和 C:S (snum,sname,age,sex),例:(1, “李强”,23,“男”)是一条数据记录SC(snum, cnum, score), 例:(1, “C1”,83) 是一条数据记录。
C(cnum,cname, teacher)据记录。
例:(“C1”, “数据库原理”, “王华”)是一条数据记录。
试用关系代数表达式完成下列操作:1.检索“刘祥”同学不学课程的课程号。
2.检索有一门课程成绩在90 分以上的男同学的姓名。
3.列出没有选修“人工智能”的学生名单。
4.找出选修了袁老师教的所有课程的学生名单。
数据库第2章关系数据库练习题
习题
学生关系S (Sno, Sname, Ssex, Sage, Class)
课程关系C (Cno, Cname, DeptName) 学生选课关系R (Sno, Cno, Grade) R)
1.检索所有学生学号、姓名、课程号、成绩 sno,sname,cno,Grade ( S sno,sname ( Cno=‘C02’( S
2.检索学习课程号为C02的学生学号与姓名
R))
sno,sname ( S
sno,sname (S)
Cno=‘C02’ (R)) 优化
sno (Cno=‘C02’ (R)) 再优化
B 2 2 5 D 3 6
C 3 3 6 E 1 2
D 3 6 6
E 1 2 2
R
C=D
S
课堂练习
R
A a b B l n B f
S
C g D h
l
n
x
p
y
x
R×S R R S
R. B S. B
S
R×S
A
a a a b b b
R.B
l l l n n n
S.B
f l n f l n
C
g x p g x p
难题
Sno(2 5 ∧1=4 ( R R) ) 优化: Sno(2 5 ( R
R.sno= R.sno
R) name, Ssex, Sage, Class) 课程关系C(Cno, Cname, DeptName) 学生选课关系R(Sno, Cno, Grade)
第2章关系代数补充作业及答案(选做)
关系代数补充习题(摘自数据库系统导论)单项选择:1. 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为________。
(1)主码(2)候选码(3)主属性(4)外码2.________由数据结构、关系操作集合和完整性约束三部分组成。
(1)关系模型(2)关系(3)关系模式(4)关系数据库3.SQL 语言属于________。
(1)关系代数语言(2)元组关系演算语言(3)域关系演算语言(4)具有关系代数和关系演算双重特点的语言4.关系演算是用________来表达查询要求的方式。
(1)谓词(2) 关系的运算(3)元组(4)域5.实体完整性要求主属性不能取空值,这一点可以通过________来保证。
(1)定义外码(2)定义主码(3)用户定义的完整性(4)由关系系统自动6.一组具有相同数据类型的值的集合称为________。
(1)关系(2)属性(3)分量(4)域7.在一个关系中,不能有相同的________。
(1)记录(2)属性(3)分量(4)域8.关系是________。
(1)型(2)静态的(3)稳定的(4)关系模型的一个实例9.所谓空值就是________的值。
(1)数值0 (2)空的字符串(3)未知的值(4)任何值10.集合R 与S 的差表示为________。
(1){t|t∈R∨t∈S} (2){t|t∈R∧フt∈S} (3) {t|t∈R∧t∈S}(4) {trts|tr∈R ∧ts∈S}问答题2.1 本章中,我们声称并、交、积和(自然)连接都具有交互性和结合性。
证明之。
2.2 在Codd 最初定义的八个操作符中,并、差、积、选择和投影可以被认为是基本的。
试用这五种基本操作来表示自然连接、交和除。
2.3 如果A 和B 没有共同的属性,则A JOIN B 等价于A TIMES B。
对其进行证明。
如果A 和B 有相同的表头,则上述表达式等价于什么?2.4 证明2.2 中提到的五个基本操作符是基本的(证明任意一个不能被其余四个来表示)。
数据库原理 第二章 关系数据库期末习题与答案
1、一个关系只能有一个()。
A.超码B.外码C.候选码D.主码正确答案:D2、在教务管理数据库中,关系数据库模式为S(SNO,SN,Sex,Age,Dept),SC(SNO,CNO,SCORE),S为学生关系,SC为选课关系,则分数大于等于60分的学生学号的关系代数为()A.B.C.D.正确答案:C3、有两个关系R和S,分别含有15个和10各元组,则在RUS,R-S,RnS中不可能出现的元组情况是()A.15,5,10B.18,7,7C.21,11,4D.25,15,0正确答案:B4、关系运算中花费时间可能最长的是()A.选取B.投影D.差正确答案:C二、填空题1、传统集合运算执行交、并、差运算的时候,参与运算的关系必须是()的关系。
正确答案:相容2、当对两个关系R和S进行自然连接运算时,要求R和S含有一个或多个共有的()。
正确答案:域或属性3、实体的完整性是对()的约束。
正确答案:主码或主键4、参照完整性规则是对()的约束。
正确答案:外键或外码5、根据关系规范化的要求,关系模式的任何属性()。
正确答案:不可再分或唯一三、判断题1、关系代数的运算对象和运算结果都是关系。
(对)2、关系R中有n条元组,关系S中有m条元组,则关系R和关系S的广义笛卡尔乘积上有n+m条元组。
(错)3、从关系规范化的角度,籍贯可以作为关系模式的属性。
(错)4、关系表中的元组是可以交换顺序的。
(对)5、“并”操作在实际应用中可用于删除关系中的元组。
(错)。
关系代数练习
这里(SC×SC)表示关系SC自身相 乘的乘积操作,其中数字1,2,4,5都 为它的结果关系中的属性序号。 比较这一题与上一题的差别。
(6) 检索不学C2课的学生姓名与年龄。
π SNAME,AGE(S)-π SNAME,AGE (σ SC)) CNO='C2'(S
这个表达式用了差运算,差运算的左分 量为"全体学生的姓名和年龄",右分量为 "学了C2课的学生姓名与年龄"。
试用关系代数表示下列查询语句: (1)查询年龄不大于22岁的女学生的姓名和 学号;
(2)查询选修了“李军”老师所授的课程名 为“数据库”的学生学号和姓名;
(3)查询至少选修了教师编号(Tno)为 826的老师所授全部课程的学生学号。
2、查询至少选修了两门课程的学生学号。
Sno (σ [1]=[4] ∧ [2]≠[5]
π
(SC×SC))
3、查询选修了1号课程的学生姓名。
(σ Cno=’1’ (S SC))
π
Sname
4、查询没有选修数据库课程的学生姓名。
(S)-π Sname (σ Cname=’数据库’ ( S C)
下面用关系代数表达式表达每个查询语 句。
(1) 检索学习课程号为C2的学生学号与成绩。 (2) 检索学习课程号为C2的学生学号与姓名 (3)检索选修课程名为MATHS的学生学号与姓名。 (4) 检索选修课程号为C2或C4的学生学号。 (5) 检索至少选修课程号为C2和C4的学生学号。 (6) 检索不学C2课的学生姓名与年龄。 (7) 检索学习全部课程的学生姓名。 (8) 检索所学课程包含S3所学课程的学生学号。
关系代数习题
习题四1.试述关系模型的三个组成部分。
2.试述关系数据语言的特点和分类。
3.定义并解释下列术语,说明它们之间的联系与区别。
1)主码、候选码、外码。
2)笛卡尔积、关系、元组、属性、域。
3)关系、关系模式、关系数据库。
4. 试述关系模型的完整性规则。
在参照完整性中,为什么外码属性的值也可以为空?什么情况下才可以为空?5. 试述等值连接与自然连接的区别和联系。
6. 对于学生选课关系,其关系模式为:学生(学号,姓名,年龄,所在系);课程(课程名,课程号,先行课);选课(学号,课程号成绩)。
用关系代数完成如下查询。
1)求学过数据库课程的学生的姓名和学号。
2)求学过数据库和数据结构的学生姓名和学号。
3)求没学过数据库课程的学生学号。
4)求学过数据库的先行课的学生学号。
7. 设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNANE,CITY);SPJ(SNO,PNO,JNO,QTY)。
其中:供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J 由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量组成(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
试用关系代数完成如下查询:1)求供应工程J1 零件的供应商号码SNO。
2)求供应工程J1 零件P1的供应商号码SNO。
3)求供应工程J1 零件为红色的供应商号码SNO。
4)求没有使用天津供应商生产的红色零件的工程号。
5)求至少用了供应商S1所供应的全部零件的工程号。
数据库关系代数查询例题
数据库关系代数查询例题在这个数字化的时代,数据库就像是我们生活中的一个大仓库,里面装着各种信息。
关系代数查询,就像在这个仓库里找东西,有时候就像一场寻宝游戏,特别刺激。
想象一下,你要找的是一颗闪闪发光的宝石,而这个宝石藏在成千上万的箱子里。
你得运用一些技巧,才能把它找出来。
关系代数查询其实就是让我们在这些数据的箱子里,灵活运用各种方法,把想要的信息“挖”出来。
让我们看看关系代数的基本概念,简单来说,它就是通过一些操作,把不同表格中的数据组合在一起。
就像你在家里做一顿大餐,可能需要从冰箱里拿出鸡肉,再去柜子里找调料,最后把它们结合起来,才能做出美味的菜肴。
在数据库的世界里,表格就像是食材,而查询操作就是烹饪的过程。
你可以选择用“选择”操作挑选出某些特定的记录,或是用“投影”操作提取出某些特定的列。
听起来是不是有点像魔术?不过这不是魔术,是数据的艺术。
讲讲“联合”操作。
这就像是把两盘不同的菜放在一起,形成一道新的美食。
想象一下,你有一盘红烧肉和一盘青菜,把它们放在一起,哇,瞬间感觉豪华了不少。
这种操作可以把两张表里的信息合并,让你看到更多的内容,尤其是在你需要综合信息的时候。
比如说,你想知道所有员工的姓名和他们的部门,这时候,联合操作就派上用场了。
再来说说“差集”操作。
它听起来有点冷冰冰的,但实际上就像是从一个装满玩具的箱子里,找出那些不属于你的玩具。
你有一张玩具清单,想看看哪些玩具不在你的箱子里。
这时候,差集操作就能帮你做到。
想象一下,假设你有一张表格记录所有参加派对的人,而另一张表格是你的好友列表,通过差集操作,你就能知道哪些好友没有到场,这样就不会错过和他们的聚会了。
哦,还有“笛卡尔积”!名字听起来高大上,但其实它就像是把两种不同的食材混在一起,创造出新的组合。
比如说,你有面包和果酱,放在一起就可以做成美味的果酱三明治。
数据库中的笛卡尔积就是把一张表的每一行与另一张表的每一行都结合,虽然有点复杂,但有时候却能创造出意想不到的结果。
(完整版)数据库第二章关系代数习题
1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:S C SCS# SNAME AGE SEX1 李强23 男2 刘丽22 女5 张友22 男C# CNAME TEACHERk1 C语言王华k5 数据库原理程军k8 编译原理程军S# C# GRADE1 k1 832 k1 855 k1 922 k5 905 k5 845 k8 80(1) 检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。
(2) 检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
(3) 检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。
(4) 检索”李强”同学不学课程的课程号(C#)。
(5) 检索至少选修两门课程的课程号(S#)。
(6) 检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
(7) 检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。
(8) 检索选修课程号为k1和k5的学生学号(S#)。
(9) 检索选修全部课程的学生姓名(SNAME)。
(10) 检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。
(11) 检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。
(12)检索没有一门课程成绩不及格的学生学号,姓名。
答:本题各个查询语句对应的关系代数表达式表示如下:(1) ΠC#,CNAME(σTEACHER ='程军'(C))(2) ΠS#,SNAME(σAGE>21^SEX ='男'(S))(3) ΠSNAME(S(ΠS#,C#(SC)÷ΠC#(σTEACHER ='程军'(C))))(4) ΠC#(C)-ΠC#(σSNAME ='李强'(S)∞SC)(5) ΠS# (σ1=4^2≠5 (S C×SC))(6) ΠC#,CNAME(C∞(ΠS#,C#(SC)÷ΠS#(S)))(7) ΠS# (SC∞ΠC# (σTEACHER ='程军'(C)))(8) ΠS#,C#(SC)÷ΠC#(σC#=’K1’VC#=’K5’ (C))(9) ΠSNAME(S∞(ΠS#,C#(SC)÷ΠC#(C)))(10) ΠS#,C#(SC)÷ΠC#(σC#=’2’ (S C))(11) ΠS#,SNAME(S∞ΠS#(SC∞(σCNAME ='C语言'(C))))(12)П学号,姓名(学生)-П学号,姓名(σ分数<60(学生∞学习))。
关系代数习题参考
一、设教学库中有三个关系:学生关系S(S#,SNAME,AGE,SEX)学习关系SC(S#,C#,GRADE)课程关系C(C#,CNAME,TEACHER)下面用关系代数表达式表达各个查询语句1.检索学习课程号为C2的学生学号与成绩。
2。
检索学习课程号为C2的学生学号与姓名。
3.检索选修课程名为MATHS的学生学号与姓名。
4。
检索选修课程号为C2或C4的学生学号.5.检索至少选修课程号为C2和C4的学生学号.6。
检索不学C2课的学生姓名与年龄.7。
检索学习全部课程的学生姓名。
解:1。
πS#,GRADE(σC#=‘C2’(SC))或π1,3(σ2=‘C2’(SC))2. πS#,SNAME(σC#=‘C2’(S︱×︱SC))3. πS#,SNAME(σCNAME=‘MATHS’( S︱×︱SC ︱×︱ C))4。
πS#(σC#=‘C2’∨C#=‘C4’(SC))5. π1(σ1=4∧2=‘C2’∧5=‘C4’(SC×SC))6。
πSNAME,AGE(S)-πSNAME,AGE(σC#=‘C2’( S︱×︱SC))7.学生选课情况:πS#,C#(SC)全部课程:πC#(C)学了全部课程的学生的学号用除操作,结果是学号S#集:πS#,C#(SC)÷πC#(C)从S#求学生姓名,可用自然联接和投影组合操作:πSNAME(S︱×︱(πS#,C#(SC)÷πC#(C)))二、设有一个数据库:学生关系模式:S(学号S#,姓名SNAME,年龄AGE,性别SEX)学生课程模式:SC(学号S#,课程号C#,成绩GRADE)课程关系模式:C(课程号C#,课程名CNAME,教师TEACHER)试用关系代数表达式表示下列查询语句:1.检索年龄大于20岁的男学生的学号、姓名。
2.检索田老师所授课程的课程号、课程名3。
检索至少选修两门课程的学生学号。
数据库关系代数习题
答:因为关系是一个集合,因此不考虑、为什么关系中不允许 有重复元组?
答:如果关系中有重复元组,那么就无 法用键来标识唯一的元组。因此在关系 模型中对关系作了限制。
整理课件
2
2。3、关系与普通的表格、文件
有什么区别?
的元组)
整理课件
15
(6)检索全部学生都选修的课程的课 程号与学生学号。
πC#,S#(SC|X|(πS#,C#(SC)÷πS#(S))) (涉及到全部值时,应用除法,“除数”是
全部量。)
整理课件
16
(7)检索选修课程包含LIU老师所 授课程的学生学号。
πS#(σTEACHER='LIU'(S|X|SC|X|C))
πSNAME(σSEX=‘女’∧TEACHER='LIU'(S|X|SC|X|C ))
整理课件
13
(4)检索WANG同学不学的课程号。
πC#(SC)-πC#(σSNAME='WANG'∧S.S#=SC.S#(S×SC))
整理课件
14
(5)检索至少选修两门课程的学生学 号。
πS#(σ1=4∧2≠5(SC×SC)) (SC自乘之后,同一个学号下两个课程号不同
整理课件
17
答:总而言之,关系是一种规范化了的二维表格, 在关系模型中,对关系作了下列规范性限制: 1)关系中每一个属性值都是不可分解的。 2)关系中不允许出现相同的元组(没有重复元组)。 3)由于关系是一个集合,因此不考虑元组间的顺 序,即没有行序。 4)元组中,属性在理论上也是无序的,但在使用 时按习惯考虑列的顺序。
整理课件
3
2。4、笛卡尔积、等值联接、自 然联接三者之间有什么区别?
关系代数习题
小测验1(一)单项选择题1.关系模型基本的数据结构是(D)A.树B.图 C.索引 D.关系2.关系数据库的查询语言是一种(C)A 过程性语言 B.第三代语言c.非过程性语言 D.高级程序设计语言3.关系模型中,实体完整性规则是(B)A.实体不允许是空实体 B.实体的主键值不允许是空值c.实体的外键值不允许是空值 D.实体的属性值不允许是空值4.关系数据库的数据操作分为两类(A)A.查询和更新 B.排序和索引c.插入和删除 D.修改和排序5.在关系模型中,下列说法正确的为( D )。
A.关系中存在可分解的属性值B. 关系中允许出现相同的元组C.关系中考虑元组的顺序D.元组中,属性理沦上是无序的,但使用时按习惯考虑列的顺序6. 在关系模型中,下列说法正确的为(B)A.关系中元组在组成主键的属性上可以有空值B.关系中元组在组成主键的属性上不能有空值C.主键值起不了唯一标识元组的作用D.关系中可引用不存在的实体7.下列为非过程语言的为( C )。
A.汇编语言 B.PASCAL语言‘C.关系查询语言D.C语言8.设关系R、s、w各有10个元组,则这三个关系的笛卡尔积的基数为(C)A.10 B.30 C.1000 D.不确定(与计算结果有关)9.关系代数中,一般联接操作由(A)组合而成。
A.笛卡尔积和选择 B.笛卡尔积、选择和投影C.笛卡尔积和投影 D.投影和选择10.设关系R和S的属性个数分别为r和s,那么(R x S)操作结果的属性个数为( A )A.r十s B.r-s C.r×s D.max(r,s)11.设关系R和s的结构相同,且各有100个元组,则这两个关系的并操作结果的元组个数为(D)A.100 B.小于等于100 C.200 D. 小于等于20012.关系代数的交操作可以由(B)操作组合而成。
A.并和差 B.差C.选择 D.联接13.如果两个关系没有公共属性,那么其自然联接操作(A)A.转化为笛卡尔积操作B.转化为联接操作c.转化为外部并操作D.结果为空关系14.设关系R和S的值如下:B)A.1 B.2 C.3 D.415.在14题中,操作结果的元组个数是()。
数据库关系代数习题
1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:S C SCS# SNAME AGE SEX1 李强23 男2 刘丽22 女5 张友22 男C# CNAME TEACHERk1 C语言王华k5 数据库原理程军k8 编译原理程军S# C# GRADE1 k1 832 k1 855 k1 922 k5 905 k5 845 k8 80(1) 检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。
(2) 检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
(3) 检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。
(4) 检索”李强”同学不学课程的课程号(C#)。
(5) 检索至少选修两门课程的课程号(S#)。
(6) 检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
(7) 检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。
(8) 检索选修课程号为k1和k5的学生学号(S#)。
(9) 检索选修全部课程的学生姓名(SNAME)。
(10) 检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。
(11) 检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。
(12)检索没有一门课程成绩不及格的学生学号,姓名。
答:本题各个查询语句对应的关系代数表达式表示如下:(1) ΠC#,CNAME(σTEACHER ='程军'(C))(2) ΠS#,SNAME(σAGE>21^SEX ='男'(S))(3) ΠSNAME(S(ΠS#,C#(SC)÷ΠC#(σTEACHER ='程军'(C))))(4) ΠC#(C)-ΠC#(σSNAME ='李强'(S)∞SC)(5) ΠS# (σ1=4^2≠5 (S C×SC))(6) ΠC#,CNAME(C∞(ΠS#,C#(SC)÷ΠS#(S)))(7) ΠS# (SC∞ΠC# (σTEACHER ='程军'(C)))(8) ΠS#,C#(SC)÷ΠC#(σC#=’K1’VC#=’K5’ (C))(9) ΠSNAME(S∞(ΠS#,C#(SC)÷ΠC#(C)))(10) ΠS#,C#(SC)÷ΠC#(σC#=’2’ (S C))(11) ΠS#,SNAME(S∞ΠS#(SC∞(σCNAME ='C语言'(C))))(12)П学号,姓名(学生)-П学号,姓名(σ分数<60(学生∞学习))。
(完整版)数据库关系代数习题
1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:S C SCS# SNAME AGE SEX1 李强23 男2 刘丽22 女5 张友22 男C# CNAME TEACHERk1 C语言王华k5 数据库原理程军k8 编译原理程军S# C# GRADE1 k1 832 k1 855 k1 922 k5 905 k5 845 k8 80(1) 检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。
(2) 检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
(3) 检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。
(4) 检索”李强”同学不学课程的课程号(C#)。
(5) 检索至少选修两门课程的课程号(S#)。
(6) 检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
(7) 检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。
(8) 检索选修课程号为k1和k5的学生学号(S#)。
(9) 检索选修全部课程的学生姓名(SNAME)。
(10) 检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。
(11) 检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。
(12)检索没有一门课程成绩不及格的学生学号,姓名。
答:本题各个查询语句对应的关系代数表达式表示如下:(1) ΠC#,CNAME(σTEACHER ='程军'(C))(2) ΠS#,SNAME(σAGE>21^SEX ='男'(S))(3) ΠSNAME(S(ΠS#,C#(SC)÷ΠC#(σTEACHER ='程军'(C))))(4) ΠC#(C)-ΠC#(σSNAME ='李强'(S)∞SC)(5) ΠS# (σ1=4^2≠5 (S C×SC))(6) ΠC#,CNAME(C∞(ΠS#,C#(SC)÷ΠS#(S)))(7) ΠS# (SC∞ΠC# (σTEACHER ='程军'(C)))(8) ΠS#,C#(SC)÷ΠC#(σC#=’K1’VC#=’K5’ (C))(9) ΠSNAME(S∞(ΠS#,C#(SC)÷ΠC#(C)))(10) ΠS#,C#(SC)÷ΠC#(σC#=’2’ (S C))(11) ΠS#,SNAME(S∞ΠS#(SC∞(σCNAME ='C语言'(C))))(12)П学号,姓名(学生)-П学号,姓名(σ分数<60(学生∞学习))。
数据库关系代数习题完整版
数据库关系代数习题Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】1.现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金)。
课程(课程号,名称,学分)。
学习(学号,课程号,分数)。
用关系代数表达式实现下列1-4小题:1.检索"英语"专业学生所学课程的信息,包括学号、姓名、课程名和分数。
π学号,姓名,课程名,分数(б专业=英语(学生学习课程))2.检索"数据库原理"课程成绩高于90分的所有学生的学号、姓名、专业和分数。
π学号,姓名,专业,分数(б分数>90Λ名称=数据库原理(学生学习课程))3.检索不学课程号为"C135"课程的学生信息,包括学号,姓名和专业。
π学号,姓名,专业(学生)—π学号,姓名,专业(б课程号=C135(学生学习))4.检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业。
π学号,姓名,专业(学习)—π学号,姓名,专业(б分数>=60(学生学习))2.现有关系数据库如下:学生(学号,姓名,性别,专业、奖学金)。
课程(课程号,名称,学分)。
学习(学号,课程号,分数)。
用关系代数表达式实现下列1—4小题:1.检索“国际贸易”专业中获得奖学金的学生信息,包括学号、姓名、课程名和分数。
π学号,姓名,专业(б奖学金>OΛ专业=国际贸易(学生学习课程))2.检索学生成绩得过满分(100分)的课程的课程号、名称和学分。
π课程号,名称,学分(б成绩=100(学生学习课程))3.检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业。
π课程号,名称,学分(б奖学金=OΛ成绩>95(学生学习课程))4.检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业。
π学号,姓名,专业(б成绩>80(学生学习))3.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:S? C? SC(1)检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。
数据库原理与应用习题
一、关系代数题1.设有关系R 和S 如下图所示。
计算:R ∪S ,R-S ,R ×S ,R ∩S ,Π3,2(S ),σB<5(R),R ∞S 。
2.设有如下图所示的关系R ,S 和T ,计算: (1)R1= R ∪S (2)R2= R-S(3)R3=σA=C (R ×T) (4)R4=ΠA (S ) (5)R5=R ∞T3.设有如下图所示的关系R ,S 和T ,计算: (1)R1= R ∪S (2)R2= R-S (3)R3=σA=C (R ×T) (4)R4=ΠA (S ) (5)R5=R ∞T二、SQL 语言题1、设有一个顾客商品关系数据库,有三个基本表,表结构如下:商品表:Article (商品号,商品名,单价,库存量)客户表:Customer (顾客号,顾客名,性别,年龄,电话) 订单表:OrderItem (顾客号,商品号,数量,购买价,日期)(1)请用SQL语言创建一个视图GM_VIEW,检索顾客的顾客号、顾客名和订购商品的商品名、金额和日期。
(金额等于数量*购买价)CREA T VIEW GM_VIEW ASSELECT ___________FROM Artcle, Customer, OrderItemWHERE ___________;(2)请用SQL语言检索一次订购的商品数量最多的顾客名。
SELECT 顾客名FROM Customer, OrderItemWHERE___________=(SELECT___________FROM OrderItem);(3)请用SQL语言找出女顾客购买的商品号、商品名和数量合计。
SELECT ___________FROM OrderItem, Artcle, Customer,WHERE ___________GROUP BY OrderItem.商品号,商品名;(4)请用SQL语言检索所有未下订单的顾客的顾客号和顾客名。
数据库课后习题
数据库课后习题第⼆章1.设有数据库S(Sno,Sname,Sage,Ssex)C(Cno,Cname, Cpno) SC(Sno,Cno,Grade)试⽤关系代数表达式表⽰⼀下查询要求:1.查询选修了课程号为C2的学⽣号;πSno(σCno=‘2’(SC))2.查询选修数据库课程的⼥学⽣的学⽣号;πSno(σCname=‘DB’∧Ssex=‘⼥’(S C SC))3.查询⾄少选修C1和C3课程的学⽣号;πSno,Cno(SC)÷πCno(σCno=‘C1’∨Cno=‘C3’(C))4.查询⾄少选修⼀门先⾏课号为C5的学⽣姓名;πSname(σCpno=‘5’(C) SC πSno,Sname(S))第三章本章习题51.SELECT SNAME,CITYFROM S;2.SELECT PNAME,COLOR,WEIGHTFROM P;3.SELECT DISTINCT(JNO)FROM SPJWHERE SNO=…S1?;4.SELECT P.PNAME,SPJ.QTYFROM P,SPJWHERE P.PNO=SPJ.PNO AND SPJ.JNO=…J2?;5.SELECT DISTINCT PNOFROM SPJWHERE SNO IN (SELECT SNOFROM SWHERE CITY=…上海?);6.SELECT JNAMEFROM J,SPJ,SWHERE J.JNO=SPJ.JNO ANDSPJ.PNO=P.PNO ANDSPJ.SNO=S.SNO7.SELECT JNOFROM SPJWHERE NOT EXISTS (SELECT * FROM S WHERE SPJ.SNO=S.SNOAND S.CITY=…天津?);8.UPDA TE PSET COLOR=…蓝?WHERE COLOR=…红?;9.UPDA TE SPJSET SNO= (3)WHERE SNO=‘S5’ANDJNO=…J4?AND PNO=…P6?;10.DELETEFROM SPJWHERE SNO=…S2?;DELETEFROM SWHERE SNO=…S2?;11.INSERT INTO SPJV ALUES(S2,P4,J6,200);习题11CREA TE VIEW SPJ_SANJIANAS SELECT SNO,PNO,QTYFROM SPJWHERE JNO=(SELECT JNOFROM JWHERE JNAME=…三建?);1.SELECT PNO,QTYFROM SPJ_SANJIAN;2.SELECT PNO,QTYFROM SPJ_SANJIANWHERE SNO=…S1?;习题121.GRANT INSERTON TABLE STO 张勇WITH GRANT OPTION;2.GRANT SELECT,UPDA TE(QTY)ON TABLE SPJTO 李天明;习题41.SELECT SNO FROM SPJWHERE JNO=…J1?;2.SELECT SNO FROM SPJWHERE JNO=…J1? AND PNO=…P1?;3.SELECT SNO FROM SPJ,PWHERE JNO=…J1? AND SPJ.PNO=P.PNO AND COLOR=…红?;4.SELECTJNOFROM JWHERE NOT EXISTS( SELECT * FROM SPJ,S,PWHERE SPJ.JNO=J.JNO ANDSPJ.SNO=S.SNO AND SPJ.PNO=P.PNO ANDS.CITY=…天津? AND P.COLOR=…红?);1.查询所有⽐…李三?年龄⼤的学⽣姓名,年龄和性别。
关系代数练习题
一、二章习题一、选择题1、数据库中,数据的物理独立性是指:A、DB和DBMS的相互独立B、用户程序与DBMS的相互独立C、用户的应用程序与存储在磁盘上的数据库中的数据相互独立;D、应用程序与数据库中数据的逻辑结构相互独立。
2、数据库技术采用分级方法将数据库的结构划分成多个层次,是为了提高数据库的-------和---------:A、数据共享B、逻辑独立性;C、管理规范性;D、物理独立性;3、在数据库系统中,通常采用三级模式来描述数据库,其中①-----是用户与数据库的接口,是应用程序可以见到的数据描述,②------是对数据整体的③------的描述,而④-----描述了数据的⑤-----。
A、外模式;B、概念模式;C、逻辑结构;D、内模式;E、层次结构;F、物理结构;4、在数据库的体系结构中,数据库存储结构的改变会引起内模式的改变。
为使数据库的模式保持不变,从而不必修改应用程序,须改变模式与内模式之间的映像。
这样,使数据库具有_____A、数据独立性B、逻辑独立性C、物理独立性;D、操作独立性。
5、现实世界中客观存在并能相互区别的事物为:A、实体B、实体集;C、字段;D、记录。
6、现实世界中事物的特征在信息世界中称为A、实体B、实体标识符C、属性;D、关键码。
7、采用二维表格结构表达实体类型及实体间联系的数据模型是A、层次模型;B、网状模型;C、关系模型;D、对象模型。
8、DB、DBMS及DBS三者间的关系是A、DB包括DBMS、DBSB、DBS包括DB和DBMS;C、DBMS包括DB、DBSD、DBS与DB、DBMS无关。
9、数据库系统中,用_____描述全部数据的整体逻辑结构。
A、外模式B、存储模式C、内模式D、概念模式。
10、数据库系统中,用户使用的数据视图用____描述,该视图是用户和数据库系统之间的接口。
A、外模式B、存储模式;C、内模式;D、概念模式。
11、在数据库中,产生数据不一致的根本原因是A、数据存储量大B、没有严格保护数据C、未对数据进行完整性控制D、数据冗余。
关系代数习题
(1) 检索学习课程号为C2的学生学号与成 绩。
π SNO, GRADE (σ CNO='C2‘ (SC))
(2) 检索学习课程号为C2的学生学号与姓名
π SNO,SNAME (σ CNO='C2‘ (S SC))
由于这个查询涉及到两个关系S和SC,因此先对这两 个关系进行自然连接,同一位学生的有关的信息,然后 再执行选择投影操作。
所在院系 课程关系模式属性分别对应课程号、课程名、先行课、
学分 学习关系模式分别对应学号、课程号、成绩
1、查询学生95001的姓名和所在系。
π Sname,Sdept (σ Sno =‘95001’ (S))
2、查询至少选修了两门课程的学生学号。
π Sno (σ [1]=[4] ∧ [2]≠[5] (SC×SC))
(C))
考虑如下所定义的学生-教师-课程信息数据库 (其中加下划线的是主码),试完成下列各小 题:
Student(Sno,Sname,Sage,Ssex, Class)(学生信息表)
Teacher(Tno,Tname,Tsex,Tage, Tprof,Tdept)(教师信息表)
Course(Cno,Cname,Tno)(课程信息表)
SC(Sno,Cno,Grade)(选课表)
试用关系代数表示下列查询语句: (1)查询年龄不大于22岁的女学生的姓名和 学号;
(2)查询选修了“李军”老师所授的课程名 为“数据库”的学生学号和姓名;
(3)查询至少选修了教师编号(Tno)为 826的老师所授全部课程的学生学号。
比较这一题与上一题的差别。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.设有如图所示的关系R 、W 和D ,计算下列关系代数: (1)R1=)(,R T Y ∏ (2)R2=)(5R e T P =⋂>σ (3)R3=R
W (4)R4=))((]5[]3[]6[],1[],2[D R ⨯∏=σ
(5)R5=D R ÷
2.
1
2(中)
4. 设有如下关系:
S (S#,SNAME,AGE,SEX )/*学生(学号,姓名,年龄,性别)*/ C (C#,CNAME,TEACHER )/*课程(课程号,课程名,任课教师)*/ SC (S#,C#,GRADE )/*成绩(学号,课程号,成绩)*/
查询:
(1) 教师“程军”所授课程的课程号和课程名; (2) “李强”同学不学课程的课程号;
(3) 至少选修了课程号为k1和k5的学生学号;
(4) 选修课程包含学号为2的学生所修课程的学生学号。
(中-难) 5. 设有如下关系:
图书关系B (图书编号B#,图书名T ,作者A ,出版社P ); 读者关系R (借书证号C#,读者名N ,读者地址D ); 借阅关系L (C#,B#,借书日期E ,还书标志BZ ); BZ=‘1’表示已还; BZ=‘0’ 表示未还; 查询:
(1) “工业出版社”出版的图书名;
(2) 查询99年12月31日以前借书未还的读者名与书名。
答案: 1.
关系W 图2.6
关系D。