SQL server 2005练习题 联系客服

发布时间 : 星期日 文章SQL server 2005练习题更新完毕开始阅读98a981d528ea81c758f57828

对以下题目请选择正确答案(每道题目有一个或多个正确的答案)。针对每一道题目,所有答案都选对,则该题得分,否则不得分。

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.23 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. 不能在存储过程中使用CREATE VIEW命令。 B. T-SQL批代码的执行速度要快于存储过程。 C. 存储过程必须带有参数。 D. 存储过程不能返回结果集。

17. 已知有scores表,scoreid为主键,现在表中共有10条记录,其中一条scoreid=21。 创建视图:

create view view_scores as

select * from scores 执行如下命令:

delete from view_scores where (scoreid = 21) 再执行如下命令: select * from scores select * from view_scores

假定上述命令全部执行成功,将各自返回()()行记录。D A. 10,10 B. 10,9 C. 9,10 D. 9,9

18. 设计用户表时,身份证号为固定18位长,对该字段最好采用()数据类型。(选择一项)B A. int B. char C. varchar D. text

19. 授予用户someone对scores表的一些权限,正确的授权语句是()。(选择一项)C A. grant insert , update to talbe scores on someone B. grant insert and update to table scores on someone C. grant insert , update on scores to someone D. grant insert and update on scores to someone 20. 建立如下数据库表: create talbe Department( departID int not null primary key, deptName varchar(20) not null )

create table Employee( employeeID int not null, deptID int not null, name varchar(20) not null

)

要想保证Employee表中每一个雇员(employee)是唯一的,且只能属于在Department表中已经存在的部门,最有的做法是()。(选择一项)B