ImageVerifierCode 换一换
格式:PPT , 页数:79 ,大小:1.05MB ,
资源ID:8179418      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-8179418.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库第五章.ppt)为本站会员(hskm5268)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

数据库第五章.ppt

1、辽宁工程技术大学软件学院,数据库系统概论,An Introduction to Database System,An Introduction to Database System,数据库系统概论 An Introduction to Database System第五章 数据库完整性,An Introduction to Database System,数据库完整性,数据库的完整性 数据的正确性和相容性 数据的完整性和安全性是两个不同概念 数据的完整性 防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据 防范对象:不合语义的、不正确的数据 数据的安全性 保护数据库防止恶意的

2、破坏和非法的存取 防范对象:非法用户和非法操作,An Introduction to Database System,数据库完整性(续),为维护数据库的完整性,DBMS必须: 1. 提供定义完整性约束条件的机制 数据库中数据必须满足的语义约束条件 实体完整性、参照完整性、用户定义的完整性 SQL的DDL语句来实现 它们作为模式的一部分存入数据字典中,An Introduction to Database System,数据库完整性(续),2. 提供完整性检查的方法 DBMS中检查数据是否满足完整性约束机制 一般在INSERT、UPDATE、DELETE语句执行后开始检查 也可在事务提交时检查

3、检查用户发出的操作请求是否违背了完整性约束条件,An Introduction to Database System,数据库完整性(续),3. 违约处理 如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性 如拒绝(NO ACTION)执行该操作 或级连(CASCADE)执行其他操作,An Introduction to Database System,数据库完整性(续),目前商用的DBMS产品都支持完整性控制 完整性定义和检查控制由DBMS实现 不必由应用程序实现 由应用程序来实现完整性控制是有漏洞的,An Introduction to Database S

4、ystem,第五章 数据库完整性,5.1 实体完整性5.2 参照完整性5.3 用户定义的完整性5.4 完整性约束命名字句 *5.5 域中的完整性限制5.6 触发器5.7 小结,An Introduction to Database System,5.1 实体完整性,5.1.1 实体完整性定义 5.1.2 实体完整性检查和违约处理,An Introduction to Database System,5.1.1 实体完整性定义,关系模型的实体完整性 CREATE TABLE中用PRIMARY KEY定义 单属性构成的码有两种说明方法 定义为列级约束条件 定义为表级约束条件 对多个属性构成的码只有

5、一种说明方法 定义为表级约束条件,An Introduction to Database System,实体完整性定义(续),例1:将Student表中的Sno属性定义为码。 (1)在列级定义主码CREATE TABLE Student (Sno CHAR(9)PRIMARY KEY,Sname CHAR(20)NOT NALL,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20);,An Introduction to Database System,实体完整性定义(续),(2)在表级定义主码CREATE TABLE Student(Sno CHAR(9), S

6、name CHAR(20)NOT NULL,Ssex CHAR(2), Sage SMALLINT,Sdept CHAR(20),PRIMARY KEY (Sno) );,An Introduction to Database System,实体完整性定义(续),例2:将SC表中的Sno,Cno属性组定义为码。CREATE TABLE SC(Sno CHAR(9)NOT NULL, Cno CHAR(4)NOT NULL, Grade SMALLINT, PRIMARY KEY (Sno,Cno) );,只能在 表级定义主码,An Introduction to Database System

7、,5.1 实体完整性,5.1.1 实体完整性定义 5.1.2 实体完整性检查和违约处理,An Introduction to Database System,5.1.2 实体完整性检查和违约处理,每当用户程序对基本表插入一条记录或对主码列进行更新操作时,RDBMS按照实体完整性规则自动进行检查。包括: 1. 检查主码值是否唯一,如果不唯一则拒绝插入或修改 2. 检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改,An Introduction to Database System,实体完整性检查和违约处理(续),检查记录中主码值是否唯一的一种方法是进行全表扫描,An Introduct

