交(Intersection): 關(guān)系R與關(guān)系S的交由既屬于R又屬于S的元組組成,,即R與S中相同的元組,組成一個新關(guān)系,,其結(jié)果仍為n目關(guān)系,。記作:R∩S={t|t∈R ∧ t∈S} 簡單來說,運算結(jié)果就是兩或多個實體集所共有的部分 并(Union): 關(guān)系R和關(guān)系S的并由屬于R或?qū)儆赟的元組組成,,即R和S的所有元組合并,,刪去重復元組,組成一個新關(guān)系,,其結(jié)果仍為n目關(guān)系(“n目”指關(guān)系模式中屬性的數(shù)目為n) ,。記作:R∪S={t|t∈R∨t∈S} 簡單來說,運算結(jié)果為兩或多個實體集加起來,,然后重復的部分只留下一個 差(Difference) 關(guān)系R與關(guān)系S的差由屬于R而不屬于S的所有元組組成,,即R中刪去與S中相同的元組,組成一個新關(guān)系,,其結(jié)果仍為n目關(guān)系,。記作:R-S={t|t∈R∧┐t∈S} 簡單來說,運算結(jié)果為,,在表R中去掉表S也有的部分 廣義笛卡爾積(Extended Cartesian Product) 兩個分別為n目和m目關(guān)系R和S的廣義笛卡爾積是一個(n+m)列的元組的集合,,元組的前n列是關(guān)系R的一個元組,后m列是關(guān)系S的一個元組,。若R有k1個元組,,S有k2個元組,則關(guān)系R和關(guān)系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行。 選?。⊿election) 選取運算是單目運算,,是根據(jù)一定的條件在給定的關(guān)系R中選取若干個元組,組成一個新關(guān)系,,記作:σF(R)={t|t∈R∧F(t)為真} 其中,σ為選取運算符,,F(xiàn)為選取的條件,,它由運算對象(屬性名、常數(shù),、簡單函數(shù)),、算術(shù)比較運算符( > ,≥,,<,,≤,=,,≠)和邏輯運算符(∨ ∧ ┐)連接起來的邏輯表達式,,結(jié)果為邏輯值“真”或“假”。 選取運算實際上是從關(guān)系R中選取使邏輯表達式為真的元組,,是從行的角度進行的運算,。 簡單地說,運算結(jié)果就是符合篩選條件的行 選擇是根據(jù)給定的條件選擇關(guān)系R中的若干元組組成新的關(guān)系,,是對關(guān)系的元組進行篩選,。選擇運算示意圖如下: 投影(Projection) 投影運算也是單目運算,關(guān)系R上的投影是從R中選擇出若干屬性列,,組成新的關(guān)系,,即對關(guān)系在垂直方向進行的運算,從左到右按照指定的若干屬性及順序取出相應列,,刪去重復元組,。記作:ΠA(R)={t[A]|t∈R} 其中A為R中的屬性列,Π為投影運算符,。 從其定義可看出,,投影運算是從列的角度進行的運算,這正是選取運算和投影運算的區(qū)別所在,。選取運算是從關(guān)系的水平方向上進行運算的,,而投影運算則是從關(guān)系的垂直方向上進行的。 簡單地說,就是選取符合篩選條件的列,,然后按照你所需要的順序重新排列,。 連接(Join) 連接運算是二目運算,是從兩個關(guān)系的笛卡爾積中選取滿足連接條件的元組,,組成新的關(guān)系,。 所謂自然連接就是在等值連接的情況下,當連接屬性X與Y具有相同屬性組時,,把在連接結(jié)果中重復的屬性列去掉,。即如果R與S具有相同的屬性組Y,則自然連接可記作:R*S={t r⌒ts |tr∈R∧ts∈S∧tr[Y]=ts[Y]} 自然連接是在廣義笛卡爾積R×S中選出同名屬性上符合相等條件元組,,再進行投影,,去掉重復的同名屬性,組成新的關(guān)系,。 |
|