关系代数习题3.26

关系代数习题3.26
关系代数习题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具有相同的元数,且它们的对应属性的数据类型也相同” 。

A.R∩S

B. R∪S

C. R-S

D. R×S

16. 假设有关系R和S,关系代数表达式R-(R-S)表示的是()。

A.R∩S

B. R∪S

C. R-S

D. R×S

17. 下面列出的关系代数表达是中,那些式子能够成立()。

ⅰ. σf1 ( σf2 (E)) = σf1∧f2 (E)

ⅱ. E1∞E2 = E2∞E1

ⅲ. (E1∞E2)∞E3 = E1∞ (E2∞E3)

ⅳ. σf1 ( σf2 (E)) =σf2 ( σf1(E))

A.全部

B. ⅱ和ⅲ

C. 没有

D. ⅰ和ⅳ

18. 下面四个关系表达式是等价的,是判别它们的执行效率()。E1 =πA (σ B=C ∧D=E′ (R×S) )300

E2 =πA (σ B=C (R× σD=E′ (S) )10+50+50+25=135

E3 =πA (R∞B=CσD=E′(S) )=10+10+5+25=50

E3 =πA (σD=E′ (R∞B=C S) )10+50+50+25=135

A. E3最快

B. E2最快

C. E4最快

D. E1最快

19. 有关系SC(S_ID,C_ID,AGE,SCORE),查找年龄大于22岁的学生的学号和分数,正确的关系代数表达式是()。

ⅰ. πS_ID,SCORE (σ age>22 (SC) )

ⅱ. σ age>22 (πS_ID,SCORE (SC) )

ⅲ. πS_ID,SCORE (σ age>22 (πS_ID,SCORE,AGE (SC) ) )

A.ⅰ和ⅱ

B. 只有ⅱ正确

C. 只有ⅰ正确

D. ⅰ和ⅲ正确

选择题答案:

(1) A (2) D (3) C (4) A (5) D

(6) A (7) C (8) B (9) A (10) B

(11) B (12) C (13) B (14) C (15) D

(16) A (17) C (18) A (19) D

四.填空题及问答题

1 .关系模型的三个组成部分是________,________,________。

2 .关系数据模型中,二维表的列称为________,二维表的行称为

________。

3 . 试述关系数据语言的特点和分类。(填空题)

4 .用户选作元组标识的一个候选码为________,其属性不能取

________。

5 .定义并理解下列术语,说明它们之间的联系与区别:

(1)域,笛卡尔积,关系,元组,属性

(2)主码,候选码,外部码

(3)关系模式,关系,关系数据库

6 .关系代数运算中,传统的集合运算有_____,_____,_____,_____。

7 .试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?

8 .关系代数运算中,基本的运算是________,________,________,________,________。

9 . 等值连接与自然连接的区别是什么?

10 .关系代数运算中,专门的关系运算有________,________,

________。

11 . 代数的基本运算有哪些?如何用这些基本运算来表示其他的关系基本运算?

12 .关系数据库中基于数学上的两类运算是________和________。

13 .关系代数中,从两个关系中找出相同元组的运算称为________运算。

14 .R×S表示R与S的________。

15 .设有学生关系:S(XH,XM,XB,NL,DP)。在这个关系中,XH表示学号,XM表示姓名,XB表示性别,NL表示年龄,DP表示

系部。查询学生姓名和所在系的投影操作的关系运算式是

________________。(问答题)

16 .在“学生-选课-课程”数据库中的3个关系如下:S(S#,SNAME,SEX,AGE);SC(S#,C#,GRADE); C(C#,CNAME,TEACHER),查找选修“数据库技术”这门课程学生的学生名和成绩,若用关系代数表达式来表示为________________。(问答题)

17 .已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主码是________,系关系的外码是________,学生关系的主码是________,学生关系的外码是________。(问答题)

五、综合题

1.对下列关系模式分别用关系代数实现下列查询:

⑴查询学生95001的所有信息

⑵查询学生95001的姓名和所在系

⑶查询选修了1号课的学生的学号

⑷查询选修了1号课的学生的姓名

⑸查询至少选修了1号课和3号课的学生的学号

⑹查询至少选修了一门其直接先行课为5号课的学生学号

⑺查询没有选修1号课程的学生姓名

⑻查询选修了全部课程的学生的学号和姓名

⑼查询最少选修了95002学生所选课程的学生学号

2.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:

S( SNO,SNAME,STATUS,CITY);

P(PNO,PNAME,COLOR,WEIGHT);

J(JNO,JNAME,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)求没有使用天津供应商生产的红色零件的工程号JNO;

(5)求至少用了供应商S1所供应的全部零件的工程号JNO。

(完整版)数据库关系代数习题

1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句: S C SC S# SNAME AGE SEX 1 李强23 男 2 刘丽22 女5 张友22 男C# CNAME TEACHER k1 C语言王华 k5 数据库原理程军 k8 编译原理程军 S# C# GRADE 1 k1 83 2 k1 85 5 k1 92 2 k5 90 5 k5 84 5 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(学生∞学习))。

关系代数习题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具有相同的元数,且它们的对应属性的数据类型也相同” 。

关系代数讲解与例题

关系代数 关系代数是关系数据库系统查询语言的理论基础。 关系代数的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语言的习题

针对书上的学生选课数据库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、查询被选修了的课程号及课程名。

关系代数习题

习题四 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,关系代数,权限管理)

●根据下面所给的商品库,写出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权力。

数据库习题课答案(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权力。

数据库关系代数习题

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”,“数据库原理”,“王华”)是一条数据记录。

数据库关系代数除法讲解

数据库关系代数除法讲解 This manuscript was revised by JIEK MA on December 15th, 2012.

【数据库原理】关系代数篇——除法讲解 陈宇超编辑总结: 除法运算的一般形式示意图 如何计算R÷S呢,首先我们引进”象集”的概念,具体意义看下面的陈述即可理解 关系R和关系S拥有共同的属性B、C , R÷S得到的属性值就是关系R包含而关系S不包含的属性,即A属性 在R关系中A属性的值可以取{ a1,a2,a3,a4 } a1值对应的象集为 { (b1,c2) , (b2,c1) , (b2,c3) } a2值对应的象集为 { (b3,c7) , (b2,c3) } a3值对应的象集为 { (b4,c6) } a4值对应的象集为 { (b6,c6) } 关系S在B、C上的投影为 { (b1,c2) , (b2,c1) , (b2,c3) } 只有a1值对应的象集包含关系S的投影集,所以只有a1应该包含在A属性中为 设有教学数据库有3个关系(以下四小问均用除法的思想解决) 学生信息关系student(sno,sname,age,sex) 学生选课关系 sc(sno,cno,score) 学校课程关系 course(cno,cname)

S003C00269 S005C00277 S005C00398 有存在量词的谓词。 解决这类的除法问题一般采用双嵌套not exists来实现带全称量词的查询解决所谓forall的问题。 (1)检索所学课程包含了C002课程的学生学号 解关系代数表达式:∏sno ( sc÷∏cno(σcno=’C002’ (course) ) Sql语句 从略 (2)求至少选择了C001和C003两门课程的学生学号 解关系代数表达式:∏sno ( sc÷∏cno(σcno=’C001’ or cno=’C003’(course) ) Sql语句 select distinct sno from sc A where not exists ( select*from course B where cno in('C002','C003')and not exists ( select*from sc C where=and= ) ) 也可以采用自连接 select from (select*from sc where cno='C001')as s1, (select*from sc where cno='C003')as s2 where= (3)求至少学习了学生S003所学课程的学生学号 解关系代数表达式:∏sno ( sc÷∏cno(σsno=’S003’ (sc) ) select distinct sno from sc A where not exists ( select*from sc B where sno='S003'and not exists ( select*from sc C where=and= ) ) (4)求选择了全部课程的学生的学号 解此例的等价自然语义是,输出这样的学号,不存在某门课程在他的选课记录里没有选这门课 关系代数表达式:∏sno (sc÷∏cno(course) ) Sql语句 select distinct sno from sc A where not exists

关系代数运算习题

一、选择题 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. 试述关系模型的三个组成部分。 关系结构、关系操作、关系完整性约束.关系是由(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)求学过数据库的先行课的学生学号。

关系代数习题-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 (一)单项选择题 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的值如下:

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

1.设有如图所示的关系S 、SC 和C,试用关系代数表达式表示下列查询语句: S C SC (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(学生∞学习))。

关系代数习题3.26

关系代数习题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. 先做习题 2(1~3 题) 1. (1)简述关系代数中并、交、差、选择、投影、连接、除的定义。答:并:关系 R 与关系 S的并由属于 R 或属于 S的所有元素组成。 差:关系 R 与关系 S 的差由属于 R 而不属于 S 的所有元素组成。交:关系 R 与关系 S的交即属于 R 又属于 S的所有元素组成。选择:选择是从行的角度进行的运算,选出满足条件的那些记录构成原关系的一个子集。 投影:投影是从列的角度进行运算,所得到属性列个数通常比原关系少,或者属性列 的排列顺序不同。 连接:两个关系中的记录按一定条件横向结合,生成一个新的关系。除:R中的属性包含 S中的属性, R 中的有些属性不出现在 S中。 (2) (3) 等值连接:当算术比较值为“ =”时,是一种特殊的也是最为常用的θ 连接,等值连接是从关系 R 与关系 S 的广义笛卡尔积中选取 i,j 属性值相等的元组。自然连接是一种特殊的等值连接,它要求二个关系中进行比较分量i, j 必须是相同属 性组,并且在结果中去掉了重复的属性列。 2. 设教学库中有三个关系:学生关系 S(S#,SNAME ,AGE ,SEX)学习关系 SC(S#, C#, GRADE)课程关系 C(C# , CNAME ,TEACHER) 请用关系代数表达式表达各个查 询语句 1.检索学习课程号为 C2 的学生学号与成绩。 答:∏ s#,grade(σ c=c2(SC × C)) 2.检索学习课程号为 C2 的学生学号与姓名。 答:∏ s#,sname(σ c=c2(S× C)); 3,检索选修课程 答:∏ c 选修( C 3 已知 R 关系与 S 关系

关系代数及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”号课程的学生选课信息。

关系代数习题参考

一、设教学库中有三个关系: 学生关系S(S#,SNAME,AGE,SEX) 学习关系SC(S#,C#,GRADE) 课程关系C(C#,CNAME,TEACHER) 下面用关系代数表达式表达各个查询语句 1.检索学习课程号为C2的学生学号与成绩。πS#,GRADE(σC#=‘C2’(SC)) 2.检索学习课程号为C2的学生学号与姓名。πS#,SNAME(σC#=‘C2’(S∞SC)) 3.检索选修课程名为MATHS的学生学号与姓名。πS#,SNAME(σCNAME=‘MATHS’( S∞SC∞C)) 4.检索选修课程号为C2或C4的学生学号。πS#(σC#=‘C2’∨C#=‘C4’(SC)) 5.检索不学C2课的学生姓名与年龄。πSNAME,AGE(S)-πSNAME,AGE( σC#=‘C2’( S∞SC)) 6.检索学习全部课程的学生姓名。 学生选课情况:π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岁的男学生的学号、姓名。πS#,SNAMEσAGE>20∧SEX=”男”(S) 2.检索田老师所授课程的课程号、课程名πC#,CNAMEσTEACHER=”田老师”(C) 3.检索全部学生都选修的课程的课程号、课程名。 所有的学生:πS#(S);所有学生选修课程的情况:πS#,C#(SC) 这里需要确定:哪一门课程包含了所有的学生 πS#,C#(SC) ÷πS#(S),该结果集是C# 求C#,CNAME可用投影和自然连接: πC#,CNAME(C∞(πS#,C#(SC)÷πS#(S))) 可简化为:πC#,CNAME,S#(SC∞C) ÷πS#(S)

关系代数习题

请用关系代数表示下列查询 设数据库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语句)

相关文档
最新文档