关系代数练习题
数据库 关系代数习题

(1)求供应工程J1零件的供应商号码SNO。
ΠSNO(σJNO ='J1'(SPJ))(2)求供应工程J1零件P1的供应商号码SNOΠSNO(σJNO='J1'^PNO='P1'(SPJ))(3)求供应工程J1零件为红色的供应商号码SNO。
ΠSNO(σCOLOR ='红'^JNO='J1'(P∞SPJ))(4)求没有使用天津供应商生产的红色零件的工程号JNO。
ΠJNO(J)-ΠJNO(σCITY ='天津'^COLOR='红'(S ∞ SPJ ∞P) ) (5)求至少使用了供应商S1供应的全部零件的工程号JNO。
ΠJNO,PNO(SPJ)‚ΠPNO(σsno='S1' (SPJ))(1) 检索”程军”老师所授课的课程号和课程名。
ΠC#,CNAME(σTEACHER ='程军'(C))(2)检索年龄大于21的男学生学号和姓名Π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 (SC×SC))(6)检索全部学生都选修的课程的课程号和课程名ΠC#,CNAME(C(ΠS#,C#(SC)‚ΠS#(S))) (7)检索选修”程军”老师所授课程的学生学号ΠS# (SC(σTEACHER ='程军'(C)))(8)检索选修课程号为k1和k5的学生学号ΠS# (σ1=4^2=‘k5’ ^5=‘k5’ (SC×SC))(9)检索选修全部课程的学生姓名ΠSNAME(S(ΠS#,C#(SC)‚ΠC#(C)))(10)检索选修课程包含学号为2的学生所选修课程的学生学号ΠS#,C#(SC)‚ΠC#(σs#=’2’ (SC))(11)检索选修课程名为”C语言”的学生学号和姓名ΠS#,SNAME(σCNAME ='C语言'(S SC C))(12)检索没有一门课程成绩不及格的学生学号,姓名ПS#,SNAME(S)-ПS#,SNAME(σGRADE<60(S SC))。
关系代数习题

关系代数习题1.设有如图所示的关系R、W和D,计算下列关系代数:(1)R1=(2)R2=(3)R3=(4)R4=(5)R5=2.设关系R、S和S’如图2.1所示,计算:(1)R1=R∪S’;(2)R2=R-S’;(3)R3=R×S;(4)R4=R∞A=CS=σA=C(R×S);(5)R5=R∞S=∏A,B,CσR.B=S.B(R×S)。
3.设有如下关系:学生(学号,姓名,性别,专业,出生日期)教师(教师编号,姓名,所在部门,职称)授课(教师编号,学号,课程编号,课程名称,教材,学分,成绩)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.ABabcbdec bd A B a b de R R A R .B S .B C a b b c a b e a a b b db bc c b e a c b bd de b c d e e a d e b d R A R .B S .Ba b e a c b b c d e b d R A B C a b c a b d c b c cC b d Rea2.3.(1)(2)4.(1)(2)(3)(4)5.(1)(2)。
练习题-关系代数表达式

关系代数表达式练习题
学生管理系统中有学生表、课程表、成绩表、班级表
(1)学生表(学号,姓名,性别,出生年月,住址,电话,班级号)
(2)课程表(课程号,课程名,课时数,学分数)
(3)成绩表(学号,课程号,成绩)
(4)班级表(班级号,班级名,专业名,入学年,人数,班长学号)
写出下列操作的关系代数表达式
1.找出所有被学生选修了的课程号
2.找出班级名为“xxx”班级的女同学的个人基本信息。
3.找出姓李的学生的个人基本信息
4.查询“xxx”班级的班长基本信息
5.查询与李勇在同一班的学生的基本信息
6.查询所有管理类专业(如:工商管理、信息管理、旅游管理、管理科学与工
程等)学生的基本信息。
7.查询选修了课程名“xxx“的学生的学号和姓名
8.查询李勇所在班级的学生人数
9.找出“2007信管“班中没有选修课程“数据库“的学生的学号、姓名
10.列出“xxx“同学所修全部课程的名称和成绩
11.查询全体学生的学习信息,要求按学号排序
12.找出课程名为‘操作系统’的平均成绩、最高分、最低分
13.找出今天(或1月20日)过生日的学生学号、姓名和班级名
14.找出选修了全部课程的学生学号、姓名和班级
15.统计选修了课程名“xxx“的学生人数
16.统计每门课程的选课人数
17.求每个班学生每门课的平均成绩
18.查询选修课程中没有不及格分数的学生学号、姓名和班级
19.查询有3门课程不及格的学生的学号、姓名及所在的班级名
20.求2009信息管理专业学生中已选修过管理信息系统的先修课的学生姓名。
P。
关系代数习题

小测验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(学生∞学习))。
关系代数习题

