目录

  • 第1单元    数据库系统导论
    • ● 任务1.1  数据库基本概念
    • ● 任务1.2  设计E—R 图
    • ● 任务1.3   将E-R图转换成关系模型
    • ● 任务1.4   练习与作业
    • ● 教与学参考资源
  • 第2单元   认识SQL SERVER数据库
    • ● 任务2.1 数据库应用场景
    • ● 任务2.3  SQL  Server 数据库安装
    • ● 任务2.4 SQL Server 的管理
    • ● 任务2.5  使用SSMS连接数据库
    • ● 教与学参考资源
  • 第3单元  创建和管理数据库
    • ● 任务3.1 创建数据库
    • ● 任务3.1(2)  命令创建数据库
    • ● 任务3.2 管理数据库
    • ● 任务3.2(2) 查看、收缩数据库
    • ● 教与学参考资源
  • 第4单元 创建和管理数据库表
    • ● 任务4.1 SQL Server常用数据类型
    • ● 任务4.2  创建数据表
    • ● 任务4.3  命令创建表
    • ● 任务4.4 实施完整性约束
    • ● 教与学参考资源
  • 第 5 单元   查询数据表
    • ● 任务5.1 单表数据查询
    • ● 任务5.2 多表数据查询
    • ● 任务5.3 嵌套查询
    • ● 任务5.4 合并查询结果
    • ● 教与学参考资源
  • 第6单元  管理表中数据
    • ● 任务6.1   添加数据
    • ● 任务6.2  修改数据
    • ● 任务6.3  删除数据
    • ● 习题与训练
    • ● 教与学参考资源
  • 第7单元  使用索引和视图
    • ● 任务7.1  使用索引
    • ● 使用T-SQL创建索引
    • ● 任务7.2  使用视图
    • ● 使用T-SQL语句创建视图
    • ● 教与学参考资源
  • 第8单元 Transact-SQL语言编程
    • ● 任务8.1   声明和使用变量
    • ● 任务8.2   流控语句
    • ● 任务8.3   常用系统函数
    • ● 任务8.4   创建自定义函数
    • ● 教与学参考资源
  • 第9单元  事务和锁
    • ● 任务   9.1     事务
    • ● 事务的基本操作
    • ● 任务9.2    锁
    • ● 死锁及避免方法(例)
    • ● 教与学参考资源
  • 第10单元  创建和管理存储过程
    • ● 任务10.1 存储过程及优点
    • ● 任务10.2 创建和执行存储过程
    • ● 任务10.3   存储过程参数和返回值
    • ● 任务10.4 修改、删除、 重新编译存储过程
    • ● 教与学参考资源
  • 第11单元 创建和管理触发器
    • ● 任务1 触发器的作用和分类
    • ● 任务2 触 发器的创建与执行
    • ● 任务3 创建级联触发器
    • ● 任务4 修改、删除触发器
  • 第12单元 创建和使用游标
    • ● 任务1  游标的作用及使用步骤
    • ● 任务2  创建基本游标
    • ● 任务3  使用变量保存游标数据
    • ● 任务4  使用循环环提取游标数据
  • 第13单元 SQL Server用户管理
    • ● 任务1数据库安全管理概述
    • ● 任务2SQL Server 安全机制
    • ● 任务3 账号、角色及权限管理
    • ● 任务4数据库完整性管理
    • ● 任务5 数据库的备份与还原
    • ● 任务6   数据的导入与导出
  • 第14单元  综合应用案例
    • ● 概述
    • ● 需求分析
    • ● 概述设计-逻辑设计- 物理设计
    • ● 编写数据库设计说明书
  • 学生做项目成果展示
    • ● 项目一  设计《我班同学数据库》
    • ● 项目二  设计《(Teaching)教学数据库》
    • ● 项目三  数据库应用系统设计开发项目
    • ● 项目四 《华夏-宿舍管理系统》设计开发
    • ● 项目五   综合实训大作业
    • ● 综合实训团队项目大作业
    • ● 学生完成项目摘录展示
  • 总复习与综合训练
    • ● 总复习
    • ● 综合训练一
    • ● 综合训练二
    • ● 综合训练三
    • ● 综合训练四
    • ● 综合训练五
    • ● 简答综合训练
  • 在线专题测验
    • ● 自检自测一
    • ● 自检自测二
  • 拓展   数据库管理工具平台  Navicat
    • ● 关于Navica
    • ● Navicat 的系统需求
    • ● Navicat 的用户界面
    • ● Navicat 创建数据库对象
    • ● 在Navicat创建的SQL 程序脚本
    • ● 在Navicat创建的SQL  server 脚本(2)
    • ● 综合实训(1)
    • ● 综合实训(2)
  • 技术拓展   (MYSQL)数据库技术与应用
    • ● MYSQL技术
  • 教与学图片剪影
    • ● 教学团队
    • ● 学生学习实训
    • ● 活动与交流
