您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 数据库第二章关系代数习题
1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:SCSCS#SNAMEAGESEX1李强23男2刘丽22女5张友22男C#CNAMETEACHERk1C语言王华k5数据库原理程军k8编译原理程军S#C#GRADE1k1832k1855k1922k5905k5845k880(1)检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。∏C#,CNAME(δTEACHER=程军(C))(2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。∏S#,SNAME(δAGE21∧SEX=男(S))(3)检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。∏SNAME((∏S#,C#(SC)÷∏C#(δTEACHER=程军(C)))S)(4)检索”李强”同学不学课程的课程号(C#)。∏C#(C)-∏C#(δSNAME=李强(S)SC)(5)检索至少选修两门课程的学号(S#)。∏S#(δ1=4∧2≠5(SC×SC))(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。∏C#,CNAME(∏S#,C#(SC)÷∏S#(S)C)(7)检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。∏C#(δTEACHER=程军(C)SC)(8)检索选修课程号为k1和k5的学生学号(S#)。∏S#,C#(SC)÷∏C#(δC#=k1∨C#=k5(C))(9)检索选修全部课程的学生姓名(SNAME)。∏SNAME((∏S#,C#(SC)÷∏C#(C))S)(10)检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。∏S#,C#(SC)÷∏C#(δS#=2(SC))(11)检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。∏S#,SNAME(∏S#(SC(δCNAME=C语言(C)))S)(12)检索没有一门课程成绩不及格的学生学号,姓名。∏S#,SNAME((∏S#(S)-∏S#(δGRADE60(SC))S)2.现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金)。课程(课程号,名称,学分)。学习(学号,课程号,分数)。用关系代数表达式实现下列1-4小题:1.检索英语专业学生所学课程的信息,包括学号、姓名、课程名和分数。∏学号,姓名,课程,分数(δ专业=英语(学生⋈课程⋈学习))2.检索数据库原理课程成绩高于90分的所有学生的学号、姓名、专业和分数。∏学号,姓名,专业,分数(δ名称=数据库原理∧分数90(课程⋈学生⋈学习))3.检索不学课程号为C135课程的学生信息,包括学号,姓名和专业。∏学号,姓名,专业(学生)-∏学号,姓名,专业(δ课程号=C135(学习)⋈学生)4.检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业。∏学号,姓名,专业(学生)-∏学号,姓名,专业(δ分数60(学习⋈学生))3.现有关系数据库如下:学生(学号,姓名,性别,专业、奖学金)。课程(课程号,名称,学分)。学习(学号,课程号,分数)。用关系代数表达式实现下列1—4小题:1.检索“国际贸易”专业中获得奖学金的学生信息,包括学号、姓名、课程名和分数。∏学号,姓名,课程名,分数(δ专业=国际贸易∧奖学金0(学生⋈课程⋈学习))2.检索学生成绩得过满分(100分)的课程的课程号、名称和学分。∏课程号,名称,学分((δ分数=100(学习))⋈课程)3.检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业。∏学号,姓名,专业(δ奖学金=0∧分数95(学生⋈学习))4.检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业。∏学号,姓名,专业(学生)-∏学号,姓名,专业(δ分数80(学生⋈学习))4.设有关系S、SC和C,试用关系代数表达式完成下列操作。S(snum,sname,age,sex),例:(1,“李强”,23,‘男’)是一条数据记录。SC(snum,cnum,score),例:(1,“C1”,83)是一条数据记录。C(cnum,cname,teacher)例:(“C1”,“数据库原理”,“王华”)是一条数据记录。(1)检索“刘祥”同学不学课程的课程号。∏cnum(C)-∏cnum(δsname=刘祥(S⋈SC))(2)检索有一门课程成绩在90分以上的男同学的姓名。∏sname(δscore90∧sex=男(S⋈SC))(3)列出没有选修“人工智能”的学生名单。∏sname(S)-∏sname(δcname=人工智能(C⋈SC⋈S))(4)找出选修了袁老师教的所有课程的学生名单。∏sname(∏snum,cnum(SC)÷∏cnum(δteacher=袁老师(C))⋈S)(5)查找每门课程成绩在70分以上并且平均成绩在75分以上的学生名单。∏sname-∏sname(δscore=70∨avg(score)=75(SC⋈S))5.数据模型如下:厂家S(SNO,SNAME,STATUS,CITY)产品P(PNO,PNAME,WEIGHT,COLOR)工程J(JNO,JNAME,CITY)供货SPJ(SNO,PNO,JNO,QTY)用关系代数写出下述操作.1.给出为工程J1供货的厂商号.∏SNO(δJNO=J1(SPJ))2.给出供货量在300~500之间的所有供货情况.δQTY=300∧QTY=500(SPJ)3.给出由LONDON的厂商供给LONDON的工程的产品号.∏PNO((δCITY=LONDON(S))⋈(δCITY=LONDON(J))⋈SPJ)4.给出满足如下条件的所有产品号:提供该零件的厂商和使用该零件的工程在同一城市.∏PNO((∏SNO,CITY(S))⋈(∏JNO,CITY(J))⋈SPJ)5.给出由S1提供产品的工程名.∏JNAME((δSNO=S1(SPJ))⋈J)6.给出使用了由供应红色产品的厂商供应的产品的工程名.∏JNAME(∏SNO((∏PNO(δCOLOR=红色(P)))⋈(∏SNO,PNO(SPJ)))⋈SPJ⋈J)7.求使用了全部零件的工程名.∏JNAME(∏PNO,JNO(SPJ)÷∏PNO(P)⋈J)8.供应P1,P2两种产品的厂家名.∏SNAME(∏SNO(δ2=P1∧6=P2∧1=5(SPJ×SPJ))⋈S)9.显示与”TV”颜色相同的产品名.∏PNAME(∏COLOR(δPNAME=TV(P))⋈P)10.给出使用了S1所提供的全部零件的工程名.∏JNAME((∏JNO,PNO(SPJ)÷∏PNO(δSNO=S1(SPJ)))⋈J)6.设教学数据库中有三个关系:S(SNO,SNAME,AGE,SEX,SDEPT)SC(SNO,CNO,GRADE)C(CNO,CNAME,TNAME)试用关系代数表达式表示下列查询语句:①查询LIU老师所授课程的课程号,课程名∏CNO,CNAME(δTNAME=LIU(C))②查询年龄大于23岁的男生的学号与姓名∏SNO,SNAME(δAGE23∧SEX=男)③查询学号为S3学生所学课程的课程名与任课教师名∏CNAME,TNAME((δSNO=S3(SC))⋈C)④查询选修LIU老师所授课程中一门课的女学生姓名∏SNAME(δTNAME=LIU(C⋈SC)⋈δSEX=女(S))⑤查询WANG同学不学的课程的课程号∏CNO(C)-∏CNO(δSNAME=WANG(S)⋈SC)⑥查询至少选修两门课程的学生学号∏SNO(δ1=4∧2≠5(SC×SC))⑦查询全部学生都选修的课程的课程号和课程名∏CNO,CNAME((δSNO,CNO(SC)÷δSNO(S))⋈C)⑧查询选修课程包含LIU老师所授课程的学生学号∏SNO,CNO(SC)÷∏CNO(δTNAME=LIU(C))
本文标题:数据库第二章关系代数习题
链接地址:https://www.777doc.com/doc-4190783 .html