首页 > 代码库 > 数据库期末考试复习题 第三章
数据库期末考试复习题 第三章
作者 : 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.