数据库系统概论——断言

数据库系统概论——断言

SQL中,使用CREATE ASSERTION语句声明断言指定更具一般性的约束,可以定义涉及多个表或聚集操作比较复杂的完整性约束条件,断言创建后,任何对断言中所涉及的操作都会触发关系数据库管理系统对该断言的检查,任何使断言不为真的操作都会被拒绝执行

格式

设置断言

create assertion <assertion name> <check statement>

删除断言

drop assertion <assertion name>;

缺点

若断言很复杂,会导致系统检测和维护断言的开销较高

示例

设置断言building_capacity,每个办公楼最多只能容纳两个系

create assertion building_capacity
check (2 >= all(
    select  count(*)
    from department
    group by buidling
));

删除名为building_capacity

drop assertion building_capacity;

鸣谢

数据库系统概论(第5版)
数据库系统概念(原书第6版)

最后

  • 由于博主水平有限,不免有疏漏之处,欢迎读者随时批评指正,以免造成不必要的误解

猜你喜欢

转载自blog.csdn.net/qq_44486439/article/details/107969297