数据库原理练习题集-参考答案

发布时间 : 星期六 文章数据库原理练习题集-参考答案更新完毕开始阅读

5.设有如图所示的关系R,S,计算: (1)R1=R ?? S

A B C C D E (2)R2=R ?? S

3 6 7 3 4 5 [2]<[2]

7 2 3 4 5 7 (3)R3=σB=d(R×S)

7 2 3

4 4 3

解:本题各小题的结果如下图所示。 R1 A B C C D E R2

A B C D E 7 2 3 3 4 5 3 6 7 2 3 4 5 7 2 3 A B C C D E 7 2 3 4 5 R3 7 2 3 3 4 5 4 4 3 4 5 4 4 3 3 4 5

6.设有如图所示的两上关系E1和E2,其中E2是从E1中经过关系运算所形成的结果,试给出该运算表达式。

E1 E2

A B C B C 1 2 3 5 6

4 5 6 8 9

7 8 9

解:从E1生成E2所经过的关系运算是:∏2,3(σB>2(E1))或∏2,3(σC>3(E1))。

7.设有如下所示的三个关系S、C和SC。用关系代数表达式表示下列要求,并求出结果。

S 学号 姓名 年龄 性别 籍贯 20001 20002 20003 20004 20005

课程号 C001 C002 C003 C004

课程名 高等数学 数据结构 操作系统 编译原理 C 教师 李 娟 刘小东 吴 浩 王 伟 办公室 416 415 415 415 王小严 20 李 白 21 陈志坚 23 王 兵 20 张 红 22 女 男 男 男 女 北京 上海 长沙 上海 武汉 学号 20001 20001 20001 20001 20002 20003 20003 20003 20004 20004 20005 20005 SC 课程号 C001 C002 C003 C004 C001 C001 C002 C004 C001 C004 C001 C003 成绩 90 90 85 87 90 75 70 56 90 85 95 80

(1).检索籍贯为上海的学生姓名、学号和选修的课程号。 (2).检索选修操作系统的学生姓名、课程号和成绩。 (3).检索选修了全部课程的学生姓名、年龄。 解:

(1).R1=∏2,1,6(σ籍贯=’上海’(s?? sc)) 或:R1=∏姓名,S.学号,课程号(σ籍贯=’上海’(s?? sc)) 或:R1=∏姓名,S.学号,课程号(σ籍贯=’上海’(s)?? sc) (2). R2= ∏2,6,7(s?? sc?? σ课程名=’操作系统’(C)) 或:R2=∏姓名,SC.课程号,成绩(s?? sc??σ课程名=’操作系统’(C)) (3). R3=∏2,3(s?? ∏1,2(sc)÷∏1(C))) 或:R3=∏姓名,年龄(s?? (∏学号,课程号(sc)÷∏课程号(C))) 检索结果如下:

R1 姓名 学号 课程号 李 白 王 兵 王 兵 20002 20004 20004 R2 课程号 C003 C003 R3 年龄 20 C001 C001 C004 姓名 王小严 张 红 成绩 85 80 姓名 王小严

8.以下述数据库各关系模式为例,

仓库(仓库号,城市,面积) 职工(仓库号,职工号,工资)

订购单(职工号,供应商号,订购单号,订购日期) 供应商(供应商号,供应商名称,地址) 用关系代数完成以下检索。 解:

(1).检索在仓库2工作的职工的工资。 关系代数表示:

∏职工号,工资(σ仓库号=“WH2“(职工))

(2).检索在上海工作的职工的工资。 解:

关系代数表示:

∏职工号,工资(σ城市=“上海”(仓库)? 职工) (3).检索北京的供应商名称。 解:

关系代数表示:

∏供应商名称(σ地址=“北京“(供应商))

(4).检索目前与职工E6有业务联系的供应商名称。 解:

关系代数表示:

