数据库完整性约束
##数据库完整性的作用是为了防止不合语义的数据注入数据库
完整性约束类型
分为静态约束、动态约束
静态约束包含:固有约束、隐式约束、显式约束
固有约束:数据模型的固有约束 #关系模型:关系的属性不可分(原子性) #层次模型:一个树一个根;子节点只有一个父节点
隐式约束:隐含在数据模型中的完整性约束
显式约束:无法用隐式约束来描述的状态约束
动态约束(变迁约束):数据库从一个状态向另一个状态变化的过程约束,重点强调对变化过程进行约束
完整性约束的定义
静态约束的定义
固有约束:无需定义
隐式约束:由开发人员或DBA(数据库管理员)利用DDL(数据定义子语言)定义
显式约束:
#过程化定义:程序员编写成过程函数加入到应用程序中
#断言:数据库状态应满足的逻辑条件
#触发器:由相应操作触发(insert/update/delete),执行触发器中相应的动作。
触发器的主要用途是维护表间数据完整性,还可用于监视数据库状态、向用户发送消息、报警
动态约束的定义
过程化定义、触发器定义