以下哪个关系演算表达式是不安全的?
(一) A
(乙)乙
(C)丙
(四)丁答案: (C)
说明:元组关系演算表达式有时可能会生成无限关系。它还可能包含甚至没有出现在数据库中的值。据说这样的表达式是不安全的。
一个安全的元组关系演算表达式肯定会产生有限结果。
为了限制元组关系演算中表达式的不安全性,有一个由 dom (P) 表示的元组关系公式的域的概念是 P 引用的值的集合,即 P 中的值或关系的元组中的值P中提到。
例如:表达式 {t | ¬ (t € R)} 是不安全的,因为在 R 关系中没有出现无限多的元组。
在上述问题中,选项 (A)、(B) 和选项 (D) 产生有限的元组集,因为每个元组都给出受特定关系限制的元组,因此是安全的。
选项 (C) 产生无限数量的元组,因为它生成所有不在 R1 中的元组,即它可以具有来自除 R1 之外的任何其他关系的元组。因此它是不安全的。
codex.cs.yale.edu/avi/db-book/db6/slide-dir/PPT-dir/ch6.ppt
该解决方案由Yashika Arora 提供。
这个问题的测验