搜档网
当前位置:搜档网 › 关系代数运算习题

关系代数运算习题

关系代数运算习题
关系代数运算习题

一、选择题

1关系代数运算可以分为两类:传统的集合运算和专门的关系运算.下面列出的操作符中,属于传统的集合运算是(A )

Ⅰ.∩(交)Ⅱ.∪(并)Ⅲ.×(广义笛卡儿积) Ⅳ.一(差) Ⅴ.Π(投影) Ⅵ.σ(选择)

A)Ⅰ、Ⅱ、Ⅲ和ⅣB)Ⅲ、Ⅳ、Ⅴ和Ⅵ

C) Ⅰ、Ⅲ、Ⅴ和ⅥD)都是

2、关系数据库管理系统能实现的专门关系操作包括(B)

A、显来,打印和制表

B、选择,投影和连接

C、关联、更新和排序

D、排序、索引和统计

3、在关系数据基本操作中,从表中选项出满足某种条件的记录的操作称为(A)

A、选择

B、投影

C、连接

D、扫描

4、元组的集合在关系数据库中称为关系,一般来说,表示元组的属性或者最小属性组

称为D

A、字段

B、索引

C、标记

D、主键

5、在下面3个关系中

学生S(SNO,SNAME,SEX,AGE)课程C(CNO,CNAME,CREDIT)

学生选课SC(SNO,CNO,GRADE)

要查找选修“数据库”课程的女学生的姓名,将涉及到关系(D)

A、S

B、C,SC

C、S,SC DS,C,SC

6、对于关系数据库来讲,下面(C)说法是错误的。

A、每一列的分量是同一种类型数据,来自同一个域

B、不同列的数据可以出自同一个域

C、行的顺序可以任意交换,但列的顺序不能任意交换

D\关系中的任意两个元组不能完全相同

7、关系数据库中有3种基本操作,从表中取出满足条件的属性的操作是(A)

A、选择

B、投影

C、连接

D、扫描

8、关系数据库在有3种基本操作,将具有共同属性的两个关系中的元组连接到一起,构成新表的操作称为(C )

A、选择

B、投影

C、连接

D、扫描

9 若D1={a1,a2,a3},D2={b1,b2,b3},则D1*D2集合中共有元组(C)个

A、 6

B、8

C、9

D、12

10 下列(C)运算不是专门的关系运算

A、选择

B、投影

C、笛卡尔积

D、连接

11、如下两个关系R1和R2,它们进行运算后得到R3。( D )

C 笛卡儿积

D 连接

