1 / 33
文档名称:

完整性的要求数据库中数据的正确性、相容性约束的实现....ppt

格式:ppt   页数:33
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

完整性的要求数据库中数据的正确性、相容性约束的实现....ppt

上传人:薄荷牛奶 2014/8/18 文件大小:0 KB

下载得到文件列表

完整性的要求数据库中数据的正确性、相容性约束的实现....ppt

文档介绍

文档介绍:完整性的要求
数据库中数据的正确性、相容性
约束的实现
DBMS支持对约束的声明
for data
使用触发器(触发程序)
for action (event)
SQL中的约束和触发程序
约束是基于数据变化的
Trigger则是基于对表的操作(动作)的
当指定的表上发生特定的操作,系统便激活Trigger程序
大部分DBMS产品均支持Trigger
触发器类型
Insert / Update / Delete
Before / After
举例:
CREATE TRIGGER reminder
ON titles
FOR INSERT, UPDATE, DELETE
AS
EXEC master..xp_sendmail 'MaryM',
'Don''t forget to print a report for the distributors.'
GO
触发器可以强制比用 CHECK 约束定义的约束更为复杂的约束。与 CHECK 约束不同,触发器可以引用其它表中的列。
触发器可通过数据库中的相关表实现级联更改;不过,通过级联引用完整性约束可以更有效地执行这些更改。
触发器也可以评估数据修改前后的表状态,并根据其差异采取对策。
一个表中的多个同类触发器(INSERT、UPDATE 或 DELETE)允许采取多个不同的对策以响应同一个修改语句。
激发一个外部动作
触发器的用途
存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名称并给出参数(如果该存储过程带有参数)来执行它。
存储过程(Stored Procedure)
允许模块化程序设计,含有控制语句
存储过程能够实现较快的执行速度
存储过程能够减少网络流量
存储过程可被作为一种安全机制来充分利用
存储过程-示例
Create Procedure update_dept (IN old_dept_num INT,
IN new_dept_num INT,
IN new_dept_name Char(20),
IN new_dept_head_id INT)
BEGIN ATOMIC
Insert Into Department
(dept_id,dept_name, dept_head_id)
Values (new_dept_num, new_dept_name, new_dept_head_id);
Update employee
Set dept_id = new_dept_num
Where dept_id=old_dept_num;
Delete From department
Where dept_id=old_dept_num;
END
Execute update_dept 123,212,’cs’,’98001’
数据访问接口
交互式SQL
嵌入的SQL
CLI和ODBC、JDBC
OLE DB
嵌入式SQL
宿主语言
处理复杂运算,执行复杂过程
丰富的库函数
数据库访问的困难
嵌入的SQL
方便的数据库访问
事务处理能力
上下文无关,无法处理复杂过程
嵌入式SQL
处理复杂过程
宿主语言
访问数据库
嵌入的SQL语句
嵌入式SQL
宿主语言与嵌入的SQL语句
不同的体系
DB厂商提供库函数
需对SQL语句进行预编译宿主语言的体系
SQL语句宿主语言的函数调用(参数)
统一编译目标程序
嵌入式SQL语句
由EXEC SQL引导、以‘;’结尾
EXEC SQL Delete From 学生;