第二部分 關系運算
(一)、考核內容
關系的數學定義、關系代數
(二)、考核要求
(1)了解笛卡爾積、關系的數學定義。
(2)理解基於傳統集合理論的關系運算:並、交、差、廣義笛卡爾積。
(3)理解關系代數特有的關系運算:投影、選擇、商、聯接、自然連接。
(4)掌握使用基本關系運算表示4種非基本關系運算的方法。
(5)掌握關系代數運算在關系數據庫查詢操作中的應用。
(6)了解關系演算。
(一)選擇
1.關系數據庫管理系統應能實現的專門關系運算包括( )。
A.排序、索引、統計 B.選擇、投影、連接 C.關聯、更新、排序 D.顯示、打印、制表
2.關系模型中,一個關鍵字是( ) 。
A.可由多個任意屬性組成 B.至多由一個屬性組成
C.可由一個或多個其值能惟一標識該關系模式中任何元組的屬性組成 D.以上都不是
3.自然連接是構成新關系的有效方法。一般情況下,當對關系R和S使用自然連接時,要求R和S含有一個或多個共有的( )。
A.元組 B.行 C.記錄 D.屬性
4.關系運算中花費時間可能最長的運算是()。
A.投影 B.選擇 C.笛卡爾積 D.交
5.關系模式的任何屬性( )。
A.不可再分 B.可再分 C.命名在該關系模式中可以不惟一 D.以上都不是
6.在關系代數運算中,四種基於傳統集合理論的關系運算為( )。
A.並、差、選擇、投影 B.並、交、選擇、投影
C.交、並、差、廣義笛卡爾積 D.並、差、交、選擇
7.設有關系R,按條件f對關系R進行選擇,正確的是()。
A.R´R B.R wv R C. sf(R) D.Pf(R)
8.如圖所示,兩個關系R1和R2,它們進行( )運算后得到R3。
A.交 B.並 C.笛卡爾積 D.連接
9. 自然連接是構成新關系的有效方法。一般情況下,當對關系R和S使用自然連接時,要求R和S含有一個或多個共有的( )。
A. 元組 B. 行 C. 記錄 D. 屬性
10. 關系數據庫管理系統應能實現的專門關系運算包括 ( )。
A.排序、索引、統計 B.選擇、投影、連接
C.關聯、更新、排序 D.顯示、打印、制表
11.在關系代數的傳統集合運算中,假定有關系R和S,運算結果為w。如果W中的元組屬於R,或者屬於S,則w為 ① 運算的結果。如果w中的元組屬於R而不屬於S,則w為 ② 運算的結果。如果w中的元組既屬於R又屬於S,則W為 ③ 運算的結果。
A.笛卡爾積 B.井 C.差 D.交
12.在關系代數的專門關系運算中,從表中取出滿足條件的屬性的操作稱為 ① ;從表中選出滿足某種條件的元組的操作稱為 ② ;將兩個關系中具有共同屬性值的元組連接到一起構成新表的操作稱為 ③ 。
A.選擇 B.投影 C.連接 D.掃描
13.自然連接是構成新關系的有效方法。一般情況下,當對關系R和S使用自然連接時,要求R和S含有一個或多個共有的( )。
A.元組 B.行 C.記錄 D.屬性
14.等值連接與自然連接是( ).
A.相同的 B.不同的
15. 設有屬性A,B,C,D,以下表示中不是關系的是( )。
A.R(A) B.R(A,B,C,D)
C.R(A×B×C×D) D.R(A,B)
16.設關系R(A,B,C)和S(B,C,D),下列各關系代數表達式不成立的是( )。
A.PA(R) ∞ PD(S) B.R∪S C. PB(R) ∩ PB(S) D.R∞S
17. 模式的任何屬性( )。
A.不可再分 B.可再分
C.命名在該關系模式中可以不惟一 D.以上都不是
18.關系數據庫用 ① 來表示實體之間的聯系,其任何檢索操作的實現都是由 ② 三種基本操作組合而成的。
①A.層次模型 B.網狀模型 C.指針鏈 D.表格數據
②A.選擇、投影和掃描 B.選擇、投影和連接
C.選擇、運算和投影 D.選擇、投影和比較
19. 數據庫中的關鍵字是指( )。
A.能惟一決定關系的字段 B.不可改動的專用保留字
C.關鍵的很重要的字段 D.能惟一標識元組的屬性或屬性集合
20.有關系R,按條件f對關系R進行選擇,正確的是 。
A.R´R B.R∞ R C. sf(R) D.Pf(R)
21 .數。。。。。。據模型中,通常可以把 ① 稱為屬性,而把 ② 稱為關系模式。常用的關系運算是關系代數和 ③ 。在關系代數中,對一個關系做投影操作后,新關系的元組個數 ④ 原來關系的元組個數。用 ⑤ 形式表示實體類型和實體間的聯系是關系模型的主要特征。
①A.記錄 B.基本表 C.模式 D.字段
②A.記錄 B.記錄類型 C.元組 D.元組集
③A.集合代數 B.邏輯演算 C.關系演算 D.集合演算
④A.小於 B.小於或等於 C.等於 D.大於
⑤A.指針 B.鏈表 C.關鍵字 D.表格
22. R(A,B,C,D)和S(C,D,E),下列不成立的關系代數表達式是( )。
A.R∞S B. π1,2,3,4,7(RS) C.RS D. π1,2,3(R)∞π1,3(R)
23.關系代數運算中,專門的關系運算有()
A.選擇、投影、連接 B.交、並、差
C.笛卡爾積 、連接、自然連接 D.笛卡爾積、商
24.傳統的集合“並、交、差”運算施加於兩個關系時,這兩個關系的() 必須相同。
A.屬性個數 B.關系模式 C.屬性取值 D.關系狀態
25關系代數中,從兩個關系中找出相同元組的運算稱為( ) 運算。
A.並 B.差 C.交 D.商
(一)選擇
1. B 2.C 3. D 4.C 5. A
6. C 7. C 8. D 9. D 10. B
11.①B ②C ③D 12. ①B ②A ③C 13. D 14. B 15. C
16. B 17. A 18. ①D ②B 19. D 20. C
21. ①D ②B ③C ④B ⑤D 22. C 23. A 24. B 25. C
(二)概念、術語:
術語:
關系的差運算
笛卡兒積運算
關系的笛卡爾定義
投影運算
選擇運算
連接運算
自然聯接運算
簡述
(1)簡述關系數據語言的特點和分類。
(2)簡述等值連接與自然連接的區別和聯系。
(二)概念、術語:
術語:
關系的差運算:設關系R和S具有相同的關系模式,R和S的差運算是由屬於R但不屬於S的所有元組組成的的集合。
笛卡兒積運算:設關系R和S的目數分別為r和s,R和S的笛卡兒積是一個r+s目的元組集合,每個元組的前r個分量來自R中的的一個元組,后s個分量來自S中的一個元組。
關系的笛卡爾定義:笛卡爾積D1×D2× …×Dn的任一子集稱為在域D1,D2, …,Dn上的關系。
投影運算:投影運算是按照j1,j2,…,jk的順序,從關系R中取出列序號為j1,j2,…,jk的k列,並除去結果中的重復無級,構成一個以j1,j2,…,jk為順序的k目關系。
選擇運算:從關系R中挑選出滿足公式F的那些元組。
連接運算:從關系R和S的笛卡兒積中選取屬性值滿足某一比較運算操作的元組。
自然聯接運算:從關系R和S的笛卡爾積中選取公共屬性值相等的元組,並去除重復的屬性。
簡述
(1)簡述關系數據語言的特點和分類。
答:關系數據語言可以分為三類:
關系代數語言。
關系演算語言:元組關系演算語言和域關系演算語言。
SQL:具有關系代數和關系演算雙重特點的語言。
這些關系數據語言的共同特點是,語言具有完備的表達能力,是非過程化的集合操作語言,功能強,能夠嵌入高級語言中使用。
(2)簡述等值連接與自然連接的區別和聯系。
答:等值連接表示為R∞S,自然連接表示為R∞S;自然連接是除去重復屬性的 R.A=S.B等值連接。兩者之間的區別和聯系如下:
· 自然連接一定是等值連接,但等值連接不一定是自然連接。
·等值連接要求相等的分量,不一定是公共屬性;而自然連接要求相等的分量必須是公共屬性。
· 等值連接不把重復的屬性除去;而自然連接要把重復的屬性除去。
(三)應用題
1. 設有如下所示的關系模式S、C、SC:
S(S#,SNAME,AGE,SEX)
C(C#,CNAME,TEACHER)
SC(S#,C#,GRADE)
試用關系代數表達式表示下列查詢語句:
(1)檢索“陸定”老師所授課程的課程號(C#)和課程名(CNAME)。
(2)檢索年齡大於20的男學生學號(S#)和姓名(SNAME)。
(3)檢索至少選修“陸定”老師所授全部課程的學生姓名(SNAME)。
(4)檢索”李翔”同學不學課程的課程號(C#)。
(5)檢索至少選修兩門課程的學生學號(S#)。
(6)檢索全部學生都選修的課程的課程號(C#)和課程名(CNAME)。
(7)檢索選修課程包含“陸定”老師所授課程之一的學生學號(S#)。
(8)檢索選修課程號為k1和k5的學生學號(S#)。
(9)檢索選修全部課程的學生姓名(SNAME)。
(10)檢索選修課程包含學號為2的學生所修課程的學生學號(S#)。
(11)檢索選修課程名為“C語言”的學生學號(S#)和姓名(SNAME)。
2.關系R和S如下圖所示,試計算R÷S。
3.設有如圖所示的關系R和S,計算:
(1)R1=R-S
(2)R2=R∪S
(3)R3=R∩S
(4)R4=R×S
4.設有如圖所示的關系R,S和T,計算:
(1)R1=R∪S
(2)R2=R-S
(3)R3=R∞T
(4)R4=R ∞ T
A<C
(5)R5=∏A(R)
(6)R6=σA=C(R×T)
5.設有如圖所示的關系R,S,計算:
(1)R1=R ∞ S
(2)R2=R ∞ S
[2]<[2]
(3)R3=σB=D(R×S)
6.設有如圖所示的兩上關系E1和E2,其中E2是從E1中經過關系運算所形成的結果,試給出該運算表達式。
7.設有如下所示的三個關系S、C和SC。用關系代數表達式表示下列要求,並求出結果
(1).檢索籍貫為上海的學生姓名、學號和選修的課程號。
(2).檢索選修操作系統的學生姓名、課程號和成績。
(3).檢索選修了全部課程的學生姓名、年齡。
8.以下述數據庫各關系模式為例,
倉庫(倉庫號,城市,面積)
職工(倉庫號,職工號,工資)
訂購單(職工號,供應商號,訂購單號,訂購日期)
供應商(供應商號,供應商名稱,地址)
用關系代數完成以下檢索。
解:
(1).檢索在倉庫2工作的職工的工資。
(2).檢索在上海工作的職工的工資。
(3).檢索北京的供應商名稱。
(4).檢索目前與職工E6有業務聯系的供應商名稱。
(5).檢索所有職工的工資大於1220的倉庫所在的城市。
(6).檢索和北京的所有供應商都有業務聯系的職工的工資。
應用題
1.
:2:
3:
4.
5.
6.
從E1生成E2所經過的關系運算是:∏2,3(σB>2(E1))或∏2,3(σC>3(E1))。
7.
解:
(1).R1=∏2,1,6(σ籍貫=’上海’(swv sc))
或:R1=∏姓名,S.學號,課程號(σ籍貫=’上海’(swv sc))
或:R1=∏姓名,S.學號,課程號(σ籍貫=’上海’(s)wv sc)
(2). R2= ∏2,6,7(swv scwv σ課程名=’操作系統’(C))
或:R2=∏姓名,SC.課程號,成績(swv scwv σ課程名=’操作系統’(C))
(3). R3=∏2,3(swv ∏1,2(sc)÷∏1(C)))
或:R3=∏姓名,年齡(swv (∏學號,課程號(sc)÷∏課程號(C)))
8.