《数据库原理与应用》课后习题参考答案 下载本文

将两者的功能相结合起来,是目前解决这个问题的实现途径。这样使用的 SQL 称为嵌入式 SQL(Embedded SQL,ESQL)。

5)DBMS 通过游标(Cursor)提供了一种从记录集中逐一访问记录的灵活手段。就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与一条 SQL 选择语句(Select)相关联。Transact_SQL 游标是由 DECLARE CURSOR 语法定义,主要用在 Transact_SQL 脚本、存储过程和触发器中。Transact_SQL 游标主要用在服务器上,由从客户端发送给服务器的 Transact_SQL 语句或是批处理、存储过程、触发器中的

Transact_SQL 进行管理。 Transact_SQL 游标不支持提取数据块或多行数据。

6)存储过程是一组已被编辑在一起的,存储在服务器上的,执行某种功能的预编译 SQL 语句。它是一种封装重复任务操作方法,支持用户提供的参数变量,具有强大的编程能力。存储过程非常类似于 DOS 系统中的批处理文件。它将完成某项任务的许多 SQL 语句写在一起,组成命令集合的形式,然后通过执行该存储过程就可以完成相应的任务。

优点:加快程序的执行速度、减少网络的流量、提供一种安全机制、允许程序模块化设计、提高编程的灵活性

7)从本质上看,触发器是一种特殊的存储过程,它不同于我们前面介绍过的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。触发器在插入、删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。当使用 INSERT、DELETE、UPDATE 命令对触发器所保护的数据进行修改时,触发器能够被自动激

活,从而确保对数据的处理必须符合由这些 SQL 语句所定义的规则。它除了能够完成复杂的完整性约束以外,还可以在主动数据库(Active Database)

的应用中对不同的外部事件做出及时反应。

作用:维护约束:前面讨论了触发器可以用于维护外码和语义约束。这种类型的触发器通常形式是使用 ON DELETE 和 ON UPDATE 子句。

业务规则:业务是对基本规则简洁的正式陈述,这些基本规则是企业中业务运作的基础。监控:由于在数据库中每条新记录的插入都是一个事件,触发器可以间接地用于监控这些对象的状态。

辅助高速缓存数据的维护:物化视图(MATERIALIZED VIEW)是这类应用的实例。每当物化视图的基础表发生改变时,与该基础表相连的触发器就会更新物化视图。

简化应用设计:将核心编程逻辑从异常处理中分离出来,可以相当大地简化某些应用。若异

常可以被模型化为数据库中的更新操作,则触发器是此类应用的理想实现途径。

CREATE TRIGGER 触发器名称 ON { table | view } { { { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [DELETE ] } AS

}

}