一、填空題(本題10空 ,每空1分,共10分 )
1. 關系數據模型由關系數據結構、關系操作和 ①關系完整性約束 三部分組成。
2. 一般情況下,當對關系R和S使用自然連接時,要求R和S含有一個或多個共有的 ②屬性
3. 在關系A(S,SN,D)和B(D,CN,NM)中,A的主碼是S,B的主碼是D,則D在A中稱為 ③外碼 。
4. 數據庫系統中最重要的軟件是 ④數據庫管理系統(或DBMS) ,最重要的用戶是 ⑤數據庫管理員(或DBA)
5. 數據庫設計分為以下六個設計階段:需求分析階段、 ⑥概念結構設計階段 、邏輯結構設計階段、 ⑦物理結構設計階段 、數據庫實施階段、數據庫運行和維護階段。
6. 已知關系R(A,B,C,D)和R上的函數依賴集F={A→CD,C→B},則
R∈ ⑧2 NF。
7. 關系模式分解的等價性標准主要有兩個,分別為分解具有 ⑨無損鏈接性 和⑩保持函數依賴。
二、單項選擇題(請在每小題的4個備選答案中,選出一個最佳答案,共20小題;每小題1分,共20分)
1. 數據庫系統的核心是( B )
A.數據庫 B.數據庫管理系統
C.數據模型 D.軟件工具
2.在關系數據庫設計中,設計關系模式是數據庫設計中( A )階段的任務
A. 邏輯設計 B.物理設計 C.需求分析 D.概念設計
3.事務的隔離性是指( A )。
A.一個事務內部的操作及使用的數據對並發的其他事務是隔離的
B.事務一旦提交,對數據庫的改變是永久的
C.事務中包括的所有操作要么都做,要么都不做
D.事務必須是使數據庫從一個一致性狀態變到另一個一致性狀態
4.若事務T對數據對象A加上S鎖,則( B )。
A.事務T可以讀A和修改A,其它事務只能再對A加S鎖,而不能加X 鎖。
B.事務T可以讀A但不能修改A,其它事務只能再對A加S鎖,而不能加X 鎖。
C.事務T可以讀A但不能修改A,其它事務能對A加S鎖和X鎖。
D.事務T可以讀A和修改A,其它事務能對A加S鎖和X鎖。
5. 設有兩個事務T1、T2,其並發操作如圖2所示,下面評價正確的是( B )
A. 該操作不存在問題 B. 該操作丟失修改
C. 該操作不能重復讀 D. 該操作讀“臟”數據
T1 T2
① 讀A=100
② 讀A=100
③ A=A-5寫回
④ A=A-8寫回
圖2
6.從E-R模型關系向關系模型轉換時,一個M:N聯系轉換為關系模式時,該關系模式的關鍵字是( C )。
A.M端實體的關鍵字 B.N端實體的關鍵字
C.M端實體關鍵字與N端實體關鍵字組合 D.重新選取其他屬性
7.在數據庫設計中, E-R圖產生於( D )
A. 需求分析階段 B.物理設計階段
C.邏輯設計階段 D.概念設計階段
8. ( )用來記錄對數據庫中數據進行的每一次更新操作。
A.后援副本 B.日志文件
C.數據庫 D.緩沖區
9. 數據庫管理系統能實現對數據庫中數據的查詢、插入、修改和刪除等操作的數據庫語言稱為( )
A.數據定義語言(DDL) B.數據管理語言
C.數據操縱語言(DML) D.數據控制語言
10.如果事務T已在數據R上加了X鎖,則其他事務在數據R上( )
A. 只可加X鎖 B. 只可加S鎖
C. 可加S鎖或X鎖 D. 不能加任何鎖
三、簡答題(本題共4小題,每小題5分,共20分 )
1、試描述數據庫設計的全部過程(3分)以及過程中各個階段的設計描述(2分)?
2、說明可能破環參照完整性的情況(3分)以及相應的違約處理(2分)。
3、什么是視圖,(2分)它的優點是什么?(3分)
4、什么是數據庫中的自主存取控制方法(2分)和強制存取控制方式?(3分)
5、簡述事務的特性(5分)。
6、並發操作可能會產生哪幾類數據不一致(3分)? 用什么方法避免不一致的情況?(2分)。
四、SQL語言(本題共8小題,共25分)
設有關系模式:S(SNO,SNAME,CITY),其中,S表示供應商,SNO為供應商代號,SNAME為供應商名字,CITY為供應商所在城市。
P(PNO,PNAME,COLOR,WEIGHT),其中P表示零件,PNO為零件代號,PNAME為零件名字,COLOR為零件顏色,WEIGHT為零件重量。
J(JNO,JNAME,CITY),其中,J表示工程,JNO為工程編號,JNAME為工程名字,CITY為工程所在城市。
SPJ(SNO,PNO,JNO,CITY),其中,SPJ表示供應關系,SNO是為指定工程提供零件的供應商代號,PNO為所提供的零件代號,JNO為工程編號,QTY表示提供的零件數量。
1. 查詢為工程J1提供零件的供應商代號;
SELECT SNO
FROM SPJ
WHERE JNO=’JI’;
2. 由供應商S1提供零件的工程名稱;
SELECT J.JNAME
FROM J, SPJ
WHERE J.JNO=SPJ.JNO AND SPJ.SNO=’S1’;
3. 查詢出重量最輕的零件代號;
SELECT PNO
FROM P
WHERE WEIGHT IN
(SELECT MIN (WEIGHT) FROM P);
4. 查詢為工程J1提供紅色零件的供應商代號;
SELECT DISTINCT SPJ.SNO
FROM SPJ, P
WHERE P.PNO=SPJ.PNO AND SPJ.JNO=’JI’ AND P.COLOR=’紅’;
5. 查詢由供應商S1提供零件的工程的代號;
SELECT DISTINCT SPJ.JNO
FROM S, P, SPJ
WHERE S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO AND S.SNO=’S1’;
6. 計算同一個城市中工程的數量。
SELECT COUNT(JNO)
FROM J
GROUP BY CITY;
7. 向S表插入一條記錄,SNO為‘S6’,SN為‘N6’,CITY為‘南京’
INSERT INTO S
VALUES(‘S6’,‘N6’,‘南京’);
8. 將SNO為S3的城市改為上海。
UPDATE S
SET CITY=‘上海’
WHERE SNO=‘S3’;
9. 刪除J表中工程號為‘J6’的記錄。
DELETE FROM J
WHERE JNO=‘J6’;
10. 用SQL的GRANT命令給用戶張三授予對SPJ表的SELET權力,並且可以將該權利授予其他用戶。
GRANT SELECT ON SPJ TO 張三
WITH GRANT OPTION;
五、綜合題(本題2小題,共25分)
1. 現有如下關系模式:借閱(圖書編號,書名,作者名,出版社,讀者編號,讀者姓名,借閱日期,歸還日期),基本函數依賴集F={圖書編號→(書名,作者名,出版社),讀者編號→讀者姓名,(圖書編號,讀者編號,借閱日期)→歸還日期}
(1)讀者編號是候選碼嗎?(2分)
(2)寫出該關系模式的主碼。(2分)
(3)該關系模式中是否存在非主屬性對碼的部分函數依賴?如果存在,請寫出一個。(2分)
(4)該關系模式滿足第幾范式?並說明理由。(4分)
答:(1)不是(2分)。
(2)(圖書編號,讀者編號,借閱日期)(2分)
(3)存在(1分)。(圖書編號,讀者編號,借閱日期)→書名、(圖書編號,讀者編號,借閱日期)→作者名、(圖書編號,讀者編號,借閱日期)→出版社、(圖書編號,讀者編號,借閱日期)→讀者姓名(1分,四個函數依賴任選一個即可)
(4)1NF。因為存在非主屬性對碼的部分函數依賴。
2.某企業集團有若干工廠,每個工廠生產多種產品,且每一種產品可以在多個工廠生產,每個工廠按照固定的計划數量生產產品;每個工廠聘用多名職工,且每名職工只能在一個工廠工作,工廠聘用職工有聘期和工資。工廠的屬性有工廠編號、廠名、地址,產品的屬性有產品編號、產品名、規格,職工的屬性有職工號、姓名。
(1)根據上述語義畫出E-R圖;(5分)
2)將該E-R模型轉換為關系模型;(5分)(要求:1:1和1:n的聯系進行合並)
轉化后的關系模式如下:
工廠(工廠編號,廠名,地址)
產品(產品編號,產品名,規格)
職工(職工號,姓名,工產編號,聘期,工資)
生產(工產編號,產品編號,計划數量)
(3)指出轉換結果中每個關系模式的主碼和外碼。(5分)
每個關系模式的主碼、外碼如下:
工廠:主碼是工產編號;
產品:主碼是產品編號;
職工:職工號,外碼是工廠編號;
生產:主碼是(工產編號,產品編號),
外碼是工產編號、產品編號。