12、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEADHER

),学生选课关系是SC(S#,C#,GRADE)

要查询选修“COMPUTER”课程的女学生的姓名,将涉及到关系(D )

A S

B SC,

C C S,SC

D S,C,SC

13在关系代数中,对一个关系做操作以后,新关系的元数个数D 原来关系的元组个数。

A 小于

B 等于

C 大于

D 小于或等于

14、一般情况下,当对关系R和S使用自然连接时,要求R和S至少含有一个共同的D

A 记录

B 行

C 数据字典

D 属性

15、在关系模型中,关系的“元数”(arity)是指(D )

A 行数

B 元组个数

C 关系个数

D 列数

16、有关系的R和S,R∩S的运算等价于(B )

A S-(R-S)

B R-(R-S)

C (R-S) ∩S

D R ∪(R-S)

17 下列各种对关系数据库的基本操作中,-------是从表中取出满足某种条件的属性成分操

作,即从列的方向进行选择所需的值;-------是表中选取满足某种条件的元组的操作,相当于在横向进行选择。(D)

A 选择,检索

B 扫描,投影

C 检索,选择

D 投影,选择

二、填空题

1 关系代数包括交、并、差、笛卡尔积运算,还包括特殊的关系运算:

选择、投影、连接运算。

2 查询优化的目的是提高效率,在查询优化当中最重要的一条是选择运算应尽可能地

3、在关系代数运算中,从关系中取出满足条件的元组的运算称为选择。

4、投影,连接,选择是关系代数最基本的操作

三、综合题

1 设有关系框架R(A,B,C,D,E,F)及其上的函数相关性集合F={A→B,C→F,E

→A,CE→D};

(1)求出R的所有候选关键字;

CE

(2)将R无损连接分解到BCNF;

{AB,CF,EA,CED}

(3)R分解为{R1(C,F),R2(B,E),R3(E,C,D),R4(A,B)},该分解是否为无损连接的?

根据表格判定法,

(4)R分解为{R1(A,B,E),R2(C,D,E,F)},该分解是否为无损连接的,R1和R2各为那一个范式?

是,R1为2NF,R2为1NF

2、设某工厂数据库中有两个基本表:

车间基本表:DEPT(DNO,DNAME,MGR—ENO),基属性分别表示车间编号,车间名和车间主任的职工号。

职工基本表:EMP(ENO,ENAME,AGE,SEX,SALARY,DNO),其属性分别表示职工号,姓名,年龄,性别,工资和所在车间的编号。

试用关系代数表达式写出下列查询:检索“金工”车间的男职工的职工号和姓名。

3、设教学数据库存中有三个基本表:

S(SNO,SNAME,AGE,SEX),其属性分别表示学号,学生姓名,年龄,性别。

C(CNO,CNAME,TEACHER),其属性分别表示课程号,课程名,上课教师名。

SC(SNO,CNO,GRADE),其属性分别表示学号,课程号,成绩。

有如下SQL查询语句:

SELECT CNO

FROM C

WHERE CNO NOT IN

(SELECT CNO

FROM S,SC

WHERE S,SNO = SC,SNO

AND SANME=‘GU’)

请完成下列问题:

(1)用汉语句子阐述上述SQL语句的查询结果。

查询GU学生没学的课程号

(2)用等价的关系代数表达式表示上述SQL查询语句。

关系代数运算练习答案

关系代数表达式: 由关系代数运算经有限次复合而成的式子称为关系代数表达式。 这种表达式的运算结果仍然是一个关系。可以用关系代数表达式表示对数据库的查询和更新操作。 关系代数(演算)要求掌握各种语句的应用 1:设教学数据库中有3个关系: 学生关系S(SNO,SNAME,AGE,SEX) 学习关系SC(SNO,CNO,GRADE) 课程关系C(CNO,CNAME,TEACHER) 下面用关系代数表达式表达每个查询语句。 (1) 检索学习课程号为C2的学生学号与成绩。 πSNO,GRADE(σCNO='C2'(SC)) (2) 检索学习课程号为C2的学生学号与姓名 πSNO,SNAME(σCNO='C2'(S SC)) 由于这个查询涉及到两个关系S和SC,因此先对这两个关系进行自然连接,同一位学生的有关的信息,然后再执行选择投影操作。

此查询亦可等价地写成: πSNO,SNAME(S)(πSNO(σCNO='C2'(SC))) 这个表达式中自然连接的右分量为"学了C2课的学生学号的集合"。这个表达式比前一个表达式优化,执行起来要省时间,省空间。 (3)检索选修课程名为MATHS的学生学号与姓名。 πSNO,SANME(σCNAME='MATHS'(S SC C)) (4)检索选修课程号为C2或C4的学生学号。 πSNO(σCNO='C2'∨CNO='C4'(SC)) (5)检索选修课程号为C2和C4的学生学号。 π1(σ1=4∧2='C2'∧5='C4'(SC×SC)) 这里(SC×SC)表示关系SC自身相乘的乘积操作,其中数字1,2,4,5都为它的结果关系中的属性序号。 比较这一题与上一题的差别。 (6)检索不学C2课的学生姓名与年龄。 πSNAME,AGE(S)-πSNAME,AGE(σCNO='C2'(S SC))

关系代数习题3.26

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.∪-× σ π B.∪-σ π C.∪∩× σ π D.∪∩σ π 11. 关系数据库中的投影操作是指从关系中()。 A.抽出特定记录 B. 抽出特定字段 C.建立相应的影像 D. 建立相应的图形 12. 从一个数据库文件中取出满足某个条件的所有记录形成一个新的数据库文件的操作是()操作。 A.投影 B. 联接 C. 选择 D. 复制 13. 关系代数中的联接操作是由()操作组合而成。 A.选择和投影 B. 选择和笛卡尔积 C.投影、选择、笛卡尔积 D. 投影和笛卡尔积 14. 自然联接是构成新关系的有效方法。一般情况下,当对关系R和S是用自然联接时,要求R和S含有一个或者多个共有的()。 A.记录 B. 行 C. 属性 D. 元组 15. 假设有关系R和S,在下列的关系运算中,()运算不要求:“R 和S具有相同的元数,且它们的对应属性的数据类型也相同” 。

关系代数习题

习题四 1. 试述关系模型的三个组成部分。 .关系是由(R,U,D,dom,F )组成,R 为关系名,关系结构、关系操作、关系完整性约束 U 位组成关系的元组属性集合,D 为属性集合U 来自的域,dom 为对象关系的映像集合,F 为属性依赖关系集合。关系操作为关系代数、关系演算、关系映象操作,此语言表达能和功能强大,约束:参照完整性约束,用户自定义约束,实体完整性约束。 2. 试述关系数据语言的特点和分类。 关系操作语言灵活方便、语言表达能力和功能强,其特点:操作一体化,操作方式一次一集合,高度的非过程化的操作,关系操作语言包括:关系代数语言、关系演算语言、基于映像 的语言,关系代数语言是对关系的运算来表达查询的语言,关系演算语言查询元组的应该满足的谓词条件的运算查询语言, 基于映像的语言具有关系代数与关系演算的语言的双重特点 语言查询!

3. 定义并解释下列术语,说明它们之间的联系与区别。 主码、候选码、外码。)1 在一个关系中某个属性(或属性组)能够唯一标识一个元组,则称该属性为候选码,选择其 R 中属性F 不是R 的码,h 为K 关系的主码,如果F 与h 相对应,中一个为主码,在关系 则称 F 为管系R 的外码 笛卡尔积、关系、元组、属性、域。2)给定一组域D1,D2,D3 3)关系、关系模式、关系数据库。 4. 试述关系模型的完整性规则。在参照完整性中,为什么外码属性的值也可以为空?什么 情况下才可以为空? 5. 试述等值连接与自然连接的区别和联系。 6. 对于学生选课关系,其关系模式为: 学生(学号,姓名,年龄,所在系); 课程(课程名,课程号,先行课); 选课(学号,课程号成绩)。 用关系代数完成如下查询。 求学过数据库课程的学生的姓名和学号。1) 求学过数据库和数据结构的学生姓名和学号。2)求没学过数

