資料庫的關係代數

2021-08-30 07:40:12 字數 1771 閱讀 9821

關聯式資料庫的資料操作分為查詢和更新兩類。查詢語句用於各種檢索操作,更新操作用於插入、刪除和修改等操作。

關係查詢語言根據其理論基礎的不同分成兩大類:

1.關係代數語言:查詢操作是以集合操作為基礎運算的dml語言。

2.關係演算語言:查詢操作是以謂詞演算為基礎運算的dml語言。

關係代數的五個基本運算

關係代數是以關係為運算物件的一組高階運算的集合。關係定義為元數相同的元組的集合。集合中的元素為元組,關係代數中的操作可分為兩類:

傳統的集合操作:並、差、交、笛卡爾積。

擴充的關係操作:投影,選擇,聯接和自然聯接,除。

1.並設有兩個關係r和s具有相同的關係模式,r和s的並是由屬於r和s的元組構成的集合,記為r∪s。

注意:r和s的元數相同。

2.差設有兩個關係r和s具有相同的關係模式,r和s的差是由屬於r但不屬於s的元組構成的集合,記為r-s。

注意:r和s的元數相同。

3.笛卡爾積

設關係r和s的元數分別為r和s。定義r和s的笛卡爾積是乙個(r+s)元的元組集合,每個元組的前r個分量(屬性值)來自r的乙個元組,後s個分量來自s的乙個元組,記為r×s。

若r有m個元組,s有n個元組,則r×s 有m×n個元組。

4.選擇

從關係中找出滿足給定條件的所有元組稱為選擇。其中的條件是以邏輯表示式給出的 ,該邏輯表示式的值為真的元組被選取。這是從行的角度進行的運算,即水平方向抽取元組。經過選擇運算得到的結果可以形成新的關係,其關係模式不變,但其中元組的數目小於或等於原來的關係中的元組的個數,它是原關係的乙個子集。

記為: δf(r)≡

5.投影

從關係中挑選若干屬性組成的新的關係稱為投影。這是從列的角度進行運算。經過投影運算可以得到乙個新關係,其關係所包含的屬性個數往往比原關係少,或者屬性的排列順序不同。如果新關係中包含重複元組,則要刪除重複元組。

記為:∏a(r)= a為r中的屬性列。

例如: ∏3,1(r)

關係代數的四個組合操作

1.交關係r和s的交是由屬於r又屬於s的元組構成的集合,記為r∩s。r和s要求定義在相同的關係模式上。

r∩s≡ ,r和s的元數相同。

2.聯接

聯接有兩種:θ聯接和f聯接(θ是算術比較符,f是公式)。

⑴ θ聯接

θ聯接是從關係r和s的笛卡爾積中選取屬性值滿足某一θ操作的元組,記為:

r?×i θj?s,這裡i和j 分別是關係r和s中第 i個、第j個屬性的序號。

r?×i θj?s≡ δi θ (r+j)( r×s )

如果θ是等號「=」,該聯接操作稱為「等值聯接」。

⑵f聯接

f聯接操作是從關係r和s的笛卡爾積中選取屬性值滿足某一公式f的元組,記為:

r?×f?s,這裡的f是形為f1∧f2∧…∧fn的公式,每乙個f都是形為i θj的式子,而i和j 分別是關係r和s中第 i個、第j個屬性的序號。

3.自然聯接

兩個關係r和s的自然聯接用r?×?s表示。具體計算過程如下:

①計算r×s

②設r和s的公共屬性是a1,……,ak,挑選r×s中滿足r .a1=s.a1,……,r.ak=s.ak的那些元組

③去掉s.a1,……, s.ak的這些列。

如果兩個關係中沒有公共屬性,那麼其自然聯接就轉化為笛卡爾積操作。

4.除法

給定關係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 具有相同的目n 即兩個關係都有n個屬性 相應的屬性取自同乙個域 r s 仍為n目關係,由屬於r或屬於s的元組組成 r s r和s 具有相同的目n 相應的屬性取自同乙個域 r s 仍為n目關係,由屬於r而不屬於s的所有元組組成 r s...

資料庫 關係代數

目錄 有了資料庫,還要通過查詢來獲得資料。sql是常用的查詢語言,但我想用更抽象的查詢語言來表達,從思路上去理解而忽略實現細節。下面將介紹關係代數。在介紹查詢語言之前,先定義乙個資料庫例項 sailors sid integer,sname string,rating interger,age re...

資料庫的關係代數

並差交使用的前提是 1.這三個操作符所操作的關係有相同的目 即 有相同數目的列屬性 2.相應的屬性取自同乙個 並交差都不改變關係的列數,但是笛卡爾積改變了關係的列數 專門的關係運算 選擇 投影 連線 除 1.選擇 又稱為限制 將符合篩選要求的元組顯示出來 選擇 只改變表元組的數目 2.投影 從原有的...