欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据库系统概论chp05.ppt

    • 资源ID:69174085       资源大小:484KB        全文页数:61页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库系统概论chp05.ppt

    数据库系统概论数据库系统概论An Introduction to Database System第五章第五章 数据库完整性数据库完整性数据库完整性数据库完整性v数据库的完整性数据的正确性和相容性v数据的完整性和安全性是两个不同概念数据的完整性防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据防范对象:不合语义的、不正确的数据数据的安全性保护数据库防止恶意的破坏和非法的存取防范对象:非法用户和非法操作数据库完整性数据库完整性(续续)为维护数据库的完整性,DBMS必须:n1.提供定义完整性约束条件的机制n2.提供完整性检查的方法n3.违约处理第五章第五章 数据库完整性数据库完整性5.1 实体完整性5.2 参照完整性5.3 用户定义的完整性5.4 完整性约束命名字句*5.5 域中的完整性限制5.6 触发器5.7 小结5.1 实体完整性实体完整性v5.1.1 实体完整性定义v5.1.2 实体完整性检查和违约处理5.1.1 5.1.1 实体完整性定义实体完整性定义v关系模型的实体完整性CREATE TABLE中用PRIMARY KEY定义v单属性构成的码有两种说明方法 定义为列级约束条件定义为表级约束条件v对多个属性构成的码只有一种说明方法定义为表级约束条件 实体完整性定义实体完整性定义(续续)例1 将Student表中的Sno属性定义为码 (1)在列级定义主码 CREATE TABLE Student (Sno CHAR(9)PRIMARY KEY,Sname CHAR(20)NOT NULL,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20);实体完整性定义实体完整性定义(续续)(2)在表级定义主码 CREATE TABLE Student (Sno CHAR(9),Sname CHAR(20)NOT NULL,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20),PRIMARY KEY(Sno);实体完整性定义实体完整性定义(续续)例2将SC表中的Sno,Cno属性组定义为码 CREATE TABLE SC (Sno CHAR(9)NOT NULL,Cno CHAR(4)NOT NULL,Grade SMALLINT,PRIMARY KEY(Sno,Cno);5.1 实体完整性实体完整性v5.1.1 实体完整性定义v5.1.2 实体完整性检查和违约处理5.1.2 实体完整性检查和违约处理实体完整性检查和违约处理v插入或对主码列进行更新操作时,RDBMS按照实体完整性规则自动进行检查。包括:1.检查主码值是否唯一,如果不唯一则拒绝插入或修改2.检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改实体完整性检查和违约处理实体完整性检查和违约处理(续续)v检查记录中主码值是否唯一的一种方法是进行全表扫描实体完整性检查和违约处理实体完整性检查和违约处理(续续)v索引索引 第五章第五章 数据库完整性数据库完整性5.1 实体完整性5.2 参照完整性5.3 用户定义的完整性5.4 完整性约束命名字句*5.5 域中的完整性限制5.6 触发器5.7 小结5.2 参照完整性参照完整性v5.2.1 参照完整性定义v5.2.2 参照完整性检查和违约处理5.2.1 参照完整性定义参照完整性定义v关系模型的参照完整性定义在CREATE TABLE中用FOREIGN KEY短语定义哪些列为外码用REFERENCES短语指明这些外码参照哪些表的主码 参照完整性定义参照完整性定义(续续)例如,关系SC中一个元组表示一个学生选修的某门课程的成绩,(Sno,Cno)是主码。Sno,Cno分别参照引用Student表的主码和Course表的主码 例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(Cno)REFERENCES Course(Cno);5.2 参照完整性参照完整性v5.2.1 参照完整性定义v5.2.2 参照完整性检查和违约处理参照完整性检查和违约处理参照完整性检查和违约处理可能破坏参照完整性的情况及违约处理可能破坏参照完整性的情况及违约处理被参照表(例如Student)参照表(例如SC)违约处理可能破坏参照完整性 插入元组拒绝可能破坏参照完整性 修改外码值拒绝删除元组 可能破坏参照完整性拒绝/级连删除/设置为空值修改主码值 可能破坏参照完整性拒绝/级连修改/设置为空值违约处理违约处理v参照完整性违约处理1.拒绝(NO ACTION)执行默认策略2.级联(CASCADE)操作3.设置为空值(SET-NULL)对于参照完整性,除了应该定义外码,还应定义外码列是否允许空值违约处理违约处理(续续)例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 CASCADE /*级联删除SC表中相应的元组*/ON UPDATE CASCADE,/*级联更新SC表中相应的元组*/FOREIGN KEY(Cno)REFERENCES Course(Cno)ON DELETE NO ACTION /*当删除course 表中的元组造成了与SC表不一致时拒绝删除*/ON UPDATE CASCADE /*当更新course表中的cno时,级联更新SC表中相应的元组*/);第五章第五章 数据库完整性数据库完整性5.1 实体完整性5.2 参照完整性5.3 用户定义的完整性5.4 完整性约束命名字句*5.5 域中的完整性限制5.6 触发器5.7 小结5.3 用户定义的完整性用户定义的完整性v用户定义的完整性就是针对某一具体应用的数据必须满足的语义要求 vRDBMS提供,而不必由应用程序承担5.3 用户定义的完整性用户定义的完整性v5.3.1 属性上的约束条件的定义v5.3.2 属性上的约束条件检查和违约处理 v5.3.3 元组上的约束条件的定义 v5.3.4元组上的约束条件检查和违约处理5.3.1 属性上的约束条件的定义属性上的约束条件的定义vCREATE TABLE时定义列值非空(NOT NULL)列值唯一(UNIQUE)检查列值是否满足一个布尔表达式(CHECK)属性上的约束条件的定义属性上的约束条件的定义(续续)v1.1.不允许取空值不允许取空值 例例5 5 在定义在定义SCSC表时,说明表时,说明SnoSno、CnoCno、GradeGrade属性不允许取空值。属性不允许取空值。CREATE TABLE SCCREATE TABLE SC (SnoSno CHAR(9)CHAR(9)NOT NULLNOT NULL,CnoCno CHAR(4)CHAR(4)NOT NULLNOT NULL,Grade SMALLINT Grade SMALLINT NOT NULLNOT NULL,PRIMARY KEY(PRIMARY KEY(SnoSno,CnoCno),/*/*如果在表级定义实体完整性,隐含了如果在表级定义实体完整性,隐含了SnoSno,CnoCno不允许取空值,不允许取空值,则在列级不允许取空值的定义就不必写了则在列级不允许取空值的定义就不必写了 */););属性上的约束条件的定义属性上的约束条件的定义(续续)v2.2.列值唯一列值唯一 例例6 6 建立部门表建立部门表DEPTDEPT,要求部门名称,要求部门名称DnameDname列取值唯一,部门编列取值唯一,部门编号号DeptnoDeptno列为主码列为主码 CREATE TABLE DEPTCREATE TABLE DEPT (DeptnoDeptno NUMERIC(2)NUMERIC(2),DnameDname CHAR(9)CHAR(9)UNIQUEUNIQUE,/*/*要求要求DnameDname列值唯一列值唯一*/Location CHAR(10)Location CHAR(10),PRIMARY KEY(PRIMARY KEY(DeptnoDeptno);属性上的约束条件的定义属性上的约束条件的定义(续续)v3.3.用用CHECKCHECK短语指定列值应该满足的条件短语指定列值应该满足的条件例例7 7 StudentStudent表的表的SsexSsex只允许取只允许取“男男”或或“女女”。CREATE TABLE StudentCREATE TABLE Student (SnoSno CHAR(9)PRIMARY KEY CHAR(9)PRIMARY KEY,SnameSname CHAR(8)NOT NULL CHAR(8)NOT NULL,SsexSsex CHAR(2)CHAR(2)CHECK(CHECK(SsexSsex IN(IN(男男,女女),/*/*性别属性性别属性SsexSsex只允许取只允许取 男男 或或 女女*/*/Sage SMALLINT Sage SMALLINT,SdeptSdept CHAR(20)CHAR(20););5.3 用户定义的完整性用户定义的完整性v5.3.1 属性上的约束条件的定义v5.3.2 属性上的约束条件检查和违约处理 v5.3.3 元组上的约束条件的定义 v5.3.4元组上的约束条件检查和违约处理5.3.2 属性上的约束条件检查和违约处理属性上的约束条件检查和违约处理v插入元组或修改属性的值时,插入元组或修改属性的值时,RDBMSRDBMS检查属性检查属性上的约束条件是否被满足上的约束条件是否被满足v如果不满足则操作被拒绝执行如果不满足则操作被拒绝执行 5.3 用户定义的完整性用户定义的完整性v5.3.1 属性上的约束条件的定义v5.3.2 属性上的约束条件检查和违约处理 v5.3.3 元组上的约束条件的定义 v5.3.4元组上的约束条件检查和违约处理5.3.3 元组上的约束条件的定义元组上的约束条件的定义v在在CREATE TABLECREATE TABLE时可以用时可以用CHECKCHECK短语定义元组上的短语定义元组上的约束条件,即约束条件,即元组级的限制元组级的限制v同属性值限制相比,元组级的限制可以设置不同属性之间同属性值限制相比,元组级的限制可以设置不同属性之间的取值的相互约束条件的取值的相互约束条件 元组上的约束条件的定义元组上的约束条件的定义(续续)例例9 9 当学生的性别是男时,其名字不能以当学生的性别是男时,其名字不能以Ms.Ms.打头。打头。CREATE TABLE StudentCREATE TABLE Student (SnoSno CHAR(9)CHAR(9),SnameSname CHAR(8)NOT NULL CHAR(8)NOT NULL,SsexSsex CHAR(2)CHAR(2),Sage SMALLINTSage SMALLINT,SdeptSdept CHAR(20)CHAR(20),PRIMARY KEY(PRIMARY KEY(SnoSno),CHECK(Ssex=女 OR Sname NOT LIKE Ms.%)/*/*定义了元组中定义了元组中SnameSname和和 SsexSsex两个属性值之间的约束条件两个属性值之间的约束条件*/);性别是女性的元组都能通过该项检查,因为性别是女性的元组都能通过该项检查,因为SsexSsex=女女成立;成立;当性别是男性时,要通过检查则名字一定不能以当性别是男性时,要通过检查则名字一定不能以Ms.Ms.打头打头5.3 用户定义的完整性用户定义的完整性v5.3.1 属性上的约束条件的定义v5.3.2 属性上的约束条件检查和违约处理 v5.3.3 元组上的约束条件的定义 v5.3.4 元组上的约束条件检查和违约处理5.3.4 元组上的约束条件检查和违约处理元组上的约束条件检查和违约处理v插入元组或修改属性的值时,插入元组或修改属性的值时,RDBMSRDBMS检查元组上的约束检查元组上的约束条件是否被满足条件是否被满足v如果不满足则操作被拒绝执行如果不满足则操作被拒绝执行 第五章第五章 数据库完整性数据库完整性5.1 实体完整性5.2 参照完整性5.3 用户定义的完整性5.4 完整性约束命名子句*5.5 域中的完整性限制5.6 触发器5.7 小结5.4 完整性约束命名子句完整性约束命名子句vCONSTRAINT CONSTRAINT 约束约束CONSTRAINT CONSTRAINT PRIMARY KEYPRIMARY KEY短语短语|FOREIGN KEY|FOREIGN KEY短语短语|CHECK|CHECK短语短语完整性约束命名子句完整性约束命名子句(续续)例例1010 建立学生登记表建立学生登记表StudentStudent,要求学号在,要求学号在90000999999000099999之间,之间,姓名不能取空值,年龄小于姓名不能取空值,年龄小于3030,性别只能是,性别只能是“男男”或或“女女”。CREATE TABLE StudentCREATE TABLE Student (SnoSno NUMERIC(6)NUMERIC(6)CONSTRAINT C1 CHECK(CONSTRAINT C1 CHECK(SnoSno BETWEEN 90000 AND BETWEEN 90000 AND 99999)99999),SnameSname CHAR(20)CHAR(20)CONSTRAINT C2 NOT NULLCONSTRAINT C2 NOT NULL,Sage NUMERIC(3)Sage NUMERIC(3)CONSTRAINT C3 CHECK(Sage 30)CONSTRAINT C3 CHECK(Sage 30),SsexSsex CHAR(2)CHAR(2)CONSTRAINT C4 CHECK(CONSTRAINT C4 CHECK(SsexSsex IN(IN(男男,女女),CONSTRAINT CONSTRAINT StudentKeyStudentKey PRIMARY PRIMARY KEY(SnoKEY(Sno);在在StudentStudent表上建立了表上建立了5 5个约束条件,包括主码约束(命名为个约束条件,包括主码约束(命名为StudentKeyStudentKey)以及)以及C1C1、C2C2、C3C3、C4C4四个列级约束。四个列级约束。完整性约束命名子句完整性约束命名子句(续续)v2.修改表中的完整性限制使用使用ALTER TABLEALTER TABLE语句修改表中的完整性限语句修改表中的完整性限制制完整性约束命名子句完整性约束命名子句(续续)例例1313 修改表修改表StudentStudent中的约束条件,要求学号改为在中的约束条件,要求学号改为在900000999999900000999999之间,年龄由小于之间,年龄由小于3030改为小于改为小于4040n可以先删除原来的约束条件,再增加新的约束条件可以先删除原来的约束条件,再增加新的约束条件 ALTER TABLE StudentALTER TABLE Student DROP CONSTRAINT C1;DROP CONSTRAINT C1;ALTER TABLE StudentALTER TABLE Student ADD CONSTRAINT C1 CHECK(ADD CONSTRAINT C1 CHECK(SnoSno BETWEEN 900000 AND BETWEEN 900000 AND 999999)999999),ALTER TABLE StudentALTER TABLE Student DROP CONSTRAINT C3;DROP CONSTRAINT C3;ALTER TABLE StudentALTER TABLE Student ADD CONSTRAINT C3 CHECK(Sage 40)ADD CONSTRAINT C3 CHECK(Sage 40);第五章第五章 数据库完整性数据库完整性5.1 实体完整性5.2 参照完整性5.3 用户定义的完整性5.4 完整性约束命名字句*5.5 域中的完整性限制5.6 触发器5.7 小结5.5 域中的完整性限制域中的完整性限制vSQLSQL支持域的概念,并可以用支持域的概念,并可以用CREATE DOMAINCREATE DOMAIN语句建语句建立一个域以及该域应该满足的完整性约束条件。立一个域以及该域应该满足的完整性约束条件。例例1414建立一个性别域,并声明性别域的取值范围建立一个性别域,并声明性别域的取值范围 CREATE DOMAIN CREATE DOMAIN GenderDomainGenderDomain CHAR(2)CHAR(2)CHECK(VALUE IN(CHECK(VALUE IN(男男,女女););这样例这样例1010中对中对SsexSsex的说明可以改写为的说明可以改写为 SsexSsex GenderDomainGenderDomain例例1515建立一个性别域建立一个性别域GenderDomainGenderDomain,并对其中的限制命名,并对其中的限制命名 CREATE DOMAIN CREATE DOMAIN GenderDomainGenderDomain CHAR(2)CHAR(2)CONSTRAINT GD CHECK(VALUE IN(CONSTRAINT GD CHECK(VALUE IN(男男,女女););域中的完整性限制域中的完整性限制(续续)例例1616删除域删除域GenderDomainGenderDomain的限制条件的限制条件GDGD。ALTER DOMAIN ALTER DOMAIN GenderDomainGenderDomain DROP CONSTRAINT GD;DROP CONSTRAINT GD;例例1717在域在域GenderDomainGenderDomain上增加限制条件上增加限制条件GDDGDD。ALTER DOMAIN ALTER DOMAIN GenderDomainGenderDomain ADD CONSTRAINT GDD CHECK(VALUE IN(1 ADD CONSTRAINT GDD CHECK(VALUE IN(1,0);0);通过例通过例1616和例和例1717,就把性别的取值范围由,就把性别的取值范围由(男男,女女)改为改为 (1(1,0)0)第五章第五章 数据库完整性数据库完整性5.1 实体完整性5.2 参照完整性5.3 用户定义的完整性5.4 完整性约束命名字句*5.5 域中的完整性限制5.6 触发器5.7 小结触发器触发器v触发器(触发器(TriggerTrigger)是用户定义在关系表上的)是用户定义在关系表上的一类由一类由事件驱动事件驱动的特殊过程的特殊过程由服务器自动激活由服务器自动激活可以进行更为复杂的检查和操作,具有更可以进行更为复杂的检查和操作,具有更精细和更强大的数据控制能力精细和更强大的数据控制能力 5.6 触发器触发器v5.6.1 5.6.1 定义触发器定义触发器 v5.6.2 5.6.2 激活触发器激活触发器 v5.6.3 5.6.3 删除触发器删除触发器 5.6.1 定义触发器定义触发器vCREATE TRIGGERCREATE TRIGGER语法格式语法格式 CREATE CREATE TRIGGER TRIGGER BEFORE|AFTER BEFORE|AFTER ON ON FOR EACH ROW|STATEMENT FOR EACH ROW|STATEMENT WHEN WHEN 定义触发器定义触发器(续续)v定义触发器的语法说明定义触发器的语法说明:1.1.创建者:表的创建者:表的拥有者拥有者2.2.触发器名触发器名3.3.表名:触发器的目标表表名:触发器的目标表4.4.触发事件:触发事件:INSERTINSERT、DELETEDELETE、UPDATEUPDATE5.5.触发器类型触发器类型行级触发器(行级触发器(FOR EACH ROWFOR EACH ROW)语句级触发器(语句级触发器(FOR EACH FOR EACH STATEMENTSTATEMENT)定义触发器定义触发器(续续)v例如例如,假设在例假设在例1111的的TEACHERTEACHER表上创建了一个表上创建了一个AFTER UPDATEAFTER UPDATE触发器。如果表触发器。如果表TEACHERTEACHER有有10001000行,行,执行如下语句:执行如下语句:UPDATE TEACHER SET UPDATE TEACHER SET DeptnoDeptno=5;=5;如果该触发器为语句级触发器,那么执行完该语句后,触发如果该触发器为语句级触发器,那么执行完该语句后,触发动作只发生一次动作只发生一次如果是行级触发器,触发动作将执行如果是行级触发器,触发动作将执行10001000次次 定义触发器定义触发器(续续)v6.6.触发条件触发条件触发条件为真触发条件为真省略省略WHENWHEN触发条件触发条件v7.7.触发动作体触发动作体触发动作体可以是一个匿名触发动作体可以是一个匿名PL/SQLPL/SQL过程块过程块也可以是对已创建存储过程的调用也可以是对已创建存储过程的调用定义触发器定义触发器(续续)例例1818 定义一个定义一个BEFOREBEFORE行级触发器,为教师表行级触发器,为教师表TeacherTeacher定义完整定义完整性规则性规则“教授的工资不得低于教授的工资不得低于40004000元,如果低于元,如果低于40004000元,自动改为元,自动改为40004000元元”。CREATE TRIGGER CREATE TRIGGER Insert_Or_Update_SalInsert_Or_Update_Sal BEFORE BEFORE INSERT OR UPDATEINSERT OR UPDATE ON Teacher ON Teacher /*/*触发事件是插入或更新操作触发事件是插入或更新操作*/FOR FOR EACH ROWEACH ROW /*/*行级触发器行级触发器*/AS BEGIN AS BEGIN /*/*定义触发动作体,是定义触发动作体,是PL/SQLPL/SQL过程块过程块*/IF(IF(new.Jobnew.Job=教授教授)AND()AND(new.Salnew.Sal 4000)THEN 4000)THEN new.Salnew.Sal:=4000;:=4000;END IF;END IF;END;END;定义触发器定义触发器(续续)例例1919定义定义AFTERAFTER行级触发器,当教师表行级触发器,当教师表TeacherTeacher的工的工资发生变化后就自动在工资变化表资发生变化后就自动在工资变化表Sal_logSal_log中增加一条相中增加一条相应记录应记录 首先建立工资变化表首先建立工资变化表Sal_logSal_log CREATE TABLE CREATE TABLE Sal_logSal_log (EnoEno NUMERIC(4)references NUMERIC(4)references teacher(enoteacher(eno),Sal NUMERIC(7Sal NUMERIC(7,2)2),Username char(10)Username char(10),Date TIMESTAMPDate TIMESTAMP );定义触发器定义触发器(续续)例例1919(续)(续)CREATE TRIGGER CREATE TRIGGER Insert_SalInsert_Sal AFTER INSERTAFTER INSERT ON Teacher ON Teacher /*/*触发事件是触发事件是INSERT*/INSERT*/FOR EACH ROW FOR EACH ROW AS BEGIN AS BEGIN INSERT INTO INSERT INTO Sal_logSal_log VALUES(VALUES(new.Enonew.Eno,new.Salnew.Sal,CURRENT_USERCURRENT_USER,CURRENT_TIMESTAMP);CURRENT_TIMESTAMP);END;END;定义触发器定义触发器(续续)例例1919(续)(续)CREATE TRIGGER CREATE TRIGGER Update_SalUpdate_Sal AFTER UPDATEAFTER UPDATE ON Teacher ON Teacher /*/*触发事件是触发事件是UPDATE*/UPDATE*/FOR EACH ROW FOR EACH ROW AS BEGIN AS BEGIN IF(IF(new.Salnew.Sal old.Salold.Sal)THEN INSERT INTO)THEN INSERT INTO Sal_logSal_log VALUES(VALUES(new.Enonew.Eno,new.Salnew.Sal,CURRENT_USERCURRENT_USER,CURRENT_TIMESTAMP);CURRENT_TIMESTAMP);END IF;END IF;END;END;5.6 触发器触发器v5.6.1 5.6.1 定义触发器定义触发器 v5.6.2 5.6.2 激活触发器激活触发器 v5.6.3 5.6.3 删除触发器删除触发器 5.6.2 激活触发器激活触发器v触发器的执行,是由触发器的执行,是由触发事件激活触发事件激活的,并由数据的,并由数据库服务器自动执行库服务器自动执行v一个数据表上可能定义了一个数据表上可能定义了多个触发器多个触发器同一个表上的多个触发器激活时遵循如下的执同一个表上的多个触发器激活时遵循如下的执行顺序:行顺序:(1 1)执行该表上的执行该表上的BEFOREBEFORE触发器;触发器;(2 2)激活触发器的激活触发器的SQLSQL语句;语句;(3 3)执行该表上的执行该表上的AFTERAFTER触发器。触发器。激活触发器激活触发器(续续)例例2020执行修改某个教师工资的执行修改某个教师工资的SQLSQL语句,激活上述定义语句,激活上述定义的触发器。的触发器。UPDATE Teacher SET Sal=800 WHERE UPDATE Teacher SET Sal=800 WHERE EnameEname=陈平陈平;执行顺序是:执行顺序是:执行触发器执行触发器Insert_Or_Update_SalInsert_Or_Update_Sal执行执行SQLSQL语句语句“UPDATE Teacher SET Sal=800 WHERE UPDATE Teacher SET Sal=800 WHERE EnameEname=陈平陈平;”;”执行触发器执行触发器Insert_SalInsert_Sal;执行触发器执行触发器Update_SalUpdate_Sal 5.6 触发器触发器v5.6.1 5.6.1 定义触发器定义触发器 v5.6.2 5.6.2 激活触发器激活触发器 v5.6.3 5.6.3 删除触发器删除触发器 5.6.3 删除触发器删除触发器v删除触发器的删除触发器的SQLSQL语法:语法:DROP TRIGGER DROP TRIGGER ON ON;v触发器必须是一个已经创建的触发器,并且只能由具有相触发器必须是一个已经创建的触发器,并且只能由具有相应权限的用户删除。应权限的用户删除。例例2121 删除教师表删除教师表TeacherTeacher上的触发器上的触发器Insert_SalInsert_Sal DROP TRIGGER DROP TRIGGER Insert_SalInsert_Sal ON Teacher;ON Teacher;第五章第五章 数据库完整性数据库完整性5.1 实体完整性5.2 参照完整性5.3 用户定义的完整性5.4 完整性约束命名字句*5.5 域中的完整性限制5.6 触发器5.7 小结5.7 小结小结v数据库的完整性是为了保证数据库中存储的数据数据库的完整性是为了保证数据库中存储的数据是正确的是正确的vRDBMSRDBMS完整性实现的机制完整性实现的机制完整性约束定义机制完整性约束定义机制完整性检查机制完整性检查机制违背完整性约束条件时违背完整性约束条件时RDBMSRDBMS应采取的动作应采取的动作

    注意事项

    本文(数据库系统概论chp05.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开