複製鏈接
請複製以下鏈接發送給好友

廣義笛卡爾積

鎖定
設兩個關係R和S的屬性列數分別是r和s,R和S的廣義笛卡爾積是一個(r+s)個屬性列的元組的集合,每一個元組的前r個分量來自R的一個元組,後s個分量來自S的一個元組。笛卡爾積記為R×S。形式定義為:R×S={t|t=∧tr∈R∧ts∈S} 。
中文名
廣義笛卡爾積
外文名
Extended cartesian product
應用領域
數據庫

目錄

廣義笛卡爾積定義

廣義笛卡爾積 廣義笛卡爾積
假設集合A={a,b},集合B={0,1,2},則兩個集合的笛卡爾積為{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}。類似的例子有,如果A表示某學校學生的集合,B表示該學校所有課程的集合,則A與B的笛卡爾積表示所有可能的選課情況。將其元素由集合形式拓展為關係形式,則為廣義笛卡爾積。 [1] 
設R是n目關係,S是m目關係,R和S的廣義笛卡爾積定義為:
RxS是一個(m+n)目關係,前n列是關係R的屬性,後n列是關係S的屬性。每個元組的前n個屬性是關係R的一個元組,後m個屬性是關係S的一個元組。若關係R有p個元組,關係S有q個元組,關係RxS有pxq個元組,且每個元組的屬性為(m+n)。兩隊游泳運動對均有3名隊員組成。現做循環比賽,賽事表可看成是兩對名單的廣義笛卡爾積。

廣義笛卡爾積應用示例

現有關係R和關係S,如下表所示。
關係R
A
B
C
a1
b1
c1
a1
b2
c2
a2
b2
c1
關係S
A
B
C
a1
b2
c2
a1
b3
c2
a2
b2
c1
先求關係R和關係S的廣義笛卡兒積RxS。
RxS
R.A
R.B
R.C
S.A
S.B
S.C
a1
b1
c1
a1
b2
c2
a1
b1
c1
a1
b3
c2
a1
b1
c1
a2
b2
c1
a1
b2
c2
a1
b2
c2
a1
b2
c2
a1
b3
c2
a1
b2
c2
a2
b2
c1
a2
b2
c1
a1
b2
c2
a2
b2
c1
a1
b3
c2
a2
b2
c1
a2
b2
c1
觀察上關係可以看出是6=3+3目的關係,前3列是關係R屬性,後3列是關係S的屬性,每個元組的前3個屬性是關係R的一個元組,後3個屬性是關係S的一個元組。關係RxS=3x3=9個元組。
參考資料
  • 1.    王珊 薩師煊.數據庫系統概率(第5版):高等教育出版社,2014:49