當前位置:首頁 » 操作系統 » 資料庫關系代數運算

資料庫關系代數運算

發布時間: 2023-05-30 12:26:07

資料庫常用的關系運算是什麼

在關系資料庫中,基本的關系運算有三種,它們是選擇、投影和連接。關系的基本運算有兩類:一類是傳統的集合運算(並、差、交等),另一類是專門的關系運算(選擇、投影、連接、除法、外連接等),有些查詢需要幾個基本運算的組合,要經過若干步驟才能完成。

一、傳統的集合運算

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&Icirc;R∧πY (S) íYx },Yx:x在R中的象集,x = tr[X]。除操作是同時從行和列角度進行運算。

㈡ 資料庫的關系代數表達式

資料庫的關系代數表達式是由關系代數運算經有限次復合而成的式子。

在關系代數運算中,把由並(∪)、差(-)、笛卡爾積(×)、投影(π)、選擇(σ)五個基本操作經過有限次復合的式子稱為關系代數表達式。關系代數表達式的運算結果仍然是一個關系。可以用關系代數表達式表示對資料庫的各種數據查詢和更新操作。

關系代數表達式用到的運算符包括集合運算符、專門的關系運算符、算術比較符和邏輯運算符。和交(∩)、聯接(等值聯接)、自然聯接(RXS)、除法(÷) 四個組合操作。

(2)資料庫關系代數運算擴展閱讀:

關系代數表達式的運算過程是將關系的屬性分為像集屬性和結果屬性兩部分;與關系相同的屬性屬於像集屬性;不相同的屬性屬於結果屬性。在關系中,對像集屬性投影,得到目標數據集。將被關系分組。

分組原則是結果屬性值一樣的元組分為一組。逐一考察每個組,如果它的像集屬性值中包括目標數據集,則對應的結果屬性應屬於該運算結果集。

㈢ 關系資料庫中關系代數的基本運算有哪些

五種基本操作:並,差,積,選擇,投影;構成關系代數完備的操作集。其他非基本操作:可以用以上五種基本操作合成的所有操作。並(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)。

(3)資料庫關系代數運算擴展閱讀:

在資料庫世界裡,後關系資料庫仍舊泰然自若,保持其本色。

在現代IT界,SQL和XML已經成為資料庫的非常重要組成部分,這二者成為資料庫系統結構組成部分的歷史也很長久了,至於開始的時間我也很難記得了。

在60年代末和70年代初,出現了具備靈活欄位長度、嵌套表格、鬆散數據類型選擇的資料庫構架,這樣的資料庫系統不僅受市場歡迎,也得到大家的青睞。這些早期的資料庫系統雖然缺乏像XML一樣的標記功能,但是它們在實際工作中卻表現出和XML極為類似的功能。

描述這些資料庫系統的術語是「後關系」或者「多值」,它們沒有SQL關系資料庫知名,是因為這些資料庫系統缺乏許多新聞的宣傳度,我們很容易把它認為是一個實驗而已,然後這些實驗在人們的印象中就會半途而廢了,最終慢慢的消失。

㈣ 關系資料庫中關系代數的基本運算有哪些

投影(projection)
關系R的投影運算是從R中選擇某些屬性的所有值組成的新關系。換言之,投影運算的結果是一個表的垂直方向的子集。關系R的投影運算記為:πA(R)。其中,A為R的一組屬性列。投影的結果將消除重復的元組。
選擇(selection)
關系R的選擇運算是從關系R中選擇滿足指定條件(用F表示)的元組構成的新關系。換言之,選擇運算的結果是一個表的水平方向的子集。關系R的選擇運算記為:σF(R)。
其中,F是包括屬性名的邏輯表達式,運算符有算術比較運算符:<,≤,>,≥,=,≠,和邏輯運算符:¬¬┐,∨,∧(非、或、與)。
連接(join)
連接運算是關系的二目運算。關系R與關系S的連接運算是從兩個關系的廣義笛卡爾積中選取屬性間滿足一定條件(稱為連接條件,記為AθB)的元組形成一個新關系。
除(divide)
設關系R的屬性可以分成互不相交的兩組,用X、Y表示(X∩Y為空集,X∪Y為R的全部屬性),則關系R可以表示為:R(X,Y)。

㈤ 資料庫系統原理之關系代數

關系代數基於集合(關系),定義了一系列對集合(關系)對操作。如並,差,笛卡爾積,選擇,更名,投影等基本操作,以及基於基本操作推導出來的擴展操作。
關系代數作用於一個或多個關系,然後產生一個新的關系。可以將關系代數理解為函數,接受一個關系輸入,返回一個新對關系。舉個例子,我們將並操作命名為 Union ,那麼並操作可以表示為:

對於其他對操作如差操作,選擇操作等,都有相應對數學符號進行表示,但在中輸入這些符號比較困難,再加上我學習關系代數是了解基本的概念知識,這里就不使用數學符號表示了,而是以文字代替。
關系代數定義了基於集合(關系)的操作,其是 SQL 的重要基礎(另一個重要基礎是關系演算),了解了關系代數的概念以及各個操作要達到的目的之後,對 SQL 中對一些概念也會更加清晰,如連接操作。
本文首先介紹關系代數中的基礎操作,再介紹擴展操作。

