分章節測試題一、二、三章
第一部分 數據庫基礎篇
第一章(緒論)
第二章(數據建模)
第三章 關係數據庫
一、填空題:(每空5分,共35分)
1.DBMS是指 數據庫管理系統 ,它是位於 用戶 和 操作系統 之間的一層管理軟件。
2.構成數據模型的三大要素是___數據結構 、數據操作和數據完整性約束。
- 參照完整性規則是指:如果關係R的外部鍵.是另一關係S的主鍵.則R關係中外部鍵的取值.
要麼等於 關係S中某一記錄的主鍵 的值,要麼等於空值。
- 傳統的集合“並、交、差”運算施加於兩個關係時,這兩個關係的 屬性個數 必須相等, 相對應的屬性值
必須取自同一個域。
二、選擇題:(每題5分,共40分)
1.下述說法中沒有體現數據庫系統特點的是( A )。
A.數據面向應用程序 B.數據結構化 C.數據冗餘小 D.數據共享性高
2.數據庫系統的核心是( B )。
A.數據庫 B.數據庫管理系統
C.數據模型 D.軟件工具
-
設關係R和S的屬性個數分別爲r和s,則(R×S)操作結果的屬性個數爲( A )。
A.r+s B.r-s C.r×s D.max(r,s)
4.層次模型不能直接表示( C )。
A. 1 :1關係 B.1 :m關係
C. m :n關係 D.1 :1和1 :m關係
5.數據庫系統的數據獨立性是指( B )。
A.不會因爲數據的變化而影響應用程序
B.不會因爲系統數據存儲結構與數據邏輯結構的變化而影響應用程序
C.不會因爲存儲策略的變化而影響存儲結構
D.不會因爲某些存儲結構的變化而影響其他的存儲結構
6.一個關係數據庫文件中的各條記錄( B ) 。
A.前後順序不能任意顛倒,一定要按照輸入的順序排列
B.前後順序可以任意顛倒,不影響庫中的數據關係
C.前後順序可以任意顛倒,但排列順序不同,統計處理的結果就可能不同
D.前後順序不能任意顛倒,一定要按照關鍵字段值的順序排列
-
在通常情況下,下面的關係中不可以作爲關係數據庫的關係是( D )。
A.R1(學生號,學生名,性別)
B.R2(學生號,學生名,班級號)
C.R3(學生號,學生名,宿舍號)
D.R4(學生號,學生名,簡歷)
8.對職工表的性別、字段,要求職工的性別必須爲‘男’或者‘女’,這種約束條件屬於( C )。
A.參照完整性 B.實體完整性
C.用戶定義的完整性 D.數據一致性
三、操作題(每題5分,共10分)
已知如下關係模式
客戶個人信息 (身份證號,姓名,性別)
客戶入住信息(身份證號,客房號,入住時間,退房時間)
客房 (客房號,客房類型號)
試用關係代數完成如下操作
1、查詢“張樺”客戶的身份證號和年齡
2、查詢“李明”先生所訂的客房的號碼和入住時間
四、簡答 (15分)
你如何看待數據庫系統的三級模式以及三級模式對保持數據的邏輯獨立性和物理獨立性的作用?
數據庫系統的三級模式是對數據的三個抽象級別,它把數據的具體組織留給DBMS管理,使用戶能邏輯地、抽象地處理數據,而不必關心數據在計算機中的具體表示方式與存儲方式。
三級模式間的兩層映像保證了數據庫系統中的數據具有較高的數據獨立性。
分章節測試題四、五、六章
第四章 規範化理論
第五章 數據庫設計
第六章 關係數據庫標準語言SQL
一、操作題
把數據庫library附加至你的個人SQL Server數據庫服務器,
觀察所給關係數據庫表結構(重點觀察BOOK、READER、BORROW、BLERK表),
在SQL Server中完成以下問題和SQL操作:
問題:
BOOK表和BORROW表的主鍵如何設置,分析其設置原因
BOOK表設置的約束有哪些,設置規則是什麼,分析設置原因
查詢:
- 查詢館藏圖書中各出版社圖書的數量;
- 查詢未登記作者姓名的圖書編號和書名;
- 查詢2001至2002年出版的圖書的全部信息;
- 查詢圖書價格小於平均圖書價格的書的編號和書名;
- 查詢借書但未歸還的讀者的編號、姓名及所借圖書編號、書名;
- 查詢那個圖書借閱次數最多的出版社名稱;
- 刪除已還圖書的借閱記錄,並思考真實環境中,已還圖書是否爲直接刪除,更合理的做法應該是什麼?
新建查詢,執行SQL語句導入mdf、ldf文件:
EXEC sp_attach_db @dbname = 'library',
@filename1 = 'd:\data\library.mdf', --mdf文件路徑
@filename2 = 'd:\data\library_log.ldf' --ldf文件路徑
如果導入不成功,則需要修改mdf,ldf文件的權限。
找到你的mdf,ldf文件,右鍵-屬性-安全-編輯,完全控制選擇允許。
- 查詢館藏圖書中各出版社圖書的數量
select count(*)圖書數量,PRESS
from BOOK
group by PRESS;
- 查詢未登記作者姓名的圖書編號和書名
select BOOK_ID,BOOK_NAME
from BOOK
where AUTHOR is null;
- 查詢2001至2002年出版的圖書的全部信息
select *
from BOOK
where year(PRESS_DATE)='2001' or year(PRESS_DATE)='2002';
- 查詢圖書價格小於平均圖書價格的書的編號和書名
先計算一下平均圖書價格:
select avg(PRICE)平均圖書價格 from BOOK;
將其作爲子句:
select BOOK_ID,BOOK_NAME
from BOOK
where PRICE<(select avg(PRICE) from BOOK);
- 查詢借書但未歸還的讀者的編號、姓名及所借圖書編號、書名
select BORROW.READER_ID,NAME,BORROW.BOOK_ID,BOOK_NAME
from BOOK,READER,BORROW
where READER.READER_ID=BORROW.READER_ID
and BOOK.BOOK_ID=BORROW.BOOK_ID
and FLAG_RETURN='N';
- 查詢哪個圖書借閱次數最多的出版社名稱
先查詢哪個圖書借閱次數最多:
select top 1 BOOK_ID,count(*)借閱次數
from BORROW
group by BOOK_ID;
試着查看這個圖書是哪個出版社的:
select PRESS
from BOOK
where BOOK_ID=10300649;
整合在一起:
select top 1 BORROW.BOOK_ID,count(*)借閱次數,PRESS
from BORROW,BOOK
where BOOK.BOOK_ID=BORROW.BOOK_ID
group by BORROW.BOOK_ID,BOOK.PRESS;
二、設計題(每題30分,共60分)
- 已知某酒店的業務描述:
(1)每一個客戶有惟一的身份證號,客戶需記錄身份證號、姓名、性別、電話等信息;
(2)每個客房有唯一的客房編號,客房有客房類型、收費標準等信息;
(3)一個客房同一時間只能有一個客戶入住,要記錄客戶的入住時間和退房時間;
根據上述業務描述和訂單格式得到關係模式R:
R(客戶身份證號,姓名,性別,客戶電話,客房編號,客房類型,收費標準,入住時間,退房 時間)
解題要求:
(1)寫出R的基本函數依賴集。
(2)找出R的候選鍵。
(3)判斷R最高可達到第幾範式,爲什麼?
(4)將R分解爲一組滿足3NF的模式。
[同類題型]已知新華書店銷售訂單的屏幕輸出格式如題41圖所示。
書店的業務描述:
(1)每一個訂單有惟一的訂單編號;
(2)一個訂單可以訂購多種圖書,且每一種圖書可以在多個訂單中出現;
(3)一個訂單對應一個客戶,且一個客戶可以有多個訂單;
(4)每一個客戶有惟一的客戶編號;
(5)每一種圖書有惟一的圖書編號。
根據上述業務描述和訂單格式得到關係模式R:
R(訂單編號,日期,客戶編號,客戶名稱,客戶電話,地址,圖書編號,書名,定價,數量)
問:(1)寫出R的基本函數依賴集。
(2)找出R的候選鍵。
(3)判斷R最高可達到第幾範式,爲什麼?
(4)將R分解爲一組滿足3NF的模式。
[同類題型]
[同類題型] 假設某旅館業務規定,每個賬單對應一個顧客,賬單的發票號是唯一的,賬單中包含一個顧 客姓名、到達日期和顧客每日的消費明細,賬單的格式如題 41圖所示。
如果根據上述業務規則, 設計一個關係模式: R(發票號, 到達日期,顧客姓名,消費日期,項目,金額)。
試回答下列問題:
(1)找出 R的候選鍵
(2)判斷 R最高可達到第幾範式,爲什麼?
(3)給出 R的一個可能的 3NF分解
2. 某企業集團有若干工廠,每個工廠生產多種產品,且每一種產品可以在多個工廠生產,每個工廠按照固定的計劃數量生產產品;每個工廠聘用多名職工,且每名職工只能在一個工廠工作,工廠聘用職工有聘期和工資。工廠的屬性有工廠編號、廠名、地址,產品的屬性有產品編號、產品名、規格,職工的屬性有職工號、姓名。
解題要求:
(1)根據上述語義畫出E-R圖,在E-R圖中需註明實體的屬性、聯繫的類型及實體的碼。(8分)
(2)將E-R模型轉換成關係模型,並指出每個關係模式的主鍵和外鍵。(6分)
解:
(1)
(2)
關係模型爲:
工廠(工廠編號,廠名,地址)
主鍵是工廠編號
產品(產品編號,產品名,規格)
主鍵是產品編號
生產(工廠編號,產品編號,計劃數量)
主鍵是(工廠編號,產品編號)
外鍵是(工廠編號,產品編號)
職工(職工號,姓名,聘期,工資,工廠編號)
主鍵是職工號
外鍵是工程編號