五種基本關(guān)系代數(shù)運(yùn)算是?
五種基本關(guān)系代數(shù)運(yùn)算是并、差、投影、交、選擇、投影。
1、并:設(shè)有兩個(gè)關(guān)系R和S,它們具有相同的結(jié)構(gòu)。R和S的并是由屬于R或?qū)儆赟的元組組成的集合,運(yùn)算符為∪。記為T=R∪S。
2、差:R和S的差是由屬于R但不屬于S的元組組成的集合,運(yùn)算符為- [1]? 。記為T=R-S。
3、交:R和S的交是由既屬于R又屬于S的元組組成的集合,運(yùn)算符為∩ [1]? 。記為T=R∩S。R∩S=R-(R-S)。
4、選擇:從關(guān)系中找出滿足給定條件的那些元組。其中的條件是以邏輯表達(dá)式給出的,值為真的元組將被選取。這種運(yùn)算是從水平方向抽取元組。
5、投影:從關(guān)系模式中挑選若干屬性組成新的關(guān)系。這是從列的角度進(jìn)行的運(yùn)算,相當(dāng)于對(duì)關(guān)系進(jìn)行垂直分解。
擴(kuò)展資料:
數(shù)據(jù)庫中的全部數(shù)據(jù)及其相互聯(lián)系都被組織成關(guān)系,即二維表的形式。關(guān)系數(shù)據(jù)庫系統(tǒng)提供一種完備的高級(jí)關(guān)系運(yùn)算,支持對(duì)數(shù)據(jù)庫的各種操作。關(guān)系模型有嚴(yán)格的數(shù)學(xué)理論,使數(shù)據(jù)庫的研究建立在比較堅(jiān)實(shí)的數(shù)學(xué)基礎(chǔ)上。
選擇和投影運(yùn)算都是屬于一目運(yùn)算,它們的操作對(duì)象只是一個(gè)關(guān)系。連接運(yùn)算是二目運(yùn)算,需要兩個(gè)關(guān)系作為操作對(duì)象。5種基本關(guān)系代數(shù)運(yùn)算是:∪,-,×,π和σ。
關(guān)系代數(shù)運(yùn)算中的基本運(yùn)算包括并(∪)、差(-)、廣義笛卡爾積(×)、投影(π)和選擇(σ),其他運(yùn)算的功能都可以由這五種基本運(yùn)算來實(shí)現(xiàn)。
擴(kuò)展資料:
關(guān)系代數(shù)用到的運(yùn)算符包括四類:集合運(yùn)算符、專門的關(guān)系運(yùn)算符、算術(shù)比較符和邏輯運(yùn)算符比較運(yùn)算符和邏輯運(yùn)算符是用來輔助專門的關(guān)系運(yùn)算符進(jìn)行操作的,所以按照運(yùn)算符的不同,主要將關(guān)系代數(shù)分為傳統(tǒng)的集合運(yùn)算和專門的關(guān)系運(yùn)算兩類。
對(duì)關(guān)系進(jìn)行運(yùn)算時(shí)可以采用對(duì)待集合的方式來操作,這些操作被稱為集合操作。其他的一些操作不能在集合上使用,那么被成為純關(guān)系操作。五種基本關(guān)系代數(shù)運(yùn)算是:并(∪)、差(-)、笛卡爾積(×)、選擇(σ)、投影(π)并、差、笛卡兒積、投影、選擇是關(guān)系代數(shù)的5種基本的運(yùn)算,其他運(yùn)算,即交、連接、除都可以通過基本的運(yùn)算推導(dǎo)運(yùn)算出。
1、并,設(shè)有兩個(gè)關(guān)系R和S,它們具有相同的結(jié)構(gòu),R和S的并是由屬于R或?qū)儆赟的元組組成的集合;
2、差,R和S的差是由屬于R但不屬于S的元組組成的集合;
3、笛卡爾積,兩個(gè)集合X和Y的笛卡尓積,又稱直積,表示為X與Y相乘,第一個(gè)對(duì)象是X的成員而第二個(gè)對(duì)象是Y的所有可能有序?qū)Φ钠渲幸粋€(gè)成員;
4、選擇,從關(guān)系中找出滿足給定條件的那些元組稱為選擇;其中的條件是以邏輯表達(dá)式給出的,值為真的元組將被選??;
5、投影,從關(guān)系模式中挑選若干屬性組成新的關(guān)系稱為投影。a
數(shù)據(jù)庫的關(guān)系代數(shù)表達(dá)式
原發(fā)布者:豆子9018
SSCC(1)檢索“程軍”老師所授課程的課程號(hào)(C#)和課程名(CNAME)答:∏課程號(hào),課程名(σTEACHER=“程軍”(C))(2)檢索年齡大于21的男學(xué)生學(xué)號(hào)(S#)和姓名(SNAME)。答:∏學(xué)號(hào),姓名(σ性別=“男”∧年齡>21(S))(3)檢索至少選修“程軍”老師所授全部課程的學(xué)生姓名(SNAME)。答:∏姓名(σTEACHER=“程軍”(C)∞SC∞∏學(xué)號(hào),姓名(S))(4)檢索“李強(qiáng)”同學(xué)不學(xué)課程的課程號(hào)(C#)。答:∏課程號(hào)(C)-∏課程號(hào)(σ姓名=“李強(qiáng)”(SC∞S))(5)檢索至少選修兩門課程的學(xué)生學(xué)號(hào)(S#)。答:∏學(xué)號(hào)(σ課程號(hào)=“K1”∨課程號(hào)=“K5”(SCхC))(6)檢索全部學(xué)生都選修的課程的課程號(hào)(C#)和課程名(CNAME)。答:∏學(xué)號(hào),課程號(hào),課程名(SC∞C)÷∏學(xué)號(hào)(S)(7)檢索選修課程包括“程軍”老師所授課程之一的學(xué)生學(xué)號(hào)(S#)。答:∏學(xué)號(hào),課程號(hào)(SC)÷∏課程號(hào)(σTEACHER=“程軍”(C))(8)檢索選修課程號(hào)為K1和K5的學(xué)生學(xué)號(hào)(S#)。答:σ課程名=k1∨課程號(hào)=k5(S)(9)檢索選修全部課程的學(xué)生姓名(SNAME)。答:∏姓名(S∞(∏課程號(hào),學(xué)號(hào)(SC)÷∏課程號(hào)(C)))(10)檢索選修課程包含學(xué)號(hào)為2的學(xué)生所修課程的學(xué)生學(xué)號(hào)(S#)。答:∏學(xué)號(hào)(C∞(σ學(xué)號(hào)=“2”(SC))(11)檢索選修課程名為“C語言”的學(xué)生學(xué)號(hào)(S#)和姓名(SNAME)。答:∏學(xué)號(hào),數(shù)據(jù)庫的關(guān)系代數(shù)表達(dá)式是由關(guān)系代數(shù)運(yùn)算經(jīng)有限次復(fù)合而成的式子。
在關(guān)系代數(shù)運(yùn)算中,把由并(∪)、差(-)、笛卡爾積(×)、投影(π)、選擇(σ)五個(gè)基本操作經(jīng)過有限次復(fù)合的式子稱為關(guān)系代數(shù)表達(dá)式。關(guān)系代數(shù)表達(dá)式的運(yùn)算結(jié)果仍然是一個(gè)關(guān)系。可以用關(guān)系代數(shù)表達(dá)式表示對(duì)數(shù)據(jù)庫的各種數(shù)據(jù)查詢和更新操作。
關(guān)系代數(shù)表達(dá)式用到的運(yùn)算符包括集合運(yùn)算符、專門的關(guān)系運(yùn)算符、算術(shù)比較符和邏輯運(yùn)算符。和交(∩)、聯(lián)接(等值聯(lián)接)、自然聯(lián)接(RXS)、除法(÷) 四個(gè)組合操作。
擴(kuò)展資料:
關(guān)系代數(shù)表達(dá)式的運(yùn)算過程是將關(guān)系的屬性分為像集屬性和結(jié)果屬性兩部分;與關(guān)系相同的屬性屬于像集屬性;不相同的屬性屬于結(jié)果屬性。在關(guān)系中,對(duì)像集屬性投影,得到目標(biāo)數(shù)據(jù)集。將被關(guān)系分組。
分組原則是結(jié)果屬性值一樣的元組分為一組。逐一考察每個(gè)組,如果它的像集屬性值中包括目標(biāo)數(shù)據(jù)集,則對(duì)應(yīng)的結(jié)果屬性應(yīng)屬于該運(yùn)算結(jié)果集。一、關(guān)系代數(shù)的9種操作:
關(guān)系代數(shù)中包括了:并、交、差、乘、選擇、投影、聯(lián)接、除、自然聯(lián)接等操作。
五個(gè)基本操作:
并(∪)、差(-)、笛卡爾積(×)、投影(σ)、選擇(π)
四個(gè)組合操作:
交(∩)、聯(lián)接(等值聯(lián)接)、自然聯(lián)接(R S)、除法(÷)
注2:等值連接表示先做笛卡爾積(×)之后,對(duì)相應(yīng)列進(jìn)行選擇或等值關(guān)聯(lián)后的結(jié)果(僅篩選行、不篩選列)
注2:自然連接表示兩個(gè)關(guān)系中若有相同名稱的屬性,則自動(dòng)作為關(guān)聯(lián)條件,且僅列出一列
二、關(guān)系代數(shù)表達(dá)式:
由關(guān)系代數(shù)運(yùn)算經(jīng)有限次復(fù)合而成的式子稱為關(guān)系代數(shù)表達(dá)式。這種表達(dá)式的運(yùn)算結(jié)果仍然是一個(gè)關(guān)系??梢杂藐P(guān)系代數(shù)表達(dá)式表示對(duì)數(shù)據(jù)庫的查詢和更新操作。
三、舉例說明:
設(shè)教學(xué)數(shù)據(jù)庫中有3個(gè)關(guān)系:
學(xué)生關(guān)系S(SNO, SNAME,AGE,SEX)
學(xué)習(xí)關(guān)系SC(SNO,CNO,GRADE)
課程關(guān)系C(CNO,CNAME,TEACHER)
(1) 檢索學(xué)習(xí)課程號(hào)為C2的學(xué)生學(xué)號(hào)與成績
------------------------------------
SELECT SNO,GRADE
FROM SC
WHERE CNO='C2'
------------------------------------
π SNO, GRADE (σ CNO='C2' (SC))
************************************
(2) 檢索學(xué)習(xí)課程號(hào)為C2的學(xué)生學(xué)號(hào)與姓名
------------------------------------
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,先進(jìn)行自然連接,然后再執(zhí)行選擇投影操作。
----
π SNO,SNAME (S) (π SNO (σ CNO='C2' (SC)))
自然連接的右分量為"學(xué)了C2課的學(xué)生學(xué)號(hào)的集合"。
此表達(dá)式比前一個(gè)表達(dá)式優(yōu)化,執(zhí)行起來要省時(shí)間、省空間。
************************************
(3) 檢索選修課程名為MATHS的學(xué)生學(xué)號(hào)與姓名
------------------------------------
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) 檢索選修課程號(hào)為C2或C4的學(xué)生學(xué)號(hào)
------------------------------------
SELECT SNO
FROM SC
WHERE CNO='C2'
OR CNO='C4'
------------------------------------
π SNO (σ CNO='C2'∨CNO='C4' (SC))
************************************
(5) 檢索至少選修課程號(hào)為C2或C4的學(xué)生學(xué)號(hào)
------------------------------------
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) 檢索不學(xué)C2課的學(xué)生姓名與年齡
------------------------------------
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) 檢索學(xué)習(xí)全部課程的學(xué)生姓名
------------------------------------
這個(gè)定義用SQL表示比較麻煩,略過
------------------------------------
π SNO, CNO (SC)÷π CNO (C)
先用除法取出選取所有課程的SNO集(除法可以理解為一個(gè)Filter)
π SNAME (S (π SNO,CNO (SC)÷π CNO (C)))
再關(guān)聯(lián)S表取出SNAME
************************************
(8) 檢索所學(xué)課程包含S3所學(xué)課程的學(xué)生學(xué)號(hào)
------------------------------------
這個(gè)定義用SQL表示比較麻煩,略過
------------------------------------
π SNO,CNO (SC)÷ π CNO (σ SNO='S3' (SC))
同樣運(yùn)用了除法的特性
************************************
(9) 將新課程元組( 'C10','PHYSICS','YU') 插入到關(guān)系C中
------------------------------------
INSERT INTO C VALUES('C10','PHYSICS','YU')
------------------------------------
(C∪ ('C10','PHYSICS','YU'))
記住該符號(hào)的用法
************************************
(10) 將學(xué)號(hào)S4選修課程號(hào)為C4的成績改為85分
------------------------------------
UPDATE SC SET GRADE=85
WHERE SNO='S4'
AND CNO='C4'
------------------------------------
(SC- ('S4','C4',? )∪ ('S4','C4',85))
先用'- '實(shí)現(xiàn)DELETE功能,再用'∪'實(shí)現(xiàn)INSERT功能
注意使用?來表示檢索時(shí)忽略該字段值
************************************
四、關(guān)系代數(shù)表達(dá)式的優(yōu)化:
目的 :為了系統(tǒng)在執(zhí)行時(shí)既省時(shí)間又能提高效率。
基本策略 :先做選擇,運(yùn)用投影去除多余屬性等等。
優(yōu)化算法 :語法樹( 盡量提前做選擇操作;在每個(gè)操作后,應(yīng)做個(gè)投影操作,去掉不用的屬性值)
例如:
π SNO ,SNAME (σ GRADE>60 (S SC)) 進(jìn)行 優(yōu)化后轉(zhuǎn)換為:
π SNO ,SNAME (π SNO ,SNAME (S) π SNO (σ GRADE>60 (SC)))
--即提前做選擇操作;在每個(gè)操作后,應(yīng)做個(gè)投影操作,去掉不用的屬性值
S(S#,SNAME,AGE,SEX)
SC(S#,C#,GRADE)
C(C#,CNAME,TEACHER)
π CNAME,TEACHER (σ SEX='女' (S SC C)) 進(jìn)行 優(yōu)化后轉(zhuǎn)換為:文章來源:http://www.zghlxwxcb.cn/news/detail-781906.html
π CNAME, TEACHER (C π C# (π S#,C# (SC) π S# (σ SEX='女' (S))))文章來源地址http://www.zghlxwxcb.cn/news/detail-781906.html
到了這里,關(guān)于關(guān)系代數(shù)(關(guān)系代數(shù)的五個(gè)基本操作)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!