8、ion to Database System,实体完整性检查和违约处理(续),RDBMS在主码上自动建立一个索引,B+树索引检查主码唯一性,An Introduction to Database System,第五章 数据库完整性,5.1 实体完整性5.2 参照完整性5.3 用户定义的完整性5.4 完整性约束命名字句 *5.5 域中的完整性限制5.6 触发器5.7 小结,An Introduction to Database System,5.2 参照完整性,5.2.1 参照完整性定义 5.2.2 参照完整性检查和违约处理,An Introduction to Database System,

9、5.2.1 参照完整性定义,关系模型的参照完整性定义 在CREATE TABLE中用FOREIGN KEY短语定义哪些列为外码 用REFERENCES短语指明这些外码参照哪些表的主码,An Introduction to Database System,参照完整性定义(续),例3:定义SC中的参照完整性。CREATE TABLE SC(Sno CHAR(9)NOT NULL, Cno CHAR(4)NOT NULL, Grade SMALLINT,PRIMARY KEY(Sno,Cno), FOREIGN KEY(Sno)REFERENCES Student(Sno), FOREIGN KEY

10、(Cno)REFERENCES Course(Cno) );,在表级定义实体完整性,在表级定义参照完整性,An Introduction to Database System,5.2 参照完整性,5.2.1 参照完整性定义 5.2.2 参照完整性检查和违约处理,An Introduction to Database System,5.2.2 参照完整性检查和违约处理,对被参照表和参照表进行增删改操作时有可能破坏参照完整性,必须进行检查 对表SC和表Student有四种可能破坏参照完整性的情况: 1. SC表中增加一个元组,该元组的Sno属性的值在表Student中找不到一个元组,其Sno属性值

11、与之相等 2. 修改SC表中的一个元组,修改后该元组的Sno属性的值在表Student中找不到一个元组,其Sno属性值与之相等,An Introduction to Database System,参照完整性检查和违约处理(续),3. 从Student表中删除一个元组,造成SC表中某些元组的Sno属性的值在表Student中找不到一个元组,其Sno属性值与之相等 4. 修改Student表中一个元组的Sno属性,造成SC表中某些元组的Sno属性的值在表Student中找不到一个元组,其Sno属性值与之相等,An Introduction to Database System,参照完整性检查和违

12、约处理(续),可能破坏参照完整性的情况及违约处理,An Introduction to Database System,参照完整性检查和违约处理(续),参照完整性违约处理 1. 拒绝(NO ACTION)执行 默认策略 2. 级联(CASCADE)操作 当删除或修改被参照表(Student)的一个元组造成了与参照表(SC)的不一致,则删除或修改参照表中的所有造成不一致的元组。 例如,删除Student表中的元组,Sno值为200215121,则要从SC表中级连删除SC.Sno=200215121的所有元组,An Introduction to Database System,参照完整性检查和违

13、约处理(续),3. 设置为空值(SET-NULL) 当删除或修改被参照表的一个元组造成了不一致,则将参照表中的所有造成不一致的元组的对应属性设置为空值 例如,学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名) 专业表中某个元组(专业号=12)被删除,就要把学生表中专业号=12的所有元组的专业号设为空值 语义:某个专业删除了,该专业的所有学生专业未定,等待重新分配专业,An Introduction to Database System,参照完整性检查和违约处理(续),外码能否接受空值 例如,在学生-选课数据库中 Student关系为被参照关系,其主码为Sno SC为参照关系,Sno

14、为外码 若SC的Sno为空值,则表明尚不存在的某个学生,或者某个不知学号的学生,选修了某门课程,成绩记录在Grade列中 这与实际不相符,SC的Sno列不能取空值,同样Cno列也不能取空值 对于参照完整性,除了应该定义外码,还应定义外码列是否允许空值,An Introduction to Database System,参照完整性检查和违约处理(续),一般的,当对参照表和被参照表的操作违反了参照完整性,系统选用默认策略,即拒绝执行 如果想让系统采用其他的策略则必须在创建表的时候显式的加以说明,An Introduction to Database System,参照完整性检查和违约处理(续),