一、设有一个SPJ数据库,包括S、P、J、SPJ四个关系模式,其定义如下:供应商: S(sno,sname,status,city)零件: P(pno,pname,color,weight)工程项目: J(jno,jname,city)供应情况: SPJ(sno,pno,jno,qty)请完成下面的操作1、请指出每个关系的主码、外码解:表名主码外码S snoP pnoJ jnoSPJ sno+pno+jno sno,pno,jno2、请用关系代数写出下面的查询①求供应工程J1零件的供应商编号和供应商名称Πsno,sname(σjno='j1'(SPJ) * S)②求供应工程J1零件P3的供应商名称和供应数量Πsname,qty(σjno='j1'∧pno='p3'(SPJ)*S)③求没有使用P1零件的工程编号和工程名称Πjno,jname((Πjno(J)- Πjno(σpno='p1'(SPJ)))*J)④求没有使用天津供应商生产的红色零件的工程号Πjno-Πjno(σcity='天津'(S)*SPJ*σcolor='红色'(P))⑤求使用了江南工具厂供应的全部零件的工程名称和工程所在地Πjname,city((Πjno,pno(SPJ)÷Πpno(σsname='江南工具厂'(S)*SPJ))*J)⑥求既使用了P1零件又使用了P2零件的工程名称Πjname((Πjno(σpno='p1'(SPJ))∩Πjno(σpno='p2'(SPJ)))*J)3、请用元组演算写出下面的查询①求供应工程J1零件的供应商编号和供应商名称{t2|ョuョv(S(u)∧SPJ(v)∧v[3]='j1'∧v[1]=u[1]∧t[1]=u[1]∧t[2]=u[2])}②求供应工程J1且零件为红色的供应商编号{t1|ョuョv(SPJ(u)∧P(v)∧v[3]='红色'∧v[1]=u[2]∧t[1]=u[1])}③求既使用了P1零件又使用了P2零件的工程名称{t1|ョuョvョw(SPJ(u)∧SPJ(v)∧J(w)∧u[2]='p1'∧v[2]='p2'∧u[3]=v[3]∧u[3]=w[1]∧t[1]=w[2])}4、请用域演算写出下面的查询①求供应工程J1且零件为红色的供应商编号{t1|ョu2ョu4ョv2ョv4(SPJ(t1u2'j1'u4)∧P(u2v2'红色'v4))}②求既使用了P1零件又使用了P2零件的工程名称{t1|ョu1ョu3ョu4ョv1ョv4ョw3(SPJ(u1'p1'u3u4)∧SPJ(v1'p2'u3v4)∧J(u3t1w3))}二、设R和S分别是三元和二元关系,请将表达式:П[1],[5](б[2]=[4]∨[3]=[4](R×S))转换成等价的1、汉语查询语句在关系R和关系S的笛卡尔积上选取R的第2列等于S的第1列,或者R的第3列等于S的第1列的元组并且在R的第1列和S的第2列上做投影运算得到的关系2、元组演算表达式{t2|ョuョv(R(u)S(v)∧(u[2]=v[1]∨u[3]=v[1])∧t[1]=u[1]∧t[2]=v[2])}3、域演算表达式{t1 t2|ョu2ョu3ョw2ョw3(R(t1u2u3)∧S(u2 t2) ∨R(t1w2w3)∧S(w3 t2))}。
数据库关系代数习题

答:因为关系是一个集合,因此不考虑、为什么关系中不允许 有重复元组?
答:如果关系中有重复元组,那么就无 法用键来标识唯一的元组。因此在关系 模型中对关系作了限制。
整理课件
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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设图书管理关系数据模型包括以下三个关系模式:
¤图书(总编号,分类号,书名,作者,出版单位,单价,参考书编号)
¤读者(借书证号,姓名,性别,单位,职称,地址)
¤借阅(借书证号,总编号,借阅日期,归还日期)
¤分类(分类号,分类名称)
其中,“单价”是数值型字段,“借阅日期”是日期型字段,其它都是字符型字段。
假定一本书至多只有一本参考书。
用关系代数完成下列查询。
1、查询读者’张涛’的借书证号、单位及地址。
2、查询’人民出版社’的所有单价在10至25元之间的图书的书名,作者。
3、查询借阅了“C++程序设计”的读者姓名。
4、查询读者‘王华’所借图书的单价。
5、查询至少借阅了总编号为“445611”和“332166”的图书的读者的借书证号。
6、查询借阅过‘计算机科学’类别所有图书的学生的借书证号和姓名
7、查询从未被借阅过的图书总编号及书名
8、查询借阅记录中借阅期超过30天的借阅记录(假设归还日期都已经有值)
9、**查询被用作参考书的图书名称和作者
10、**将‘人民出版社’的图书单价下调10%。