综合训练四

SQL数据库技术》综合训练自测试题 (D卷)


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

1.数据库应用系统是由数据库、数据库管理系统(及其开发工具)、应用系统、(  )和用户构成。

A.DBMS                         B.DB

C.DBS                          D.DBA

2.数据库管理系统的英文缩写是(     )。

A.DBMS                         B.DBS

C.DBA                          D.DB

3.在关系运算中,选取符合条件的元组是(     )运算。

A.除法                         B.投影

C.连接                         D.选择

4.数据库设计中的逻辑结构设计的任务是把(    )阶段产生的概念数据库模式变换为逻辑结构的数据库模式。

A.需求分析                     B.物理设计

C.逻辑结构设计                 D.概念结构设计

5.一个规范化的关系至少应当满足(     )的要求。

A.一范式                       B.二范式

C.三范式                       D.四范式

6.在实际数据库设计中,“学号”通常作为(     )存在。

A.数据结构                     B.数据存储

C.数据项目                     D.处理过程

7.SQL Server 2000中删除表中记录的命令是(     )。

A.DELETE                       B.SELECT

C.UPDATE                       D.DROP

8.运行命令SELECT ASCII(‘Alklk’) 的结果是(     )。

A.48                           B.32

C.90                           D.65

9.在SQL中,建立视图用的命令是 (      )。

A.CREATE SCHEMA                 B.CREATETABLE

C.CREATE VIEW                   D.CREATEINDEX

10.在MS SQL Server中,用来显示数据库信息的系统存储过程是(       )。

A. sp_dbhelp                    B.sp_db

C. sp_help                      D.sp_helpdb

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

1.连接、选择和投影三种关系运算具有相同的结果。

2.数据的安全性主要防范的对象是合法用户。

3.数据库设计前只需选择数据库分析设计人员。

4.恢复是利用冗余数据来重建数据库。

5.定义外键级级联是为了保证相关表之间数据的一致性吗?

6.创建唯一性索引的列可以有一些重复的值?

7.存储过程的输出结果可以传递给一个变量。

8.视图具有与表相同的功能,在视图上也可以创建触发器。

9.能在游标中删除数据记录。

10.SQL Server 2000不具有数据的导入与导出功能。

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

1.数据库三个要素是__________、__________和_____________。

2.语句 select year('1931-9-18')的执行结果是____________。

3.__________是指保证指定列的数据具有正确的数据类型、格式和有效的数据范围。

4.__________是特殊类型的存储过程,它能在任何试图改变表中由触发器保护的数据时执行。

5.事务(Transaction)可以看成是由对数据库的若干操作组成的一个单元,这些操作要么______,要么________(如果在操作执行过程中不能完成其中任一操作)。

6.SQL Server 2000 采用的身份验证模式有________________模式和________模式。

7.用户访问SQL Server数据库时,经过了两个_______验证和________验证安全验证阶段。

8.SQL Server 提供的数据库备份方法有_______数据库备份和________数据库备份、____________备份和________________备份。

9.SQL Server代理主要由______、______和警报来组成。

10.SQL Server复制把服务器分为______服务器、______服务器和订阅服务器三种。

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

1.  试述关系的含义和性质。(7分)

2.什么是事务?(6分)

3.  事务控制语句的使用方法是什么?(7分)

五、设计题(1—6题每空2分,第7题10分,共40分)

1.计算1+2+3+……+100的和,并使用PRINT显示计算结果。

DECLARE @I int@sum int@csum char(10)

SELECT @I=1@sum=0

WHILE  @I<=________

   BEGIN

      SELECT @sum = __________

      SELECT@I=@I+1

   END

   SELECT @csum=convert(char(10),@sum)

   __________ ’1+2+3+……+100=’ + @csum

2.使用SQL语句创建一个班级表CLASS,属性如下:CLASSNO,DEPARTNO,CLASSNAME;类型均为字符型;长度分别为8、2、20且均不允许为空。

CREATE ________ CLASS

