資料庫關系代數運算
❶ 資料庫常用的關系運算是什麼
在關系資料庫中,基本的關系運算有三種,它們是選擇、投影和連接。關系的基本運算有兩類:一類是傳統的集合運算(並、差、交等),另一類是專門的關系運算(選擇、投影、連接、除法、外連接等),有些查詢需要幾個基本運算的組合,要經過若干步驟才能完成。
一、傳統的集合運算
1、並(UNION)設有兩個關系R和S,它們具有相同的結構。R和S的並是由屬於R或屬於S的元組組成的集合,運算符為∪。記為T=R∪S。
2、差(DIFFERENCE)R和S的差是由屬於R但不屬於S的元組組成的集合,運算符為-。記為T=R-S。
3、交(INTERSECTION)R和S的交是由既屬於R又屬於S的元組組成的集合,運算符為∩。記為T=R∩S。R∩S=R-(R-S)。
二、選擇運算
從關系中找出滿足給定條件的那些元組稱為選擇。其中的條件是以邏輯表達式給出的,值為真的元組將被選取。這種運算是從水平方向抽取元組。在FOXPRO中的短語FOR和WHILE均相當於選擇運算。
如:LISTFOR出版單位='高等教育出版社'AND單價<=20
三、投影運算
從關系模式中挑選若干屬性組成新的關系稱為投影。這是從列的角度進行的運算,相當於對關系進行垂直分解。在FOXPRO中短語FIELDS相當於投影運算。如:LISTFIELDS單位,姓名
四、連接運算
連接運算是從兩個關系的笛卡爾積中選擇屬性間滿足一定條件的元組。
五、除法運算
在關系代數中,除法運算可理解為笛卡爾積的逆運算。
設被除關系R為m元關系,除關系S為n元關系,那麼它們的商為m-n元關系,記為R÷S。商的構成原則是:將被除關系R中的m-n列,按其值分成若干組,檢查每一組的n列值的集合是否包含除關系S,若包含則取m-n列的值作為商的一個元組,否則不取。
(1)資料庫關系代數運算擴展閱讀:
資料庫除運算:
除運算的含義–給定關系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上投影的集合。
R÷S的結果為a1,x相當於A y 相當於B,C z相當於D,按照除運算規則,我們不必關注D。只需比較B,C當S關系中的B,C所有的組合(b1,c2)(b2,c3)(b2,c1)都出現在R關系中時,結果才為A
R÷S = {tr[X] | trÎR∧πY (S) íYx },Yx:x在R中的象集,x = tr[X]。除操作是同時從行和列角度進行運算。
❷ 關系資料庫關系代數表達式怎麼寫
一、關系代數的9種操作:
關系代數中包括了:並、交、差、乘、選擇、投影、聯接、除、自然聯接等操作。
五個基本操作:
並(∪)、差(-)、笛卡爾積(×)、投影(σ)、選擇(π)
四個組合操作:
交(∩)、聯接(等值聯接)、自然聯接(R S)、除法(÷)
注2:等值連接表示先做笛卡爾積(×)之後,對相應列進行選擇或等值關聯後的結果(僅篩選行、不篩選列)
注2:自然連接表示兩個關系中若有相同名稱的屬性,則自動作為關聯條件,且僅列出一列
二、關系代數表達式:
由關系代數運算經有限次復合而成的式子稱為關系代數表達式。這種表達式的運算結果仍然是一個關系。可以用關系代數表達式表示對資料庫的查詢和更新操作。
三、舉例說明:
設教學資料庫中有3個關系:
學生關系S(SNO, SNAME,AGE,SEX)
學習關系SC(SNO,CNO,GRADE)
課程關系C(CNO,CNAME,TEACHER)
(1) 檢索學習課程號為C2的學生學號與成績
------------------------------------
SELECT SNO,GRADE
FROM SC
WHERE CNO='C2'
------------------------------------
π SNO, GRADE (σ CNO='C2' (SC))
************************************
(2) 檢索學習課程號為C2的學生學號與姓名
------------------------------------
SELECT SC.SNO,S.SNAME
FROM SC,S
WHERE SC.SNO=S.SNO
AND SC.CNO='C2'
------------------------------------
π SNO,SNAME (σ CNO='C2' (S SC))
此查詢涉及S和SC,先進行自然連接,然後再執行選擇投影操作。
----
π SNO,SNAME (S) (π SNO (σ CNO='C2' (SC)))
自然連接的右分量為"學了C2課的學生學號的集合"。
此表達式比前一個表達式優化,執行起來要省時間、省空間。
************************************
(3) 檢索選修課程名為MATHS的學生學號與姓名
------------------------------------
SELECT SC.SNO,S.SNAME
FROM SC,S,C
WHERE SC.SNO=S.SNO
AND SC.CNO=C.CNO
AND C.CNAME='MATHS'
------------------------------------
π SNO, SANME (σ CNAME='MATHS' (S SC C))
************************************
(4) 檢索選修課程號為C2或C4的學生學號
------------------------------------
SELECT SNO
FROM SC
WHERE CNO='C2'
OR CNO='C4'
------------------------------------
π SNO (σ CNO='C2'∨CNO='C4' (SC))
************************************
(5) 檢索至少選修課程號為C2或C4的學生學號
------------------------------------
SELECT SA.SNO
FROM SC AS SA,SC AS SB
WHERE SA.SNO=SB.SNO
AND SA.CNO='C2'
AND SB.CNO='C4'
------------------------------------
π 1 (σ 1=4∧2='C2'∧5='C4' (SC×SC))
************************************
(6) 檢索不學C2課的學生姓名與年齡
------------------------------------
SELECT SNAME,AGE
FROM S
MINUS
SELECT S.SNAME,S.AGE
FROM SC,S
WHERE SC.SNO=S.SNO
AND SC.CNO='C2'
(Oracle)
------------------------------------
π SNAME, AGE (S)-π SNAME, AGE (σ CNO='C2' (S SC))
************************************
(7) 檢索學習全部課程的學生姓名
------------------------------------
❸ 資料庫中的關系代數運算
R(X,
Y)和S(Y,Z),
R/S=
如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!
vaela
❹ 在資料庫基礎的關系代數運算中,重命名和賦值兩運算有何區別
</a></li>
<%
rs_se.movenext
Loop
rs_se.Close
Set rs_se = Nothing
%>
</ul>
</li>
<%
rs.movenext
Loop
rs.Close
Set rs = Nothing
%>
</ul>
</div>
</div>
❺ SQL的五種基本關系代數運算是什麼
五種基本操作:並,差,積,選擇,投影;構成關系代數完備的操作集。其他非基本操作:可以用以上五種基本操作合成的所有操作。並(U)、交(⌒)、投影(π)選擇(σ)和笛卡兒積(×)。
❻ 資料庫關系代數的五種基本運算
是並,差,乘積,選擇,投影
❼ SQL的五種基本關系代數運算是什麼
五種基本操抄作:並,差,積,選擇,投影;構成關系代數完備的操作集。其他非基本操作:可以用以上五種基本操作合成的所有操作。並(U)、交(⌒)、投影(π)選擇(σ)和笛卡兒積(×)。
❽ 資料庫關系代數運算問題
(1)並(∪):兩個關系需有相同的關系模式,並的對象是元組,由兩個關系所有元組構成。
RUS≡{t| t∈R ∨t∈S}
(2) 差(-):同樣,兩個關系有相同的模式,R和S的差是由屬於R但不屬於S的元組構成的集合。
R-S≡{t| t∈R ∧t 不屬於S}
(3)笛卡爾積(×):對兩個關系R和S進行操作,產生的關系中元組個數為兩個關系中元組個數之積。
R×S≡{t| t=< tr,ts>∧tr∈R∧ts ∈S}
(4) 投影(σ):對關系進行垂直分割,消去某些列,並重新安排列的順序。
(5) 選擇(π):根據某些條件關系作水平分割,即選擇符合條件的元組。
❾ 什麼是基本關系代數運算是資料庫里頭的額!
2.2.1 關系代數的五個基本操作
考核要求:達到「簡單應用」層次
知識點:五個基本操作的含義和運算應用
(1)並(∪):兩個關系需有相同的關系模式,並的對象是元組,由兩個關系所有元組構成。
RUS≡{t| t∈R ∨t∈S}
(2) 差(-):同樣,兩個關系有相同的模式,R和S的差是由屬於R但不屬於S的元組構成的集合。
R-S≡{t| t∈R ∧t 不屬於S}
(3)笛卡爾積(×):對兩個關系R和S進行操作,產生的關系中元組個數為兩個關系中元組個數之積。
R×S≡{t| t=< tr,ts>∧tr∈R∧ts ∈S}
(4) 投影(σ):對關系進行垂直分割,消去某些列,並重新安排列的順序。
(5) 選擇(π):根據某些條件關系作水平分割,即選擇符合條件的元組。
2.2.2 關系代數的四個組合操作
考核要求:達到「簡單應用」層次
知識點:四個組合操作的含義和運算應用
(1)交(∩):R和S的交是由既屬於R又屬於S的元組構成的集合。
(2)聯接:包括θ(算術比較符)聯接和F(公式)聯接.
選擇R×S中滿足iθ(r+j)或F條件的元組構成的集合;
概念上比較難理解,關鍵理解運算實例
等值聯接(θ為等號「=」的聯接)。
(3)自然聯接(RS):在R×S中,選擇R和S公共屬性值均相等的元組,並去掉R×S中重復的公共屬性列。 如果兩個關系沒有公共屬性,則自然聯接就轉化為笛卡爾積。
(4)除法(÷):首先除法的結果中元數為兩個元數的差, R÷S的操作思路如下---把S看作一個塊,如果R中相同屬性集中的元組有相同的塊, 且除去此塊後留下的相應元組均相同,那麼可以得到一條元組, 所有這些元組的集合就是除法的結果
對於上述的五個基本操作和四個組合操作,應當從實際運算方面進行理解和運用。