数据库原理阶段练习二.docx
《数据库原理阶段练习二.docx》由会员分享,可在线阅读,更多相关《数据库原理阶段练习二.docx(12页珍藏版)》请在冰点文库上搜索。
![数据库原理阶段练习二.docx](https://file1.bingdoc.com/fileroot1/2023-7/21/279acd3b-d69c-41ea-a0ec-3ea4e77b0599/279acd3b-d69c-41ea-a0ec-3ea4e77b05991.gif)
数据库原理阶段练习二
华东理工大学网络学院
《数据库原理[本]》阶段练习2(第三章)
一、填空题。
1、SQL语言中,关系的模式称为_基本表_,存储模式称为_存储文件_,子模式称为一视图_
2、在SQL查询语句中,WHERE子句的功能是选择_。
3、关系数据库语言采用一次一个集合的存取方式。
4、SQL语言的两种使用方式是嵌入式和自含式。
5、在SQL查询中,如果需要去掉查询结果中的重复组,应使用DISTINCT关键字。
6、SQL的功能包括查询、更新_、定义和控制—四个方面。
7、SQL语言的数据定义部分包括对SQL模式、基本表、视图_、索引_的创建和撤消。
二、单项选择题。
1、在SQL语言中,用户可以直接操作的是__C_。
A.基本表
B.视图
C.基本表和视图
D.虚表
2、在SQL的SELECT语句中,与选择运算对应的动词是__C
A.DISTICT
B.FROM
C.WHERE
D.GROUPBY
3、下面关于SQL语言的叙述中,错误的是__B_。
A.SQL既可作为交互环境中的查询语言又可嵌入到主语言中
B.SQL没有数据控制功能
C.用户利用SQL定义索引,系统自动使用和维护索引
D.使用SQL用户可以定义和检索视图
4、SQL语言是__C_。
A.咼级语言
B.编程语言
C.结构化查询语言
D.宿主语言
D_操作。
5、在学生关系中,若要用SQL语言列出所有男生的学号,应该对学生关系进行
A.选择
B.连接
C.投影
D.选择和投影
6、SELECT语句执行的结果是_C_。
A.数据项
B.元组
C.表
D.数据库
7、视图建立后,在数据字典中存放的是__C_。
A.查询语句
B.视图的内容
C.视图的定义
D.产生视图的基本表的定义
8、下面关于视图的说法正确的是__C_。
A.视图是由若干表组成的,独立存储在数据库中
B.视图的存在提高了并发程度
C.视图与基本表的最大区别在于它是逻辑定义的虚表
D.视图简化了用户观点,但不提高查询效率
9、在SQL语言中,DELETE语句的作用是__D_。
A.删除基本表
B.删除视图
C.删除基本表和视图
D.删除基本表和视图的元组
10、与XBETWEEN10AND20完全等价的是_且_。
A.X>10ANDX<20
B.X>=10ANDX<=20
C.X>10ORX<20
D.
X>=10ORX<=20
三、多项选择题。
1、SQL由_ABCD_组成。
A.
数据定义
B.
数据操纵
C.
数据控制
D.
嵌入式SQL的使用规定
2、下列关于基本表和存储文件之间关系的描述中错误的是_ABC_。
A.一个基本表只能存储于一个文件中,一个存储文件中也只能存放一个基本表
B.一个基本表只能存储于一个文件中,但一个存储文件中能存放多个基本表
C.一个基本表可以存储于一个或多个文件中,但一个存储文件中也只能存放一个基本表
D.一个基本表可以存储于一个或多个文件中,一个存储文件中也可以存放一个或多个基本表
3、SQL查询语句中,在FROM子句中可以出现_ABC_。
A.
列名
B.
基本表名
C.
视图名
D.
表达式
4、在CREATETABLED句中实现完整性约束的子句有_BCD
A.
NOTNULL
B.
PRIMARYKEY
C.
FOREIGNKEY
D.
CHECK
5、在SQL中,表达完整性约束的规则有
ABCD。
A.主键约束
B.外键约束
C.属性值约束
D.全局约束
6、SQL查询语句中,在SELECT子句中可以出现_AD_。
A.列名
B.基本表名
C.视图名
D.表达式
7、使用聚合函数进行统计时,忽略空值的有_ABD_。
A.SUM
B.MAX
C.COUNT
D.AVG
8、下列哪些视图不能进行更新操作_ABC_?
A.视图定义中有GROUPBY子句
B.视图定义中有DISTINCT
C.视图的字段来自于库函数
D.视图定义中有ORDERBY子句
9、在SQL中,提供安全性控制的功能有_BC_。
A.数据加密
B.视图机制
C.授权子系统
D.完整性子系统
10、已知基本表S对应的关系模式为(S#,SNAME,AGE),下列SELECT子句中正确的是ABC。
A.SELECTS#,AVG(AGE)
B.SELECTDISTINCTAGE
C.SELECTSNAME生名
D.SELECTAGE>20
四、简答题。
1、什么是视图?
基本表和视图有哪些区另U?
存储在数据库中,数据库中只存储视图的定义。
基本表是实际存在物理存储介质上的实表,而视图是虚表,它在物理存储介质上不存
在,只是在数据字典中存放视图结构的定义。
视图一经定义就可以和基本表一样被查询,对
视图的更新有一些限制。
2、简述SQL中使用视图的优点。
视图的优点具体表现在:
(1)为数据库的重构提供一定程度的逻辑独立性;
(2)简化了用户
观点;(3)使用户以多种角度看待同一数据;(4)对机密数据提供了自动的安全保护功能。
3、索引的用途是什么?
索引可以分为几类?
建立索引的作用在于:
(1)提高数据查询的速度;
(2)保证数据的唯一性;(3)加快表连接的速度。
索引的类型有:
(1)单列索引(对基本表的一单独列进行索引);
(2)唯一索引(不允许
在表中插入任何相同的取值);(3)复合索引(对基本表中两个或两个以上的列建立索引)。
4、哪些视图不能进行更新?
(1)视图的字段来自表达式或常数;
(2)视图的字段来自库函数;
(3)视图的定义中有GROUPBY子句;
(4)视图的定义中有DISTINCT;
(5)视图的定义中有嵌套查询,且内层查询中涉及了与外层一样的导出该视图的基本表;
(6)视图是从两个以上基本表导出的;
(7)在不允许更新的视图上定义的视图也不允许更新。
5、简述SQL的四个组成部分。
SQL由四个部分组成:
(1)数据定义语言DDL:
用于定义关系数据库的模式、外模式、和
内模式,以及对基本表、视图和索引的定义、修改和删除等操作。
(2)数据控制语言DML:
包括数据查询和数据更新,
其中数据查询是对数据库数据的查询、
统计、分组和排序等操作,
数据更新又分为数据的插入、
删除和修改。
(3)数据控制语言
DCL:
包括对基本表和视图
言程序中使用的规则。
五、应用题。
1设有如下关系模式:
S(S#,SNAME,CITY)
S表示供应商,S#表示供应商代号,SNAM表示供应商姓名,CITY表示供应商所在城市;主键是S#;
P(P#,PNAME,COLOR,WEIGHT)
P表示零件,P#为零件代号,PNAM表示零件名,COLO表示零件颜色,WEIGHT表示零件重量,主键是P#;
J(J#,JNAME,CITY)
J表示工程,J#表示工程号,JNAME表示工程名,CITY表示工程所在城市,主键是J#;
SPJ(S#,P#,J#,QTY)
SPJ表示供应关系,QTY为零件数量,主键是(S#,P#,J#),外键分别是S#,P#,J#;请用SQL语言完成下面要求。
(1)用SQL语言创建这四个基本表,并指出主键和外键;
(2)检索供应工程J1零件P1的供应商代号;
(3)检索零件重量在16-19之间的零件的全部信息;
(4)检索重量最轻的那些零件的零件号;
(5)检索住在同一城市的一对供应商编号;
(6)检索供应商S1提供零件的工程项目名称;
(7)求没有使用天津生产的零件的工程号;
(8)求为工程J2或J3提供零件的供应者的代号。
(9)求既能为工程J1又能为工程J2提供零件的供应商号;
(10)求供应商S2提供的代号为P2的零件总数;
(11)将工程名为“环保“的所有供应数量提高10%
(12)建立一个视图,包括每个工程项目使用零件的总数;
(13)从供应商关系中删除S2的记录,并从供应关系中删除相应记录;
(14)求使用全部零件的工程项目名称;
(15)求使用供应商S1所提供的全部零件的工程项目号;
(16)按照零件号递增顺序列出各种零件使用的总量。
(1)CREATETABLES
(S#CHAR(4)NOTNULL,
SNAMECHAR(20)NOTNULL,
CITYCHAR
(1),
PRIMARYKEY(S#))
CREATETABLEP
(P#CHAR(4)NOTNULL,
PNAMECHAR(20)NOTNULL,
COLORCHAR(4),
WEIGHTFLOAT(8),
PRIMARYKEY(P#))
CREATETABLEJ
(J#CHAR(4)NOTNULL,
JNAMECHAR(20)NOTNULL,
CITYCHAR(8),
PRIMARYKEY(J#))
CREATETABLESPJ
(S#CHAR(4)NOTNULL,
P#CHAR(4)NOTNULL,
J#CHAR(4)NOTNULL,
QTYSMALLINT,
FOREIGNKEY(S#)REFERENCESS(S#),
FOREIGNKEY(P#)REFERENCESP(P#),
FOREIGNKEY(J#)REFERENCESJ(J#),
PRIMARYKEY(S#,P#,J#))
(2)SEIECTS#
FROMSPJ
WHEREJ#='1'ANDP#='P1'
(3)SELECT*
FROMP
WHEREWEIGHTBETWEEN16AND19
(4)SELECTS#
FROMP
WHEREWEIGHT<=ALL(SELECTWEIGHT
FROMP)
(5)SELECTS1.S#,S2.S#
FROMSS1,SS2
WHERES1.CITY=S2.CITYANDS1.S#<>S2.S#
(6)SELECTJNAME
FROMJ,SPJ
WHEREJ.J#=SPJ.J#ANDS#=S1'
⑺SELECTJ#
FROMSPJ
WHERENOTIN(SELECTS#
FROMS
WHERES.CITY='天津'
(8)SELECTS#
FROMSPJ
WHEREJ#='2'ORJ#='J3'
(9)SELECTX.S#
FROMSPJX,SPJY
WHEREX.S#=Y.S#ANDX.J#=Ji'ANDY.J#=J2'
(10)SFIFCTSUM(QTY)
FROMSPJ
WHERES#=S2'ANDP#='P2'
(11)UPDATESPJ
SETQTY=QTY*1.1
WHEREJ#IN
(SELECTJ#
FROMJ
WHEREJNAME='环保'
(12)CREATEVIEWPSUM(J#,JNAME,TOTAL)
ASSELECTJ#,JNAME,SUM(QTY)
FROMSPJ
GROUPBYJ#
(13)DELETE
FROMS
WHERES#='S2'
DELETE
FROMSPJ
WHERES#='S2'
(14)SELECTJNAME
FROMJ
WHERENOTEXISTS
(SELECT*
FROMP
WHERENOTEXISTS
(SELECT*
FROMSPJ
WHEREP.P#=SPJ.P#ANDJJ#=SPJ.J#))
(15)SELECTDISTINCTJ#
FROMSPJX
WHERENOTEXISTS
(SELECT*
FROMSPJY
WHEREY.S#=S1'ANDNOTEXISTS
(SEIECT*
FROMSPJZ
X.J#=Z.J#))
WHEREY.P#=Z.P#AND
(16)SELECTP#,SUM(QTY)
FROMSPJ
GROUPBYP#
ORDERBYP#ASC