廣義笛卡爾積

廣義笛卡爾積

設兩個關係R和S的屬性列數分別是r和s,R和S的廣義笛卡爾積是一個(r+s)個屬性列的元組的集合,每一個元組的前r個分量來自R的一個元組,後s個分量來自S的一個元組。笛卡爾積記為R×S。形式定義為:R×S={t|t=<tr,ts>∧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的笛卡爾積表示所有可能的選課情況。將其元素由集合形式拓展為關係形式,則為廣義笛卡爾積。
廣義笛卡爾積
設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
ABC
a1
b1
c1
a1
b2
c2
a2
b2
c1
關係S
ABC
a1
b2
c2
a1
b3
c2
a2
b2
c1
先求關係R和關係S的廣義笛卡兒積RxS。
RxS
R.AR.BR.CS.AS.BS.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個元組。

相關詞條

熱門詞條

聯絡我們