作者 : 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.