關系代數的基礎操作有:並,差,笛卡爾積,選擇,更名,投影等。有些操作如並,差等要求參與運算的關系需要具備並相容性。所謂並相容性,就是兩個關系的屬性數目(度)相同,並且每個度所在的域相同。
如 R(學生,學號,地址) 和 S(課程,課程號) 兩個關系由於度和屬性所在的域不相同,因此不具備並相容性,也就無法進行並,差等操作。
相應的, R2(學生,學號,地址) 和 S(教師,教師號,地址) 由於度和屬性所在的域相同,因此具備並相容性。

並操作就是將兩個關系合並為一個關系,在合並時去掉重復的元組。為什麼要去掉重復項呢?這是集合的特質,集合要求不能有重復項。
R 並 S 和 S 並 R 得到的結果是一樣的,即並操作滿足交換律。
舉個例子,有兩個關系 R(學生) 和 S(教師):

這兩個關系進行並操作的結果為:

差操作用來選擇出現在一個關系但並未出在另一個關系中的元組。
還是以上面兩個關系 R(學生) 和 S(教師) 為例,R 差 S 的結果為:

S 差 R 的結果為:

其中元組 T(Jerry,2,澳大利亞) 在兩個關系中都出現,是兩個關系的交集。因此差操作就是從一個關系中去除和另一個關系的交集所得到的集合。
差操作不滿足交換律。

笛卡爾積用來將兩個關系連接起來,笛卡爾積的結果將兩個關系中所有可能的元組組合起來。假設關系 R 的元組數目為 M,度數為 I,關系 S 的元組數目為 N,度數為 J,那麼 R 和 S 進行笛卡爾積運算得到的新關系的元組數目為 M * N,度數為 I + J。
舉個例子,有兩個關系 R(學生) 和 S(課程) :

那麼對 R 和 S 進行笛卡爾積的結果為:

笛卡爾積用來將兩個關系連接在一起,獲取所有可能的結果,其是連接操作的基礎。

選擇操作就是從一個關系中,選擇出滿足條件的元組。
如從上面的學生表中,選擇出學號大於等於 2 的學生,結果為:

選擇條件由與或非邏輯表達式構成。

投影操作是從給定的關系中,選擇出某些屬性屬性構成新的關系。如從學生表中投影出一個新的關系 R(姓名,地址) :

關系代數常用的擴展操作有交操作,Theta 連接操作,自然連接操作,外連接操作,除操作等。擴展操作可以由基礎操作推導而來。

交操作用來從兩個關系中,選擇出同時存在於兩個關系中的元組。如上面 R(學生) 和 S(教師) 進行交操作的結果為:

Theta 連接操作會從兩個關系的笛卡爾積中,選擇出某個條件的元組,並去掉重復項。例如在上面笛卡爾積例子,選擇出課程號不為 c1 並且學號不為 s1 的元組:

連接操作一般和投影操作配合使用,比如從上面的結果集中投影出 R(姓名,課程) :

Theta 連接操作中有個特殊的操作,叫做等值連接,即選擇條件為判斷是否相等。

自然連接可以認為是一種特殊的等值連接,其要求兩個關系具有相同的屬性,並且判斷條件為兩個關系中的某兩個相同屬性的值相等。
自然連接是最常用的連接操作。
假如有兩個關系 R(學生 ) 和 S(班級) :

對這兩個關系進行自然連接的結果為:

外連接就是在自然連接的結果集中,將空值元組和沒有匹配到的元素放入到結果集中。
假如有兩個關系 R(學生 ) 和 S(班級) :

首先對這兩個關系進行自然連接:

我們在自然連接的結果集中,機上空值元組和沒有匹配到的元組:

以上就是外連接的結果,也叫做全外連接:保證兩端的元素不丟失。對應的,還有左外連接和右外連接,左外連接會保證左側的元素不丟失,右外連接會保證右側的元素不丟失。
因此上面兩個進行左外連接的結果為:

進行右外連接的結果為:

除操作是對兩個關系進行「除法」操作,要求「除數」關系是「被除數」關系的真子集。除操作會從「被除數」關系中,選擇出一個新的關系,設為 N,N 也是 「被除數」關系的真子集。N 需要滿足一個條件:
N 和「除數」關系的笛卡爾積是「被除數」關系的最大真子集。
好繞啊···
我們還是直接看例子吧。
假設有兩個關系: R(A1,A2,A3) 和 S(A3) :

對 R 和 S 進行除操作,得到的結果為:

如果 S 關系為:

那麼對 R 和 S 進行除操作的結果為:

從上面的例子來看,除操作適用於「滿足全部····」的查詢。舉個例子,從學生表中查詢選擇了所有課程或者選擇了軟體測試和軟體工程這兩門課程的學生。
假設存在一個關系 R(學生) 和 S(課程) :

現在我們要查詢選擇了軟體測試這門課的所有學生,則被除數關系為 R(學生) ,除數關系為:

