sql server2005数据库复习题一(含答案) 联系客服

发布时间 : 星期三 文章sql server2005数据库复习题一(含答案)更新完毕开始阅读a72ff2eb5022aaea998f0fd3

1. ( A )是位于用户与操作系统之间的一层数据管理软件,它属于系统

软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。 A.DBMS B.DB (database) C.DBS D.DBA

2、查询表中的前3条记录使用的关键字是( D )

A、up 3 B、down 3 C、pre 3 D、top 3 3. SQL Server安装程序创建4个系统数据库,下列哪个不是( C )系统

数据库。

A. Master B. Model C. pub D. msdb

4. 下列哪个不是sql 数据库文件的后缀(扩展名)。( C ) A..mdf B. .ldf C..tif D..ndf 5. SQL的视图是从( C )中导出的。

A. 基本表 B. 视图 C. 基本表或视图 D. 数据库 6. 在SQL语言中,建立存储过程的命令是( A ) A、CREATE PROCEDURE B、CREATE RULE C、CREATE DURE D、CREATE FILE 7. SQL语言中,删除表中数据的命令是( A )。 A. DELETE B. DROP C. CLEAR D. REMOVE

8. 在MS SQL Server中,用来显示数据库信息的系统存储过程是( D )。 A. sp_dbhelp B. sp_db C. sp_help D. sp_helpdb

9. Microsoft 公司的SQL Server 2005 数据库管理系统一般只能运行在

( A )。

A. Windows 平台 B. UNIX平台 C. LINX平台 D. NetWare 平台 10. SQL Server 2005 的物理存储主要包括3类文件(A )。 A. 主数据文件、次数据文件、事务日志文件 B. 主数据文件、次数据文件、文本文件 C. 表文件、索引文件、存储文件 D. 表文件、索引文件、图表文件 11. SQL Server 2000 系统中的所有系统级信息存储于哪个数据库( A )。 A. master B. model C. tempdb D.msdb 12、下列说法正确的是( B )。

A 、视图是观察数据的一种方法,只能基于基本表建立。 B 、视图是虚表,观察到的数据是实际基本表中的数据。 C 、索引查找法一定比表扫描法查询速度快。 D 、索引的创建只和数据的存储有关系。

13、SQL Server 2005是一个( C )的数据库系统。 (A)网状型 (B)层次型 (C)关系型 (D)以上都不是

14、在SQL Server 2005中,当数据表被修改时,系统自动执行的数据库对象

是( B )。

(A)存储过程 (B)触发器 (C)视图 (D)其他数据库对象 15、要查询book表中所有书名中包含“计算机”的书籍情况,可用( B )

语句。

(A) SELECT * FROM book WHERE book_name LIKE ‘计算机*’

(B) SELECT * FROM book WHERE book_name LIKE ‘计算机%’ (C) SELECT * FROM book WHERE book_name = ‘计算机*’ (D) SELECT * FROM book WHERE book_name = ‘计算机%’ 16、关于主键描述正确的是:( C )

(A)包含一列 (B)包含两列 (C)包含一列或者多列 (D) 以上都

不正确

17、在SQL SERVER中局部变量前面的字符为:( D ) (A)* (B)# (C)@@ (D) @

18、在WHILE循环语句中,如果循环体语句条数多于一条,必须使用:(A) (A) BEGIN??END (B) CASE??END (C) IF????THEN (D) GOTO

19、SELECT查询中,要把结果中的行按照某一列的值进行排序,所用到的子句

是:(A) (A)ORDER BY (B)WHERE (C)GROUP BY (D)HAVING 20、对视图的描述错误的是:( C ) (A) 是一张虚拟的表

(B) 在存储视图时存储的是视图的定义 (C) 在存储视图时存储的是视图中的数据 (D) 可以像查询表一样来查询视图

五、设计题(共45分) 现有关系数据库如下: 数据库名:学生成绩数据库

学生信息表(学号 char(6),姓名,性别,民族,身份证号) 课程信息表(课号 char(6),名称) 成绩信息表(ID,学号,课号,分数)

Select 学号,姓名 from 学生信息表 where 学号 in (Select distinct 学

号 from 成绩信息表 where 分数<60) 用SQL语言实现下列功能的sql语句代码。

1. 创建数据库[学生成绩数据库]代码(2分)。

create database 学生成绩数据库 on

(filename='d:\\stu.mdf', name=studata, size=3,

maxsize=unlimited, filegrowth=3% ) log on

(filename='d:\\stu.ldf', name=stulog, size=1,

maxsize=3

)2. 创建数据表[课程信息表]代码;(2分)

课程信息表(课号 char(6),名称)

create table 课程信息表 (课号char(6) primary key, 名称nvarchar(30) not null)

要求使用:主键(课号)、非空(名称) 3. 创建数据表[学生信息表]代码;(4分)

学生信息表(学号 char(6),姓名,性别,民族,身份证号)

要求使用:主键(学号)、默认(民族为汉)、非空(民族,姓名)、唯一(身

份证号)、检查(性别是男或是女)

create table 学生信息表 ( 学号char(6) primary key, 姓名nvarchar(30) not null,

性别char(2) check(性别='男' or 性别='女'), 民族nvarchar(10) not null default '汉', 身份证号char(18) unique )

4. 创建数据表[成绩信息表];(5分) 成绩信息表(ID,学号,课号,分数)

要求使用:外键(学号,课号)、检查(分数必须是0-100之间)

create table 成绩信息表 ( id int,

学号char(6) foreign key references 学生信息表(学号), 课号char(6) foreign key references 课程信息表(课号), 分数numeric(4,1) check(分数>=0 and 分数<=100) )

5. 将下列课程信息添加到课程信息表的代码(8分) 课号 名称 100101 西班牙语 100102 大学英语

insert into 课程信息表values('100101','西班牙语') insert into 课程信息表values('100102','大学英语')

修改 课号为100102的课程名称:专业英语

update 课程信息表set 名称='专业英语' where 课号='100102'

删除 课号为100101的课程信息

delete from 课程信息表where 课号='100101'

6. 创建视图[成绩信息表视图]的代码;(5分)

成绩信息表视图(学号,姓名,课号,课程名称,分数) Create view 成绩信息表视图 as

select 学号,姓名,课号,课程名称,分数 from 学生信息表,课程信息表,成绩信息表 where 学生信息表.学号=成绩信息表.学号and 课程信息表.课号=成绩信息表.课号

7. 从学生信息表中查询姓刘的女同学的情况:姓名、性别、民族。(2分 select 姓名,性别,民族from 学生信息表where 姓名like '刘%' and 性别='女' 8. 查询有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、

姓名。(4分)

select 学号,姓名from 学生信息表where 学号in (select distinct 学号from 成绩信息表where 分数<60)

9. 创建带参数的存储过程[某门课程高低均分]、执行该过程的代码(7分) 存储过程功能:查询某门课程的最高分、最低分、平均分; 执行该过程,查询所有修’专业英语’这门学生的最高分、最低分、

平均分;

create proc 某门课程高低均分 @课程名nvarchar(30) as

select max(分数) as 最高分,min(分数) as 最低分,avg(分数) as 平均分from 课程信息表,成绩信息表where 课程信息表.课号=成绩信息表.课号and 名称=@课程名

执行过程:

exec 某门课程高低均分 @课程名='专业英语'