关系代数及SQL语言的习题

针对书上的学生选课数据库S_T,用关系代数和SQL语言完成以下查询: 1、查询“CS”系所有学生的学号和姓名。 2、Slelect sno,sname from student where sdept =’CS’ 3、查询所有姓“刘”的学生的信息。 4、Select * from student where sname like ‘刘%’ 5、查询年龄在18至20岁之间的学生信息。 6、Select * from student where sage between 18 and 20 7、查询不在“CS”系也不在“MA”系的学生的所有信息。 8、Select * from student where sdept not in (‘CS’,’MA’) 9、查询“CS”系所有学生的平均年龄。 10、Select avg(sage) from student where sdept like ‘CS’ 11、查询课程名是以“系统”结尾的课程信息。 12、Select * from course where cname like ‘%系统’ 13、查询先行课为“6”号课程的课程信息。 14、Select * from course where cpno=6 15、查询间接先行课为“5”号课程的课程号及课程名。 16、Select , from c c1,c c2 where = and =5 17、Select cno ,cname from course where cpno in (select cno from course where cpno=5) 18、查询没有先行课的课程名。 19、Select cname from course where cpno is null 20、查询选修了“1”号课程的学生选课信息。 21、Select * from sc where cno=1 22、查询成绩为90分以上的学生姓名和课程名。 23、Select sname ,cname from s,c,sc where = and = and grade>=90 24、查询被选修了的课程号及课程名。

关系代数讲解与例题

关系代数 关系代数是关系数据库系统查询语言的理论基础。 关系代数的9种操作: 并、交、差、乘、选择、投影、联接、除、自然联接运算。 五个基本操作: 并(∪) 差(-) 笛卡尔积(×)投影(σ) 选择(π) 四个组合操作: 交(∩) 联接(等值联接)自然联接(RS) 除法(÷) 关系代数表达式: 由关系代数运算经有限次复合而成的式子称为关系代数表达式。这种表达式的运算结果仍然是一个关系。可以用关系代数表达式表示对数据库的查询和更新操作。 关系代数(演算)要求掌握各种语句的应用,多做书中的例题可以帮助自己熟能生巧。 关系代数表达式举例 用关系代数表示数据查询的典型例子 [例]设教学数据库中有3个关系: 学生关系S(SNO,SNAME,AGE,SEX) 学习关系SC(SNO,CNO,GRADE) 课程关系C(CNO,CNAME,TEACHER) 下面用关系代数表达式表达每个查询语句。 (1) 检索学习课程号为C2的学生学号与成绩。 πSNO,GRADE(σCNO='C2'(SC)) (2) 检索学习课程号为C2的学生学号与姓名 πSNO,SNAME(σCNO='C2'(SSC)) 由于这个查询涉及到两个关系S和SC,因此先对这两个关系进行自然连接,同一位学生的有关的信息,然后再执行选择投影操作。 此查询亦可等价地写成: πSNO,SNAME(S)(πSNO(σCNO='C2'(SC))) 这个表达式中自然连接的右分量为"学了C2课的学生学号的集合"。这个表达式比前一个表达式优化,执行起来要省时间,省空间。 (3)检索选修课程名为MATHS的学生学号与姓名。 πSNO,SANME(σCNAME='MATHS'(SSCC)) (4)检索选修课程号为C2或C4的学生学号。 πSNO(σCNO='C2'∨CNO='C4'(SC)) (5)检索至少选修课程号为C2或C4的学生学号。 π1(σ1=4∧2='C2'∧5='C4'(SC×SC)) 这里(SC×SC)表示关系SC自身相乘的乘积操作,其中数字1,2,4,5都为它的结果

数据库习题课答案(sql,关系代数,权限管理)

