练习题-关系代数表达式
- 格式:doc
- 大小:16.00 KB
- 文档页数:2
关系代数习题.作者: 日期:1.下面的选项不是关系数据库基本特征的是()。
A.不同的列应有不同的数据类型B .不同的列应有不同的列名C.与行的次序无关D.与列的次序无关2.—个关系只有一个()。
A.候选码B. 外码C.超码D.主码3.关系模型中,一个码是()。
A.可以由多个任意属性组成B.至多由一个属性组成C.可有多个或者一个其值能够唯一表示该关系模式中任何元组的属性组成D .以上都不是4.现有如下关系:患者(患者编号,患者姓名,性别,出生日起,所在单位)医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是()。
A.患者编号B .患者姓名C. 患者编号和患者姓名D.医生编号和患者编号5.现有一个关系:借阅(书号,书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本,则该关系模式的外码是()。
A.书号B.读者号C .书号+读者号D.书号+读者号+借期6.关系模型中实现实体间 N:M联系是通过增加一个()。
A.关系实现B.属性实现C.关系或一个属性实现D.关系和一个属性实现7.关系代数运算是以()为基础的运算。
A.关系运算B.谓词演算C.集合运算D.代数运算8.关系数据库管理系统应能实现的专门关系运算包括()A.排序、索引、统计B .选择、投影、连接C. 关联、更新、排序D.显示、打印、制表9.五种基本关系代数运算是()。
A.U - X (T nB.U - (T nC.U n X (T nD.U n (T n11.关系数据库中的投影操作是指从关系中()。
A.抽出特定记录B.抽出特定字段C.建立相应的影像D.建立相应的图形12. 从一个数据库文件中取出满足某个条件的所有记录形成一个新的数据库文件的操作是()操作。
A.投影B.联接C.选择D.复制13.关系代数中的联接操作是由()操作组合而成。
A.选择和投影B.选择和笛卡尔积C .投影、选择、笛卡尔积 D.投影和笛卡尔积1 4.自然联接是构成新关系的有效方法。
1.现有关系如下:EMP(ENO,ENAME,AGE,SEX,SALARY,DNO),其属性分别表示职工号、姓名、年龄、性别、工资,所在车间的编号。
试用关系代数表达式表示下列查询语句:检索年龄小于23岁的男职工的职工号和姓名。
2.现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金)课程(课程号,课程名,学分)学习(学号,课程号,分数)用关系代数表达式实现下列1—4小题:1.检索“国际贸易”专业中获得奖学金的学生信息,包括学号、姓名、课程名和分数;2.检索学生成绩得过满分(100分)的课程的课程号、课程名和学分;3.检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业;4.检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业;3.关系数据库中有三个关系:学生:S(Sno,Sname,Ssex,Sage, Sdept)其中:Sno:学号,Sname:姓名,Ssex:性别,Sage:年龄,Sdept:系名;课程:C(Cno, Cname,Teacher)其中:Cno:课程号,Cname:课程名,Teacher:教师;选课:SC(Sno,Cno,Grade)其中:Sno:学号,Cno:课程号,Grade:成绩用关系代数表达式实现下列1,2小题:1.检索年龄为19岁的女同学的学号和姓名;2.检索不学课程号为“C135”课程的学生信息,包括学号,姓名和系名;4.设有如下所示的关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE),试用关系代数表达式表示下列查询语句:(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。
(2)检索年龄大于21岁的男学生的学号(S#)和姓名(SNAME)。
(3)检索”李强”同学不学课程的课程号(C#)。
(4)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。
关系模式如下:
⏹职工: E(ename, eno, bdate, addr, salary, dno)
姓名工号出生日期家庭地址工资所在部门编号
⏹部门: D(dname, dno, eno)
部门名称部门编号部门负责人的工号
⏹项目: P(pname, pno, city, dno)
项目名称项目编号所在城市主管部门编号
⏹工作: W(eno, pno, hours)
职工工号项目编号工作时间
⏹职工家属:Depend(eno, name, sex)
职工工号家属的姓名家属的性别
请用关系代数表达式来表示下述数据查询操作。
1)检索所有部门负责人的工号和姓名;
2)检索职工Smith所参与的项目的编号和名称;
3)检索拥有两个或两个以上家属的职工的姓名;
4)检索不带家属的职工的姓名;
5)检索参加过‘p2’号项目的职工的工号;
6)检索只参加过‘p2’号项目的职工的姓名;
7)检索参加了所有项目的职工的工号;
8)检索全体3号部门的职工都参加了的项目的编号和名称;
9)检索工资收入最高的职工的姓名;
10)查询每一个部门中工资收入最高的职工,结果返回部门编号以及该部门中工资收入最高
的职工的工号。
11)检索只参加过一个项目的职工的姓名;。
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)。
∏C#,CNAME(δTEACHER=程军(C))(2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
∏S#,SNAME(δAGE>21∧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)。
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)学生表(学号,姓名,性别,出生年月,住址,电话,班级号)
(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。