SQLServer2005期中答案 下载本文

内容发布更新时间 : 2024/12/22 15:26:26星期一 下面是文章的全部内容请认真阅读。

大型数据库(SQL Server)期中测试

参考答案

班级:________ 学号:_________ 姓名:____________

一、 填空题

1. SQL server 2005是___C/S______ (c/s或b/s)结构的数据库管理系统。 2. 数据完整性实质,存储在数据库中的数据正确无误并且相关数据具有一致性,根据完整

性机制所作用的数据库对象和范围不同,可以分为: ______域完整性___ , _____实体完整性____ , ____引用完整性_____,其中外键可以实现 ___引用______ 数据完整性。主键可以实现____实体_____完整性。 3. 在数据库的表中, 主键 是指表中的某一列,该列的值唯一标识一行。 4. SQL Server 2005的文件包括: 数据文件(.mdf或.ndf)和 日志文件(.ldf) 。 5. 在T-SQL语言中,若要修改某张表的结构,应该使用的修改关键字是 alter ;若

要创建一个数据库,应该使用的语句是 create database 。 6. 在一个表中主键的个数为:____1______。

7. 使用索引可以减少检索时间,根据索引的存储结构不同将其分为两类: ___聚集索引___

和 ___非聚集索引______ 。

8. 如果要计算表中的行数,可以使用聚合函数___count(*)_________。

9. 在SQL Server 2000中修改表的结构应使用关键字____alter________,修改表中的数据应使用关键字____update_______ 。 1.

二、 选择题

1 、下面描述错误的是(B )。

A、每个数据文件中有且只有一个主数据文件。 B、日志文件可以存在于任意文件组中。 C、主数据文件默认为 primary 文件组。 D、文件组是为了更好的实现数据库文件组织。 2 、下面标志符不合法的是:(C)。

A 、 [my delete] B 、 _mybase C 、 $money D 、 trigger1 3 、下面字符串能与通配符表达式 [ABC]%a 进行匹配的是:( C)。

A 、 BCDEF B 、 A_BCD C 、 ABC_a D 、 A%a 4 、 create table l1 (num decimal(7,3)) go

insert into l1 values (9999.9994)

执行上面命令后,表中的数据是:(B )。

A 、出现插入错误 B 、 9999.999 C 、 10000.00 D 、 0.0 5 、下面对 union 的描述正确的是( D )。

A、任何查询语句都可以用 union 来连接 B、union 只连接结果集完全一样的查询语句 C、union 是筛选关键词,对结果集再进行操作。

D、union 可以连接结果集中数据类型个数相同的多个结果集。 6 、 SQL server 数据库文件有三类,其中日志文件的后缀为:(B) A 、 .ndf B 、 .ldf C 、 .mdf D 、 .idf 7 、下面对索引的相关描述正确的是:(B )。

A、 经常被查询的列不适合建索引。 B、 列值唯一的列适合建索引。 C、 有很多重复值的列适合建索引。 D、 是外键或主键的列不适合建索引。

8、 下列语句中正确的是 ___A____ 。表 score(sti_id,names,math,English,VB)

A、select stu_id,sum(math) from score B、select sum(math),avg(VB) from score C、select * ,sum(english) from score

D、delete * from score

9、SQL Server 2005是一个( C )的数据库系统。 (A)网状型 (B)层次型 (C)关系型 (D)以上都不是 10、SQL Server 2005 采用的身份验证模式有( D )。

(A)仅Windows身份验证模式 (B)仅SQL Server身份验证模式 (C)仅混合模式

(D)Windows身份验证模式和混合模式

11、SQL Server 2005提供了一整套管理工具和实用程序,其中负责启动、暂停和停止SQL Server的4种服务的是( D )。 (A)查询分析器

(B)导入和导出数据 (C)事件探察器 (D)配置管理器

12、SQL Server 2005中的数据以页为基本存储单位,页的大小为( A )。 (A)8KB (B)16KB (C)32KB (D)64KB 13、SQL Server的字符型系统数据类型主要包括( B )。

A. Int、money、char B. char、varchar、text C. datetime、binary、int D. char、varchar、int

14、在SQL Server 2005中,索引的顺序和数据表的物理顺序相同的索引是( A )。 (A)聚集索引 (B)非聚集索引 (C)主键索引 (D)唯一索引 15、SELECT语句中与HAVING子句通常同时使用的是( C )子句。

A.ORDER BY B.WHERE C.GROUP BY D.无需配合 16、要删除mytable表中的myindex索引,可以使用( D )语句。 (A) DROP myindex

(B)DROP mytable.myindex

(C) DROP INDEX myindex (D)DROP INDEX mytable.myindex

17、假如有两个表的连接是这样的: table_a inner join table_b 其中table_a和table_b是两个具有公共属性的表,这种连接会生成哪种结果集?( D) (A) 包括table_a中的所有行,不包括table_b的不匹配行 (B) 包括table_b中的所有行,不包括table_a的不匹配行 (C) 包括和两个表的所有行

(D) 只包括table_a和table_b满足条件的行

18、下面哪一个不是SQL Server2005的基本数据类型 (A ) A、VARIANT B、VARCHAR C、VARBINARY D、NVARCHAR 19、下面的类型中宽度最大的是 (D )

A、CHAR(5) B、VARCHAR(5) C、NCHAR(5) D、BIGINT 20、下面哪一个约束用来禁止输入重复值? (A ) A、UNIQUE B、NULL C、DEFAULT D、FOREIGN KEY

综合应用题。 一、编程题

有一个“学生-课程”数据库,数据库中包括三个表: (1) “学生”表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,可记为: Student(Sno,Sname,Ssex,Sage,Sdept) Sno 为关键字。

(2) “课程”表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,可记为: Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。

(3) “学生选课”表SC由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,可记为: SC(Sno,Cno,Grade) (SNO, CNO) 为关键字。

完成下列操作:

1. 请把其中建立 “学生”表Student的语句写下来,表Student是由学号Sno、姓名

Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号属性不能为空,并且其值是唯一的。 2. 在student表中查询Sdept是‘计算机’的学生的所有信息,并按Sno降序排列。 3. 在以上三个表中查询Ccredit为5并且Grade大于60的学生的学号、姓名和性别。 4. 查询出课程名称中含有“语言”一词的课程的所有信息。 5. 查询出“C语言”课程成绩前5名的学生的学号、姓名和班级。 6. 查询出各班级学生人数。

7. 查询出“计算机应用基础”课程成绩高于张三同学此门课程成绩的学生的学号和姓名。

1、(共6分)

CREATETABLE Student (1分) (Sno CHAR(5) NOT NULL UNIQUE, (1分) Sname CHAR(20), (1分) Ssex CHAR(1), (1分) Sage INT, (1分) Sdept CHAR(15)); (1分)

2、select * from student where Sdept=’计算机’ order by Sno desc (5分) 1分 1分 1分 2分 3、(共7分) 方法1:

select student.Sno,Sname,Ssex (1分) from student, course, sc (1分)

where (student.Sno=sc.Sno) and (course.Cno=sc.Cno) and (course.Ccredit=5) and (sc.Grade>60) (1+1+1+1+1分) 方法2:

select student.Sno,Sname,Ssex (1分) from student Inner Join (sc Inner Join course On course.Cno=sc.Cno)

On student.Sno=sc.Sno (2分+2分)

where (course.Ccredit=5) and (sc.Grade>60) (1分+1分)