●根据下面所给的商品库,写出SQL语句 商品表1(商品代号char(8),分类名char(8),单价float数量int) 商品表2(商品代号char(8),产地char(8),品牌char(8) ) 1)从商品库中查询出数量在10和20之间的商品种数 select count(*) from 商品表1 where 数量between 10 and 20; 2)从商品库中查询出每类(即分类名相同)商品的总数量 select 分类名,sum(数量) from 商品表1 group by 分类名 3)从商品库中查询出比所有商品单价的平均值要低的全部商品 select * from 商品表1 where 单价< (select avg(单价) from 商品表1) 4)从商品库中查询出所有商品的不同产地的总数 select count(distinct 产地) from 商品表2 ●设车辆管理数据库的数据模式如下: 车辆(车号,车名,车颜色,生产厂名) 工厂(厂名,厂长姓名,所在城市名) 城市(城市名,人口,市长姓名) 用关系代数写出如下查询: 1)查询车名为红旗牌轿车的所有车号 π车号(σ车名=‘红旗’(车辆)) 2)查询红旗牌轿车的生产厂家及厂长姓名 Π厂名,厂长姓名(σ车名=‘红旗’(车辆工厂)) 3)查询林肯牌轿车的生产厂家及所在城市的市长姓名 Π生产厂家,市长姓名(σ车名=‘林肯’(车辆工厂城市)) 4)查询第一汽车制造厂生产的汽车的颜色 Π车颜色(σ生产厂名=’第一汽车制造厂’(车辆)) 5)查询武汉生产哪些牌子的车 Π车名(σ所在城市名=’武汉’(车辆工厂)) ●今有两个关系模式: 职工(职工号,姓名,年龄,职务,工资,部门号); 部门(部门号,名称,经理名,地址,电话)。 请用SQL 的GRANT和REVOKE语句(加上视图机制),完成以下授权定义或存取控制功能。 1)用户王明对两个表有SELECT权力。 GRANT SELECT ON 职工,部门 TO 王明 2)用户李勇对两个表有INSERT和DELETE权力。

数据库第二章关系代数习题

1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句: S C SC (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)。 ∏S#,SNAME(∏S#(SC(δCNAME=C语言(C)))S) (12)检索没有一门课程成绩不及格的学生学号,姓名。 ∏S#,SNAME((∏S#(S)-∏S#(δGRADE<60(SC))S) 2.现有关系数据库如下: 学生(学号,姓名,性别,专业,奖学金)。 课程(课程号,名称,学分)。

数据库习题课答案(sql-关系代数-权限管理)教程文件

数据库习题课答案(s q l-关系代数-权限 管理)

●根据下面所给的商品库,写出SQL语句 商品表1(商品代号char(8),分类名char(8),单价float数量int) 商品表2(商品代号char(8),产地char(8),品牌char(8) ) 1)从商品库中查询出数量在10和20之间的商品种数 select count(*) from 商品表1 where 数量between 10 and 20; 2)从商品库中查询出每类(即分类名相同)商品的总数量 select 分类名,sum(数量) from 商品表1 group by 分类名 3)从商品库中查询出比所有商品单价的平均值要低的全部商品 select * from 商品表1 where 单价< (select avg(单价) from 商品表1) 4)从商品库中查询出所有商品的不同产地的总数 select count(distinct 产地) from 商品表2 ●设车辆管理数据库的数据模式如下: 车辆(车号,车名,车颜色,生产厂名) 工厂(厂名,厂长姓名,所在城市名) 城市(城市名,人口,市长姓名) 用关系代数写出如下查询: 1)查询车名为红旗牌轿车的所有车号 π车号(σ车名=‘红旗’(车辆)) 2)查询红旗牌轿车的生产厂家及厂长姓名 Π 厂名,厂长姓名(σ车名=‘红旗’(车辆工厂)) 3)查询林肯牌轿车的生产厂家及所在城市的市长姓名 Π 生产厂家,市长姓名(σ车名=‘林肯’(车辆工厂城市)) 4)查询第一汽车制造厂生产的汽车的颜色 Π 车颜色(σ生产厂名=’第一汽车制造厂’(车辆)) 5)查询武汉生产哪些牌子的车 Π车名(σ所在城市名=’武汉’(车辆工厂)) ●今有两个关系模式: 职工(职工号,姓名,年龄,职务,工资,部门号); 部门(部门号,名称,经理名,地址,电话)。 请用SQL 的GRANT和REVOKE语句(加上视图机制),完成以下授权定义或存取控制功能。 1)用户王明对两个表有SELECT权力。 GRANT SELECT ON 职工,部门 TO 王明 2)用户李勇对两个表有INSERT和DELETE权力。

关系代数综合练习

