資料庫的笛卡爾積
『壹』 資料庫關系代數中,笛卡爾積和自然連接的區別
區別:
笛卡爾積對兩個關系R和S進行操作,產生的關系中元組個數為兩個關系中元組個數之積。
等值連接則是在笛卡爾積的結果上再進行選擇操作,挑選關系第 i 個分量與第(r+j) 個分量值相等的元組。
自然連接則是在等值連接(以公共屬性值相等為條件)的基礎上再行投影操作,去掉 S 中的公共屬性列,當兩個關系沒有公共屬性時,自然連接就轉化成笛卡爾積。
1、自然連接一定是等值連接,但等值連接不一定是自然連接。
2、等值連接要求相等的分量,不一定是公共屬性;而自然連接要求相等的分量必須是公共屬性
3、等值連接不把重復的屬性除去;而自然連接要把重復的屬性除去。
笛卡爾積:
在數學中,兩個集合X和Y的笛卡兒積(Cartesian proct),又稱直積,表示為X × Y,第一個對象是X的成員而第二個對象是Y的所有可能有序對的其中一個成員。
假設集合A={a, b},集合B={0, 1, 2},則兩個集合的笛卡爾積為{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。
等值連接:
等值連接是關系運算-連接運算的一種常用的連接方式。是條件連接(或稱θ連接)在連接運算符為「=」號時(即θ=0時)的一個特例。
自然連接:
自然連接(Natural join)是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,並且在結果中把重復的屬性列去掉。而等值連接並不去掉重復的屬性列。
『貳』 資料庫的問題:笛卡爾積是怎麼算的比如A={1,2,3},B={a,b,c},那麼A*B等於什麼,不要給我列行列式的,
A*B={(1,a),(1,b),(1,c),(2,a),(2,b),(2,c),(3,a),(3,b),(3,c)},這個集合共9個元素
一般地,如果A集合有m個元素,B集合有n個元素,則A*B有mn個元素。
『叄』 資料庫中笛卡爾積的子集是什麼意思
假設2張表,笛卡爾積就是2張表的所有記錄的排列組合,比如: select * from 表1,表2, 就是 表1,表2的笛卡爾積。但是,實際情況中,真正使用的都是它的子集(即2表是有關聯條件的),只有在極特殊的情況下才會用笛卡爾積
『肆』 資料庫里的笛卡兒積是什麼東西
笛卡爾積又叫笛卡爾乘積,是一個叫笛卡爾的人提出來的。 簡單的說就是兩個集合相乘的結果。 具體的定義去看看有關代數系的書的定義。 直觀的說就是 集合A{a1,a2,a3} 集合B{b1,b2} 他們的 笛卡爾積 是 A*B ={(a1,b1),(a1,b2),(a2,b1),(a2,b2),(a3,b1),(a3,b2)} 任意兩個元素結合在一起
『伍』 資料庫笛卡爾積
所謂笛卡爾積,通俗點說就是指包含兩個集合中任意取出兩個元素構成的組合的集合.