数据库系统原理-第七章 约束与触发器精要.ppt

数据库系统原理-第七章 约束与触发器精要.ppt

数据库系统原理-第七章 约束与触发器精要

第7章 约束与触发器;SQL中约束种类;在第二章中已经介绍了SQL中通过保留字PRIMARY KEY或UNIQUE来定义一个属性或一组属性为关系的键。如:;键key是最重要的约束。每个表都必须确定自己的键。 每个表都可能有多个属性集可作为键,称为“候选键candidate key”。 一个表只能确定一个主键(Primary Key)。 若某个属性说明为Unique,则它是一个候选键。 若关系的某个属性说明为外键,则该属性出现的值,一定会在另一个关系的主键中出现。;7.1 键与外键; 举例;声明外键的方法;举例;举例;举例;举例;声明外键的方法;举例;举例;举例;外键约束声明;维护引用完整性;Restrict限制(缺省);Cascade级联;Set Null置空;维护引用完整性策略的语法;例子;“悬挂元组” dangling tuples ;延迟约束检查;延迟约束检查;延迟约束检查;练习;SQL的CREATE TABLE语句中还可以声明两种其他约束: ① 在单一属性上的约束; ② 在整个元组上的约束。 7.2.1 非空值约束 7.2.2 基于属性的CHECK约束 7.2.3 基于元组的CHECK约束;属性值约束;非空约束;举例;基于属性的Check约束;例子;基于属性的Check约束;基于元组的Check约束;基于元组和基于属性约束的比较;练习;*;*;*;*;*;*;SQL标准提出了一种强制任何条件的简单的断言形式,与check类似,但其用于关系之间的约束。 断言的定义为 CREATE ASSERTION 断言名 CHECK(条件) 当建立断言时,断言的条件必须是真,并且要永远保持为真。任何引起断言条件为假的数据库更新都被拒绝。;断言使用;例子;例子;约束的比较;练习;触发器是什么? 基于特定事件触发的特定的约束检验。 一个触发器trigger是存储在某个表中的一个命名的数据库对象。当该表进行某种数据更新时,将自动触发一组SQL语句的执行。 注意:各种商业数据库可能使用不同语法。;触发器(trigger);事件-条件-动作规则 ;SQL中的触发器特征;*;*;*;*;*;*;*;*;*;*;*;*;*;使用触发器的注意点

文档评论(0)

1亿VIP精品文档

相关文档