针对教材中的学生—课程数据库,用关系代数完成以下操作: 1、查询“CS”系所有学生的学号和姓名。 П sno,sname (σsdept=’CS’(student)) 2、查询年龄超过18岁的男生的姓名及所在系。 П sname,sdept (σssex=’男’∧ sage>18 (student)) 3、查询年龄在18至20岁之间的学生信息。 П *(σsage>=18 ∧ sage<=20 (student)) 4、查询不在“CS”系也不在“MA”系的学生的所有信息。 П *((σsdept(student))-(σsdept=’CS’(student))- (σsdept=’MA’(student))) П *( σsdept <> ’CS’∧ sdept <> ’MA’ (student)) 5、查询“CS”系所有学生的平均年龄。 ПAvg (sage) (σsdept=’CS’(student)) 6、查询没有先行课的课程名。 П cname (σcpno=’NULL’(course)) 7、查询先行课为“6”号课程的课程信息。 П * (σcpno=’6’(course)) 8、查询间接先行课为“5”号课程的课程号及课程名。 П https://www.sodocs.net/doc/f78996954.html,o,https://www.sodocs.net/doc/f78996954.html,ame( σ b.cpno = 5 (couse (a)?couse(b)) 9、查询选修了“1”号课程的学生选课信息。 П sno,cno(sc) ÷Пcno=’1’(sc)?П sno,cno(sc) 10、查询成绩为90分以上的学生姓名和课程名。 П sname,cname (σgrade>'90'(student ?sc ?course)) 11、对student及sc表做等值连接。 student ?student.sno=sc.sno sc 12、对student及sc表做自然连接。 Student ? sc 13、查询“李勇”同学所选课程的平均成绩。 П Avg (grade) (σsname=’李勇(student ?sc)) 14、查询“操作系统”这门课的最高分及最低分。 П max (grade) ,min (grade) ( σcname=’操作系统’ (course ? sc )) 15、查询被选修了的课程号及课程名。 П cno,cname(course ? sc) 16、查询没有选修课程的学生学号及姓名。 П sno,sname(student)- П sno(sc) 17、查询没有选修“1”号课程的学生姓名。 П sname(student)- πsname(σcno=’1’(sc?student) 18、查询既选修了“数据结构”又选修了“操作系统”的学生姓名。 П sname(σcname=’操作系统’∧cname=’数据结构’(sc?student?course)19、查询既选修了“2”号又选修了“4”号课程的学生学号。 П sname(σcno=2 ∧cno =4(sc?student) 20、查询选修了“2”号或“4”号课程的学生学号。 П sno(σcno=2 v cno =4(sc?student)

数据库关系代数习题

2.现有关系数据库如下: 学生(学号,姓名,性别,专业,奖学金)。 课程(课程号,名称,学分)。 学习(学号,课程号,分数)。 用关系代数表达式实现下列1-4小题: 1. 检索"英语"专业学生所学课程的信息,包括学号、姓名、课程名和分数。 П学号,姓名,课程名,分数(σ专业='英语'(学生∞学习∞课程))。 2. 检索"数据库原理"课程成绩高于90分的所有学生的学号、姓名、专业和分数。 П学号,姓名,专业,分数(σ分数>90∧名称='数据库原理'(学生∞学习∞课程))。 3. 检索不学课程号为"C135"课程的学生信息,包括学号,姓名和专业。 П学号,姓名,专业(学生)-П学号,姓名,专业(σ课程号='C135'(学生∞学习))。 4. 检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业。 П学号,姓名,专业(学生)-П学号,姓名,专业(σ分数<60(学生∞学习))。 5.检索选修全部课程的学生姓名 6.检索至少选修了李强同学所选修的全部课程的学生姓名。

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)关系数据库的基本概念; (2)如何用关系代数表达式来表达实际查询问题; (3)如何用元组演算表达式来表达实际查询问题; (4)如何用域演算表达式来表达实际查询问题; (5)如何将关系代数表达式转换为元组演算表达式或转换为域演算表达式。 了解和掌握关系数据结构中涉及到的域、笛卡儿积、关系模式等有关内容的含义; 掌握关系的实体完整性和参照完整性的定义; 掌握关系代数中的并、交、差、笛卡儿积运算,以及选择、投影和连接运算。 教学重点: 关系的实体完整性和参照完整性的定义; 关系代数中的并、交、差、笛卡儿积运算,以及选择、投影和连接运算。 教学难点:关系代数中的并、交、差、笛卡儿积运算,以及选择、投影和连接运算。 教学方法:实例法 教学内容:如下: 关系模型 关系模型是一种简单的二维表格结构,每个二维表称做一个关系,一个二维表的表头,即所有列的标题称为一个元组,每一列数据称为一个属性,列标题称估属性名。同一个关系中不允许出现重复元组和相同属性名的属性。 1.关系模型组成 关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。关系操作分为两大部分如图所示。

