简答题

分别叙述在进行插入、删除、更新操作时都需要进行哪些完整性检查,并说明理由。

正确答案

(1)执行插入操作时需要分别检查实体完整性规则、参照完整性规则和用户定义完整性规则。
首先检查实体完整性规则,如果插入元组的主关键字的属性不为空值、并且相应的属性值在关系中不存在(即保持唯一性),则可以执行插入操作,否则不可以执行插入操作。
接着再检查参照完整性规则,如果是向被参照关系插入元组,则无须检查参照完整性;如果是向参照关系插入元组,则要检查外部关键字属性上的值是否在被参照关系中存在对应的主关键字的值,如果存在则可以执行插入操作,否则不允许执行插入操作。另外,如果插入元组的外部关键字允许为空值,则当外部关键字是空值时也允许执行插入操作。
最后检查用户定义完整性规则,如果插入的元组在相应的属性值上遵守了用户定义完整性规则,则可以执行插入操作,否则不可以执行插入操作。
(2)执行删除操作时一般只需要检查参照完整性规则。
如果删除的是参照关系的元组,则不需要进行参照完整性检查,可以执行删除操作。
如果删除的是被参照关系的元组,则检查被删除元组的主关键字属性的值是否被参照关系中某个元组的外部关键字引用,如果未被引用则可以执行删除操作;否则可能有三种情况:
1)不可以执行删除操作,即拒绝删除;
2)可以删除,但需同时将参照关系中引用了该元组的对应元组一起删除,即执行级联删除;
3)可以删除,但需同时将参照关系中引用了该元组的对应元组的外部关键字置为空值,即空值删除。
(3)执行更新操作可以看作是先删除旧的元组,然后再插入新的元组。所以执行更新操作时的完整性检查综合了上述两种情况。

答案解析

相似试题
  • 在层次模型中,进行插入、删除、更新操作时,分别需要满足的完整性约束主要有哪些?

    简答题查看答案

  • 什么是数据的完整性?请简述在对关系进行插入、删除和更新操作时各需要进行哪些完整性检查

    简答题查看答案

  • ()允许用户定义一组操作,这些操作通过对指定的表进行删除、插入和更新命令来执行或触发。

    单选题查看答案

  • ()允许用户定义一组操作,这些操作通过对指定的表进行删除、插入和更新命令来执行或触发。

    单选题查看答案

  • 队是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。

    判断题查看答案

  • 队列是一种插入和删除操作分别在表的两端进行的线性表,是一种先进后出的结构。

    判断题查看答案

  • 数据的()包括查找、插入、删除、更新、排序等操作类型。

    单选题查看答案

  • 操作查询是只需进行一次操作就可以对许多记录进行更改或移动的一种查询。它有四种类型,分别是追加查询、更新查询、()、删除查询。

    填空题查看答案

  • 操作查询是只需进行一次操作就可以对许多记录进行更改或移动的一种查询。它有四种类型,分别是()、更新查询、生成表查询、删除查询。

    填空题查看答案