15、例4:显式说明参照完整性的违约处理示例。CREATE TABLE SC(Sno CHAR(9) NOT NULL,Cno CHAR(4) NOT NULL,Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno)REFERENCES Student(Sno)ON DELETE CASCADEON UPDATE CASCADE, FOREIGN KEY(Cno)REFERENCES Course(Cno) ON DELETE NO ACTION ON UPDATE CASCADE );,当删除Course 表中的元组造成了与SC表不一致时拒绝删除,

16、当更新Course表中的Cno时,级联更新SC表中相应的元组,当删除Student表中的元组时,级连删除SC表中相应的元组,当更新Student表中的Sno时,级连更新SC表中相应的元组,在表级定义实体完整性,在表级定义参照完整性,在表级定义参照完整性,An Introduction to Database System,第五章 数据库完整性,5.1 实体完整性5.2 参照完整性5.3 用户定义的完整性5.4 完整性约束命名字句 *5.5 域中的完整性限制5.6 触发器5.7 小结,An Introduction to Database System,5.3 用户定义的完整性,用户定义的完整性

17、就是针对某一具体应用的数据必须满足的语义要求 RDBMS提供定义和检验这类完整性的机制,使用了和实体完整性、参照完整性相同的技术和方法来处理它们,而不必由应用程序承担,An Introduction to Database System,5.3 用户定义的完整性,5.3.1 属性上的约束条件的定义 5.3.2 属性上的约束条件检查和违约处理 5.3.3 元组上的约束条件的定义 5.3.4 元组上的约束条件检查和违约处理,An Introduction to Database System,5.3.1 属性上的约束条件的定义,CREATE TABLE时定义 列值非空(NOT NULL短语) 列值

18、唯一(UNIQUE短语) 检查列值是否满足一个布尔表达式(CHECK短语),An Introduction to Database System,属性上的约束条件的定义(续),1. 不允许取空值 例5:在定义SC表时,说明Sno、Cno、Grade属性不允许取空值。CREATE TABLE SC(Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT NOT NULL, PRIMARY KEY (Sno,Cno), ); 如果在表级定义实体完整性,隐含了Sno,Cno不允许取空值,则在列级不允许取空值的定义就不必写了,An Intr

