㈠ 資料庫關系代數
因為存在操作符和操作數,操作數為表,操作符為交、並等;
關系代數有分為基於集合的關系代數和基於包的關系代數;
關系代數的基本操作:並、選擇、投影、笛卡爾積、差、重命名;
基本操作的意思是其他的操作符可以通過基本操作推出;
注意:如果我們使用並、交、差運算,必須保證R和S的屬性集合是相同的,當然如果不同,也可以通過重命名操作;
㈡ 關系資料庫關系代數表達式怎麼寫
一、關系代數的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) 檢索學習全部課程的學生姓名
------------------------------------
㈢ 資料庫原理習題求助~~分別用關系代數和sql語言寫一下這6個小題~~拜託萬分感謝啦~~
子查詢..inner join.都可以..你自己想吧
㈣ 資料庫原理難題,設有一個SPJ資料庫,包括S,P,J,SPJ四個關系模式:注意分別用關系代數和SQL語句哦
關系代數:
1)求供應工程J1零件的供應商號碼SNO:
πSno(σSno=『J1』(SPJ))
2)求供應工程J1零件P1的供應商號碼SNO:
πSno(σSno=『J1』∧Pno=『P1『(SPJ))
3)求供應工程J1零件為紅色的供應商號碼SNO:
πSno(σPno=『P1『(σCOLOR=』紅『 (P)∞SPJ))
4)求沒有使用天津供應商生產的紅色零件的工程號JNO:
πJno(SPJ)- πJNO(σcity=『天津』∧Color=『紅『 (S∞SPJ∞P)
5)求至少用了供應商S1所供應的全部零件的工程號JNO:
πJno,Pno(SPJ)÷ πPno(σSno=『S1『 (SPJ))
sql語句:
( l )求供應工程 Jl 零件的供應商號碼 SNO ;
SELECT SNO FROM SPJ WHERE JNO=』J1』
( 2 )求供應工程 Jl 零件 Pl 的供應商號碼 SNO ;
SELECT SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'
( 3 )求供應工程 Jl 零件為紅色的供應商號碼 SNO ;
SELECT SNO FROM SPJ,P WHEREJNO='J1' AND SPJ.PNO=P.PNO AND COLOR='紅'
( 4 )求沒有使用天津供應商生產的紅色零件的工程號 JNO ;
SELECT JNO FROM SPJ WHERE JNO NOT IN(SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='紅' ANDS.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。
( 5 )求至少用了供應商 Sl 所供應的全部零件的工程號 JNO ;
由於VFP不允許子查詢嵌套太深,將查詢分為兩步
A、查詢S1供應商供應的零件號
SELECT PNO FROM SPJ WHERE SNO='S1'結果是(P1,P2)
B、查詢哪一個工程既使用P1零件又使用P2零件。
SELECT FROM SPJ WHEREPNO='P1'
AND JNO IN (SELECT JNO FROM SPJ WHERE PNO='P2')
㈤ 求解資料庫關系代數查詢
1.select 系別,年齡 from table where 學號 = '99011'
2.select 學生name, 課程名 from table where 成績<60
3.select 學生名 from table where 課程名= '計算機' and 成績<60
4select 成績 from table where 學生名 = '資料庫原理'
㈥ 關系資料庫中關系代數的基本運算有哪些
五種基本操作:並,差,積,選擇,投影;構成關系代數完備的操作集。其他非基本操作:可以用以上五種基本操作合成的所有操作。並(U)、交(⌒)、投影(π)選擇(σ)和笛卡兒積(×)。
傳統的集合運算:
1、並(UNION)設有兩個關系R和S,它們具有相同的結構。R和S的並是由屬於R或屬於S的元組組成的集合,運算符為∪。記為T=R∪S。
2、差(DIFFERENCE)R和S的差是由屬於R但不屬於S的元組組成的集合,運算符為-。記為T=R-S。
3、交(INTERSCTION)R和S的交是由既屬於R又屬於S的元組組成的集合,運算符為∩。記為T=R∩S。R∩S=R-(R-S)。
(6)資料庫原理關系代數擴展閱讀:
在資料庫世界裡,後關系資料庫仍舊泰然自若,保持其本色。
在現代IT界,SQL和XML已經成為資料庫的非常重要組成部分,這二者成為資料庫系統結構組成部分的歷史也很長久了,至於開始的時間我也很難記得了。
在60年代末和70年代初,出現了具備靈活欄位長度、嵌套表格、鬆散數據類型選擇的資料庫構架,這樣的資料庫系統不僅受市場歡迎,也得到大家的青睞。這些早期的資料庫系統雖然缺乏像XML一樣的標記功能,但是它們在實際工作中卻表現出和XML極為類似的功能。
描述這些資料庫系統的術語是「後關系」或者「多值」,它們沒有SQL關系資料庫知名,是因為這些資料庫系統缺乏許多新聞的宣傳度,我們很容易把它認為是一個實驗而已,然後這些實驗在人們的印象中就會半途而廢了,最終慢慢的消失。
㈦ 資料庫原理:關系代數中:除法是怎麼做的呢
目測那 5 7 6 是R關系中打掉的最後一排,如果是這樣,那麼R÷S就是{2,6}
㈧ 資料庫關系代數運算問題
(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) 選擇(π):根據某些條件關系作水平分割,即選擇符合條件的元組。
㈨ 關系資料庫的基本原理
關系型資料庫是由許多數據表(Table)所組成,資料表又是由許多筆記錄(Row 或Record)所組成,而紀錄又是由許多的欄位(Column 或Filed)所組成。假設我們是一個電子商務網站,現在要紀錄使用者的數據,你可能會想到要紀錄使用者的賬號、密碼、姓名、電話、住址以及E-mail 等數據;這一些你所要紀錄的項目,每一個項目就是一個欄位。