数据库原理2阶段练习2Word文件下载.docx
《数据库原理2阶段练习2Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据库原理2阶段练习2Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
![数据库原理2阶段练习2Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-10/12/4c0f0d99-2546-4aaa-bdf9-437388781423/4c0f0d99-2546-4aaa-bdf9-4373887814231.gif)
B.SQL没有数据控制功能
C.用户利用SQL定义索引,系统自动使用和维护索引
D.使用SQL用户可以定义和检索视图
4、SQL语言是_________。
A.高级语言
B.编程语言
C.结构化查询语言
D.宿主语言
5、在学生关系中,若要用SQL语言列出所有男生的学号,应该对学生关系进行______操作。
A.选择
B.连接
C.投影
D.选择和投影
6、SELECT语句执行的结果是______。
A.数据项
B.元组
C.表
D.数据库
7、视图建立后,在数据字典中存放的是_______。
A.查询语句
B.视图的内容
C.视图的定义
D.产生视图的基本表的定义
8、下面关于视图的说法正确的是_______。
A.视图是由若干表组成的,独立存储在数据库中
B.视图的存在提高了并发程度
C.视图与基本表的最大区别在于它是逻辑定义的虚表
D.视图简化了用户观点,但不提高查询效率
9、在SQL语言中,DELETE语句的作用是_________。
A.删除基本表
B.删除视图
C.删除基本表和视图
D.删除基本表和视图的元组
10、与XBETWEEN10AND20完全等价的是________。
A.X>
10ANDX<
20
B.X>
=10ANDX<
=20
C.X>
10ORX<
D.X>
=10ORX<
三、多项选择题。
1、SQL由_______组成。
A.数据定义
B.数据操纵
C.数据控制
D.嵌入式SQL的使用规定
2、下列关于基本表和存储文件之间关系的描述中错误的是_______。
A.一个基本表只能存储于一个文件中,一个存储文件中也只能存放一个基本表
B.一个基本表只能存储于一个文件中,但一个存储文件中能存放多个基本表
C.一个基本表可以存储于一个或多个文件中,但一个存储文件中也只能存放一个基本表
D.一个基本表可以存储于一个或多个文件中,一个存储文件中也可以存放一个或多个基本表
3、SQL查询语句中,在FROM子句中可以出现________。
A.列名
B.基本表名
C.视图名
D.表达式
4、在CREATETABLE语句中实现完整性约束的子句有________。
A.NOTNULL
B.PRIMARYKEY
C.FOREIGNKEY
D.CHECK
5、在SQL中,表达完整性约束的规则有______。
A.主键约束
B.外键约束
C.属性值约束
D.全局约束
6、SQL查询语句中,在SELECT子句中可以出现_______。
7、使用聚合函数进行统计时,忽略空值的有_______。
A.SUM
B.MAX
C.COUNT
D.AVG
8、下列哪些视图不能进行更新操作__________?
A.视图定义中有GROUPBY子句
B.视图定义中有DISTINCT
C.视图的字段来自于库函数
D.视图定义中有ORDERBY子句
9、在SQL中,提供安全性控制的功能有______。
A.数据加密
B.视图机制
C.授权子系统
D.完整性子系统
10、已知基本表S对应的关系模式为(S#,SNAME,AGE),下列SELECT子句中正确的是________。
A.SELECTS#,AVG(AGE)
B.SELECTDISTINCTAGE
C.SELECTSNAME姓名
D.SELECTAGE>
四、简答题。
1、什么是视图?
基本表和视图有哪些区别?
2、简述SQL中使用视图的优点。
3、索引的用途是什么?
索引可以分为几类?
4、哪些视图不能进行更新?
5、简述SQL的四个组成部分。
五、应用题。
1、设有如下关系模式:
S(S#,SNAME,CITY)
S表示供应商,S#表示供应商代号,SNAME表示供应商姓名,CITY表示供应商所在城市;
主键是S#;
P(P#,PNAME,COLOR,WEIGHT)
P表示零件,P#为零件代号,PNAME表示零件名,COLOR表示零件颜色,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)按照零件号递增顺序列出各种零件使用的总量。
《数据库原理[本]》阶段练习2参考答案
1、基本表、存储文件、视图
2、选择
3、集合
4、嵌入式、自含式
5、DISTINCT
6、更新、控制
7、视图、索引
1
2
3
4
5
6
7
8
9
10
C
B
D
ABCD
ABC
BCD
AD
ABD
BC
1、视图是从一个或几个基本表或视图中导出的表,是一张虚表,即视图所对应的数据实际上不存储在数据库中,数据库中只存储视图的定义。
基本表是实际存在物理存储介质上的实表,而视图是虚表,它在物理存储介质上不存在,只是在数据字典中存放视图结构的定义。
视图一经定义就可以和基本表一样被查询,对视图的更新有一些限制。
2、视图的优点具体表现在:
(1)为数据库的重构提供一定程度的逻辑独立性;
(2)简化了用户观点;
(3)使用户以多种角度看待同一数据;
(4)对机密数据提供了自动的安全保护功能。
3、建立索引的作用在于:
(1)提高数据查询的速度;
(2)保证数据的唯一性;
(3)加快表连接的速度。
索引的类型有:
(1)单列索引(对基本表的一单独列进行索引);
(2)唯一索引(不允许在表中插入任何相同的取值);
(3)复合索引(对基本表中两个或两个以上的列建立索引)。
4、下面这些视图是不允许进行更新操作的:
(1)视图的字段来自表达式或常数;
(2)视图的字段来自库函数;
(3)视图的定义中有GROUPBY子句;
(4)视图的定义中有DISTINCT;
(5)视图的定义中有嵌套查询,且内层查询中涉及了与外层一样的导出该视图的基本表;
(6)视图是从两个以上基本表导出的;
(7)在不允许更新的视图上定义的视图也不允许更新。
5、SQL由四个部分组成:
(1)数据定义语言DDL:
用于定义关系数据库的模式、外模式、和内模式,以及对基本表、视图和索引的定义、修改和删除等操作。
(2)数据控制语言DML:
包括数据查询和数据更新,其中数据查询是对数据库数据的查询、统计、分组和排序等操作,数据更新又分为数据的插入、删除和修改。
(3)数据控制语言DCL:
包括对基本表和视图的授权、完整性规则的描述和事务控制语句等。
(4)嵌入式SQL:
SQL语句嵌入在宿主语言程序中使用的规则。
1、
(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
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)SELECTS#
FROMSPJ
WHEREJ#=’J1’ANDP#=’P1’
(3)SELECT*
FROMP
WHEREWEIGHTBETWEEN16AND19
(4)SELECTS#
WHEREWEIGHT<
=ALL(SELECTWEIGHT
FROMP)
(5)SELECTS1.S#,S2.S#
FROMSS1,SS2
WHERES1.CITY=S2.CITYANDS1.S#<
>
S