加载中...

数据库系统概论小结(四)【面向考试】

数据库系统概论小结(四)【面向考试】

第五章 数据库完整性

数据库的完整性指数据的正确性和相容性。

  • 正确性:符合现实世界的描述。
  • 相容性:同一对象在不同表里面是符合逻辑的。

维护完整性:

  1. 提供定义完整性约束条件的机制
  2. 提供完整性检查的方法
  3. 进行违约处理

三大完整性:

  • 实体完整性
  • 参照完整性
  • 用户定义完整性

5.1实体完整性

主码唯一且非空。

5.2参照完整性

外码要么没有,要么只有一个。

5.3用户定义的完整性

  1. 非空NOT NULL
  2. 唯一UNIQUE
  3. CHECK,如CHECK(sex in ('男','女'))是属性上的check约束,也可以添加元组上的check约束,可以设置不同属性之间的相互约束

5.4完整性约束命名子句

img1

img2

5.5断言

所谓断言就是一个谓词,它表达了我们希望数据库总能满足的一个条件。域约束和参照完整性约束是断言的特殊形式。

  • 创建断言

    CREATE ASSERTION <断言名> <CHECK子句>;
    
  • 删除断言

    DROP ASSERTION <断言名>;
    

5.6触发器

触发器也叫做 事件 -> 条件 -> 动作 规则,当特定事件发生时,对规则的条件进行检查,如果条件成立则执行规则中的动作,否则不执行。

  • 建立触发器

    CREATE TRIGGER <触发器名>
    {BEFORE | AFTER}<触发事件> ON <表名>
    REFERENCING NEW|OLD ROW AS<变量>
    FOR EACH{ROW|STATEMENT}
    [WHEN <触发条件>] <触发动作者>
    
  • 删除触发器

    DROP TRIGGER <触发器名> ON <表名>;
    
posted @ 2022-06-13 13:45  我没有bug  阅读(81)  评论(0编辑  收藏  举报