當前位置:首頁 » 數據倉庫 » 資料庫的笛卡兒積
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫的笛卡兒積

發布時間: 2023-02-10 05:37:56

① (學習中被鄙視)關於資料庫 笛卡兒積的計算

設關系R和S的屬性個數分別為r和s則(RxS)操作結果的屬性個數為_____,元組個數為____。
屬性: r+s 這個看來你是毫無疑問了
元組:RxS-->元組的每個分量是有序排列。你分析得有道理,不是r*s, 我覺得應該用迪卡爾乘積RXS寫法來表示(不管2個集合裡面有多少元素,RXS就是代表RXS的笛卡爾積)。

如果非要追究到詳細的行數,這題只能無解。

② 資料庫關系代數中,笛卡爾積和自然連接的區別

區別:

笛卡爾積對兩個關系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)是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,並且在結果中把重復的屬性列去掉。而等值連接並不去掉重復的屬性列。

③ 資料庫問題 笛卡爾積怎麼計算

按照行來計算,可以把每行的3列看做一個整體(看成1列)。

設A,B為集合,用A中元素為第一元素,B中元素為第二元素構成有序對,所有這樣的有序對組成的集合叫做A與B的笛卡爾積,記作AxB。

笛卡爾積的符號化為:

A×B={(x,y)|x∈A∧y∈B}

A1 A2 A3 A1 A2 A3

a b c a b c

a b c b a c

a b c c a b

b a c a b c

b a c b a c

b a c c a b

c a b a b c

c a b b a c

c a b c a b

(3)資料庫的笛卡兒積擴展閱讀:

一、運算性質:

1、對任意集合A,根據定義有

AxΦ =Φ , Φ xA=Φ

2、笛卡爾積運算不滿足交換律,即

AxB≠BxA(當A≠Φ ∧B≠Φ∧A≠B時)

3、笛卡爾積運算對並和交運算滿足分配律,即

Ax(B∪C)=(AxB)∪(AxC)

(B∪C)xA=(BxA)∪(CxA)

Ax(B∩C)=(AxB)∩(AxC)

(B∩C)xA=(BxA)∩(CxA)

二、應用場合:

在某些情況下用於尋找連續日期中殘缺的數據,可以先用笛卡爾積做一個排列組合,然後和目標表進行關聯,以查詢少了哪些數據。

例如:在一張考勤記錄表中,記錄了100個人在2018年8月的考勤信息,理論上這些人應該每天都有記錄。但是實際上有的人在某些天上面的數據缺少了,然而不論是一天一天的查詢,還是一個一個人的查詢,都比較麻煩。

在這種情況下,可以針對每個人每一天做一個笛卡爾積處理。去除與實際表的關聯,就很容易找出確實數據了。

④ 資料庫里的笛卡兒積是什麼東西

笛卡爾積又叫笛卡爾乘積,是一個叫笛卡爾的人提出來的。 簡單的說就是兩個集合相乘的結果。 具體的定義去看看有關代數系的書的定義。 直觀的說就是 集合A{a1,a2,a3} 集合B{b1,b2} 他們的 笛卡爾積 是 A*B ={(a1,b1),(a1,b2),(a2,b1),(a2,b2),(a3,b1),(a3,b2)} 任意兩個元素結合在一起

⑤ 可以用容易理解的方式講一下資料庫關系運算裡面的笛卡爾積,除,連接和自然連接嗎書上的看不懂!謝了!

1.假如R表有(A,B,C)三個欄位 5條記錄 ,S表有(A, B,C) 三個欄位3條記錄,則
笛卡爾積 R X S 是將兩個結果集筆數相乘,欄位照搬得做法
R表 S表
A B C B C D
a b c b g a
d a f d a f
c b d
則 笛卡爾積 R X S 為
R.A R.B R.C S.A S.B S.C
a b c b g a
a b c d a f
d a f b g a
d a f d a f
c b d b g a
c b d d a f
2. 除,是將集合 R 中與 集合 S 相同欄位數據一樣的結果集選出來,但只顯示 R 中 不存在 S 中的欄位,如
R S 除的結果
A B C D C D A B
a b c d c d a b
a b e f e f e d
a b d e
b c e f
e d c d
e d e f
3. 自然連接,一般用在有公共欄位的情況下,否則就是笛卡爾積;它的結果中會消除重復的欄位,並且公共欄位值不相等的記錄不會出現,如
R S 自然連接結果
A B C B C D A B C D
a b c b c d a b c d
d b e b c e a b c e
b b f a d b d b c d
c a d d b c e
c a d b
4.連接又分θ 連接和 F連接,這個我也不太明白
敲了這么多字,累死我了。

⑥ 資料庫中笛卡爾積的子集是什麼意思

假設2張表,笛卡爾積就是2張表的所有記錄的排列組合,比如: select * from 表1,表2, 就是 表1,表2的笛卡爾積。但是,實際情況中,真正使用的都是它的子集(即2表是有關聯條件的),只有在極特殊的情況下才會用笛卡爾積

⑦ 資料庫笛卡爾積有重復的需要去掉嗎

笛卡爾乘積就是兩個關系相乘,得到一個更大的關系,其欄位數為原來的兩個關系欄位數的和,記錄數為兩個關系的記錄數的乘積。這跟去重沒關系啊。

⑧ 關系資料庫,笛卡兒積

關系資料庫中的笛卡爾積的結果就是兩個表中行數的乘積

笛卡爾積:
SELECT * FROM table1, table2
沒有 WHERE 子句的交叉聯接將產生聯接所涉及的表的笛卡爾積
第一個表的行數乘以第二個表的行數等於笛卡爾積結果集的大小

回答補充

屬性是結果的列數 +
元組是結果的行數 ×

⑨ 資料庫笛卡爾乘積現象,求解釋

出現笛卡爾積是因為兩個表都有滿足條件的重復數據,如果只是一個表重復就不會出現這樣的情況