最小和最大元組數
考慮關係 R 和 S ,其中 R 有 m 個元組,S 有 n 個元組。m<=n 。在以下每種情況下,元組的最小和最大數量是多少(假設沒有提到關鍵約束)
- R 聯合 S
- R 交叉點 S
- RS
- SR
- R 自然加入 S
- R 左外連接 S
- R/S
我的工作
- RUNION S
max : n+m (聯合我們添加兩個關係中的所有元組)
min: 0 (取 m=n=null )
- R 交叉點 S
max : m ( m < n 兩個關係都包含相同的鍵,那麼我們可能會得到最大的 m 個鍵)
min: 0(如果兩個關係中都沒有公共鍵,則取 m=n=null)
- R - S
max : m (如果它們是不相交的,那麼在 RS 中我們將得到 R 的所有元組)
min: 0(如果 R 中的所有元組也存在於 S 中)
- SR
最大值:n(如上所述)
min: 0(如上所述)
- R 自然連接 S
max : n*m (如果沒有匹配的鍵約束自然連接將產生笛卡爾積)
min: m ( m < n 當考慮到關鍵約束時)
- R 左外連接 S
max : m (即使不匹配也會輸出左表中的所有內容)
min: 0(當 m=0 時)
- R/S
最大值:m(當 n=0 時)
min:我無法下結論
是的,您的答案大部分是正確的,除了一些錯誤:
1.
R UNION S
- max : n+m (聯合我們將兩個關係中的所有元組相加)
正確,當 R 和 S 沒有公共元組時。
- min: 0 (取 m=n=null )
**錯誤,**最小值是
n
(m 和 n 兩個尺寸中最大的一個)。當 R 的所有元組也存在於 S 中時。並且 m 和 n 不能為空,它們是關係的大小,它們是數字(整數)。
2.
R INTERSECTION S
- 最大:m(
m<n
兩個關係包含相同的鍵,那麼我們可能會得到最大 m 個鍵)正確但推理是錯誤的。您比較兩個關係的元組,而不是鍵。
- min: 0(如果兩個關係中都沒有公共鍵,則取 m=n=null)
正確但推理錯誤。結果可能為 0,因為這兩個關係可能沒有共同的元組)。
3.
R - S
- 最大值:m(如果它們不相交,那麼在 RS 中我們將得到 R 的所有元組)
正確
- min: 0(如果 R 中的所有元組也存在於 S 中)
正確
4.
S - R
- 最大值:n(如上所述)
正確
- min: 0 (如上所述)
**錯誤,**最小值為
n - m
.5.
R natural join S
- max : n*m (如果沒有匹配的鍵約束自然連接將產生笛卡爾積)
正確
- min: m (m < n 當考慮到關鍵約束時)
**錯誤,**最小值是
0
。您可以輕鬆找到與案例 2 (INTERSECTION
) 相同的範例。6.
R LEFT OUTER JOIN S
- max : m (即使不匹配也會輸出左表中的所有內容)
**錯誤,**最大值為
m * n
,與自然連接相同。或者只是採取ON TRUE
。
- min: 0 (當 m=0 時)
錯誤,最小值為
m
。範例可以與NATURAL
上面的 join 相同(或者只是 takeON FALSE
),但它不能給出 lees 比R
(連接中的左關係)中的元組數。7.
R / S
- 最大值:m(當 n=0 時)
正確,但不必為 n=0 或 m=0。你可以找到另一個例子。
- min:我無法下結論。
**最小值是
0
**考慮到關係除法類似於整數除法。3 / 7
例如給出0
整數除法。嘗試將其轉換為關係除法。