导图社区 第五章 数据库完整性
数据库管理系统第五章数据库完整性思维导图,包括:实体完整性、参照完整性、用户定义的完整性、完整性约束命名字句、断言、触发器。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
这是一篇关于数据库原理的思维导图,本篇思维导图包含关系数据结构及形式化定义、关系操作、关系的完整性、关系代数。
数据库管理并发控制,分六个板块,概述、封锁、封锁协议、死锁和活锁、并发调度的可串行性、两段锁协议
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
数据库完整性
实体完整性
定义
CREATE TABLE中用PRIMARY KEY定义
单属性构成的码有两种说明方法
列级
表级
对多个属性构成的码只有一种说明方法
实体完整性检查和违约处理
检查记录中主码值是否唯一的一种方法是进行全表扫描
参照完整性
在CREATE TABLE中用FOREIGN KEY短语定义哪些列为外码
检查和违规处理
用户定义的完整性
属性上的约束条件
列值非空(NOT NULL)
列值唯一(UNIQUE)
检查列值是否满足一个条件表达式(CHECK)
违规处理
插入元组或修改属性的值时,关系数据库管理系统检查属性上的约束条件是否被满足
如果不满足则操作被拒绝执行
元组上的约束条件
在CREATE TABLE时可以用CHECK短语定义元组上的约束条件,即元组级的限制
同属性值限制相比,元组级的限制可以设置不同属性之间的取值的相互约束条件
插入元组或修改属性的值时,关系数据库管理系统检查元组上的约束条件是否被满足
完整性约束命名字句
完整性约束命名子句
CONSTRAINT <完整性约束条件名><完整性约束条件>
<完整性约束条件>包括NOT NULL、UNIQUE、PRIMARY KEY短语、FOREIGN KEY短语、CHECK短语等
修改表中的完整性限制
使用ALTER TABLE语句修改表中的完整性限制
断言
创建断言的语句格式
CREATE ASSERTION<断言名><CHECK 子句>
每个断言都被赋予一个名字,<CHECK 子句>中的约束条件与WHERE子句的条件表达式类似。
删除断言的语句格式为
DROP ASSERTION <断言名>;
如果断言很复杂,则系统在检测和维护断言的开销较高,这是在使用断言时应该注意的
触发器
触发器(Trigger)是用户定义在关系表上的一类由事件驱动的特殊过程
触发器保存在数据库服务器中
任何用户对表的增、删、改操作均由服务器自动激活相应的触发器
触发器可以实施更为复杂的检查和操作,具有更精细和更强大的数据控制能力
定义触发器
CREATE TRIGGER语法格式
CREATE TRIGGER <触发器名>
{BEFORE | AFTER} <触发事件> ON <表名>
REFERENCING NEW|OLD ROW AS<变量>
FOR EACH {ROW | STATEMENT}
[WHEN <触发条件>]<触发动作体>
激活触发器
触发器的执行,是由触发事件激活的,并由数据库服务器自动执行
一个数据表上可能定义了多个触发器,遵循如下的执行顺序:
(1) 执行该表上的BEFORE触发器;
(2) 激活触发器的SQL语句;
(3) 执行该表上的AFTER触发器。
删除触发器
删除触发器的SQL语法:
DROP TRIGGER <触发器名> ON <表名>;
触发器必须是一个已经创建的触发器,并且只能由具有相应权限的用户删除。