2.关系操作的特点 关系操作的特点是操作对象和操作结果都是集合。而非关系数据模型的数据操作方式则为一次一个记录的方式。 关系数据语言分为三类: (1)关系代数语言:如ISBL ; (2)关系演算语言:分为元组关系演算语言(如Alpha ,Quel)、域关系演算语言(如QBE); (3)具有关系代数和关系演算双重特点的语言:如SQL 。 3.关系数据结构及其形式化定义 (1)域 定义 域是一组具有相同数据类型的值的集合。 (2)笛卡尔积 定义 设D 1,D 2,D 3,…,D n ,为任意集合,定义D l ,D 2,D 3,…,D n 的笛卡尔积为 D 1×D 2×D 3×…×D n ={(d1,d2,d3,…dn)[di ∈Di ,i =1,2,3…,n] 其中每一个元素(dl ,d2,d3,…,dn ,)叫做一个n 元组(n 一tuple)或简称为元组(Tuple),每一个值di 叫做一个分量(Component),若Di(i =l ,2,…n)为有限集,其基数(Cardinal number)为mi(i=l ,2,3,…,n), 则D 1×D 2×D 3×…×D n 的基数M 为 M = ∏=n i 1 mi

关系代数运算习题

一、选择题 1关系代数运算可以分为两类:传统的集合运算和专门的关系运算?下面列出的操作符中,属于传统的集合运算是( A ) I .n(交)n .u(并)『x(广义笛卡儿积)w?一(差)v.n(投影)w选择) A)I、n、川和w B)川、w、V和w C)I、川、V和w D)都是 2、关系数据库管理系统能实现的专门关系操作包括(B) A、显来,打印和制表 B、选择,投影和连接 C、关联、更新和排序 D、排序、索引和统计 3、在关系数据基本操作中,从表中选项出满足某种条件的记录的操作称为( A ) A、选择 B、投影 C、连接 D、扫描 4、元组的集合在关系数据库中称为关系,一般来说,表示元组的属性或者最小属性组称为D A、字段 B、索引 C、标记 D、主键 5、在下面3个关系中 学生S (SNO , SNAME , SEX, AGE )课程 C (CNO , CNAME , CREDIT )学生选课SC (SNO, CNO , GRADE ) 要查找选修“数据库”课程的女学生的姓名,将涉及到关系(D) A、S B、C, SC C、S, SC DS, C, SC 6、对于关系数据库来讲,下面(C)说法是错误的。 A、每一列的分量是同一种类型数据,来自同一个域 B、不同列的数据可以出自同一个域 C、行的顺序可以任意交换,但列的顺序不能任意交换 关系中的任意两个元组不能完全相同 7、关系数据库中有3种基本操作,从表中取出满足条件的属性的操作是(A) A、选择 B、投影 C、连接 D、扫描 8、关系数据库在有3种基本操作,将具有共同属性的两个关系中的元组连接到一起,构成新表的操作称为(C ) A、选择 B、投影 C、连接 D、扫描 9 若D1={a1,a2,a3} , D2={b1,b2,b3},贝U D1*D2 集合中共有元组(C)个 A、 6 B、8 C、9 D、12 10下列(C)运算不是专门的关系运算 A、选择 B、投影 C、笛卡尔积 D、连接 11、如下两个关系R1和R2,它们进行运算后得到R3。(D ) R1 R2 B D E 1M I 2N J A__M R3 A 1 X M I D 1 Y M I

关系代数习题-1

第1章复习题 1.数据库系统是采用了数据库技术的计算机系统,数据库系统由数据库、数据库管理系统、应用系统和()。 A.系统分析员 B.程序员 C.数据库管理员 D.操作员 2.数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是()。 A.DBS包括DB和DBMS B.DBMS包括DB和DBS C.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS 3.下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是()。I.人工管理阶段II.文件系统阶段III.数据库阶段 A.I 和II B.只有II C.II 和III D.只有I 4.下列四项中,不属于数据库系统特点的是()。 A.数据共享 B.数据完整性 C.数据冗余度高 D.数据独立性高 5.数据库系统的数据独立性体现在()。 A.不会因为数据的变化而影响到应用程序 B.不会因为数据存储结构与数据逻辑结构的变化而影响应用程序 C.不会因为存储策略的变化而影响存储结构 D.不会因为某些存储结构的变化而影响其他的存储结构 6.描述数据库全体数据的全局逻辑结构和特性的是()。 A.模式 B.内模式 C.外模式 D. 7.要保证数据库的数据独立性,需要修改的是()。 A.模式与外模式 B.模式与内模式 C.三级模式之间的两层映射 D.三层模式 8.要保证数据库的逻辑数据独立性,需要修改的是()。 A.模式与外模式之间的映射 B.模式与内模式之间的映射 C.模式 D.三级模式

9.用户或应用程序看到的那部分局部逻辑结构和特征的描述是()模式。 A.模式 B.物理模式 C.子模式 D.内模式 10.下述()不是DBA数据库管理员的职责。 A.完整性约束说明 B.定义数据库模式 C.数据库安全 D.数据库管理系统设计 11.概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是()。 A.层次模型 B.关系模型 C.网状模型 D.实体-关系模型 12.区分不同实体的依据是()。 A.名称 B.属性 C.对象 D.概念 13.关系数据模型是目前最重要的一种数据模型,它的三个要素分别是()。 A.实体完整性、参照完整性、用户自定义完整性 B.数据结构、关系操作、完整性约束 C.数据增加、数据修改、数据查询 D.外模式、模式、内模式 14.在()中一个结点可以有多个双亲,结点之间可以有多种联系。 A.网状模型 B.关系模型 C.层次模型 D.以上都有 15.()的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。 A.网状模型 B.关系模型 C.层次模型 D.以上都有 1 .数据库数据具有__________、__________和__________三个基本特点。(问答题) 答案 永久存储有组织可共享 4 .数据库管理系统是数据库系统的一个重要组成部分,它的功能包括__________、__________、__________、__________。(问答题) 答案 数据定义功能数据操纵功能数据库的运行管理数据库的建立和维护功能

关系代数习题

