1、 ———————— 装 —————————— 订 ———————— 线 ———————— 辽源职业技术学院考试答案(五) 20 –20 学年第 学期期 《数据库SQL Server》考试试卷 命题教师: 审批人: 考试方式:笔试 答题时间 60 分钟 考生人数: 人 题号 一 二 三 四 五 六 七 八 九 总分 标准分 20 30 18 32 100 一、选择题(10*2分=20分) 1.数据库管理系统、操作系统、应用软件的层次关系从核心到
2、外围分别是( B ) A.数据库管理系统、操作系统、应用软件 B.操作系统、 数据库管理系统、应用软件 C.数据库管理系统、应用软件、操作系统 D.操作系统、应用软件、数据库管理系统 2.只有( C )才能作为文件组的成员。 A.日志文件 B.索引文件 C.数据文件 D.备份文件 3. 下列四项中说法不正确的是( B ) A.数据库减少了数据冗余 B.数据库避免了一切数据的重复 C.数据库中的数据可以共享 D.数据库具有较高的数据独立性
3、 4.表示职称为副教授同时性别为男的表达式为( B ) A. 职称='副教授' OR 性别='男' B. 职称='副教授' AND 性别='男' C. IN ('副教授','男') D. BETWEEN '副教授' AND '男' 5. 下面哪个不是SQL Server 的合法标识符( C ) A. a12 B. @a12 C. 12a D. #qq 6.对一个已创建的表,( B )操作是不可以的。 A.修改
4、已有列的属性 B.将已有text数据类型修改为image数据类型 C.更改表名 D.增加或删除列 7.命令SELECT s_no,AVG (grade) AS ‘平均成绩’ FROM score GROUP BY s_no HAVING AVG (grade )>=85,表示( A ) A.找score 表中平均成绩在85 分以上的学生的学号和平均成绩 B.查找score 表中各科成绩在85 分以上的学生的学号和平均成绩 C.查找score 表中各科成绩在85 分以上的学生 D.查找平均成绩在85分以上的
5、学生 8.某数据表已经将列F定义为主关键字,则以下表述中错误的是( B ) A.列F的数据是有序排列的 B.当为其他列建立非聚集索引时,将导致此数据表的记录重新排列 C.不能再给此数据表建立聚集索引 D.列F的数据在整个数据表中是唯一存在的 9.下面关于存储过程的描述不正确的是( D ) A.存储过程实际上是一组T-SQL语句 B.存储过程可以完成某一特定的业务逻辑 C.存储过程独立于数据库而存在 D.存储过程预先被编译存放在服务器的系统表中 10.以下关于默认值的表述,正确的是( B ) A.在表中添加新列时,如果没有指明值.可以使用默认值 B.可以
6、绑定到表列,也可以绑定到数据类型 C.可以响应特定事件的操作 D.以上表述都正确 二、填空题(15*2分=30分) 1.数据库系统的三级模式结构和两级数据映像确保了数据的(逻辑)独立性和( 物理 )独立性。 2.语句 select floor(17.4), floor(-214.2), round(13.4382,2), round(-18.4562,3)的执行结果是: ( 17)、( -215 )、( 13.44000 )和( -18.4560 )。 3.SQL Server 2000 以( # )开头的标识符,表示临时表或过程; 4.T-SQL 语言中,有( 算术 )运
7、算、字符串连接运算、( 关系 )运算和(逻辑)运算。 5.Left join 运算是(左外部连接)。 6.完整性约束包括( 实体)完整性、( 域)完整性、参照完整性和用户定义完整性。 7. SQL Server 2000 采用的身份验证模式有(Windows身份验证)模式和(混合 )模式。 三、简答题(3*6分=18分) 1.举例说明在定义一个表结构时,需定义哪些方面的内容? create table student(s_no char(5) primary key, s_name char(8) not null, s_age int) 此SQL创建一个表
8、student,三个字段,指定了字段名称和数据类型,设置s_no为主键,s_name字段设置了非空约束。 2.数据库包含哪些后缀名的文件?这些文件分别存放什么信息? (1).mdf主要数据文件:包括数据库对象,可用作存储系统表和对象,该文件包含数据库的启动信息,并用于存储数据。 (2).ndf次要数据文件:用作存储用户数据和对象。 (3).ldf事务日志文件:包含用于恢复数据库的日志信息。 3.简述触发器的作用及触发器的触发方式? 触发器是一种特殊类型的存储过程,它在指定的表中的数据发生变化时自动生效。触发器被调用时自动执行INSERT、UPDATE、DELETE语句和SE
9、LETE语句,实现表间的数据完整性和复杂的业务规则。触发器的触发方式:after触发、instead of触发。 四、程序题(32分,1-4题各6分,5题8分) 数据表:information(s_no(学号),s_name(姓名),s_age(年龄),s_sex(性别),s_birth(出生日期)) Score(c_no(课程号),c_name(课程名),s_no(学号),grade(成绩)) 1、查询所有女学生记录,并按出生日期降序排序。 select * from information Where s_sex=’女’ Orde
10、r by s_birth desc 2、查询每名学生的平均成绩。 select s_no,avg(grade) From score Group by s_no 3、向score表中插入一条记录(‘s06’,‘计算机基础’,‘01’,85) insert into score(c_no,c_name,s_no,grade) Values(‘s06’,‘计算机基础’,‘01’,85) 4、查询年龄在20-25范围内的学生信息。 select * from information Where s_age between 20 and 25 5、编写存储过程up_sum,实现计算1!+2!+…+N! create proc up_sum(@n int) Declare @nn int , @i int,@sum int Set @nn=1 Set @sum=0 Set @i=1 While @i<=@n Begin Set @nn=@nn*@i Set @i=@i+1 Set @sum=@sum+@nn End Print ‘1!+2!+…+N!的值是’+str(@sum) End






