【正文】
R ? S A a 1 41 R S R 247。取 B( R) =B( S)的元組 A B ( R ) C B ( S ) E a 1 b 1 5 b 1 3 a 1 b 2 6 b 2 7 a 2 b 3 8 b 3 10 a 2 b 3 8 b 3 2 38 去掉重復屬性 B之一: A B C E a 1 b 1 5 3 a 1 b 2 6 7 a 2 b 3 8 10 a 2 b 3 8 2 除( division) 1)定義: 給定關系 R( X, Y)和 S( Y, Z),其中 X、 Y、 Z為屬性組, R中的 Y與 S中的 Y可以有不同的屬性名,但必須具有相同的域集。 37 例 6:上例中的 RS結果: 選出比較值相等的元組; 運算步驟: 必須含公共屬性 如 R和 S中的 B。 3)等值連接( equijoin) ? 僅為“ =”的連接運算 36 4)自然連接( Natural join) 參入運算的指定關系 R和 S中用于比較的分量必須是相同的屬性集,且結果值中去掉重復屬性的運算。參入運算關系不一定同目; 記為: ?元組的連串( Concatenation) ?若 r = (r1, … , rn), s = (s1 , … , sm),則定義 r與 s的連串為: rs = (r1, … , rn, s1 , … , sm) 33 設有如下關系 R和 S: R S A B C B E a1 b1 5 b1 3 a1 b2 6 b2 7 a2 b3 8 b3 10 a2 b4 12 b3 2 b 5 2 2)說明 從列上取值。 ?XM, YL( Student) 或 ?2,4( Student) XH YL 于得水 24 牛得草 23 白靈 22 馬千里 23 stu d e n t XH XM XB YL DM 9901 于得水 男 24 計算機 9903 牛得草 男 23 動力 9904 白靈 女 22 計算機 9902 馬千里 男 23 自控 31 例 4:查招有學生的系有哪些 ?DM( Student) 或 ?4( Student) DM 計算機 動力 自控 去掉一個重復元組“計算機” 2)說明: 記作: ?A( R) ={t[A]∣ t?R} A: R中的若干屬性列名或列順序號。從行上取值。 記作: ?F(R) = {t|t?R?F(t) = ‘真’ } F:邏輯表達式(選擇對象應滿足的條件),一般表示為: X1?Y1 [?X2?Y2] … X1, Y1:屬性 | 常量 | 簡單函數(shù) | 列順序號 ?:比較運算符:>、 ≥、<、 ≤、=、 ≠ ?:邏輯運算符: ?、 ?、 ? [ ]:任選標識符,其中內(nèi)容可有可無 A12, B=‘田野’, ?3 = ’8’?B?5 (R) 24 設: stu d e n t sc XH XM XB YL DM XH KH CJ 9901 于得水 男 24 計算機 9901 001 72 9903 牛得草 男 23 動力 9902 001 70 9904 白靈 女 22 計算機 9903 003 72 9902 馬千里 男 23 自控 9904 002 85 9903 001 72 25 C our s e KH KM XF 001 DB 3 002 OS 3 003 C 2 004 AI 2 26 例 1 查計算機系學生 ? DM = ‘計算機’ ( S t ude nt ) XH XM XB YL DM 9901 于得水 男 24 計算機 9904 白靈 女 22 計算機 st u d en t XH XM XB YL DM 9901 于得水 男 24 計算機 9903 牛得草 男 23 動力 9904 白靈 女 22 計算機 9902 馬千里 男 23 自控 27 例 2 查學分 3分的課程 ? XF 3 C o u r se KH KM XF 003 C 2 004 AI 2 C our s e KH KM XF 001 DB 3 002 OS 3 003 C 2 004 AI 2 28 例 3:查成績大于 80或等于 70的學生選課信息 ? C J 80 ? C J = 7 0 ( SC ) XH KH CJ 9902 001 70 9904 002 85 sc XH KH CJ 9901 001 72 9902 001 70 9903 003 72 9904 002 85 9903 001 72 29 2)說明 3)作用:將兩個關系按元組連接組成一個新關系。R、 S不同類(實際上); 結果為 (n+m)目關系: R?S = {tr,ts|tr?R?ts?s}; 每一元組的前 n個列是 R的一個元組,后 m列是 s的一個元組。 3)作用:從一個關系中刪去某些元組。R、 S同類; 結果為 n目關系: RS = {t|t?R??t?s}; 差( difference) 1)定義:設有兩個 n目關系 R、 S,則 RS是由屬于 R不屬于S的元組組成。從“行”上取值。參入運算為兩個同目關系; R S A B C a 1 b 2 c 2 a 2 b 2 c 1 A B C A B C a 1 b 1 c 1 a 1 b 2 c 2 a 1 b 2 c 2 ∩ a 1 b 3 c 2 = a 2 b 2 c 1 a 2 b 2 c 1 18 2)特征 15 A B C A B C a 1 b 1 c 1 a 1 b 2 c 2 a 1 b 2 c 2 a 1 b 3 c 2 a 2 b 2 c 1