資料庫_資料模型(五)
阿新 • • 發佈:2018-11-26
笛卡爾乘積(cross-product)×
例:
R1
sid | bid | day |
---|---|---|
22 | 101 | 10/10/96 |
58 | 103 | 11/12/96 |
S1
sid | sname | rating | age |
---|---|---|---|
22 | dustin | 7 | 45.0 |
31 | lubber | 8 | 55.5 |
58 | rusty | 10 | 35.0 |
R1和S1作笛卡爾乘積的結果是,R1和S1中的各個元組做兩兩拼接,即笛卡爾乘積的結果有2 * 3 = 6 條元組:
(sid) | sname | rating | age | (sid) | bid | day |
---|---|---|---|---|---|---|
22 | dustin | 7 | 45.0 | 22 | 101 | 10/10/96 |
22 | dustin | 7 | 45.0 | 22 | 103 | 11/12/96 |
31 | lubber | 8 | 55.5 | 22 | 101 | 10/10/96 |
31 | lubber | 8 | 55.5 | 22 | 103 | 11/12/96 |
58 | rusty | 10 | 35.0 | 22 | 101 | 10/10/96 |
58 | rusty | 10 | 35.0 | 22 | 103 | 11/12/96 |
注:1. 這兩張表裡都有sid這個屬性。在同一張表裡,不能有兩個屬性同名,這裡存在一個衝突。在關係代數中,提供了Renaming operator:
上式中,1表示笛卡爾乘積結果中的第一個屬性,5表示第五個屬性。將第一個屬性重新命名為sid1,第5個屬性重新命名為sid2.
2. 笛卡爾乘積的結果常常拼接出很多沒有意義的元組。我們更多時候要的是連線操作。
連線(Joins)
條件連線(Conditon Join):⋈這個雲算符在mathtype裡面怎麼打啊? 打不出來 求路過的大佬指點。