习题四 1. 试述关系模型的三个组成部分。 关系结构、关系操作、关系完整性约束.关系是由(R,U,D,dom,F )组成,R 为关系名,U 位组成关系的元组属性集合, D 为属性集合U 来自的域,dom 为对象关系的映像集合, F 为属性依赖关系集合。关系操作为关系代数、关系演算、关系映象操作,此语言表达能和功能强大,约束:参照完整性约束,用户自定义约束,实体完整性约束。 2. 试述关系数据语言的特点和分类。 关系操作语言灵活方便、语言表达能力和功能强,其特点:操作一体化,操作方式一次一集 合,高度的非过程化的操作,关系操作语言包括:关系代数语言、关系演算语言、基于映像 的语言,关系代数语言是对关系的运算来表达查询的语言,关系演算语言查询元组的应该满 足的谓词条件的运算查询语言,基于映像的语言具有关系代数与关系演算的语言的双重特点 语言查询! 3. 定义并解释下列术语,说明它们之间的联系与区别。 1)主码、候选码、外码。 在一个关系中某个属性(或属性组)能够唯一标识一个元组,则称该属性为候选码,选择其 中一个为主码,在关系R 中属性 F 不是R 的码,h 为K 关系的主码,如果 F 与h 相对应,则称 F 为管系R 的外码 2)笛卡尔积、关系、元组、属性、域。 给定一组域D1,D2,D3 3) 关系、关系模式、关系数据库。 4. 试述关系模型的完整性规则。在参照完整性中,为什么外码属性的值也可以为空?什么 情况下才可以为空? 5. 试述等值连接与自然连接的区别和联系。 6. 对于学生选课关系,其关系模式为: 学生(学号,姓名,年龄,所在系); 课程(课程名,课程号,先行课); 选课(学号,课程号成绩)。 用关系代数完成如下查询。 1)求学过数据库课程的学生的姓名和学号。 2)求学过数据库和数据结构的学生姓名和学号。 3)求没学过数据库课程的学生学号。 4)求学过数据库的先行课的学生学号。

关系代数及SQL语言的习题

