重温《数据库系统概论》【第一篇 基础篇】【第5章 数据库完整性】

本篇内容为中国人民大学教授王珊、萨师煊的《数据库系统概论》自学课程的复习笔记,学习视频源于小破站(传送门),对应视频P32-P36,属教材“【第一篇 基础篇】”的“【第5章 数据库完整性】”内容。


在这里插入图片描述


P32 数据库完整性概述及实体完整性

32.1 数据库的完整性

  • 数据的正确性(数据要符合实际情况)
  • 数据的相容性(同一对象在不同关系表中数据符合逻辑)

32.2 实体完整性

  • 定义码
    eg1:将Student表中的Sno属性定义为码
    在这里插入图片描述
    eg2:将SC表中的Sno,Cn哦属性组定义为码
    在这里插入图片描述
  • 实体完整性检查和违约处理
    ① 检查主码值是否唯一,如果不唯一则拒绝插入或修改
    ② 检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改
    在这里插入图片描述
    在这里插入图片描述

P33 参照完整性

33.1 参照完整性定义

在这里插入图片描述

33.2 参照完整性检查和违约处理


P34 用户定义的完整性

34.1 属性上约束条件

  • 列值非空(NOT NULL)
    在这里插入图片描述
  • 列值唯一(UNIQUE)
    在这里插入图片描述
  • 检查列值是否满足一个条件表达式(CHECK短语)
    在这里插入图片描述

34.2 元组上的约束条件

在这里插入图片描述

34.3 数据库完整性小结及对比

在这里插入图片描述


P35 完整性约束命名子句及断言

35.1 完整性约束命名子句

  • 示例eg:完整性约束命名子句
    在这里插入图片描述
  • 示例eg:修改表中的完整性限制
    在这里插入图片描述

35.2 断言

  • 创建断言的语句格式
CREATE ASSERTION <断言名> <CHECK 子句>
  • 示例eg:
    在这里插入图片描述
  • 删除断言的语句格式
DROP ASSERTION <断言名>;

P36 触发器

36.1 Trigger

  • 用户定义在关系表上的一类由事件驱动的特殊过程;
  • 任何用户对表的增删改操作均由服务器自动激活相应的触发器
  • 触发器可以试试更为复杂的检查和操作,具有更惊喜和更强大的数据控制能力

36.2 触发器操作

  • 定义触发器(只能定义在基本表上)
    在这里插入图片描述
    在这里插入图片描述
  • 激活触发器
    在这里插入图片描述
  • 删除触发器
    在这里插入图片描述

札记

在这里插入图片描述


猜你喜欢

转载自blog.csdn.net/weixin_44421798/article/details/112612556