第三章 关系数据库标准SQL语言Word下载.docx
《第三章 关系数据库标准SQL语言Word下载.docx》由会员分享,可在线阅读,更多相关《第三章 关系数据库标准SQL语言Word下载.docx(32页珍藏版)》请在冰豆网上搜索。
>
SOMEC.=ALLD.<
ALL
18.SQL中,与“NOTIN”等价的操作符是D。
A.=SOMEB.<
SOMEC.=ALLD.<
19.08信管B视图建立后,在数据字典中存放的是C。
A.查询语句B.组成视图的表的内容
C.视图的定义D.产生视图的表的定义
以下四题基于这样三个表,即学生表S、课程表C和学生选课表SC,它们的结构如下:
S(S#,SN,SEX,AGE,DEPT)
C(C#,CN)
SC(S#,C#,GRADE)
其中,S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。
20.检索所有比“王华”年龄大的学生姓名、年龄和性别。
正确的SELECT语句是A。
A.
SELECTSN,AGE,SEX
FROMS
WHEREAGE>
(SELECTAGEFROMS
WHERESN=”王华”
B.
WHERESN=”王华”
C.
(SELECTAGE
D.
王华.AGE
21.检索选修课程“C2”的学生中成绩最高的学生的学号。
正确的SELECT语句是D。
SELECTS#
FROMSC
WHEREC#=”C2”ANDGRADE>
=
(SELECTGRADEFROMSC
WHEREC#=”C2”
WHEREC#=”C2”ANDGRADEIN
WHEREC#=”C2”ANDGRADENOTIN
=ALL
22.检索学生姓名及其所选修课程的课程号和成绩。
SELECTS.SN,SC.C#,SC.GRADE
WHERES.S#=SC.S#
FROMS,SC
23.检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。
正确的SELECT语句是B。
SELECTS#,SUM(GRADE)
WHEREGRADE>
=60
GROUPBYS#
ORDERBY2DESC
HAVINGCOUNT(*)>
=4
24.07A在数据库中有如图3.1所示的两个表,若职工表的主码是职工号,部门表的主码是部门号,SQL操作B不能执行。
职工表
部门表
职工号
职工名
部门号
工资
001
李红
01
580
005
刘军
670
025
王芳
03
720
038
张强
02
650
部门名
主任
人事处
高平
财务处
蒋华
教务处
许红
04
学生处
杜琼
图3.1职工表和部门表
A.从职工表中删除行(’025’,’王芳’,’03’,720)
B.将行(’005’,’乔兴’,’04’,750)插入到职工表中
C.将职工号为“001”的工资改为700
D.将职工号为“038”的部门号改为’03’
25.07B若用如下SQL语句创建一个表student:
CREATETABLEstudent(NOCHAR(4)NOTNULL,
NAMECHAR(8)NOTNULL,
SEXCHAR
(2),
AGEINT)
可以插入到student表中的是B。
A.(’1031’,’曾华’,男,23)B.(’1031’,’曾华’,NULL,NULL)
C.(NULL,’曾华’,’男’,23)D.(’1031’,NULL,’男’,23)
26.设有两个关系R(A,B)和S(B,C),与下列SELECT语句
SELECTA,B
FROMR
WHEREBNOTIN(SELECTB
WHEREC='
C56'
);
等价的关系代数表达式是[C]
C≠'
A.πA,B(σC≠'
(R⋈S))B.πA,B(R⋈S)
C.R-πA,B(σC='
(R⋈S))D.R-πA,B(σC≠'
(R⋈S))
27.08信管ASQL中,“DELETEFROM表名”表示[A]
A.从基本表中删除所有元组B.从基本表中删除所有属性
C.从数据库中撤消这个基本表D.从基本表中删除重复元组
28.SQL中,聚合函数COUNT(列名)用于[A]
A.计算元组个数B.计算属性的个数
C.对一列中的非空值计算个数D.对一列中的非空值和空值计算个数
29.元组关系演算表达式{t|R(t)∧S(t)}表达的是( D )
A.R∪SB.R∩SC.R-SD.S-R
30.在下列基本表的定义中,数值5表示( C)
CREATETABLEstudent(Snochar(5)notnullunique,Snamechar
(2));
A.表中有5条记录 B.表中有5列
C.表中字符串Sno 的长度 D.表格的大小
31.在视图上不能完成的操作是(C)
A.更新视图B.查询
C.在视图上定义新的基本表D.在视图上定义新视图
32.下列聚合函数中不忽略空值(null)的是( C)
A.SUM(列名)B.MAX(列名)C.COUNT(*)D.AVG(列名)
第(33)至(35)题是基于如下两个关系,其中雇员信息表关系EMP的主键是雇员号,部门信息表关系DEPT的主键是部门号
EMP
DEPT
雇员号
雇员名
地址
010
056
101
张山
王宏达
马林生
赵敏
2000
1200
1000
1500
业务部
销售部
服务部
财务部
1号楼
2号楼
3号楼
4号楼
33.若执行下面列出的操作,哪个操作不能成功执行?
D
A)从EMP中删除行(‘010’,‘王宏达’,‘01’,1200)
B)在EMP中插入行(‘102’,‘赵敏’,‘01’,1500)
C)将EMP中雇员号=‘056’的工资改为1600元
D)将EMP中雇员号=‘101’的部门号改为‘05’
34.若执行下面列出的操作,哪个操作不能成功执行?
C
A)从DEPT中删除部门号=‘03’的行
B)在DEPT中插入行(‘06’,‘计划部’,‘6号楼’)
C)将DEPT中部门号=‘02’的部门号改为‘10’
D)将DEPT中部门号=‘01’的地址改为‘5号楼’
35.在雇员信息表关系EMP中,哪个属性是外键(foreignkey)?
A)雇员号B)雇员名C)部门号D)工资
36.在SQL语言的SELECT语句中,实现投影操作的是哪个子句?
A
A)selectB)fromC)whereD)grouby
37.下面列出的关于“视图(View)”的条目中,哪一条是不正确的?
A)视图是外模式B)视图是虚表
C)使用视图可以加快查询语句的执行速度D)使用视图可以简化查询语句的编写
38.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATE实现哪类功能?
B
A)数据查询B)数据操纵C)数据定义D)数据控制
第二题填空题
1.SQL是结构化查询语言。
2.SQL语言的数据定义功能包括定义数据库、定义基本表、定义视图、
定义索引。
3.07ASELECT命令中,WHERE子句用于选择满足给定条件的元组,使用GROUPBY子句可按指定列的值分组,同时使用HAVING子句可提取满足条件的组。
4.08信管A子查询的条件依赖于父查询,这类查询称为相关子查询
5.建立索引是加快查询速度的有效手段。
用户可以根据应用环境的需要,在基本表上建立一个或多个索引,以提供多种存取路径,加快查找速度。
一般说来,建立与删除索引由数据库管理员DBA或表的属主负责完成。
6.SQL中,与操作符“NOTIN”等价的操作符是____<
>
ALL______。
7.在SQL中,只有_行列子集视图_________视图才可以执行更新操作。
8.SQL语言支持关系数据库的三级模式结构,其中外模式对应于和部分基本表,模式对应于基本表,内模式对应于。
7、在SQL中,建立、修改和删除数据库中基本表结构的命令分别为________、________和________命令。
第三题名词解释
1、08信管A行列子集视图
若一个视图是从单个基本表导出的,并且只是去掉了基本表的某些行和某些列,但保留了主码,我们称这类视图为行列子集视图。
2、
第四题简答题
1、简单叙述SQL的特点
一、综合统一
二、高度非过程化
三、面向集合的操作方式
四、以同一种语法结构提供多种使用方式
五、语言简洁,易学易用
2、视图的作用有哪些?
1.视图能够简化用户的操作
2.视图使用户能以多种角度看待同一数据
3.视图对重构数据库提供了一定程度的逻辑独立性
4.视图能够对机密数据提供安全保护
5,适当的利用视图可以更清晰的表达查询
第四题操作题
一、设有如下关系表R、S和T:
R(BH,XM,XB,DWH)
S(DWH,DWM)
T(BH,XM,XB,DWH)
(1)实现
的SQL语句是:
SELECT*
FROMR
UNION
SELECT*
FROMT
(2)实现
FROMR
WHEREDWH=’100’
(3)实现
SELECTXM,XB
(4)实现
SELECTXM,XB
WHEREXB=”女”
(5)实现
SELECTR.BH,R.XM,R.XB,R.DWH,S.DWM
FROMR,S
WHERER.DWH=S.DWH
(6)实现
SELECTR.XM,R.XB,S.DWM
FROMR,S
WHERER.DWH=S.DWHANDR.XB=’男’
二、设有如下关系表R:
R(NO,NAME,SEX,AGE,CLASS)
(1)插入一个记录(25,”李明”,”男”,21,”95031”):
INSERTINTOR
VALUES(25,”李明”,”男”,21,”95031”)
(2)插入”95031”班学号为30、姓名为”郑和”的学生记录:
INSERTINTOR(NO,NAME,CLASS)
VALUES(30,”郑和”,”95031”)
(3)将学号为10的学生姓名改为”王华”:
UPDATER
SETNAME=”王华”
WHERENO=10
(4)将所有班号”95101”改为”95091”:
SETCLASS=”95091”
WHERECLASS=”95101”
(5)删除学号为20的学生记录:
DELETEFROMR
WHERENO=20
(6)删除姓”王”的学生记录:
WHERENAMELIKE”王%”
三、(3.46)有两个关系:
C(cno,cn,pcno)
SC(sno,cno,g)
其中,C为课程表关系,对应的属性分别是课号、课程名和选修课号,SC为学生选课表关系,对应的属性分别是学号、课号和成绩。
用SQL语言写出:
(1)对关系SC中课号等于C1的选择运算。
(2)对关系C的课号、课程名的投影运算。
(3)两个关系的自然联接运算。
(4)求每一课程的间接选修课(即选修课的选修课)
答:
对应的SQL语句如下:
1、select*
fromsc
wherecno=’1’
2、selectcno,cn
fromc
3、selecto,,c.pcno,sc.sno,sc.g
fromc,sc
whereo=o
4、selecto,second.pcno
fromcfrist,csecond
wherefirst.pcno=o
四、设有如下4个关系模式:
书店(书店编号,书店名,地址)
图书(书号,书名,定价)
图书馆(馆号,馆名,城市,电话)
图书发行(馆号,书号,书店号,数量)
设各关系模式中的数据满足下列问题。
请解答:
a)用SQL语句检索已发行的图书中最贵和最便宜的书名和定价。
b)写出下列SQL语句所表达的中文意思
SELECT馆名
FROM图书馆
WHERE馆名IN
(SELECT馆号
FROM图书发行
WHERE书号IN
(SELECT书号
FROM图书
WHERE书名=’数据库系统基础’))
答:
1、select图书.书名,图书.定价
From图书
Wher定价=(selectmax(定价)
From图书
Wher图书.书号=图书发行.书号)
Union
select图书.书名,图书.定价
Wher定价=(selectmin(定价)
2、查询拥有已发行的“数据库系统基础”一书的图书馆馆名
五、(3.48)设有职工关系模式如下:
people(pno,pname,sex,job,wage,dptno)
(1)查询工资比其所在部门平均工资高的所有职工信息。
(2)查询工资大于“赵明华”工资的所有职工信息。
1、select*
Frompeoplex
Wherewage>
(selectavg(wage)
Frompeopley
Wherex.dptno=y.dptno)
2、select*
Frompeople
(selectwage
Wherepname=“赵明华”)
六、(3.49)设有如图3.3所示的三个基本表。
表中各个属性的含义如下:
A#(商店代号)、ANAME(商店名)、WQTY(店员人数)、CITY(所在城市)、B#(商品号)、BNAME(商品名称)、PRICE(价格)、QTY(商品数量)。
试用SQL语句写出下列查询:
(1)找出店员人数不超过100人或者在长沙市的所有商店的商店代号和商店名。
(2)找出供应书包的商店名。
(3)找出至少供应代号为256的商店所供应的全部商店名和所在城市。
A#
ANAME
WOTY
CITY
韶山商店
15
长沙
204
前门商店
89
北京
256
东风商店
501
345
铁道商店
76
620
武汉商店
413
武汉
AB
B#
-QTY
1
105
2
42
3
25
4
104
61
241
91
141
18
74
125
BNAME
PRICE
毛笔
21
羽毛球
收音机
325
书包
242
图3.3三个关系表
1、selectA#,ANAME
FROMA
WHEREWQTY<
=100ORCITY=’长沙’
2、SELECTA.ANAME
FROMA,B,AB
WHEREA.A#=AB.A#ANDB.B#=AB.B#ANDB.BNAME=‘书包’
3、SELECTA.ANAME,A.CITY
FROMA,AB
WHEREA.A#=AB.A#ANDAB.B#IN(SELECTAB.B#
FROMAB
WHEREA#=’256’)
七、(3.50)设有图书登记表TS,具有属性:
BNO(图书编号),BC(图书类别),BNA(书名),AU(著者),PUB(出版社)。
按下列要求用SQL语句进行设计:
(1)按图书编号BNO建立TS表的索引ITS。
(2)按出版社统计其出版图书总数。
(3)删除索引ITS。
八、(3.51)已知三个关系R,S和T,如图3.4所示:
R
a1
b1
20
b2
22
a2
b3
S
E
d1
d2
24
T
F
f2
d3
f3
图3.4关系R,S和T
试用SQL语句实现如下操作:
(1)将R,S和T三个关系按关联属性建立一个视图R-S-T。
(2)对视图R-S-T按属性A分组后,求属性C和E的平均值。
答:
1、CREATEVIEWR-S-T
AS
SELECTR.A,R.B,R.C,S.D,S.E,T.F