SQL笔试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
针对以下题目请选择正确答案(每道题目有一个或多个正确的答案)。针对每一道题目,所有答案都选对,则该题得分,否则不得分。
1. 数据库设计的最终目标不包括()。(选择两项)BD
A. 高效
B. 满足范式要求
C. 安全
D. 表现设计者的技术实力
E. 易用
F. 便于将来扩展功能和容量
2. 有关数据冗余说法错误的是()。(选择一项)C
A. 数据库中,数据存在副本的现象,就是数据冗余。
B. 通过分类存储,可以有效减少数据冗余,但是会增加数据查找的复杂性。
C. 在数据库设计阶段,一定要尽最大可能避免数据冗余,最好做到无数据冗余。
D. 数据冗余通常是由于数据库设计引起的。
3. 用于表示数据库实体之间的关系图是()。A
A. 实体关系图
B. 数据模型图
C. 实体分类图
D. 以上都不是
4. 假定有一个用户表,表中包含字段:userid (int)、username (varchar)、password(varchar)等,该表需要设置主键,以下说法正确的是()。(选择两项)AB
A. 如果不能有同时重复的username和password,那么username和password可以组合在一起作为主键。
B. 此表设计主键时,根据选择主键的最小性原则,最好采用userid作为主键。
C. 此表设计主键时,根据选择主键的最小性原则,最好采用username和password作为组合键。
D. 如果采用userid作为主键,那么在userid列输入的数值,允许为空。
5. 语句alter table userinfo add constraint uq_userid unique(userid)执行成功后,为userinfo表的()字段添加了()约束。B
A. userid 主键
B. userid 唯一
C. uq_userid 外键
D. uq_userid 检查
6. 运行如下T-SQL,结果返回包含()的记录集。A
create table scores
(
scoreid int identity(1,2),
score numeric(4,2) not null,
courseid int
)
insert int scores values(90.5,null);
insert into scores values(78.234,2);
select * from scores;
A. 1 90.50 NULL
3 78.23 2
B. 1 78.23 2
C. 1 90.50
D. 1 90.50
2 78.2
3 2
7. 关于子查询,以下说法正确的是()。(选择两项)AC
A. 一般来说,表连接都可以用子查询替换。
B. 一般来说,子查询都可以用表连接替换。
C. 相对于表连接,子查询适合于作为查询的筛选条件。
D. 相对于表连接,子查询适合于查看多表的数据。
8. 创建存储过程如下:
create procedure scoreproc
@scoreid int,@score numeric(4,2) output
as
select @score = score from scores where scoreid=@scoreid
正确的调用是:C
A. exec scoreproc 1,@myscore output
print @myscore
B. exec scoreproc @id = 1,@myscore output
print @myscore
C. declare @myscore numeric(4,2)
exec scoreproc 1,@myscore output
print @myscore
D. declare @myscore numeric(4,2)
exec scoreproc @id = 1,@myscore output
print @myscore
9. 假设需要设计一张表,记录各个作者著作的所有图书信息,表的结构如下:作者(作者名称,图书1,版本1,书价1,图书二,版本2,书价2,…),该表最多符合第()范式。A
A. 一
B. 二
C. 三
D. 不符合任何范式
10. 一个学生只能就读于一个班级,而一个班级可以同时容纳多个学生,学生与班级之间是()的关系。C
A. 一对一
B. 一对多
C. 多对一
D. 多对多
11. E-R图中,关系集用下面()来表示。B
A. 矩形
B. 椭圆形
C. 菱形
D. 圆形
12. 有如下表结构,#号打头字段代表主键或组合主键,一份订单可以订购多种产品。
产品:#产品编号,产品名称,产品价格;
订单:#订单编号,#产品编号,订购日期,订购数量;(订单编号与产品编号是组合主键)该表最高符合第()范式。B
A. 一
B. 二
C. 三
D. 未规范化的
13. 有如下表结构,#号打头字段代表主键或组合主键,一份订单可以订购多种产品。
产品:#产品编号,产品名称,产品价格;
订单:#订单编号,总价,订购日期;
订单子项:#子项编号,订单编号,产品编号,订购数量;
该表最高符合第()范式。C
A. 一
B. 二
C. 三
D. 未规范化的
14. 创建sql语句如下:
create table userInfo
(
userId int identity(-1,1), 第1行
userName nvarchar(20) not null, 第2行
cardNO char not null, 第3行
age smallint(2), 第4行
address ntext(300) 第5行
)
执行时,会在第()行出现错误。(选择两项)DE
A. 1
B. 2
C. 3
D. 4
E. 5
15. 以下关于规范设计的描述正确的是()。(选择两项)AD
A. 规范设计的主要目的是消除数据冗余。
B. 规范设计往往会增加数据库的性能。
C. 设计数据库时,规范化程度越高越好。
D. 在规范化数据库时,易于维护数据库的完整性。
16. 关于存储过程,以下说法正确的是()。(选择一项)A
A. 不能在存储过程中使用CREA TE VIEW命令。
B. T-SQL批代码的执行速度要快于存储过程。
C. 存储过程必须带有参数。
D. 存储过程不能返回结果集。
17. 已知有scores表,scoreid为主键,现在表中共有10条记录,其中一条scoreid=21。
创建视图: