GATE | GATE-IT-2004 |问题78

在关系数据库中考虑列和行的两个表如下:

null
表:学生
滚不 名称 部门id
1. 基础知识 1.
2. DEF 1.
3. GHI 2.
4. JKL 3.
表:部门
部门id 部门名称
1. A.
2. B
3. C

卷号是学生表的主键,部门id是部门表和学生表的主键。Dept_id是Department的外键。部门id 如果我们尝试执行以下两条SQL语句,会发生什么?

  1. 更新学生集合Dept_id=Null,其中Roll_on=1
  2. 更新部门设置Dept_id=Null,其中Dept_id=1

(A) (i)和(ii)都会失败 (B) B) (i)将失败,但(ii)将成功 (C) (i) 会成功,但(ii)会失败 (D) (i)和(ii)都会成功 答复: (C) 说明:

  • 更新学生设置Dept_id=Null,其中Roll_on=1->这将成功,因为Roll no是主键,我们可以将外键设置为Null
  • 更新Department set Dept_id=Null,其中Dept_id=1->As Student table(卷号1和卷号2)引用Dept_id,因此根据引用完整性约束,我们不能删除Dept_id。但是,在例外情况下,如果我们想使用级联删除选项,我们可以克服它。

这个问题的小测验 如果你在上面的帖子中发现任何错误,请在下面发表评论

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享