《数据库原理与SQL Server》期末复习练习新教材文档格式.docx
《《数据库原理与SQL Server》期末复习练习新教材文档格式.docx》由会员分享,可在线阅读,更多相关《《数据库原理与SQL Server》期末复习练习新教材文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
A数据库的主数据文件是不可缺少的,但它只能有1个;
B数据库的主数据文件是不可缺少的,它可以有多个;
C数据库的次数据文件是不可缺少的,但它只能有1个;
D数据库的事物日志文件是不可缺少的,但它只能有1个;
11.用SQL-EM创建数据库的操作顺序应该是:
CBDA
其中,A:
在打开的“数据库属性”对话框中指定数据库和数据库文件信息;
B:
用鼠标右键点击“数据库”结点;
C:
启动SQL-EM,在左侧窗口中展开连接的服务器;
D:
在弹出的快捷菜单中选择“新建数据库”命令;
12.用SQL语句在D盘example文件夹下创建一个student数据库,主文件名student_data.mdf,事务日志文件名student_log.ldf。
createdatabasestudent
on
(name=student_data,
filename='
d:
\example\student_data.mdf'
)
logon
(name=student_log,
\example\student_log.ldf'
13.下面语句的功能是:
将数据库customer的主数据文件customer的大小调整为20MB。
ALTERDATABASEcustomer
MODIFYFILE
(NAME=customer,
SIZE=20MB)
14.下面删除数据库student的语句中正确的是(B)
Adelectdatabasestudent
Bdropdatabasestudent
Cdropdatabase<student>
Ddropstudent
15下面将数据库student重命名为st的语句中正确的是(C)
Aalter’student’,’st’
Balterstudent,st
Csp_renamedb’student’,’st’
Dsp_renamedbstudent,st
16.脚本文件是一种文本文件,默认扩展名为.sql。
第3章管理表
1.关于创建表,下面说法正确的是(A)。
A创建表只是给表建立了一个结构。
B创建表只能用SQL语句CREATETABLE<表名>来实现。
C表一旦创建就可以给任何用户所共享,所以,表是不属于某个数据库的。
D表一旦创建,其结构就不可以修改。
2.用SQL-EM创建表的操作顺序应该是:
BACD
在打开的“新表”对话框中,依次填写各字段的列名、数据类型和列长度等信息;
启动SQL-EM,用鼠标右键点击指定数据库的“表”结点,并在弹出的快捷菜单中选择“新建表”命令;
定义数据完整性;
选择保存功能,输入表名称并单击“确定”按钮;
3.有一创建表的语句如下:
CREATETABLEsc
(snoCHAR(4),
cnoCHAR(4),
scoreSMALLINT,
PRIMARYKEY(sno,cno))
这个语句创建的表名称是sc,有3个列,其中列score的数据
类型是
SMALLINT,表的主键是sno,cno。
4.下面语句中修改表的语句是(C);
而删除表的语句是(B)。
ADELETETABLEtest
BDROPTABLEtest
CALTERTABLEs
DROPCOLUMNemail
DALTERTABLEs
5.下面不是数据编辑的SQL语句为(D)。
AINSERTc(cno,cname,credit)VALUES﹙’c001’,’数据库原理’,3)
BDELETEFROMscWHEREsex=’女’
CUPDATEcSETcredit=2WHEREcname=’数据库原理’
DALTERTABLEsADDpostcodechar(6)NULL
6.在数据库管理中,对数据的描述经历了3个阶段:
概念设计中的数据描
述、逻辑设计中的数据描述和物理设计中的数据描述。
7.数据库概念设计中涉及的4个数据描述的术语分别是:
实体、实体集、属性和实体标识符。
8.客观存在的、可以相互区别的事物称为(A)
A实体B实体集C属性D实体标识符
9.在数据库逻辑设计中,与概念设计中涉及的4个数据描述术语:
实体、实体集、属性和实体标识符相对应的4个数据描述术语是:
记录、文件、
字段和关键码。
10.能唯一标识文件中每个记录的字段或字段集称为(D)
A字段B记录C文件D关键码
11.一种在概念设计中描述实体类型及实体间联系的工具称为(B)。
ASQL-EMBER图C关系模型D表
12.在二元联系中,如果联系的两个实体集E1、E2,E1中每个实体可以和E2中任意个实体有联系,而E2中每个实体至多和E1中一个实体有联系,则E1和E2的联系称为()
A1:
1联系B1:
N联系CN:
1联系DM:
N联系
13.设学生选课系统中有两个实体集,一个是学生s,属性有:
学号sno、班级class、姓名sname、性别sex;
另一个是课程c,属性有:
课程编号cno、课程名cname、学分credit。
一名学生可以选多门课程,一门课程也可以被多名学生选读,每个学生选读每一门课程都有一个成绩score。
试用ER图描述实体s与实体c之间的选课联系。
14.在ER图中,表示实体或联系的属性的图形符号是(C);
表示实体之间联系的图形符号是(B)。
A矩形框B菱形框C椭圆形框D连线
15.常见的逻辑数据模型有层次模型、网状模型、关系模型和面向对象模型,
SQLServer是属于关系型数据库。
16.下面的结论中错误的是(C)。
A在一个关系中,超键是唯一标识元组的属性或属性集。
B候选键是不含有多余属性的超键。
C在一个有多个候选键的关系中,所有这些候选键的组合才能作为主键。
D一个关系的外键一定是另一个关系的主键。
17.下面哪一个不是数据库的数据完整性规则()?
A实体完整性规则B参照完整性规则
C用户自定义完整性规则D外部完整性规则
18.在关系模式R(sno,sname,sex,birthday)中,有如下的函数依赖集,根据定义能够成为R的候选键的有sno、sname。
F:
sno→(sno,sname,sex,birthday)
sname→(sno,sname,sex,birthday)
(sno,sname)→(sno,sname,sex,birthday)
19.设关系模式R(ABCD),F=﹛A→B,C→B﹜,试求出R的候选键。
解
(1)求A+、B+、C+、D+
A+=AB;
B+=B;
C+=CB;
D+=D。
(2)R的候选键为ACD
20.设关系模式R(ABCD),F=﹛B→CD,A→D﹜
(1)试说明R不是2NF的理由;
(2)试将R分解为2NF模式集。
解
(1)因为A+=AD;
B+=BCD;
C+=C;
D+=D
R的候选键为AB,非主属性C和D部分依赖于候选键AB,所
以R
2NF
(2)将R分解为R1(AD)和R2(BCD)即可。
第4章程序设计
1.SQL是结构化查询语言的缩写,主要应用在关系数据库,可实现数据库中的数据检索。
2.以下不是T-SQL4个部分组成之一的是(C)。
A数据定义语言B数据操纵语言C数据交互语言D数据控制语言
3.用SQL语句编写的程序称为(C),一个或多个SQL语句的集合,并用GO作为结束的信号,这样的语句的集合称为(A),而将执行的两条或两条以上的语句,放在BEGIN和END之间,这样的复合语句称为(D)。
A批处理B转移C脚本D语句块
4.下面哪些特征是局部变量所具有的(可以多选):
A、C、D。
A由用户自己定义的B以@@开头
C只能在它声明的程序内使用D以@开头
5.在T-SQL程序设计中,选择结构使用(A);
循环结构使用(C);
而无条件转移则使用(D)。
AIF语句BSELECT语句CWHILE语句DGOTO语句
6.已知程序段
(1)IF<
逻辑表达式>
<
语句块1>
语句块2>
(2)IF<
ELSE
<
在下列的流程图中,属于程序段
(1)的流程图是(B),而属于程序段
(2)的流程图是(C)。
AB
CD
7.已知下面两个脚本
(1)DECLARE@aint,@bint,@cint
SET@a=3
SET@b=5
SET@c=0
IF@a>@b
SET@c=@a-@b
PRINT@c
(2)DECLARE@aint,@bint,@cint
ELSE
SET@c=@b-@a
PRINT@c
问两个脚本运行后的输出结果是多少?
答:
脚本
(1)运行的输出结果为0,脚本
(2)运行的输出结果为2。
8.已知程序流程图
下面属于该流程图的程序段是(D)。
AWHILE<
语句1>
语句2>
语句3>
BWHILE<
BEGIN
END
CWHILE<
END
DWHILE<
9.阅读程序并回答问题
DECLARE@nsmallint,@sint
SET@n=1
SET@s=0
WHILEn<
=300
IF@n%34=0
SET@s=@s+@n
SET@n=@n+1
PRINT@s
(1)程序中用到哪些局部变量?
它们的数据类型分别是什么?
(2)@n的初值和终值分别是什么?
(3)逻辑表达式@n%34=0用于判断@n符合什么条件?
(4)这段程序的功能是什么?
答:
(1)程序中用到@n和@s两个局部变量,它们的数据类型分别是smallint和int。
(2)@n的初值和终值分别是1和301。
(3)逻辑表达式@n%34=0用于判断@n是否能被34整除。
(4)这段程序的功能是:
求1到300之间所有能被34整除的自然数之和。
10.已知下面两个脚本
(1)DECLARE@scoresmallint
SET@score=(SELECTscoreFROMscWHEREsno=’1001’andcno=’c002’
IF@score>=57and@score<60
SET@score=60
SET@score=@score+2
PRINT@score
(2)DECLARE@scoresmallint
SET@score=60
问当表sc中1001学号学生所修c002课程的成绩score为61时,两个脚本运行后输出的@score的值是多少?
当score=61时,脚本
(1)运行的输出结果为63,脚本
(2)运行的输出结果为61。
11.编写程序,求1到100之间能被9整除的偶数。
12.编写程序,求所有符合以下条件的3位整数:
如果这个整数是奇数,则它必须是3的倍数;
如果这个整数是偶数,则它必须是4的倍数。
第5章检索数据
1.已知语句
SELECTsnoas学号,scoreas成绩
FROMsc
WHEREcno=’C001’
问
(1)该语句要检索的是哪些列信息?
(2)语句中“as学号”的作用是什么?
(3)该语句要检索的信息来自哪个表?
(4)该语句要检索的信息符合什么条件?
(1)该语句要检索的列信息包括sno和score,即学号和成绩。
(2)语句中“as学号”的作用是给列sno设置列标题“学号”。
(3)该语句要检索的信息来自sc表,即成绩表。
(4)该语句要检索的信息是cno=’C001’,即选修课程编号为C001的所有学生的学号和成绩。
2.试写出从表s中查询并输出班级(class)为’08软件班’或’08信管班’的,所
有性别(sex)为’男’的学号(sno)、姓名(sname)及电话号码(telephone)
的T-SQL语句。
解SELECTsno,sname,telephone
FROMs
WHEREsex=’男’and(class=’08软件班’orclass=’08信管班’)
3.要想将表中指定列的值相等的记录划为一组,然后对每一组记录产生一个统
计值,应该使用的是(B);
要想按一个或多个列的值得大小顺序输出记录,则应使用(D)。
A聚集函数B分类(GROUPBY子句)
C过滤(HAVING子句)D排序(ORDERBY子句)
4.下面是查询每个学生选修课程的数量、总分、平均分和最高分,并按平均分从高到低排序的程序,请将所缺的内容填上。
SELECTsno,COUNT(*),SUM(score),AVG(score),MAX(score)
FROMsc
GROUPBYsno
ORDERBYAVG(score)DESC
5.将一个表中的记录按照一定的条件与另外的表的一些记录联结起来,这种联结称为内联结,在SELECT语句中其联结的条件通常可以用
WHERE中指定的一个逻辑表达式来描述。
6.已知语句
SELECTsno,o,cname,score
FROMc,sc
WHEREo=o
问
(1)该语句实现的是单表查询还是多表查询?
(2)该语句使用的是内联结还是自联结?
(3)o表示的是什么意思?
(4)联结的条件是什么?
答
(1)该语句实现的是多表查询。
(2)该语句使用的是内联结。
(3)o表示要查询输出的cno是表sc的cno。
(4)联结的条件是o=o。
7.根据子查询和主查询的关系,子查询可以分为相关子查询和
不相关子查询两类。
8.已知语句
SELECTsname,score
FROMs,sc
WHEREs.sno=sc.snoandcno=(SELECTcnoFROMcWHEREcname=’数据库应用’)
问
(1)该语句是相关子查询还是不相关子查询?
(2)该语句的功能是什么?
答
(1)该语句是不相关子查询。
(2)语句的功能是:
从表s和表sc中,查询出所有选修‘数据库应用’课程
的学生的姓名(sname)及其该课程的成绩(score)。
9.设s1、s2是两个结构相同的表,在下面的查询操作中,(A)增加的是列的数量;
而(D)增加的是行的数量。
As1和s2的连接查询B相关子查询
C不相关子查询Dunion(并)运算
10.已知语句
SELECTsno,s.sname,cno,scoreINTObk
WHEREs.sno=sc.snoandscore<
60
问
(1)该语句生成一个新表的名称是什么?
是一个临时表还是一个永久表?
(2)这个新表有哪些列信息?
(3)该语句的功能是什么?
答
(1)该语句生成一个新表的名称是bk,是一个永久表。
(2)这个新表有sno,sname,cno,score等列信息。
(3)该语句的功能是:
从表s,sc查询所有成绩不及格的学生的学号、姓名、课程编号和成绩,并将查询结果保存到一个名为bk的永久表中。
第6章全面掌握SQLServer2000
1.以下属于索引的作用的是(A)。
A提高查询数据的速度B减轻网络流量
C建立表间关系D进行分类汇总
2.在SQLServer2000中,索引分为聚集索引和非聚集索引两类。
其中,在不改变记录的物理顺序的基础上,通过顺序存放指向记录位置的指针来实现建立记录的逻辑顺序的方法称为非聚集索引。
3.判断下面的说法是否正确(正确打√,错误打×
)?
(×
)
索引是非显示的,所以维护索引不需要要占一定的时间和空间。
4.已知语句
CREATEUNIQUEINDEXindex_c
ONc(cnameDESC)
问
(1)该语句创建的是聚集索引还是非聚集索引?
(2)创建的索引是唯一性的还是非唯一性的?
(3)该索引建立在哪一个表上?
(4)该索引按什么排序?
答
(1)该语句创建的是非聚集索引。
(2)创建的索引是唯一性的。
(3)该索引建立在表c上。
(4)该索引按cname降序排列。
5.判断下面的说法是否正确(正确打√,错误打×
索引是建立在某个表上的,要想用SQL-EM来查看它们可以展开左侧窗口中指定的数据库,点击表结点,在右侧窗口上选中要找的表,单击鼠标右键,选择“打开表”→“返回所有行”命令,在打开的表中查看。
6.下面关于视图的说法哪一个是对的?
(B)
A视图在数据库中和表是一样的对象
B视图和表一样可以用SELECT语句查询基表中的数据
C视图和关系一样是一种图形对象
D视图是一种虚表,不能用SELECT语句查询基表中的数据
7.已知语句
CREATEVIEWv_sc
AS
SELECTsno,cname,score
FROMsc,c
WHEREo=oandscore<
60
问
(1)该语句创建的视图包含有哪些列?
(2)该视图的基表是什么?
(3)该视图的视图名是什么?
(4)试说说该视图的作用是什么?
答
(1)该语句创建的视图包含有列sno,cname和score。
(2)该视图的基表是sc和c。
(3)该视图的视图名是v_sc。
(4)该视图的作用是列出所有成绩不及格学生的学号、选修的课程名称和成绩。
8.视图可以有目的地将分散在多个表上的数据构造一个集合在一起的框架,以方便以后进行数据检索;
也可以对数据库表的列进行不同的组合,以构造多个不同的视图,赋予不同的访问权限,从而限制用户对数据的访问。
这两种作用分别称为集中数据和限制访问。
9.以下属于存储过程的作用的是(B)。
10.下面关于存储过程的说法哪一个是错的?
(D)
A存储过程实际就是一个用SQL语句事先编好的程序
B存储过程是存储在服务器上的一组预先定义并编译好的SQL脚本
CSQLServer2000提供了许多系统存储过程,但用户也可以根据需要自己
创建存储过程
D存储过程一旦创建并存储到服务器上就不能对它进行修改
11.下面哪一个是执行存储过程的正确语法格式?
(C)
ASELECT<存储过程名>
BDROPPROC<存储过程名>
CEXEC<存储过程名>
DEXEC