2016-05-16 74 views
0

假設R1(A *,B)和R2(C *,D)是兩個關係模式。設r1和r2爲相應的關係實例。 B是引用R2中的C的外鍵。如果r1和r2中的數據滿足參考完整性約束條件,那麼說ΠB(r1) - ΠC(r2)=∅(即使r1中的元組中的一個元素包含與B屬性相對應的空值)也是正確的。關係代數

+0

Π:這是項目操作。 – saladi

+3

我可以問一下,你的問題是什麼? – piyushj

+0

星號是否表示主要屬性? – philipxy

回答

0

會是正確的說ΠB(R 1) - ΠC(R2)=∅

在關係代數(如通常所定義的),是的。但是一個理由取決於你使用的外鍵的定義。

即使當R1元組中的一個包含空

有在關係代數沒有空值(如通常所定義)。他們來自SQL。 (主鍵也與關係代數無關;候選鍵很重要。)

SQL外鍵的概念與代數概念不同。首先,它涉及空值。其次,SQL PRIMARY KEY或UNIQUE NOT NULL聲明聲明超級密鑰,不一定是候選密鑰,並且SQL FOREIGN KEY聲明引用超級密鑰,而不一定是候選密鑰。