第二章 關系數據庫
一、選擇題
1. 下面的選項不是關系數據庫基本特征的是( )。
A.不同的列應有不同的數據類型
B.不同的列應有不同的列名
C.與行的次序無關
D.與列的次序無關
2. 一個關系只有一個( ) 。
A.候選碼 B. 外碼 C. 超碼 D. 主碼
3. 關系模型中,一個碼是( )。
A.可以由多個任意屬性組成
B.至多由一個屬性組成
C.可有多個或者一個其值能夠唯一表示該關系模式中任何元組的屬性組成
D.以上都不是
4. 現有如下關系:
患者(患者編號,患者姓名,性別,出生日起,所在單位)
醫療(患者編號,患者姓名,醫生編號,醫生姓名,診斷日期,診斷結果)
其中,醫療關系中的外碼是( )。
A. 患者編號 B. 患者姓名
C. 患者編號和患者姓名 D. 醫生編號和患者編號
5. 現有一個關系:借閱(書號,書名,庫存數,讀者號,借期,還期),假如同一本書允許一個讀者多次借閱,但不能同時對一種書借多本,則該關系模式的外碼是( )。
A. 書號 B. 讀者號
C. 書號+讀者號 D. 書號+讀者號+借期
6. 關系模型中實現實體間 N:M 聯系是通過增加一個( ) 。
A.關系實現 B. 屬性實現 C. 關系或一個屬性實現 D. 關系和一個屬性實現
7. 關系代數運算是以( )為基礎的運算 。
A. 關系運算 B. 謂詞演算 C. 集合運算 D. 代數運算
8. 關系數據庫管理系統應能實現的專門關系運算包括( )。
A. 排序、索引、統計 B. 選擇、投影、連接
C. 關聯、更新、排序 D. 顯示、打印、制表
9. 五種基本關系代數運算是( )。
A.∪ - × σ π
B.∪ - σ π
C.∪ ∩ × σ π
D.∪ ∩ σ π
10. 關系代數表達式的優化策略中,首先要做的是( ) 。
A.對文件進行預處理
B.盡早執行選擇運算
C.執行笛卡爾積運算
D.投影運算
11. 關系數據庫中的投影操作是指從關系中(C ) 。
A.抽出特定記錄 B. 抽出特定字段
C.建立相應的影像 D. 建立相應的圖形
12. 從一個數據庫文件中取出滿足某個條件的所有記錄形成一個新的數據庫文件的操作是( C)操作 。
A.投影 B. 聯接 C. 選擇 D. 復制
13. 關系代數中的聯接操作是由(B )操作組合而成 。
A.選擇和投影 B. 選擇和笛卡爾積
C.投影、選擇、笛卡爾積 D. 投影和笛卡爾積
14. 自然聯接是構成新關系的有效方法。一般情況下,當對關系R和S是用自然聯接時,要求R和S含有一個或者多個共有的(C ) 。
A.記錄 B. 行 C. 屬性 D. 元組
15. 假設有關系R和S,在下列的關系運算中,(A )運算不要求:“R和S具有相同的元數,且它們的對應屬性的數據類型也相同” 。
A.R∩S B. R∪S C. R-S D. R×S
16. 假設有關系R和S,關系代數表達式R-(R-S)表示的是(A )。
A.R∩S B. R∪S C. R-S D. R×S
17. 下面列出的關系代數表達是中,那些式子能夠成立( ) 。
ⅰ. σf1 ( σf2 (E)) = σf1∧f2 (E)
ⅱ. E1∞E2 = E2∞E1
ⅲ. (E1∞E2)∞E3 = E1∞ (E2∞E3)
ⅳ. σf1 ( σf2 (E)) =σf2 ( σf1(E))
A.全部 B. ⅱ和ⅲ C. 沒有 D. ⅰ和ⅳ
18. 下面四個關系表達式是等價的,是判別它們的執行效率( ) 。
E1 =πA (σ B=C ∧ D=E′ (R×S) )
E2 =πA (σ B=C (R× σD=E′ (S) )
E3 =πA (R∞B=CσD=E′(S) )
E3 =πA (σD=E′ (R∞B=C S) )
A. E3最快 B. E2最快 C. E4最快 D. E1最快
19. 有關系SC(S_ID,C_ID,AGE,SCORE),查找年齡大於22歲的學生的學號和分數,正確的關系代數表達式是(B ) 。
ⅰ. πS_ID,SCORE (σ age>22 (SC) )
ⅱ. σ age>22 (πS_ID,SCORE (SC) )
ⅲ. πS_ID,SCORE (σ age>22 (πS_ID,SCORE,AGE (SC) ) )
A.ⅰ和 ⅱ B. 只有ⅱ正確 C. 只有 ⅰ正確 D. ⅰ和ⅲ正確
選擇題答案:
(1) A (2) D (3) C (4) A (5) D
(6) A (7) C (8) B (9) A (10) B
(11) B (12) C (13) B (14) C (15) D
(16) A (17) C (18) A (19) D
二、簡答題
1. 試述關系模型的三個組成部分。
2. 試述關系數據語言的特點和分類。
3.設有一個SPJ數據庫,包括S,P,J,SPJ四個關系模式:
S( SNO,SNAME,STATUS,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNAME,CITY);
SPJ(SNO,PNO,JNO,QTY);
供應商表S由供應商代碼(SNO)、供應商姓名(SNAME)、供應商狀態(STATUS)、供應商所在城市(CITY)組成;零件表P由零件代碼(PNO)、零件名(PNAME)、顏色(COLOR)、重量(WEIGHT)組成;工程項目表J由工程項目代碼(JNO)、工程項目名(JNAME)、工程項目所在城市(CITY)組成;供應情況表SPJ由供應商代碼(SNO)、零件代碼(PNO)、工程項目代碼(JNO)、供應數量(QTY)組成,表示某供應商供應某種零件給某工程項目的數量為QTY。
試用關系代數完成如下查詢:
(1) 求供應工程J1零件的供應商號碼SNO;
(2) 求供應工程J1零件P1的供應商號碼SNO;
(3) 求供應工程J1零件為紅色的供應商號碼SNO;
(4) 求沒有使用天津供應商生產的紅色零件的工程號JNO;
(5) 求至少用了供應商S1所供應的全部零件的工程號JNO。
4. 定義並理解下列術語,說明它們之間的聯系與區別:
(1)域,笛卡爾積,關系,元組,屬性
(2)主碼,候選碼,外碼
(3)關系模式,關系,關系數據庫
5. 試述關系模型的完整性規則。在參照完整性中,為什么外碼屬性的值有時也可以為空?什么情況下才可以為空?
6. 試述等值連接與自然連接的區別和聯系。
7. 關系代數的基本運算有哪些?
8. 試用關系代數的基本運算來表示其他運算。