(CLASSNO ______ (8) NOTNULL,

 DEPARTNO CHAR (2) NOT NULL,

 CLASSNAMECHAR (____) NOT NULL

3.声明一个名为CRSCOURSE的游标,并利用游标遍历,显示整个结果集。

USE XK

DECLARE  @COUNO VARCHAR(3),@COUNAME  VARCHAR(20)

_________________________

FOR SELECT COUNO,COUNAMEFROM COURSE ORDER BY COUNO

_________________________

FETCH NEXT FROM CRSCOURSEINTO @COUNO,@COUNAME

WHILE @@FETCH_STATUS=0

BEGIN

   PRINT ’课程号:’+ @COUNO +’课程名称:’+ @CouName

   FETCH NEXT FROM CRSCOURSE INTO@COUNO,@COUNAME

END

_________________________

DEALLOCATE CRSCOURSSE

4.使用SQL语句在XK数据库中创建一个名为V_STUDENT的视图,该视图仅查看“STUDENT”表中“00电子商务”班的学生信息。

USE XK

CREATE ____________V_STUDENT

AS

SELECT  *

FROM ____________

WHERE CLASSNO=’20000001’

 5.使用SQL语句在XK数据库中创建一个名为P_STUDENT的存储过程,该存储过程返回“STUDEND”表中所有班级代码为200000001的记录。

USE  XK

CREATE  ____________ P_STUDENT

AS

SELECT  *

____________ STUDENT

WHERE CLASSNO=’20000001’

6.创建触发器TEST,要求每当在STUDENT表中修改数据时,将向客户端显示一条“记录已修改”的消息。

USE  XK

_________________                               

ON STUDENT

_________________                               

AS

PRINT  ‘记录已修改

7.定义事务向[学生]数据库的[选课表]中插入学号=‘20030021’的多条记录,并检验若报名课程超过4门,则回滚事务,即报名无效,否则成功提交。

选课表(学号,课号,报名号)

假设要插入的记录为以下三条:

‘20030021’,‘01’,1   ‘20030021’,‘02’,2    ‘20030021’,‘03’,3

根据以上要求编写程序,并指出本题定义的事务是否成功提交。

 

 

 

 


SQL数据库技术》综合训练自测试题 (D卷)参考答案

 

一、单项选择题 

1.D  2.A 3.D 4.D 5.C 6.C 7.D 8.D 9.C 10.D

二、判断题

1.N  2.N 3.N 4.Y 5.Y 6.N 7.Y 8.N 9.Y 10.N

三、填空题

1数据结构、数据操作、完整性约束

21931

3.域完整性

4.触发器

5都完成都取消

6Windows身份验证混合

7身份、权限

8.完整、差异、事务日志、文件和文件组

9操作员、作业

10.发布、分发

四、简述题

1关系是笛卡尔积的有意义的子集,用二维表格表示;

关系的性质如下:

关系表中的每一列都是不可再分的基本属性;

表中的各属性不能重名;

表中的行、列次序不分前后;

表中的任意两行不能完全相同。

2事务(Transaction)可以看成是由对数据库若干操作组成的一个单元,这些操作要么都完成,要么都取消(如果在操作执行过程中不能完成其中任一操作)。在SQL Server 2000中,事务是由一条或者多条Transact-SQL语句组成的一个工作单元,这些语句要么都正常执行,要么如果有其中任意一条语句执行失败被取消的话,这些语句的执行都被取消。SQL利用事务机制保证数据修改的一致性,并且在系统出错时确保数据的可恢复性。

3务控制语句的使用方法

begin transaction

   ……         --  A组语句序列

save transaction 保存点1

   ……         --  B组语句序列

if @@error <>0

   rollback transaction 保存点1   --回滚到:保存点1

else

   commit transaction      --提交A组语句,同时如果未回滚B组语句则提交B组语句。

 

五、设计题

1.100     @sum+@i      print

2.table    char    20

3.Declarecrscourse cursor

open crscourse

close crscourse

4.view

student

5.procedure

from

6.Altertrigger test

for update

7 Use 学生

Begin  transaction

Insert  选课表(学号,课程号,报名号) values(‘20030021,‘011)

Insert  选课表(学号,课程号,报名号) values(‘20030021,‘022)

Insert  选课表(学号,课程号,报名号) values(‘20030021,‘033)

Declare  @num int

Set@num=(select count(*) from 选课表 where 学号=‘20030021’)

If  @num>4

begin

  Rollback transaction

  Print ‘超过报名门数!

end

Else

Begin

Commit  transaction

Print‘报名成功!

end

go

本题定义的事务成功提交。