資料庫 關係運算

2021-10-08 10:52:45 字數 2438 閱讀 1004

相關術語

◎在現實世界中,描述乙個事物常常要抽取其若干特徵來表示,這些特徵稱為屬性,如用學號、性別、班級等來描述學生。每個屬性的取值範圍對應乙個值的集合,稱為屬性的域,如性別的域是。

◎主屬性:包含在任何候選碼中的屬性稱為主屬性。不包含在任何候選碼中的屬性稱為非主屬性。

◎外碼:如果關係模式r中的屬性或屬性組不是r的碼,但它是其他關係w的碼,那麼該屬性(組)對r而言是外碼。r是參照關係,w是被參照關係。

◎全碼:關係模式中所有屬性組合起來作為候選碼,稱為全碼。

關係的性質

◎乙個基本關係具有以下5條性質:

分量必須取原子值:

列是同質的;

屬性名不能重名,每列為乙個屬性,不同的列可來自同乙個域

行列順序無關;

任何兩元組不能完全相同。

完整性約束

◎實體完整性:規定基本關係r的主屬性a不能為空。

◎參照完整性:若屬性(組)f是基本關係r的外碼,它與基本關係s中的k相對應(r與s可以是同乙個關係),則對於r中每個元組在f上的值必須為:

或者取空值(f中每個屬性值均空)

或者等於s中某個元組的主碼值

例如,兩關係:學生(學號,姓名,專業號)、專業(專業號,專業名)

學生專業號要麼為空值,要麼為專業專業號對應的某個值。

◎使用者自定義完整性:由使用者自己定義。比如規定工資額大於1000元。

笛卡爾積

◎設關係r和s元數分別為r和s。r和s的笛卡兒積是乙個r+s元的元組集合,每個元組的前r個分量來自r的乙個元組,後s個分量來自s的乙個元組,記為rxs.形成定義如下:

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

◎設關係r和s具有相同的關係模式,r和s的並是由屬於r或屬於s的元組組成的集合,記為rus.形式定義如下:

r∪s ≡ ,

顯然,r∪s=s∪r

◎關係r和s具有相同的關係模式,r和s的交是由既屬於r又屬於s的元組組成的集合,記為r ∩ s形式定義如下:

r ∩ s ≡

顯然,r ∩ s = r - (r-s), 或者 r ∩ s =s-(s-r) .

◎關係r和s具有相同的關係模式,r和s的差 是由屬於r但不屬於s的元組組成的集合,記為r-s.形式定義如下:

r-s =

投影

◎投影操作從關係r中選擇出若干屬性列組成新的關係,該操作對關係進行垂直分割,消去某些列,並重新安排列的順序,再刪去重複元組

記為:

選擇

選擇操作在關係r中選擇滿足給定條件的所有元組,記為:

其中f表示選擇條件,是乙個邏輯表示式(邏輯運算子+算術表示式)。

選擇運算是從行的角度進行的運算。

連線

◎θ連線從兩個關係的笛卡兒積中選取屬性間滿足一定條件的元組,記為:

其中a和b分別為r和s上度數相等且可比的屬性組。θ為"="的連線,稱為等值連線,記為:

如果兩個關係中進行比較的分量必須是相同的屬性組,並且在結果中把***重複的屬性列去掉***,則稱為自然連線,記為:

◎例題

在關係代數運算中,若對錶1按_,可以得到表2。

表1商品號

名稱單價:元

010202010牙刷3

010202011

毛巾10

010202012毛巾8

010202013

鉛筆0.5

010202014鋼筆8

表2名稱

單價:元

毛巾10

a.商品號都進行選擇運算

b.名稱、單價進行投影運算

c.名稱等於"毛巾」進行選擇運算,再按名稱、單價進行投影運算

d.商品號等於"01020211進行選擇運算,再按名稱、單價進行投影運算

資料庫的關係運算

資料庫本質上就是一些資料的集合,所以對乙個資料庫的操作就是十分類似於對一些集合的操作。這篇部落格對我們會遇到的資料庫的關係作乙個小小的總結。在這裡,共有並,差,交和笛卡爾積四種運算。1.並集 r s 2.交集 r s 3.差集 r s 4.笛卡爾積 即分別將兩個集合中的元素組合 一些記號 1.設乙個...

SQL資料庫關係運算

設有如下所示的關係s sc和c,s sno,sname,s sage,sdept 學號,姓名,性別,年齡,專業 c cno,cname,cpno,credit,tname 課程號,課程名,先行課號,學分,老師姓名 sc sno,cno,grade 試用關係代數表示式表示下列查詢語句 檢索至少選修兩門...

關聯式資料庫 專門關係運算

專門關係運算有 選擇,投影,連線,除運算。1.選擇從關係中找出滿足給定條件的所有元組稱為選擇,其中條件是用邏輯表示式給出的,邏輯表示式為真時元組被選取。選擇運算記為 f r 其中r為乙個關係,f為布林函式,該函式可以包含比較運算子和邏輯運算子。2.從關係中挑選若干屬性組組成的新關係稱為投影。是從列的...