2

如果我有以下表格並且我在關係代數中執行R1/R2,結果是A值爲1還是3的表格?我有點困惑,因爲我知道3將是一個結果,因爲它包含5和1,但結果1有B的附加值,除了匹配的,所以這也包括在內,爲什麼?關係代數 - 除法

 R1   R2 
    +---+---+ +---+ 
    | A | B | | B | 
    |---|---| |---| 
    | 1 | 1 | | 5 | 
    | 1 | 2 | | 1 | 
    | 1 | 3 | +---+ 
    | 1 | 4 | 
    | 2 | 3 | 
    | 2 | 4 | 
    | 3 | 5 | 
    | 3 | 1 | 
    | 1 | 5 | 
    | 5 | 7 | 
    | 5 | 8 | 
    +---+---+ 
+2

取決於您是否想要使用剩餘分區或精確分區的分區。參見[Divided We Stand:關係部門的SQL](http://www.simple-talk.com/sql/t-sql-programming/divided-we-stand-the-sql-of-relational-division/) 。在關係代數中,AFAIK的餘數是[通常的解釋](http://coronet.iicm.tugraz.at/Dbase1/scripts/rdbh06.htm)。 –

+0

@MartinSmith,這就是我曾經想過的,關係代數與餘數運算分割。只是想檢查! – mark

回答

2

在關係數據庫中劃分的定義爲:
R1(Y,X)DIVIDE R2(X)= R1 [Y] MINUS((R1 [Y] TIMES R2)減去R1)[Y]

記住R1 [Y]是「Y上的PROJECT R1」的另一種形式。
所以結果是{1,3}