【数据库系统概论(基础篇)】 第五章 数据库完整性

【RDBMS的完整性机制的组成】DBMS完整性控制机制的功能是什么?它由哪些部分组成?这几部分是如何配合工作的?
功能:防止数据库中存在不符合语义的数据,即防止数据库中存在不正确的数据。
包括:
(1)提供定义完整性约束条件的机制
(2)提供完整性检查的方法
(3)进行违约处理

【浅析参照完整性的违约处理方式】说明参照完整性的定义方式,检查时机以及各类违约处理方式。
定义方式:参照完整性在CREATE TABLE中用FOREIGN KEY短语定义哪些列为外码,用REFERENCES短语指明这些外码参照哪些表的主码。
检查时机:对被参照表和参照表进行增、删、改操作时检查。
各类违约处理方式:
【数据库系统概论(基础篇)】 第五章 数据库完整性_第1张图片

【浅析用户定义的完整性的违约处理方式】说明用户定义完整性的方法,检查时机以及各类违约处理方式。
当往表中插入元组或修改属性的值时,关系数据库管理系统将检查属性上的约束条件是否被满足,如果不满足则操作被拒绝执行。
当往表中插入元组或修改属性的值时,关系数据库管理系统将检查元组上的约束条件是否被满足,如果不满足则操作被拒绝执行。

【如何定义断言】
断言的用途是什么?在学生-课程-选课数据库中,如何定义断言“每学期每个学生最多可以选修7门课”?
通过声明性断言可指定更具一般性的约束。可以定义涉及多个表或聚集操作的比较复杂的完整性约束。断言创建以后,任何对断言中所涉及关系的操作都会触发关系数据库管理系统对断言的检查,任何使断言不为真值的操作都会被拒绝执行。

【触发器的定义和执行;定义完整性约束的方法】
1.是否可以在一个表上定义多个触发器?如果可以,那么这些触发器的执行顺序是怎样的?
2.RDBMS定义完整性约束的方法有哪些?
同一个表上的多个触发器激活时遵循如下的执行顺序:
(1)执行该表上的BEFORE触发器
(2)激活触发器的SQL语句
(3)执行该表上的AFTER触发器
对于同一个表上的多个BEFORE(AFTER)触发器,遵循“谁先创建谁先执行”的原则。

完整性约束定义的方法有实体完整性、参照完整性和用户定义完整性以及断言和触发器。


  1. 【单选】在数据库系统中,保证数据及语义正确和有效的功能是(D )。
    A.并发控制
    B.存取控制
    C.安全控制
    D.完整性控制

  2. 【单选】在数据库的表定义中,限制成绩属性列的取值在0到100的范围内,属于数据的(C )约束。
    A.实体完整性
    B.参照完整性
    C.用户自定义完整性
    D.用户操作

  3. 【单选】有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于(C )。
    A.实体完整性约束
    B.参照完整性约束
    C.用户自定义完整性约束
    D.关键字完整性约束

  4. 【单选】关于主键约束以下说法错误的是(C )。
    A.一个表中只能设置一个主键约束
    B.空值的字段上不能定义主键约束
    C.空值的字段上可以定义主键约束
    D.可以将包含多个字段的字段组合设置为主键

  5. 【多选】实体完整性规则检查的内容包括(AC )。
    A.检查主码的各个属性值是否为空,只要有一个为空就拒绝插入或修改
    B.检查主码的各个属性值是否唯一,只要有一个不唯一就拒绝插入或修改
    C.检查主码值是否唯一,如果不唯一就拒绝插入或修改
    D.检查主码值是否唯一,如果唯一就拒绝插入或修改

  6. 【多选】数据库的完整性是指数据的(ABC )。
    A.实体完整性
    B.参照完整性
    C.用户定义完整性
    D.安全完整性

  7. 【判断】数据的完整性是保护数据库,防止恶意破坏和非法存取。(× )

  8. 【判断】对参照表插入元组时,一旦违背了参照完整性约束,则拒绝插入元组。( √ )

  9. 【判断】触发器不仅可以定义在基本表上,也可以定义在视图上。(× )

你可能感兴趣的:(数据库笔记)