首页 > 代码库 > 数据库期末考试复习题 第三章

数据库期末考试复习题 第三章

作者 : Dolphin

原文地址:http://blog.csdn.net/qingdujun/article/details/27826439


一、填空题

1. SQL语言的数据定义功能包括①模式定义、②表定义、③视图索引的定义

2. 视图是一个虚表,它是从①基本表或其他视图表中导出的表。在数据库中,只存放视图的②定义,不存放视图的③数据

二、简答/综合

1. 简述在 SQL中使用视图的优点。

答:1)简化操作

2)从多角度看同一数据

3)视图给数据提供了一定逻辑独立性

4)视图给数据提供了安全保护

5)更清晰的表达查询

2. 叙述使用SQL语言实现各种关系运算的方法。

3. 简述游标的作用。

 答:游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。主语言是面向记录的,一组主变量一次只能存放一条记录,仅使用主变量并不能完全满足SQL语句向应用程序输出数据的要求。嵌入式SQL引入了游标的概念,用来协调这两种不同的处理方式。

4. 设有如图所示的三个关系,并假定这三个关系框架组成的数据模型就是用户子模式。其中各个属性的含义如下A#(商店代号)、ANAME(商店名)、WQTY(店员人数)、CITY(所在城市)、B#(商品号)、BNAME(商品名称)、PRICE(价格)、QTY(商品数量)。试用SQL语言写出下列查询,并给出执行结果:

(1) 找出店员人数不超过100人或者在长沙的所有商店的代号和商品名。

(2) 找出供应书包的商店名。

(3) 找出至少供应代号为256的商店所供应的全部商品的商店名和所在城市。                     

 A

A#

ANAME

WQTY

CITY

101

韶山商店

15

长沙

204

前门百货商店

89

北京

256

东风商店

501

北京

345

铁道商店

76

长沙

620

第一百货公司

413

上海

                                  B

B#

BNAME

PRICE

1

毛笔

21

2

羽毛球

784

3

收音机

1325

4

书包

242

                             AB

A#

B#

QTY

101

1

105

101

2

42

101

3

25

101

4

104

204

3

61

206

1

241

206

2

91

345

1

141

345

2

18

345

4

74

602

4

125

5. 有图书登记表TS,具有属性:BNO(图书编号),BC(图书类别),BNA(书名),AU(著者),PUB(出版社)。按下列要求用SQL语句进行设计:

a) 按图书编号BNO建立TS表的索引ITS。

b) 查找按出版社统计其出版图书总数。

c) 删除索引ITS。

4.已知三个关系R、S和T如图所示。

              R                 S           W

A

B

C

a1

a2

a3

a4

b1

b3

b2

b4

20

22

18

12

A

D

E

a1

a2

a1

d1

d2

d2

15

18

24

D

F

D2

d3

f2

f3


试用SQL语言实现如下操作:

(1)将R、S和T三关系按关联属性建立一个视图R-S-T;

(2)对视图R-T-S按属性A分组后,求属性C和E的平均值。

5.设有关系R和S如图所示。

           R                   S                        

A

B

a1

a2

a3

b1

b2

b3

A

C

a1

a2

a3

40

50

55

           

试用SQL语言实现: 

(1) 查询属性C > 50时,R中与相关联的属性B之值。

(2) 当属性C = 40时,将R中与之相关联的属性B值修改为B4。

6.已知二个关系R和S如图所示。

 

             R                   S            

A

B

C

a1

a1

a2

a2

b1

b2

b1

b3

20

22

18

a2

A

D

E

a1

a2

a1

d1

d2

d2

15

18

24


执行如下SQL语句:

(1) CREATE SQL VIEW H(A,B,C,D,E)

AS SELECT A,B,R.C,D,E

FROMR,S

WHERE R.C=S.C;

(2) SELECT B,D,E

FROM  H

WHERE  C=‘C2’

 试给出: (1)视图 H内容;

          (2)对视图 H的查询结果。

7.已知关系R如图所示。

                              R

A

B

C

97

97

97

98

98

98

99

99

b1

b2

b3

b1

b2

b3

b1

b2

84

92

98

72

84

95

88

94

 

试用SQL语言实现如下操作:

(1) 按属性A分组,求出每组中在属性C上的最大值和最小值,且将它们置于视图RVE中。

(2) 在视图RVE中查询属性A=‘98’的记录。

8.已知学生表S和学生选课表SC。其关系模式如下:

   S(SNO,SN,SD,PROV)

   SC(SNO,CN,GR)

其中,SNO为学号,SN为姓名,SD为系名,PROV为省区,CN为课程名,GR为分数。

   试用SQL语言实现如下操作:

(1) 查询“信息系”的学生来自那些省区。

(2) 按分数降序排序,输出“英语系”的学生选修了“计算机”课程的学生的姓名和分数。

9.设有学生表S(SNO,SN)(SNO为学生号,SN为姓名)和学生选修课程表SC(SNO,CNO,CN,G)(CNO为课程号,CN为课程名,G为成绩),试用SQL语言完成以下2题:

   (1)建立一个视图V-SSC(SNO,SN,CNO,CN,G),并按CNO升序排序;

   (2)从视图V-SSC上查询平均成绩在90分以上的SN,CN和G。

1. 对于下列四个关系模式:

    供应商关系    SUPPLIERS(SNUMBER,SNAME,STATUS,SCITY)

    零件关系    PARTS(PNUMBER,PNAME,COLOR,WEIGHT)

    工程项目关系JOBS(JNUMBER,JNAME,JCITY)

    供应关系SPJ(SNUMBER,PNUMBER,JNUMBER,QUANTITIES)

其中各属性表示SNUMBER:供应商编号;SNAME:供应商姓名;STATUS:状

态;SCITY:城市;PNUMBER:零件编号;PNUMBER:零件名;COLOR:颜色;

WEIGHT:重量;JNUMBER:工程项目编号;JNAME:工程项目名;JCITY:城市;QUANTIES:数量

    试分别用 SQL语句表示以下各类查询。

    (1)  用CREATE TABLE建立上述四张表,并指出主键和外键。

    (2)  检索供应工程J1 零件P1 的供应商编号。

   (3)检索零件重量在16-19之间的零件的全部信息。

   (4)检索上海的供应商姓名。

   (5)检索住在同一个城市的一对供应商编号。

   (6)检索供应商S1提供零件的工程项目名称。

   (7)求没有使用天津生产的红色零件的工程项目号。

    (8 ) 求使用全部零件的工程项目名称。

   (9)求使用供应商S1所提供的全部零件的工程项目号。

   (l0)求由一个以上供应者提供的零件号。

    (l1) 将工程名为“环保” 的所有供应数量提高10%。

       (l2) 建立一个视图,包括每个工程项目使用零件的总数。

 

10.设有一个数据库含如图6.6所示的三个关系表,使用SQL_SERVER设置各个表操作之间的完整性约束。

                        S                       SC

学号

姓名

班号

S2

S6

S12

王华

李英

刘强

98001

98002

98003

学号

课程号

分数

S2

S6

S12

S2

S6

S12

K1

K1

K1

K12

K12

K12

84

79

95

91

82

67

                     C

课程号

课程名称

K1

K12

英语

高等数学

    


参考文献:王珊,萨师煊.数据库系统概论(第4版) [M].北京:高等教育出版社,2006.79-126,239.