∏供应商名称(σ职工号=“E6“(订购单)??( 供应商)

(5).检索所有职工的工资大于1220的仓库所在的城市。 解:

关系代数表示: ∏城市(仓库??( ( ∏仓库号(职工)-∏仓库号(σ工资≤“1220“(职工))))

(6).检索和北京的所有供应商都有业务联系的职工的工资。 解:

关系代数表示:

a. R=∏供应商号(σ地址=“北京“(供应商)) **先取得北京的供应商号 b. ∏工资(职工??( ∏职工号,供应商号(订购单)÷R))

9.用关系代数完成下面各项操作(各个关系模式及关系如后所示)。

供应商(SNO,SNAME,CITY)--供应商号,供应商名,城市

零件(PNO,PNAME,COLOR,WEIGHT)--零件号,名称,颜色,重量 工程(JNO,JNAME,CITY)--工程号,工程名,城市

供应(SNO,PNO,JNO,QTY)--供应商号,零件号,工程号,数量 (1).求供应工程J1零件的单位号码SNO (2).求供应工程J1零件P1的单位号码SNO (3).求供应工程J1零件为红色的单位号码SNO

(4).求没有使用天津供应商的红色零件的工程号JNO (5).求至少用了单位S1所供应的全部零件的工程号JNO. 解:

(1). ∏SNO(σJNO=‘J1’(SPJ)) (2). ∏SNO(σ

JNO=‘J1’∧ PNO=‘P1’JNO=‘J1’

(SPJ)

COLOR=‘红’

(3). ∏SNO(σ(SPJ) ?? ∏PNO(σ(P)))

(设计思路:

? ∏PNO(σ

COLOR=‘红’

(P)) ①先找出红色零件的零件号

? ∏SNO(σ

(4).

JNO=‘J1’

(SPJ) ?? ①))

(S)) ?? SPJ?? ∏PNO(σ

COLOR=‘红’

∏JNO(J)-∏JNO(∏SNO(σ(设计思路:

? ? ? ? )

1) ∏SNO(σ2) ∏PNO(σ

CITY=‘天津’

(P)) )

CITY=‘天津’COLOR=‘红’

(S)) : ①找出天津供应商号

(P)) : ②找出红色零件号

3) ∏JNO(① ?? SPJ?? ② ) : ③找出使用了天津供应商红色零件的工程号 4) ∏JNO(J)- ③ : 得到未使用天津供应商的红色零件的工程号

SNO=‘S1’

(5).∏JNO,PNO (SPJ)÷ ∏PNO (σ号JNO

(SPJ)) :至少用了单位S1所供应的全部零件的工程

第三部分 关系数据库语言SQL

(一)选择

1. B 6. B 11. C 16. A 21. C

2. C 7. A. 12 . A 17. B 3. B 8. A 13. C 18. C 4. C 9. D 14. B 19. A 5. D 10. C 15. C 20. A

(二)概念、术语

术语

聚合函数:能够根据查询结果的记录集或根据查询结果的记录集中某列值的特点返回一个汇总信息的函数。

分组查询:在SQL语言中,把元组按某个或某些列上相同的值分组,然后再对各组进行相应操作的查询方式称为分组查询。

视图:也称用户视图或外模式,反映了数据库的局部逻辑结构,是数据库应用系统中各不同用户看到和使用的数据库。 简述

(1)简述数据定义语句、数据查询语句、数据操纵语句和数据控制语句的功能用途是什么? 答:数据定义语句用于定义数据库的逻辑结构,包括定义基本表、定义视图和定义索引。 数据查询语句按不同查询条件实现对数据库中数据的检索查询。

数据操纵语句用于更改和操作表中的数据,包括数据插入、数据修改和数据删除。 数据控制语句法实现用户授权、基本表和视图授权、事务控制、完整性和安全性控制等。 (2)简述 SQL 的定义功能。

答:SQL 的数据定义功能包括定义表、定义视图和定义索引。 SQL 语言使用 cREATE TABLE 语句建立基本表, ALTER TABLE 语句修改基本表定义, DROP TABLE 语句删除基本表;使用 CREATE INDEX 语句建立索引, DROP INDEX 语句删除索引;使用 CREATE VIEW 语句建立视图, DROP VIEW 语句删除视图。 (3)简述视图的优点。 答:

( l )视图能够简化用户的操作; ( 2 )视图使用户能以多种角度看待同一数据; ( 3 )视图对重构数据库提供了一定程度的逻辑独立性; ( 4 )视图能够对机密数据提供安全保护。

联系合同范文客服:xxxxx#qq.com(#替换为@)