2 1關係代數

2021-07-14 05:26:12 字數 1978 閱讀 1470

tags:資料庫

關係代數是一種抽象的查詢語言,它用對關係的雲南算來表達查詢。任何一種運算都是將一定的運算子作用於一定的運算物件上,得到預期的運算結果。所以運算物件、運算子、運算結果是運算的三大要素。關係代數的運算物件是關係,運算結果亦為關係。

傳統的集合運算是二目運算,包括並、差、交、笛卡爾積四種運算。

專門的關係運算包括選擇、投影、鏈結、除運算等。

基本概念:

1. 設關係模式為r(a1,a2…an),它的乙個關係設為r。t屬於r表示t是r的乙個元組。t[ai]則表示元組t中相應於屬性ai的乙個分量。

2. 若a={ai1,ai2,ai3,ai4…}其中aik是a1,a2..中的一部分,則稱a為屬性列或者屬性組。t[a]表示元組t在屬性列a上分量集合,非a表示{a1..an}去掉a生於屬性組。

3. r為n目關係,s為m目關係,tr屬於r,ts輸入s,tr

tsˆ 成為元組的連線或者元組的串接,它是乙個n+m列的元組,前n個分量為r中的乙個n元組,後m個分量為s中的乙個m元組。

4. 給定乙個關係r(x,z),x和z為屬性組。當x[x]=x時,x在r中的象集定義為zx={t[z]|t

∈ r,t[x]=x}它表示r中屬性組x上值值為x的諸組元素在z上分量的集合。

選擇又成為限制,它是在關係r中選擇滿足給定條件的諸元組,記作 σf

(r)=

其中f表示選擇條件,為乙個邏輯表示式,取邏輯值真或者假。選擇運算實際是從關係r中選取使邏輯表示式f為真的元組。這是從行的角度進行的運算

關係r上的投影是從r中選擇出若干屬性列組成新的關係。記作 ∏a

(r)=

{t[a

]|t∈

r}投影操作是從列的角度進行的運算。應該注意的是:投影之後不僅僅取消了原關係中的某些列,而且還可能取消某些元組,因為取消了某些屬性列之後,就可能出現重複航,應該取消在這些完全相同的行

連線也稱為

θ 連線。它是從兩個關係的笛卡爾積中選取屬性之間滿足乙個條件的元組。公式很難用md寫出就不再贅述。具體可見《資料庫系統概論》(第五版)其中a和b分別為r和s上列數相等且可比的屬性組。θ是比較運算子。連線運算從r和s的笛卡爾積rxs中選取r關係在a屬性組上的值域s關係在b屬性組上的值滿足比較關係θ的元組。

等值連線
θ為=的連線運算成為等值連線。

自然連線
自然連線是一種特殊的等值連線。它要求兩個關係進行比較的分量必須是同名的屬性組,並且在連線後把重複的屬性列去掉。

懸浮元組
在自然連線過程中,被捨棄的元組稱為懸浮元組。

外連線
把懸浮元組也儲存在結果關係中,而在其他屬性上填空值,那麼這種連線就叫做外連線。

左外連線
只保留左邊關係r中的懸浮元組。

右外連線
只保留右邊關係s中的懸浮元組。

設關係r除以關係s的結果為關係t,則t包含所有在r但是不在s中的屬性及其值,且t的元組域s的元組的所有的組合都在r中。

除操作是同時從行和列角度進行運算。

以上定義較為晦澀,如果使用象集來定義:

給定關係r(x,y)和s(y,z),其中x,y,z為屬性組。r中的y與s中的y可以有不同的屬性名,但必須出自相同的域集。

r與s的除運算得到乙個新的關係p(x),p是r中滿足下列條件的元組在x屬性列上的投影:元組在x上分量值x的象集yr包含s在y上投影的集合。

MySQL利用關係代數進行查詢 關係代數

關係代數的由來 首先從巨集觀上來認識一下關係演算這個概念,換句話講也就是什麼是關係代數,這也是我在接觸一些東西的首要工作。大家都知道對於關係型資料庫的資料庫操作語言分為查詢和更新兩類。而查詢語言這塊,又分為關係代數語言與關係演算語言。這裡講的 關係代數的由來 首先從巨集觀上來認識一下關係演算這個概念...

關係代數運算

五種基本關係代數運算 集合 某些指定的物件集在一起就成了乙個集合,其中每乙個物件叫元素。集合的三特性 確定性 互異性 無序性。1 確定性 指的是概念清晰,物件描述明確,不能含混不清 不能模稜兩可。2 互異性 對於乙個給定的集合,它的任何兩個元素都是不同的。3 無序性 給定的乙個集合,集合內的元素間位...

關係代數 in Hadoop

1 選擇,即where子句。map階段過濾條件,輸出鍵值對 record,null 即直接將符合條件的值寫在鍵值上,reduce階段不做任何事,最後直接將map的結果輸出。2 投影,即選擇某幾列的值 map階段以每條記錄在幾個屬性上的值為鍵,鍵值為空,即 a1,a2,a3 null reduce階段...