19、oduction to Database System,属性上的约束条件的定义(续),2. 列值唯一 例6:建立部门表DEPT,要求部门名称Dname列取值唯一,部门编号Deptno列为主码。CREATE TABLE DEPT(Deptno NUMERIC(2),Dname CHAR(9) UNIQUE,/*要求Dname列值唯一*/Location CHAR(10),PRIMARY KEY (Deptno);,An Introduction to Database System,属性上的约束条件的定义(续),3. 用CHECK短语指定列值应该满足的条件 例7:Student表的Ssex只允许

20、取“男”或“女”。CREATE TABLE Student(Sno CHAR(9) PRIMARY KEY,/*列级定义主码*/Sname CHAR(8) NOT NULL ,/*Sname不允许取空值*/Ssex CHAR(2) CHECK (Ssex IN (男,女) , /*性别属性Ssex只允许取男或女 */Sage SMALLINT,Sdept CHAR(20);,An Introduction to Database System,属性上的约束条件的定义(续),例8:SC表的Grade的值应该在0和100之间。CREATE TABLE SC(Sno CHAR(9)NOT NULL,

21、Cno CHAR(4)NOT NULL,Grade SMALLINT CHECK(Grade=0 AND GRADE=100),PREMARY KEY(Sno,Cno),FOREIGN KEY(Sno)REFERENCES Student(Sno),FOREIGN KEY(Cno)REFERENCES Student(Cno);,An Introduction to Database System,5.3 用户定义的完整性,5.3.1 属性上的约束条件的定义 5.3.2 属性上的约束条件检查和违约处理 5.3.3 元组上的约束条件的定义 5.3.4 元组上的约束条件检查和违约处理,An Int

22、roduction to Database System,5.3.2 属性上的约束条件检查和违约处理,当往表中插入元组或修改属性的值时,RDBMS检查属性上的约束条件是否被满足 如果不满足则操作被拒绝执行,An Introduction to Database System,5.3 用户定义的完整性,5.3.1 属性上的约束条件的定义 5.3.2 属性上的约束条件检查和违约处理 5.3.3 元组上的约束条件的定义 5.3.4 元组上的约束条件检查和违约处理,An Introduction to Database System,5.3.3 元组上的约束条件的定义,在CREATE TABLE时可以

23、用CHECK短语定义元组上的约束条件,即元组级的限制 同属性值限制相比,元组级的限制可以设置不同属性之间的取值的相互约束条件,An Introduction to Database System,元组上的约束条件的定义(续),例9:当学生的性别是男时,其名字不能以Ms.打头。CREATE TABLE Student(Sno CHAR(9), Sname CHAR(8) NOT NULL,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20),PRIMARY KEY(Sno),CHECK (Ssex=女OR Sname NOT LIKE Ms.%)/*定义了元组中Sn

24、ame和Ssex两个属性值之间的约束条件*/);,An Introduction to Database System,元组上的约束条件的定义(续),性别是女性的元组都能通过该项检查,因为Ssex=女成立 当性别是男性时,要通过检查则名字一定不能以Ms.打头 Ssex=男时,条件要想为真值,Sname NOT LIKE Ms.%必须为真值,An Introduction to Database System,5.3 用户定义的完整性,5.3.1 属性上的约束条件的定义 5.3.2 属性上的约束条件检查和违约处理 5.3.3 元组上的约束条件的定义 5.3.4 元组上的约束条件检查和违约处理,A

25、n Introduction to Database System,5.3.4 元组上的约束条件检查和违约处理,当往表中插入元组或修改属性的值时,RDBMS检查元组上的约束条件是否被满足 如果不满足则操作被拒绝执行,An Introduction to Database System,第五章 数据库完整性,5.1 实体完整性5.2 参照完整性5.3 用户定义的完整性5.4 完整性约束命名字句 *5.5 域中的完整性限制5.6 触发器5.7 小结,An Introduction to Database System,5.4 完整性约束命名子句,CONSTRAINT约束 CREATE TABLE语

26、句中提供了完整性约束命名子句CONSTRAINT,用来对完整性约束条件命名,An Introduction to Database System,1. 完整性约束命名子句,语句格式CONSTRAINT PRIMARY KEY短语|FOREIGN KEY短语|CHECK短语,An Introduction to Database System,完整性约束命名子句(续),例10:建立学生登记表Student,要求学号在9000099999之间,姓名不能取空值,年龄小于30,性别只能是“男”或“女”。CREATE TABLE Student(Sno NUMERIC(6)CONSTRAINT C1 C

27、HECK (Sno BETWEEN 90000 AND 99999),Sname CHAR(20) CONSTRAINT C2 NOT NULL,,An Introduction to Database System,完整性约束命名子句(续),Sage NUMERIC(3)CONSTRAINT C3 CHECK (Sage 30),Ssex CHAR(2)CONSTRAINT C4 CHECK (Ssex IN ( 男,女),CONSTRAINT StudentKey PRIMARY KEY(Sno); 在Student表上建立了5个约束条件,包括主码约束(命名为StudentKey)以及C1

28、、C2、C3、C4四个列级约束,An Introduction to Database System,完整性约束命名子句(续),例11:建立教师表TEACHER,要求每个教师的应发工资不低于3000元。CREATE TABLE TEACHER(Eno NUMERIC(4) PRIMARY KEY,Ename CHAR(10),Job CHAR(8),Sal NUMERIC(7,2),Deduct NUMERIC(7,2),Deptno NUMERIC(2),CONSTRAINT EMPFKey FOREIGN KEY(Deptno)REFERENCES DEPT(Deptno),CONSTRA

29、INT C1 CHECK(Sal+Deduct=3000);,An Introduction to Database System,2. 修改表中的完整性限制,使用ALTER TABLE语句修改表中的完整性限制 例12:去掉例10中Student表中对性别的限制。ALTER TABLE StudentDROP CONSTRAINT C4;,An Introduction to Database System,修改表中的完整性限制(续),例13:修改表Student中的约束条件,要求学号改为在900000999999之间,年龄由小于30改为小于40。 可以先删除原来的约束条件,再增加新的约束条件

30、 ALTER TABLE StudentDROP CONSTRAINT C1;ALTER TABLE StudentADD CONSTRAINT C1 CHECK (Sno BETWEEN 900000 AND 999999) ;ALTER TABLE StudentDROP CONSTRAINT C3;ALTER TABLE StudentADD CONSTRAINT C3 CHECK (Sage40) ;,An Introduction to Database System,第五章 数据库完整性,5.1 实体完整性5.2 参照完整性5.3 用户定义的完整性5.4 完整性约束命名字句 *5.

31、5 域中的完整性限制5.6 触发器5.7 小结,An Introduction to Database System,5.5 域中的完整性限制,SQL支持域的概念,并可以用CREATE DOMAIN语句建立一个域以及该域应该满足的完整性约束条件。 例14:建立一个性别域,并声明性别域的取值范围。CREATE DOMAIN GenderDomain CHAR(2)CHECK (VALUE IN (男,女); 这样例10中对Ssex的说明可以改写为Ssex GenderDomain,An Introduction to Database System,域中的完整性限制(续),例15:建立一个性别域

32、GenderDomain,并对其中的限制命名。CREATE DOMAIN GenderDomain CHAR(2)CONSTRAINT GD CHECK (VALUE IN (男,女); 例16:删除域GenderDomain的限制条件GD。ALTER DOMAIN GenderDomain DROP CONSTRAINT GD;,An Introduction to Database System,域中的完整性限制(续),例17:在域GenderDomain上增加限制条件GDD。ALTER DOMAIN GenderDomain ADD CONSTRAINT GDD CHECK (VALUE

33、 IN ( 1,0) ); 通过例16和例17,就把性别的取值范围由(男,女)改为( 1,0),An Introduction to Database System,第五章 数据库完整性,5.1 实体完整性5.2 参照完整性5.3 用户定义的完整性5.4 完整性约束命名字句 *5.5 域中的完整性限制5.6 触发器5.7 小结,An Introduction to Database System,5.6 触发器,触发器(Trigger)是用户定义在关系表上的一类由事件驱动的特殊过程 一旦定义,任何 用户对表的操作均由服务器自动激活相应的触发器,在DBMS核心层进行集中的完整性控制 可以进行更为

34、复杂的检查和操作,具有更精细和更强大的数据控制能力,An Introduction to Database System,5.6 触发器,5.6.1 定义触发器 5.6.2 激活触发器 5.6.3 删除触发器,An Introduction to Database System,5.6.1 定义触发器,CREATE TRIGGER语法格式CREATE TRIGGER BEFORE | AFTER ON FOR EACH ROW | STATEMENTWHEN ,An Introduction to Database System,定义触发器(续),定义触发器的语法说明: 1. 创建 表的拥有者

35、即创建表的用户才可以在表上创建 一个表上只能创建一定数量的触发器 2. 触发器名 可以包含模式名,也可以不包含 同一模式下,触发器名必须唯一;并且触发器名和必须在同一模式下 3. 表名 表的数据发生变化,将激活定义在该表上相应的触发器 该表称为触发器的目标表,An Introduction to Database System,定义触发器(续),4. 触发事件 INSERT、DELETE、UPDATE 这几个事件的 组合 UPDATE后面还可以有OF,进一步指明修改哪些列时触发器激活 5. 触发器类型 行级触发器(FOR EACH ROW) 语句级触发器(FOR EACH STATEMENT)

36、,An Introduction to Database System,定义触发器(续),例如,假设在例11的TEACHER表上创建了一个AFTER UPDATE触发器。如果表TEACHER有1000行,执行如下语句:UPDATE TEACHER SET Deptno=5; 如果该触发器为语句级触发器,那么执行完该语句后,触发动作只发生一次 如果是行级触发器,触发动作将执行1000次,An Introduction to Database System,定义触发器(续),6. 触发条件 触发器被激活时,触发条件为真时触发动作体才执行;否则不执行 省略WHEN触发条件,触发动作体在触发器激活后立

37、即执行 7. 触发动作体 触发动作体可以是一个匿名PL/SQL过程块 也可以是对已创建存储过程的调用,An Introduction to Database System,定义触发器(续),例18:定义一个BEFORE行级触发器,为教师表Teacher定义完整性规则“教授的工资不得低于4000元,如果低于4000元,自动改为4000元”。CREATE TRIGGER Insert_Or_Update_Sal BEFORE INSERT OR UPDATE ON Teacher /*触发事件是插入或更新操作*/FOR EACH ROW /*行级触发器*/AS BEGIN /*定义触发动作体,是P

38、L/SQL过程块*/IF (new.Job=教授) AND (new.Sal 4000) THEN new.Sal :=4000; END IF;END; /*触发动作体结束*/,An Introduction to Database System,定义触发器(续),例19:定义AFTER行级触发器,当教师表Teacher的工资发生变化后就自动在工资变化表Sal_log中增加一条相应记录。 首先建立工资变化表Sal_logCREATE TABLE Sal_log(Eno NUMERIC(4) REFERENCES teacher(Eno),Sal NUMERIC(7,2),Username C

39、HAR(10),Date TIMESTAMP);,An Introduction to Database System,定义触发器(续),例19(续) CREATE TRIGGER Insert_Sal /*建立了一个触发*/ AFTER INSERT ON Teacher /*触发事件是INSERT*/FOR EACH ROWAS BEGININSERT INTO Sal_log VALUES(new.Eno,new.Sal, CURRENT_USER,CURRENT_TIMESTAMP);END;,An Introduction to Database System,定义触发器(续),例1

40、9(续) CREATE TRIGGER Update_Sal AFTER UPDATE ON Teacher /*触发事件是UPDATE */FOR EACH ROWAS BEGIN IF (new.Sal old.Sal) THEN INSERT INTO Sal_log VALUES(new.Eno,new.Sal,CURRENT_USER, CURRENT_TIMESTAMP);END IF;END;,An Introduction to Database System,5.6 触发器,5.6.1 定义触发器 5.6.2 激活触发器 5.6.3 删除触发器,An Introduction

41、 to Database System,5.6.2 激活触发器,触发器的执行,是由触发事件激活的,并由数据库服务器自动执行 一个数据表上可能定义了多个触发器 同一个表上的多个触发器激活时遵循如下的执行顺序: (1)执行该表上的BEFORE触发器; (2)激活触发器的SQL语句; (3)执行该表上的AFTER触发器。,An Introduction to Database System,激活触发器(续),对于同一个表上的多个BEFORE(AFTER)触发器,执行原则: “谁先创建谁先执行” 按照触发器名称的字母排序顺序执行触发器,An Introduction to Database Syste

42、m,激活触发器(续),例20:执行修改某个教师工资的SQL语句,激活上述定义的触发器。UPDATE Teacher SET Sal=800 WHERE Ename=陈平; 执行顺序是: 执行触发器Insert_Or_Update_Sal 执行SQL语句“UPDATE Teacher SET Sal=800 WHERE Ename=陈平;” 执行触发器Insert_Sal 执行触发器Update_Sal,An Introduction to Database System,5.6 触发器,5.6.1 定义触发器 5.6.2 激活触发器 5.6.3 删除触发器,An Introduction to

43、 Database System,删除触发器的SQL语法:DROP TRIGGER ON ; 触发器必须是一个已经创建的触发器,并且只能由具有相应权限的用户删除。 例21:删除教师表Teacher上的触发器Insert_Sal。DROP TRIGGER Insert_Sal ON Teacher;,5.6.3 删除触发器,An Introduction to Database System,第五章 数据库完整性,5.1 实体完整性5.2 参照完整性5.3 用户定义的完整性5.4 完整性约束命名字句 *5.5 域中的完整性限制5.6 触发器5.7 小结,An Introduction to Database System,5.7 小结,数据库的完整性是为了保证数据库中存储的数据是正确的,是符合现实世界语义的。 RDBMS完整性实现的机制 完整性约束定义机制 完整性检查机制 违背完整性约束条件时RDBMS应采取的动作,An Introduction to Database System,下课了。,休息一会儿。,认 真,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报