關系代數
傳統的集合運算(基本的關系:選擇、投影、並、差、笛卡爾積)
∪(並)、-(差)、笛卡爾積、∩(交)(其中:∩(交)可以通過∪(並)與-(差)的組合來表示)
###並差交使用的前提是: ###1.這三個操作符所操作的關系有相同的目(即:有相同數目的列屬性) ###2.相應的屬性取自同一個
###並交差都不改變關系的列數,但是笛卡爾積改變了關系的列數
##專門的關系運算
##選擇、投影、連接、除 ##1.選擇(又稱為限制) ###將符合篩選要求的元組顯示出來(選擇:只改變表元組的數目)
##2.投影 ###從原有的表中選擇出若干的列組成新的關系 ###投影不僅僅改變的是列的數據,也可能改變元組的數目 ###因為在進行投影的時候可能將原有的可以唯一的確定一個元組的列去掉之后,造成重復的行出現,從而導致投影之后元組的數目也跟着發生變化。
##3.連接 ###等值連接(連接條件為=) ###從關系的笛卡爾積中選取A,B屬性值相等的那些元組,即等值連接(不去除重復的列) ###自然連接 ###與等值連接類似,但是不同點是自然連接將重復的列去掉了。
###外連接(所謂的左表右表:在sql語句中以from后的表為左表) ###左外連接:保留左表中的全部的信息,未匹配的用null代替 ###右外連接:保留右表中的全部的信息,未匹配的用null代替
##4.除 ###給定關系R (X,Y) 和S (Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除運算得到一個新的關系P(X),P是R中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。
附加的內容:除法的推導
除法公式的作用就是將在某一個前提下(這里以S為那個前提),哪種情況(哪種情況指代R中的內容)包含了前面S中的全部的情況,就將R中該情況(符合S中所有的要求的情況)保留。
例子:設關系R(A,B,C),S(B,C,D),R/S?
R與S的關系如下:
a1的象集{(b1,c2),(b2,c3),(b2,c1)}
a2的象集{(b3,c7),(b2,c3)}
a3的象集{(b4,c6)}
a4的象集{(b6,c6)}
S在(B,C)上的投影為{(b1,c2),(b2,c1),(b2,c3)}
最終的結果:
(個人理解:其中S在除法中表示一個標准,S中的內容(即:B,C,其中D是無關量,其中的B,C應該與R中的B,C相對應,A即所要求的內容)表示所要達到的標准,而A/S表示從A中篩選出符合標准的內容),A/S所的結果為達到S中的標准的內容