交(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中選出同名屬性上符合相等條件元組,再進行投影,去掉重復的同名屬性,組成新的關系。