資料庫本質上就是一些資料的集合,所以對乙個資料庫的操作就是十分類似於對一些集合的操作。這篇部落格對我們會遇到的資料庫的關係作乙個小小的總結。
在這裡,共有並,差,交和笛卡爾積四種運算。
1. 並集 r∪
s=$
2. 交集 r∩
s=$
3. 差集 r−
s=$
4. 笛卡爾積
即分別將兩個集合中的元素組合
一些記號:
1. 設乙個關係模式為r(a1
,a2,
....
an), 其乙個分量為r。t∈
r 表示t是r的乙個元組,t[ai
]表示的是相對於屬性ai
的乙個分量。
2. t[a]=(t[a1
],t[a2
]….t[an
])表示屬性列a在各個分量上的集合。我們也可以選取一些等價類作為子類。
3. r為乙個n目的關係,s為m目的關係,那麼其連線則會得到乙個(n+m)目的關係。我們需要注意這一點。
4. 象集:給定了乙個關係r(x,z),x,z為屬性組。當t[x]=x時,x在r中的象集可以定義為zx
= $
選擇操作:感覺是資料庫當中最簡單的一種操作了,其定義如下: σf
(r)=
t|t∈
r∧f(
t)=t
rue
f是我們的選擇條件,就是選出符合條件的元素。
投影操作:
就是從r中選擇出若干屬性組成新的關係。 πa
(r)=
$連線操作:從兩個關係的笛卡爾積當中選擇出滿足條件的元組
就是笛卡爾積的乙個加強版,沒什麼好說的。
等值連線:即將兩個集合選中的屬性的值相同的元素存入我們的結果當中去。
自然連線:連線兩個關係當中同名且相同型別的屬性
外連線:在結果中儲存懸浮元組,即儲存了沒有得到匹配的屬性的值
左外連線:只儲存了左邊的聯絡當中沒有得到匹配的屬性的值
類似的,我們有右外連線的定義。
除運算:其實很好理解,但是書說的太奇怪了。
就是取的就是含有給定對應屬性的象集是另乙個關係在其上的投影的集合。
資料庫 關係運算
相關術語 在現實世界中,描述乙個事物常常要抽取其若干特徵來表示,這些特徵稱為屬性,如用學號 性別 班級等來描述學生。每個屬性的取值範圍對應乙個值的集合,稱為屬性的域,如性別的域是。主屬性 包含在任何候選碼中的屬性稱為主屬性。不包含在任何候選碼中的屬性稱為非主屬性。外碼 如果關係模式r中的屬性或屬性組...
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.從關係中挑選若干屬性組組成的新關係稱為投影。是從列的...