對兩個關系進行除操作,得到的結果為:

如果我們只需要獲取學生的姓名,不需要學號這一列,那麼可以再對結果集進行投影操作:

本文介紹了關系代數以及關系代數中常用的基礎操作和擴展操作,基礎操作包括並,差,笛卡爾積,選擇,投影,更名等,某些基礎要做要求兩個參與運算的關系具有並相容性。擴展操作可以由基礎操作推導而來,可以完成更復雜的操作。
關系代數是 SQL 語言的基礎,SQL 語言是在關系代數上的一層封裝,目的是方便程序員使用。
關系代數的操作接受一個或多個關系作為輸入,再輸出一個新的關系,不同的關系操作可以進行相互的組合。例如可以先進行選擇操作再進行投影操作,先進行自然連接操作再進行選擇操作等等。根據不同的需求需要靈活的組合這些操作。

完。

㈥ 《資料庫原理》知識點之關系代數運算

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中相同屬性集中的元組有相同的塊, 且除去此塊後留下的相應元組均相同,那麼可以得到一條元組, 所有這些元組的集合就是除法的結果

對於上述的五個基本操作和四個組合操歷友作,應當從實際運算方面進行理解和運用。

應用舉例

2.2.3 關系代數表達式及應用

考核要求:達到「簡單應用」

層次知識點:關系代數表達式的應用

本節的內容是有關實際應用,應該多看例題,多做習題,必須達到以下要求: 能夠根據給出的關系代數表達式計算關系值,也能夠根據相應查詢要求列出關系表達式。

(1)在列關系表達式時,通常有以下形式:

π……(σ……(R×S))或者π……(σ……(RS))

首先把查詢涉及到的關系取來,執行笛卡爾積或自然聯接操作得到一張大的表格,然後對大表格執行水平分割(選擇)和垂直分割(投影)操作。

(2)當查詢涉及到否定或全部的邏輯時,往往要用到差或除法操作。

關系代數表達式舉例

2.2.4 擴充的關系代數操作

考核要求:達到「識記」

層次知識點:了解「外聯接」和「外部並」的含義

注意:(1)「外聯接」、「左外聯接」、「右外聯接」和「自然連接」的差異。

(2)「外部並」和「並」的差異

㈦ 資料庫關系代數的五種基本運算

是並,差,乘積,選擇,投影

㈧ 五種基本關系代數運算是

五種基本關系代數運算是並、差、投影、交、選擇、投影。

1、並:設有兩個關系R和S,它們具有相同的結構。R和S的並是由屬於R或屬於S的元組組成的集合,運算符為∪。記為T=R∪S。

2、差:R和S的差是由屬於R但不屬於S的元組組成的集合,運算符為- [1] 。記為T=R-S。

3、交:R和S的交是由既屬於R又屬於S的元組組成的集合,運算符為∩ [1] 。記為T=R∩S。R∩S=R-(R-S)。

4、選擇:從關系中找出滿足給定條件的那些元組。其中的條件是以邏輯表達式給出的,值為真的元組將被選取。這種運算是從水平方向抽取元組。

5、投影:從關系模式中挑選若干屬性組成新的關系。這是從列的角度進行的運算,相當於對關系進行垂直分解。

(8)資料庫關系代數運算擴展閱讀:

資料庫中的全部數據及其相互聯系都被組織成關系,即二維表的形式。關系資料庫系統提供一種完備的高級關系運算,支持對資料庫的各種操作。關系模型有嚴格的數學理論,使資料庫的研究建立在比較堅實的數學基礎上。

選擇和投影運算都是屬於一目運算,它們的操作對象只是一個關系。連接運算是二目運算,需要兩個關系作為操作對象。

㈨ 關系資料庫中關系代數的基本運算有哪些

基本的關系代數運算:選擇、投影、並、集合差、笛卡爾積和更名運算,其中選擇、投影、更名為一元運算,另外三個對兩個關系進行運算,所以為二元運算;
附加的關系代數運算:集合交∩、自然連接運算、賦值運算、外連接運算(左外連接、右外連接、全外連接);
擴展的關系代數運算:廣義投影、聚集(常用聚集函數:sum,avg,min,max)。

熱點內容
磁力片編程課 發布:2024-12-22 14:10:57 瀏覽:271
小米6實際存儲空間 發布:2024-12-22 13:41:25 瀏覽:594
sql注入補丁 發布:2024-12-22 13:32:58 瀏覽:120
小區高層消防逃生怎麼配置 發布:2024-12-22 13:29:20 瀏覽:717
伺服器配置光纖網卡ip 發布:2024-12-22 13:22:47 瀏覽:516
地圖下載源碼 發布:2024-12-22 13:18:40 瀏覽:394
navicat存儲過程導出 發布:2024-12-22 13:12:44 瀏覽:300
androidservice線程 發布:2024-12-22 13:04:57 瀏覽:302
ntplinux伺服器配置 發布:2024-12-22 12:28:23 瀏覽:268
android模擬機 發布:2024-12-22 12:26:08 瀏覽:609