数据库系统概论期末复习资料 下载本文

B.将行(‘005,’,‘乔兴’,‘04’,750)插入到职工表中 C.将职工号为,‘001’的工资改为700 D.将职工号为,’038’的部门号改为‘03’

答案:B

14.若用如下的SQL语句创建一个student表: CREATE TABLE student(NO C(4) NOT NULL, NAME C(8) NOT NULL, SEX C(2), AGE N(2))

可以插入到student表中的是 。 A.(‘1031’,‘曾华’,男,23) B.(‘1031’,‘曾华’,NULL,NULL) C.(NULL,‘曾华’,‘男’,‘23’) D.(‘1031’,NULL,‘男’,23)

答案:B

二、填空题

1.SQL是 。 答案:结构化查询语言

2.SQL语言的数据定义功能包括 ① 、 ② 、 ③ 和 ④ 。

答案:①定义数据库 ②定义基本表 ③定义视图 ④定义索引 3.视图是一个虚表,它是从 ① 中导出的表。在数据库中,只存放视图的 ② ,不存放视图的 ③ 。

答案:①一个或几个基本表 ②定义 ③视图对应的数据 4.设有如下关系表R、S和T: 以BH,XM,XB,DWH) S(DWH,DWM)

T(BH,XM,XB,DWH)

①实现R∪T的SQL语句是 。

②实现?DWH=‘100’(R)的SQL语句是 。 ③实现∏XM,XB(R)的SQL语句是 。

④实现∏XM,DWH(?XB=‘女’(R))的SQL语句是 。 ⑤实现R?? S的SQL语句是 。 ⑥实现∏XM,XB,DWM(?XB=‘男’(R?? S))的SQL语句是 。 答案:①SELECT * FROM R UNION SELECT * FROM T ②SELECT * FROM R WHERE DWH=‘100’ ③SELECT XM,XB FROM R

④SELECT XM,DWH FROM R WHERE XB=“女”

⑤SELECT R.BH,R.XM,R.XB,R.DWH, S.DWM FROM R,S

WHERE R.DWH=S.DWH

⑥SELECT R.XM,R.XB,S.DWM FROM R,S

WHERE R.DWH=S.DWH AND R.XB=“男”

5.设有如下关系表R:

R(No,NAME,SEX,AGE,CLASS) 主关键字是NO

其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。 写出实现下列功能的SQL语句。

①插入一个记录(25,“李明”,“男”,21,“95031”); 。

②插入“95031”班学号为30、姓名为“郑和”的学生记录; 。 ③将学号为10的学生姓名改为“王华”; 。 ④将所有“95101”班号改为“95091”; 。 ⑤删除学号为20的学生记录; 。 ⑥删除姓“王”的学生记录; 。

答案:

①INSERT INTO R VALUES(25,“李明”,“男”,21,“95031”) ②INSERT INTO R(NO,NAME,CLASS) VALUES(30,“郑和”,“95031”) ③UPDATE R SET NAME=“王华”WHERE NO=10

④UPDATE R SET CLASS=“95091”WHERE CLASS=“95101” ⑤DELETE FROM R WHERE NO=20

⑥DELETE FROMR WHERE NAME LIKE“王%”

三.简述与应用题

1.叙述SQL语言支持的三级逻辑结构。

答:SQL语言支持的三级逻辑结构略。

在概念层,对应概念模式的概念记录型的基本表。基本表是这样的一种表,它本身实际存在,在Visual FoxPro中每个表在存储中可用一个存储文件来表示;在ORACLE中,同一个数据库的多个表存储在一个文件中。一个基本表就是一个关系,它不是由其他表导出的表。基本表是使用CREATE TABLE语句建立的。 在外层(用户层),用户所看到的可以是基本表,也可以是视图。视图是一个虚拟表,它是由一个或几个基本表或其他视图导出的表,它不是直接存在于物理存储器上的表。视图是使用CREATE VIEW语句建立的。在内层(物理层),每个基本表用一个存储文件来表示,即用一组类型相同的存储记录值来表示。DBA可以对物理存储文件进行操作。

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

答: SQL语言没有提供关系的笛卡尔积、交和差运算。其他关系运算对应的SQL语句格式是:

R∪S SELECT语句(生成R) UNION

SELECT语句(生成S) 选择 SELECT*

FROM <表>

WHERE <指定选择的条件> 投影 SELECT <投影字段列表> FROM <表>

连接 SELECT <连接的字段列表> FROM <连接的两个表名> WHERE <连接条件>

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

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

SELECT A#,ANAME

FROM A;

WHERE WQTY<=100 OR CITY=“长沙” (2).找出供应书包的商店名。

SELECT A.ANAME FROM A,B,AB;

WHERE A.A#=AB.A# AND B.B#=AB.B# AND B.BNAME=“书包”

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

SELECT A.ANAME,A.CITY FROM A,B;

WHERE A.A#=AB.A# AND AB.B# IN

(SELECT AB.B#; FROM AB

WHERE A#=“256”)

A A# ANAME WQTY CITY 101 百货商店 204 长安商场 256 西单商场 345 铁道商店 620 太平洋百货 B# 1 2 3 4

A# 101 101 101 101 204 256 256 345 345 345 620 AB B# QTY 1 2 3 4 3 1 2 1 2 4 4 105 42 25 104 61 241 91 141 18 74 125 BNAME 钢笔 羽毛球 复读机 书包 15 89 500 76 412 B PRICE 21 5 300 76 长沙 北京 北京 长沙 上海

4.设有图书登记表TS,具有属性:BNO(图书编号),BC(图书类别),BNA(书名),AU(著者),PUB(出版社)。按下列要求用SQL语言进行设计: (1).按图书馆编号BNO建立TS表的索引ITS。

(2).查询,按出版社统计其出版图书总数。 (3).删除索引ITS。 解:

(1). USE TS

INDEX ON BNO TO ITS (2). SELECT PUB,COUNT(BNO) FROM TS

GROUP BY PUB

(3). DELETE FILE ITS.IDX

5.己知三个关系R(A,B,C)、S(A,D,E)和T(D,F),其中,名称相同的属性为关联属性,C、E为数值型属性。

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

(1).将R、S和T三个关系按关联属性建立一个视图R-S-T; (2).对视图R-S-T按属性A分组后,求属性C和E的平均值。 解:

(1).CREATE VIEW R-S-T

AS SELECT R.A,B,C,S.D,E,F FROM R,S,T

WHERE R.A=S.A AND S.D=T.D (2).SELECT AVG(C),AVG(E) FROM R-S-T GROUP BY A

6.设有关系R(A,B)和S(A,C),A为相同属性。 试用SQL语句实现:

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

(2).当属性C=40时,将R中与之相关连的属性B值修改为b4。 解:

(1).SELECT B FROM R,S

WHERE R.A=S.A AND C>50 (2).UPDATE R SET B=‘b4’ WHERE A IN (SELECT A FROM S

WHERE C=40)

7.已知R(A,B,C)和S(C,D,E)两个关系,如下图所示。 执行如下SQL语句:

(1).CREATE VIEW H(A,BC,C,D,E) AS SELECT A,B,R.C,D,E FROM R,S

WHERE R.C=S.C; (2).SELECT B,D,E FROM H

WHERE C=‘C2’ 试给出: (1).视图H;

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