SQL数据库管理及开发试题(N卷) 下载本文

内容发布更新时间 : 2024/5/6 13:13:52星期一 下面是文章的全部内容请认真阅读。

《SQL数据库管理与开发教程与实训》试题(N卷)

一、单项选择题:(每小题1分,共10分)

1.触发器可以创建在( )中。

A. 表 B. 过程 C. 数据库 D. 函数 2.删除表的语句是( )。

A.DROP B.ALTER C.UPDATE D.DELETE 3. 以下触发器是当对[表1]进行( )操作时触发。 Create Trigger abc on 表1 For insert , update , delete As ……

A.只是修改 B.只是插入 C.只是删除 D.修改、插入、删除 4. 规则对象在使用上与( )约束类似。

A.CHECK B.PRIMARY KEY C.FOREIGN KEY D.UNIQU 5.主索引可确保字段中输入值的( )性。

A.多样 B.重复 C.唯一 D.若干 6.关于视图下列哪一个说法是错误的( )。

A.视图是一种虚拟表 B.视图中也保存有数据 C.视图也可由视图派生出来 D.视图是保存在SELECT查询 7.执行带参数的过程,正确的方法为( )。

A. 过程名 参数 B. 过程名(参数) C.过程名=参数 D.A,B,C三种都可以 8.查询毕业学校名称与“清华”有关的记录应该用( )。

A. SELECT * FROM 学习经历 WHERE 毕业学校 LIKE ’*清华*’ B. SELECT * FROM 学习经历 WHERE 毕业学校 = ’%清华%’ C. SELECT * FROM 学习经历 WHERE 毕业学校 LIKE ’?清华?’ D. SELECT * FROM 学习经历 WHERE 毕业学校 LIKE ’%清华%’

9. Select 职工号 FROM 职工 WHERE 工资>1250 命令的功能是( )。

A.查询工资大于1250的纪录 B.查询1250号记录后的记录 C.检索所有的职工号 D.从[职工]关系中检索工资大于1250的职工号 10. 关于关系图下列哪一个是正确的( )。

A.关系图是在同一个表中不同字段之间建立关联 B.关系图是表与表之间建立关联,与字段无关 C.关系图是在不同表中的字段之间建立关联 D.关系图是在不同数据库之间建立关联

二、判断题:(每小题1分,共10分)

1.ODBC是由Microsoft定义的一种数据库访问标准。( ) 2.信息和数据是相对的,有时是可以互相转换的。( ) 3.创建存储过程必须在企业管理器中进行。( )

————————————————————————————————————————————

4.触发器主要是通过表操作事件进行触发而被执行的。( ) 5.主键字段允许为空。( )

6.SQL Server 自动为primary key约束的列建立一个索引。( ) 7.SQL Server的数据库可以转换成Access数据库。( ) 8.删除表时,表中的触发器被同时删除。( ) 9.数据库的名称一旦建立就不能重命名。( )

10.固定数据库角色:db_datarader 的成员可修改本数据库内表中的数据。( )

三、填空题:(每题1分,共计20分)

1.IBM公司的研究人员E.F.Codd连续发表了论文,提出了关系模型,奠定了________管

理系统的基础。

2.数据库的数据模型包含_________、_______和_________三个要素。 3._________可用于实现参数化视图的功能,这种类型的函数在使用参数和扩展索引视图

方面提供了比_________更多的灵活性。

4._________是已经存储在SQL Server服务器中的一组预编译过的Transact-SQL语句。 5.SQL Server 数据库的体系结构也是三级模式结构,但术语与传统的关系模式不同,在

SQL Server 中,_________对应于视图、_______对应于基本表、________对应于存储文件。

6.SQL Server的数据库文件的扩展名为_____、事务日志文件的扩展名为_______。 7.建立和使用________的目的是为了保证数据的完整性。 8.BACKUP命令是对数据库进行__________, RESTORE命令是对数据库进行__________。 9.从最终用户角度来看,数据库应用系统分为单用户结构、主从式结构、分布式结构、

____________结构和 ____________结构。

10.对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的_________。 11.SQL Server 2000的安全性分为两类: _______安全性和_______安全性。

四、简述题(每小题5分,共20分)

1.什么是数据库管理系统?它的主要功能是什么? 2.什么是数据完整性?完整性有哪些类型? 3.

4.存储过程与触发器有什么不同?

五、阅读下列程序,说明它们的功能。(每题4分,共20分)

1.

use 成绩数据库

If exists ( select name from sysobjects Where name=’student_inf’ and type=’p’) Drop procedure student_inf Go

Create procedure student_info as Select 学号, 姓名, 总学分 from xsqk 2.

use 成绩数据库

CREATE TRIGGER abc ON [dbo].[XSCJ] FOR UPDATE AS

————————————————————————————————————————————

if update(成绩) update xscj

set xscj.学分=(select 学分 from xskc where deleted.课程号=xskc.课程号)

from xscj,xskc,deleted where xscj.成绩>=60 and deleted.学号=xscj.学号 and deleted.课程号=xscj.课程号 3.

use 教学成绩管理数据库 go

alter table 学生信息表

add email varchar(20) null, 学历 text, 照片 image 4.

use 教学成绩管理数据库

select 姓名, 性别, 年龄=datediff(year,出生日期,getdate()) from 学生信息表

where (datediff(year,出生日期,getdate())=20) and (性别='女') 5.

use 教学成绩管理数据库

select 教学成绩表.学号,姓名,sum(分数) 总分,avg(分数) 均分 from 学生信息表 join 教学成绩表 on 学生信息表.学号 = 教学成绩表.学号 group by 教学成绩表.学号,姓名 order by avg(分数) desc

六、设计题(每小题4分,共20分)

现有关系数据库如下: 数据库名:学生成绩数据库

学生表(班级编号,学号,姓名,性别,民族,身份证号,出生日期) 课程表(课程号,课程名,开课学期,学时) 成绩表(ID,学号,课程号,分数)

用SQL语言实现下列功能的sql语句代码:

1.查询学生信息表中的年龄(重复年龄只显示一次)

2.从学生信息表和教学成绩表中查询查询学生的学号、姓名、课程名和分数 3.从课程表中统计第二学期的总学时。 执行结果为:

课程好 课程名 开课学期 学时 … … … … … … … …

————————————————————————————————————————————