1
A
回答
3
的*
應該更正確地寫×
,因爲它代表一個Cartesian product。該操作返回從每個操作數連接元組的所有元組的集合。聯接將笛卡爾積過濾爲僅限於具有指定屬性上的匹配值的那些元組。如果連接是自然連接,如在您的示例中,匹配的屬性是具有相同名稱的連接。
例如,給定以下兩個關係R
和S
如圖所示:
R (a, b, c) S (b, c, d)
(1, 2, 3) (2, 7, 9)
(2, 4, 6) (5, 3, 4)
(3, 6, 9) (2, 3, 6)
的笛卡爾乘積R × S
是:
(R.a, R.b, R.c, S.b, S.c, S.d)
(1, 2, 3, 2, 7, 9 )
(1, 2, 3, 5, 3, 4 )
(1, 2, 3, 2, 3, 6 )
(2, 4, 6, 2, 7, 9 )
(2, 4, 6, 5, 3, 4 )
(2, 4, 6, 2, 3, 6 )
(3, 6, 9, 2, 7, 9 )
(3, 6, 9, 5, 3, 4 )
(3, 6, 9, 2, 3, 6 )
自然連接R ⨝ S
是過濾爲僅元組,其中產品在b
和c
值匹配:
(a, b, c, d)
(1, 2, 3, 6)
的加入R ⨝b S
是過濾,只有在b
值匹配元組的產品:
(R.a, b, R.c, S.c, S.d)
(1, 2, 3, 7, 9 )
(1, 2, 3, 3, 6 )
相關問題
- 1. 設置SBT依賴關係時,%和%%運算符會做什麼?
- 2. perl運算符「|| =」做什麼?
- 3. 什麼+運算符做CSS
- 4. 「+ =」運算符是做什麼的?
- 5. HAML - 「!=」運算符是做什麼的?
- 6. php運算符「 - =」是做什麼的?
- 7. ^運算符是做什麼的?
- 8. =>運算符是做什麼的?
- 9. '&='和'=&'運算符是做什麼的?
- 10. - =運算符是做什麼的?
- 11. ==〜運算符是做什麼的?
- 12. ^運算符是做什麼的?
- 13. RA運算符差異 - 關係代數
- 14. 關係代數運算
- 15. 在提供的C#代碼中,+ =運算符是做什麼的?
- 16. 爲什麼加法運算比乘法運算更快?
- 17. 爲什麼我的重載乘法運算符無法識別?
- 18. 重載乘法運算符
- 19. Perl中的表示法 - || =運算符是做什麼的?
- 20. 什麼是「?」。運算符在C#中做什麼?
- 21. //和||是什麼?運算符在Perl中做什麼?
- 22. 什麼是按位AND運算符&做什麼?
- 23. 邏輯運算符什麼都不做的名字是什麼?
- 24. 運算符|是什麼?對boost :: la中的vec3做些什麼?
- 25. 關係代數中允許乘法嗎?
- 26. 「| =」運算符在C#中做什麼?
- 27. +運算符在cout中做什麼?
- 28. 運算符`。*`在matlab中做什麼?
- 29. '/運算符在MATLAB中做什麼?
- 30. 運算符| =在JavaScript中做什麼?
書「數據庫系統基礎」 - 第6版用乘號*作爲自然連接的一種替代符號第159頁(第6版,ISBN 0136086209)。 – pln