针对书上的学生选课数据库S_T,用关系代数和SQL语言完成以下查询: 1、查询“ CS系所有学生的学号和姓名。 2、Slelect sno,sname from student where sdept = ' CS 3、查询所有姓“刘”的学生的信息。 4、Select * from stude nt where sn ame like '刘% 5、查询年龄在18至20岁之间的学生信息。 6、Select * from stude nt where sage betwee n 18 and 20 7、查询不在“ CS系也不在“ MA系的学生的所有信息。 & Select * from student where sdept not in ( ‘ CS , ' MA ) 9、查询“ CS系所有学生的平均年龄。 10、Select avg(sage) from stude nt where sdept like ‘ CS 11、查询课程名是以“系统”结尾的课程信息。 12、Select * from course where cn ame like ‘ %系统' 13、查询先行课为“ 6”号课程的课程信息。 14、Select * from course where cpno=6 15、查询间接先行课为“ 5”号课程的课程号及课程名。 16、Select , from c c1,c c2 where = and =5 17、Select eno ,cname from course where epno in (select eno from course where epno=5) 18、查询没有先行课的课程名。 19、Select cn ame from course where epno is null 20、查询选修了“ 1”号课程的学生选课信息。

计算机二级:关系代数运算

公共基础专题探究——关系代数运算 1 自然连接:一种特殊的等值连接,它要求两个关系中进行比较的分量必须 是相同的属性组,并且在结果中把重复的属性列去掉 自然连接满足下面的条件: ①两关系间有公共域;②通过公共域的等值进行连接, 例1:一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的(属性) 例2:有三个关系R、S和T如下: 由关系R和S通过运算得到关系T,则所使用的运算为(自然连接)。 例3:有三个关系R、S和T如下: 则关系R和关系S得到关系T的操作是(自然连接) 例4:有三个关系R、S和T如下:

则由关系R和S得到关系T的操作是(自然连接)。 2 差的运算:关系T中的元组是R关系中有而S关系中没有的元组的集合。 例1:有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是(差)。 例2:由关系R和S得到关系T的操作是(差) 3

则由关系R和S得到关系T的操作是(交)。 5 投影:指对于关系内的域指定可引入新的运算。S是在原有关系R的内部 进行的,是由R中原有的那些域的列所组成的关系 例:有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为(投影)。 【注】本题中S是在原有关系R的内部进行的,是由R中原有的那些域的列所组成的关系。 6 选择:关系S是关系R的一部分,是通过选择之后的结果,从关系中找出 满足给定条件的元组的操作。 例:有两个关系R和S如下: 则由关系R得到关系S的操作是(选择) 7

例:有三个关系R、S和T如下 则由关系R和S得到T的操作是(并) 8 除运算:如果S=T/R,则S称为T除以R的商。在除运算中S的域由T 中那些不出现在R中的域所组成,对于S中的任一有序组,由它与关系R 中每个有序组所构成的有序组均出现在关系T中。 例1:有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是(除)。 例2:有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是(除)。 9 等值连接:

关系代数习题

请用关系代数表示下列查询 设数据库education,其中有三个关系: 学生关系S(sno,sname,age,sex,sdept) 课程关系C(cno,cname,cdept,tname) 学习关系SC(sno,cno,grade) sno为学号,sname为学生姓名,age为年龄,sex为性别,sdept为所属院系; cno为课程号,cname为课程名称,cdept为开课系,tname为教师姓名;grade为成绩用关系代数表示下列查询。 ⑴计算机系全体学生的学号、姓名和性别 ⑵选修课程号为A20的学生的学号和姓名 ⑶选修课程“数据结构”的学生的学号和姓名 ⑷选修了A20或A25课程的学生学号 ⑸至少选修了A20和A25课程的学生学号(即同时选修了A20和A25课程) ⑹没有选修A20课程的学生姓名和年龄 答案: ⑴先选择再投影 ∏sno,sname,sex (бsdept=‘计算机’(S)) ⑵先联接再选择再投影 S join (S. sno= SC. sno)SC where cno=…A20? [ S. sno,sname ] ?SC ) ) ∏sno,sname (бcno=…A20? (S 或者先选择再联接再投影 ∏sno,sname ( S?(бcno=…A20? ( SC ) ) ) ?SC?C ) ) ⑶∏sno,sname (бcname=…数据结构? ( S ⑷∏Sno(бcno=…A20?(SC))∪∏Sno(бcno=…A25?(SC)) ⑸∏Sno(бcno=…A20?(SC))∩∏Sno(бcno=…A25?(SC)) ?SC ) ) ⑹∏sname,age ( S ) –∏sname,age (бcno=…A20? (S 请用SQL表示下列查询 设数据库Supply,其中有四个关系: 供应商关系S(sno,sname,status,addr),ststus是 零件关系P(pno,pname,color,weight) 工程关系J(jno,jname,city,balance),balance是项目余额 供应关系SPJ(sno,pno,jno,price,qty) 用SQL语句表示下列查询。 1、为编号A002的工程供应零件的供应商编号 2、为编号A002的工程供应零件Z61的供应商编号 3、全部工程项目的详细信息 4、查询余额非正的项目的编号、名称、城市,结果按工程项目编号的升序排列 5、使用数量在100与1000之间的工程项目编号、零件号、数量 6、查询上海的供应商名称,假设供应商的地址都是以城市名开头 7、使用了编号为Z61零件的工程项目名称 8、为A002工程供应红色零件的供应商编号(写出三种SQL语句)

数据库第二章关系代数习题

1?设有如图所示的关系S 、SC 和C,试用关系代数表达式表示下 列查询语句: ⑴ 检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。 (2) 检索年龄大于21的男学生学号(S#)和姓名(SNAME)。 (3) 检索至少选修”程军”老师所授全部课程的学生姓名 (SNAME) o (4) 检索”李强”同学不学课程的课程号(C#)o (5) 检索至少选修两门课程的课程号 (S#)o (6) 检索全部学生都选修的课程的课程号 (C#)和课程名(CNAME) o (7) 检索选修课程包含”程军”老师所授课程之一的学生学号 (S#)o (8) 检索选修课程号为 k1和k5的学生学号(S#)o (9) 检索选修全部课程的学生姓名 (SNAME) o (10) 检索选修课程包含学号为 2的学生所选修课程的学生学号 (S#) o (11) 检索选修课程名为” C 语言”的学生学号(S#)和姓名(SNAME) o (12) 检索没有一门课程成绩不及格的学生学号,姓名。 答:本题各个查询语句对应的关系代数表达式表示如下 : (1) n C#,CNAME ( b TEACHER ='程军'(C)) (2) n S#,SNAME ( b AGE>2MSEX ='男'(S)) (3) n SNAME (S ;“"J ( n S#,C#(SC) *n C#( b TEACHER ='程军'(C)))) (4) n C #(C)- n C #( b SNAME ='李强(S) s SC) (5) n S# ( o-1=4A 2 * 5 (SC X SC) (6) n C #,CNAME (C S (n S #,C #(SC) *n s#(S)) ⑺ n S# (SC s n C# ( O TEACHER ='程军'(C))) (8) n S #,C #(SC) * n C #( o c#=*1vc#='K5' (C)) (9) n SNAME (S S (n S #,C #(SC) * n c#(c ))) (10) n S #,C #(SC) * n C #( O C #=2 (SC)) (11) n S#,SNAME (S s n S#(SC s ( O CNAME ='C 语言'(C)))) (12)n 学号,姓名(学生)-n 学号,姓名(O 分数<60(学生s 学习)) S# SNAME AGE SEX 1 李强 23 男 2 刘丽 22 女 5 张友 22 男 C# CNAME TEACHER k1 C 语言 王华 k5 数据库原理 程军 k8 编译原理 程军 SC

关系代数习题

小测验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. 小于等于200 12.关系代数的交操作可以由(B)操作组合而成。 A.并和差 B.差C.选择 D.联接 13.如果两个关系没有公共属性,那么其自然联接操作(A) A.转化为笛卡尔积操作B.转化为联接操作 c.转化为外部并操作D.结果为空关系 14.设关系R和S的值如下:

相关主题