📜  DBMS中的虚假元组

📅  最后修改于: 2021-08-25 17:38:51             🧑  作者: Mango

在数据库管理系统(DBMS)中,数据通过属性和元组(即列和行)以表格形式表示。
我们可以对表执行各种操作(插入,删除,更新,修改等)。一种这样的操作是join。当我们将两个表合并为一个表时,我们称其为联接,并用denoted表示。

虚假元组:
虚假元组是表中的那些行,是由于以错误的方式连接两个表而导致的。它们是多余的元组(行),可能不需要。

如果关系用R表示,并且其分解关系用R1,R2,R3 …. Rn表示,则不获取任何虚假元组的条件用下式表示:

R1 ⨝ R2 ⨝ R3 .... ⨝ Rn = R

而获取虚假元组的条件表示为:

R ⊂ R1 ⨝ R2 ⨝ R3 .... ⨝ Rn

示例1:
检查给定关系是否包含虚假元组的示例。
令R为关系,而R1和R2为分解R后得到的关系。

在执行关系R1和R2(R1⨝R2)的联接运算后,我们返回原始关系R。

满足无伪元组的条件R1⨝R2 =R。因此,我们没有任何虚假元组。

结论–不存在虚假元组。

示例2:
检查给定关系是否包含虚假元组的示例。
令R为关系,而R1和R2为分解R后得到的关系。

在执行关系R1和R2(R1⨝R2)的联接运算后,我们没有获得原始关系R。

满足伪元组的条件R⊂R1⨝R2。因此,我们得到了虚假元组。

结论–虚假元组存在。

笔记 –
DBMS中的行称为元组。而DBMS中的列称为属性。可以将虚假元组记住为表中的额外行。导致虚假元组的自然连接称为有损连接。不会导致虚假元组的自然连接称为无损连接。