當前位置:編程學習大全網 - 編程語言 - 編程語言中,差、交、並、自然連接、選擇、投影、笛卡爾積分別都是什麽運算?

編程語言中,差、交、並、自然連接、選擇、投影、笛卡爾積分別都是什麽運算?

交(Intersection):

關系R與關系S的交由既屬於R又屬於S的元組組成,即R與S中相同的元組,組成壹個新關系,其結果仍為n目關系。記作:R∩S={t|t∈R ∧ t∈S}

簡單來說,運算結果就是兩或多個實體集所***有的部分

並(Union):

關系R和關系S的並由屬於R或屬於S的元組組成,即R和S的所有元組合並,刪去重復元組,組成壹個新關系,其結果仍為n目關系(“n目”指關系模式中屬性的數目為n) 。記作:R∪S={t|t∈R∨t∈S}

簡單來說,運算結果為兩或多個實體集加起來,然後重復的部分只留下壹個

差(Difference)

關系R與關系S的差由屬於R而不屬於S的所有元組組成,即R中刪去與S中相同的元組,組成壹個新關系,其結果仍為n目關系。記作:R-S={t|t∈R∧┐t∈S}

簡單來說,運算結果為,在表R中去掉表S也有的部分

廣義笛卡爾積(Extended Cartesian Product)

兩個分別為n目和m目關系R和S的廣義笛卡爾積是壹個(n+m)列的元組的集合,元組的前n列是關系R的壹個元組,後m列是關系S的壹個元組。若R有k1個元組,S有k2個元組,則關系R和關系S的廣義笛卡爾積有k1*k2個元組,記作:R×S={tr⌒ts| tr∈R∧ts∈S}

或記做R×S={(r1,…,rn ,s1,…,sm)∣((r1,…,rn)∈R∧(s1,…,sm)∈S)

r,s為R和S中的相應分量。

簡單來說,就是把R表的第壹行與S表第壹行組合寫在壹起,作為壹行。然後把R表的第壹行與S表第二行依此寫在壹起,作為新壹行。以此類推。當S表的每壹行都與R表的第壹行組合過壹次以後,換R表的第二行與S表第壹行組合,以此類推,直到R表與S表的每壹行都組合過壹次,則運算完畢。

如果R表有n行,S表有M行,那麽笛卡爾積R×S有n×M行。

選取(Selection)

選取運算是單目運算,是根據壹定的條件在給定的關系R中選取若幹個元組,組成壹個新關系,記作:σF(R)={t|t∈R∧F(t)為真}

其中,σ為選取運算符,F為選取的條件,它由運算對象(屬性名、常數、簡單函數)、算術比較運算符( > ,≥,<,≤,=,≠)和邏輯運算符(∨ ∧ ┐)連接起來的邏輯表達式,結果為邏輯值“真”或“假”。

選取運算實際上是從關系R中選取使邏輯表達式為真的元組,是從行的角度進行的運算。

簡單地說,運算結果就是符合篩選條件的行

選擇是根據給定的條件選擇關系R中的若幹元組組成新的關系,是對關系的元組進行篩選。選擇運算示意圖如下:

投影(Projection)

投影運算也是單目運算,關系R上的投影是從R中選擇出若幹屬性列,組成新的關系,即對關系在垂直方向進行的運算,從左到右按照指定的若幹屬性及順序取出相應列,刪去重復元組。記作:ΠA(R)={t[A]|t∈R}

其中A為R中的屬性列,Π為投影運算符。

從其定義可看出,投影運算是從列的角度進行的運算,這正是選取運算和投影運算的區別所在。選取運算是從關系的水平方向上進行運算的,而投影運算則是從關系的垂直方向上進行的。

簡單地說,就是選取符合篩選條件的列,然後按照妳所需要的順序重新排列。

連接(Join)

連接運算是二目運算,是從兩個關系的笛卡爾積中選取滿足連接條件的元組,組成新的關系。

所謂自然連接就是在等值連接的情況下,當連接屬性X與Y具有相同屬性組時,把在連接結果中重復的屬性列去掉。即如果R與S具有相同的屬性組Y,則自然連接可記作:R*S={t r⌒ts |tr∈R∧ts∈S∧tr[Y]=ts[Y]}

自然連接是在廣義笛卡爾積R×S中選出同名屬性上符合相等條件元組,再進行投影,去掉重復的同名屬性,組成新的關系。

  • 上一篇:急急急~!7號交的~!怎樣寫年工作總結和下壹年的工作計劃更好?
  • 下一篇:Autolisp編程整數
  • copyright 2024編程學習大全網