2016年計算機四級數據庫工程師筆試試題文字版

  一、選擇題

2016年計算機四級數據庫工程師筆試試題文字版

(1)視圖是數據庫中的重要對象,下列有關視圖的說法錯誤的是

A)一般情況下,數據庫只存儲視圖的定義,其數據仍存放在相關的基本表中

B)可以將複雜的查詢語句封裝在視圖中以簡化相關查詢語句的編寫

C)通過視圖可以屏蔽不希望用戶看到的敏感數據,提高數據庫數據的安全性

D)可以在視圖的基礎上建立新的視圖,但這樣定義的視圖會導致數據庫性能下降,一般不推薦使用

(2)在概念數據模型中,聯繫用於描述現實世界中事物之間的關聯關係。一阿d關於聯繫的說法錯誤的是

A)聯繫可用於描述一個實體集內記錄之間的關聯關係

B)聯繫可用於描述兩個實體集屬性之間的關聯關係

C)ER模型通過1:1、1:n和m:n三種聯繫描述現實世界中各類事物之間的關聯關係

D)最終的IDEFIX模型中只能出現I:1和1:n兩種類型的聯繫

(3)在關係數據庫中,NULL是一個特殊值,在很多數據操作中都需要對NULL進行特殊處理。關於NULL,下列說法正確的是

A)判斷元組的某一列是否爲NULL一般使用“=NULL”

B)NULL在數據庫中表示尚不確定的值

C)在SQL Server 2000中執行“SELECT NULL+5”將會出現異常

D)NULL只適用於字符和數值類型

(4)某教務管理系統包含選課模塊、成績錄入模塊和學籍管理模塊。選課模塊面向學校幾萬名學生,成績錄入模塊面向學校上千名任課教師,學籍管理模塊面向少量有一定權限的管理人員。該系統是上世紀用C/S結構和相關技術開發的,爲了方便用戶使用,需要對系統進行升級和改造。設有下列技術改造方案:

I.選課模塊和成績錄入模塊採用B/S結構進行改造,學籍管理模塊仍採用C/S結構

II.選課模塊採用B/S結構進行改造,成績錄入模塊和學籍管理模塊仍採用C/S結構

III.選課模塊、成績錄入模塊和學籍管理模塊均採用B/S結構進行改造

Ⅳ.成績錄入模塊採用B/S結構進行改造,選課模塊和學籍管理模塊仍採用C/S結構

上述方案中,較爲合理的是

A)僅I和II

B)僅I、II和III

C)僅I和III

D)僅II、III和IV

(5)數據庫在外存中是以文件形式組織的,組織文件記錄方法的不同就形成了不同的文件結構。下列關於順序文件結構及其存取效率的說法錯誤的是

A)順序文件因其記錄按照查找碼值升序或降序排列,當按照查找碼的值順序讀取記錄時其效率很高

B)當按照一定的條件對順序文件進行查詢時,如果查詢條件定義在查找碼上,可以使用二分查找技術快速找到滿足條件的記錄

C)由於需要保持文件中記錄的順序,因此順序文件的插入和刪除操作比較複雜,耗費時間也較多

D)對順序文件進行條件查詢時,如果查詢條件沒有定義在查找碼上,其查找效率一般也會比無序文件高

(6)死鎖是數據庫系統中可能出現的一種狀態。下列有關死鎖的說法錯誤的是

A)當事務由於無法獲得對需要訪問的數據項的控制權而處於等待狀態時,稱數據庫中產生了死鎖

B)死鎖是由於系統中各事務間存在衝突操作且衝突操作的併發執行順序不當而產生的

C)死鎖預防可以使用一次加鎖和順序加鎖兩種方法,其中一次加鎖法可能會降低系統的併發程度

D)解除死鎖通常採用的方法是選擇一個或兒個造成死鎖的事務,撤銷這些事務並釋放其持有的鎖

(7)某系統中事務T1從賬戶A轉出資金到賬戶B中,在此事務執行過程中,另一事務T2要進行所有賬戶餘額統計操作。在T1和T2事務成功提交後,數據庫服務器突然掉電重啓。爲了保證T2事務統計結果及重啓後A, B兩賬戶餘額正確,需利用到的事務性質分別是

A)一致性和隔離性

B)隔離性和持久性

C)原子性和一致性

D)原子性和持久性

(8)設有關係模式SC(Sno, Sname, Sex, Birthday, Cno, Cname, Grade, Tno, Tname)滿足函數 依賴集:{Sno→Sname, Sno→Sex, Sno→Birthday, Cno→Cname, (Sno, Cno)→Grade, Tno→Tname}的主碼和屬性集(Sno, Tno)的閉包分別是

A)(Sno,Tno)和{Cno,Cname,Grade,Tno,Tname}

B)(Sno, Cno, Tno)和{Sno, Sname, Sex, Birthday, Cno}

C)(Sno, Cno)和{Sno, Sname, Sex, Birthday, Cno, Cname, Grade}

D)(Sno, Cno, Tno)和{Sno, Sname, Sex, Birthday, Tno, Tname}

(9)數據庫應用系統是面向數據管理和數據處理的軟件系統。下列有關數據庫應用系統開發及其生命週期說法中,錯誤的是

A)數據庫應用系統安全性需求分析中,需考慮系統應達到的安全控制級別。按照可信計算機系統評測標準,安全性不高的系統其安全控制級別一般應定爲C級

B)數據庫應用系統性能分析一般使用每TPS代價值來衡量系統性價比

C)在數據庫應用系統生命週期模型中,規劃與分析階段應生成項目計劃書、可行性分析報告和需求說明文檔

D)數據庫應用系統可行性分析需要從技術、經濟、操作等方面評估和判斷該項目是否可行,是否能夠達到預期目

(10)在數據庫應用系統實施、運行和維護過程中,設有下列活動:

I.在系統運行過程中,對數據庫的空間增長情況進行監控

II.在系統運行過程中,對數據庫系統各時段CPU和內存使用情況進行監控

III.在數據庫系統實施時,運行DDL代碼建立關係表

IV.建立關係表以後編寫系統應用程序

V.定期進行數據備份

以上活動中,二般情況下屬於DBA任務的是

A)僅I、II和V

B)僅I和II

C)僅I、II和III

D)僅III, IV和V

(11)在SQL Server 2000中,Userl是銷售數據庫中的用戶,並只被授予了銷售明細表數據的刪除權限,則Userl用戶在該數據庫中能夠執行的操作是

A)刪除銷售明細表中的全部數據

B)刪除銷售明細表中的指定數據

C)查詢銷售明細表中的全部數據

D)以上操作都可以

(12)在SQL Server 2000中,要對數據庫GoodsDB進行一次差異備份,將其備份到設備Backup 1上(該設備已建立好),並要求該次備份操作清除Backupl中己有的備份內容。下列能實現該備份要求的語句是

A)BACKUP DATABASE GoodsDB TO Backupl DIFFERENTIAL,WITH NOINIT

B)BACKUP DATABASE GoodsDB TO Backupl WITH DIFFERENTIAL,NOINIT

C)BACKUP DATABASE GoodsDB TO Backupl DIFFERENTIAL,WITHINIT

D)BACKUP DATABA息E GoodsDB TO Backupl WITH DIFFERENTIAL,INIT

(13) ADO對象模型用於簡化通過ODBC, OLE DB等接口訪問數據庫的編程工作。下列關於ADO的說法錯誤的是

A)用ADO對象訪問數據庫時,仍需依賴OLE DB, ODBC等數據庫訪問接口

B)開發者只需通過使用ADO對象模型中的幾個簡單對象的方法和屬性即可實現對數據庫的訪問,因此,使用ADO對象模型可以提高數據訪問效率

C)ADO是在OLE DB, ODBC等接口基礎上設置的高一層接口

D)ADO對象模型提供的編程接口與數據提供者無關,提高了數據訪問的透明性

(14)在SQL Server 2000中,關於dbcreator角色,下列說法正確的是

A)該角色是SQL Server系統提供的服務器級角色

B)該角色是SQL Server系統提供的數據庫級角色

C)該角色是系統管理員定義的服務器級角色

D)該角色是系統管理員定義的數據庫級角色

(15)在分佈式數據庫中,查詢處理和優化比集中式數據庫要複雜得多,其中的查詢優化需要考慮的主要因素包括I/O代價、CPU代價和通信代價。一般而言,分佈式數據庫查詢優化的首要目標是

A)使查詢執行時I/O代價最省

B)使查詢執行時CPU代價最省

C)使查詢執行時通信代價最省

D)使查詢執行時I/O代價和CPU代價之和最省

(16)在SQL Server 2000中,每個數據庫都至少包含一個數據文件和一個日誌文件,創數據庫的主要工作是定義構成數據庫的數據文件和日誌文件的屬性。給定下列屬性:

I.初始大小

II.物理文件名

III.最大大小

IV.收縮方式

V.增長方式

以上屬於數據庫文件屬性的是

A)僅I、11和III

B)僅II、N和V

C)僅I、11、III和V

D)全部都是

(17)在VB 6.0中使用Adodc數據控件可以很方便地實現對數據庫數據的插入、刪除和修改操作。現假設用Adodc 1數據控件刪除其結果集當前行對應的數據庫數據,下列實現方案中正確的是

A)執行Adodc te方法

B)執行Adodc l te方法

C)先執行te方法,然後再執行te方法

D)先執行Adodc l te方法,然後再執行Adodc te方法

(18)設有某轉儲策略,用該策略對數據庫中的某一數據文件f進行轉儲時,會將其跟上一次的轉儲文件採用一定機制進行比較,若發現f被修改或f爲新文件時才轉儲該文件,則這種轉儲策略是

A)完全轉儲

B)增量轉儲

C)差量轉儲

D)增量加差量轉儲

(19)設某系統中有商品銷售表(商品號,商品類別,數量,單價,銷售日期,銷售時間),該表數據量大,在I作時間會被頻繁插入銷售數據。用戶需要經常查詢每天各類別商品的銷售總量。爲了提高查詢效率,下列措施中最爲有效且合理的是

A)在商品銷售表上針對商品類別和銷售日期屬性建立索引

B)建立商品分類別日銷售彙總表(商品類別,銷售總量,日期),每產生一條新銷售記錄時實時更新該表,用戶直接使用該表進行查詢即可

C)在商品銷售表的商品號和銷售日期屬性上建立索引

D)建立商品日銷售彙總表(商品號,商品類別,銷售總量,日期),每產生一條新銷售記錄時實時更新該表,用戶直接使用該表進行查詢即可

(20)統一建模語言(UML)是一種常用於數據庫應用系統設計和開發的可視化建模語言。關於UML,下列說法錯誤的是

A)UML中的視圖是由一個或多個圖組成的,一個圖是系統模型中的某個側面的展示

B)用例圖、順序圖和狀態圖都是UML的行爲視圖,用於描述系統的功能和活動

C)類圖和對象圖都是UML的結構視圖,用於描述系統在某個時間的靜態結構

D)在用例圖中,與系統交互的人和其它實體都可以成爲系統的角色

(21)在SQL Server 2000中,如果己分配給某個數據庫的空間大小遠遠大於存放該數據庫數據需要的實際大小,則應該對該數據庫進行收縮,以釋放多餘的空間。關於收縮數據庫,下列說法錯誤的是

A)收縮數據庫中的某個文件時,收縮後的文件大小可以小於定義文件時的初始大小

B)只能收縮數據庫所包含的數據文件,不能收縮其日誌文件

C)收縮某個具體文件時,只要收縮後的文件空間大於該文件存放數據所需的實際空間,收縮操作即可進行

D)按比例收縮數據庫時,收縮後的數據庫大小不能小於定義數據庫時的初始大小

(22)數據庫概念設計的任務之一是標識和定義實體集。關於如何標識和定義實體集有下列說法:

I.被標識的實體集應能被一個屬性集描述

II.只有一個同類實例的對象集一般情況下也有必要標識成一個實體集

III.實體集中的每個實例應能夠被唯一標識和區分

N.定義實體集時通常用一個有意義的名詞命名

V.實體集中的每個屬性應該用一個有意義的動詞命名

以上說法正確的是

A)僅I、III和N

B)僅II、IV和V

C)僅I、IV和V

D)僅II、III和IV

(23)有關係模式:系(系號,系名,系辦公電話),教師(教師號,教師名,職稱,聘任日期,工資,所在系號)。現要定義下列約束:

I.系號是系關係的主碼,教師號是教師關係的主碼

II.職稱列的取值只能爲“教授、”副教授“、”講師“、”助教“和”其它“

III.教授的默認工資爲10000元,副教授的默認五資爲8000元,講師的默認工資爲5000元

IV.每個教師的所在系號不能爲空,且其值必須在系關係中存在

若在數據庫中實現以上約束,需要使用觸發器才能實現的是

A)僅I和II

B)僅III和N

C)僅III

D)僅I和N

(24)設某大型商場的數據倉庫需要採取一定的數據抽取策略從商場業務數據庫系統中採集數據。設數據倉庫環境中有客戶名單、商品銷售細節和商品每日銷售彙總數據,並有應用系統需要分析每週客戶增長趨勢和每日商品銷售趨勢。下列數據抽取或更新策略一般情況下最爲合理的是

A)每天晚上針對業務系統中的客戶名單和商品銷售細節做一次快照,然後根據商品銷售細節計算銷售彙總數據

B)每天做一次客戶名單快照,根據客戶名單的變化修改數據倉庫中的最終客戶名單。銷售細節每天晚上採用增量方式進行抽取,然後根據新增的銷售數據更新商品每日銷售彙總數據

C)每週做一次客戶名單快照,每天做一次銷售細節快照,然後根據商品銷售細節計算銷售彙總數據

D)每週在發現客戶名單中的信息有變化時,對客戶名單做一次快照。對銷售細節數據採用增量方式,每天抽取一次新的銷售數據,然後根據新增的銷售數據更新商品每日銷售彙總數據

(25)數據庫技術爲大量數據的組織和存儲,以及數據的操縱、管理與維護提供了有力的方法和工具。有下列說法:

I.與用戶自定義文件存儲數據的方式相比,數據庫不僅能存儲數據,還能方便地表達數據之間的關係

II.數據庫管理系統一般情況下只提供通用的數據處理功能,不提供面向具體應用領域的業務處理功能

III.數據頁(塊)是數據庫中存儲數據的基本單位,爲了提高空間利用率,SQL Server2000等數據庫管理系統允許一行數據跨頁存儲

IV.利用數據庫技術,可以提高數據的獨立性,使數據不再與應用程序緊密地捆綁在一起,實現數據在企業、組織或更大範圍內的共享

V.數據字典是數據庫管理系統的重要組成部分,大部分數據庫管理系統的數據字典是由一組系統表和系統視圖組成的,這些對象一般由數據庫管理系統和數據庫管理員共同維護

以上說法錯誤的是

A)僅I和III

B)僅II和IV

C)僅III和V

D)僅IV和V

(26)設有關係模式Student(Sno, Sname, Sex, Birthday),Course(Cno, Cname, Credit),SC(Sno,Cno, Grade)。若在SQL Server 2000中建有與以上模式對應的關係表,並有如下操作:

I.定義Sno是Student關係表的主碼,定義Cno是Course關係表的主碼,定義Sno,Cno是SC關係表的主碼

II.定義Student關係表Sex列的取值只能爲”男,或“女”,定義Course關係表Credit列的取值範圍是[1, 4]

III.在Student關係表的Sname列上建立一個非聚集索引,在Course關係表的Cname列上建立一個非聚集索引-

IV.定義SC關係表的Sno列的取值不能爲空,並且其鑲一個值必須在Student關係表的Sno列的值集中

以上操作對內模式結構有影響的是

A)僅I和III

B)僅II和III

C)僅I和IV

D )僅I和II

(27)某大型超市的數據庫應用系統中,設有下列數據:

I.商品清單

II. DBMS中的數據字典

III.商品銷售細節數據

IV.數據庫結構說明文檔

V.前端應用程序報表中數據項的`定義及說明文檔

VI.商品分類銷售彙總數據

以上數據中,一般屬於元數據的是

A)僅I、III和VI

B)僅II、V和VI

C)僅I、II和N

D)僅II、N和V

(28)設有某通信公句面向手機用戶的網上通信記錄查詢數據庫系統,該系統爲手機用戶提供最近一年內用戶的短信和通話記錄查詢功能。在系統上線運行前的實施過程中,設有下列測試活動:

I.在指定時間段內,模擬生成N筆特定模式的查詢事務,測試服務器能否在這個時間段內完成這些查詢

II.用一個手機用戶登錄,測試系統能否在該用戶5分鐘內沒有任何操作時自動斷開該用戶的連接

III.測試系統在用戶通過網頁登錄時能否生成驗證碼圖片

IV.用一個手機用戶登錄,測試在用戶成功登錄後系統能否正確地給用戶發送一條提示短信

V.測試單個用戶查詢不同時間跨度的數據所需的平均響應時間

以上測試活動中,可以歸爲性能測試的是

A)僅I和V

B)僅I、II和IV

C)僅II、III和IV

D)僅I、II和V

(29)在SQL Server 2000中,有學生表(學號,姓名,年齡,所在系),學號是主碼。在這個表上建有視圖V1,V1視圖的定義語句爲:

CREATE VIEW V1 AS

SELECT姓名,年齡,所在系FROM學生表

WHERE年齡>=(SELECT AVG(年齡)FROM學生表)

有下列操作語句:

TE V1 SET年齡=年齡+1

CT*FROM V1 WHERE年齡>20

TE FROM V1 WHERE年齡>20

RT INTO V1 VALUES(,張三,20,‘計算機系’)

以上語句能正確執行的是

A)僅I和II

B)僅II

C)僅II和IV

D)僅I、II和III

(30)爲了防止某個數據庫系統發生故障,設有下列措施:

I.配備UPS保證服務器供電穩定

II.採用雙硬盤鏡像,以防止單個硬盤出現介質損壞而造成數據丟失

III.定期給操作系統打補丁,以免操作系統被攻擊後重啓

IV.改善密碼管理機制,提高各類密碼的安全性,以免發生數據失竊

V.加強事務流程測試和驗證,以免發生併發事務死鎖

以上措施中,用於防止數據庫系統出現系統故障(軟故障)的是

A)僅I、II和III

B)僅III、IV和V

C)僅I和III

D)僅IV和V

  二、應用題(每空2分,共30分)

(1)【1】文件支持多種記錄類型的存儲,這種文件將來自多個關係表不同類型的記錄存儲在一起,可減少多表查詢時磁盤的訪問量,提高多表查詢的效率。

設有表T(c1,c2),c1的數據類型爲char(2),要求其第I位的取值範圍爲[1,9],第2位的取值範圍爲[0, 9].實現此要求的約束表達式爲CHECK(c1 LIKE“【2】”)。

(3)設有某種文件,當向其中插入一條新記錄時,首先讀文件頭,找到最末磁盤塊的地址後將最末磁盤塊讀入內存緩衝區,在緩衝區內將新插入記錄寫入該數據塊的末尾,然

後將緩衝區中修改過的數據塊作爲最末磁盤塊寫回磁盤文件。以這種方式組織的文件被稱爲【3】。

(4)在保證數據一致性的加鎖協議中,【4】級加鎖協議要求事務在讀數據項之前必須先對該數據項加共享鎖,直到事務結束才釋放該鎖。

(5)利用日誌技術進行數據庫恢復時,爲了使恢復子系統避免對整個日誌文件進行檢查,需要在日誌文件中增加【5】記錄。

(6)數據庫邏輯設計的目標是把概念設計階段得到的【6】模型轉換成所選定的數據庫管理系統支持的數據模型。

在各種數據環境中,粒度用於描述數據的綜合程度。設某系統中有商品銷售表(商品號,銷售量,單價,日期,時間)和商品周銷售表(商品號,周銷售量,周),則商品銷售表的粒度級要【7】於商品周銷售表的粒度級。若兩個表的時間跨度相同,則商品銷售表中存放的數據量要【8】於商品周銷售表的數據量。

(8)設有商品表(商品號,商品名,單價)和銷售表(商品號,銷售時間,銷售數量)。

現要查詢單價高於100元的全部商品的銷售總次數和總數量,包括沒有被賣出過的商品(沒有被賣出過的商品的銷售總次數和總數量置爲0)。請補全如下語句:

SELECT商品表。商品號,銷售總次數=【9】,

銷售總數量=SUM(銷售數量)

FROM商品表【10】銷售表

0N商品表。商品號=銷售表。商品號

WHERE單價>100

GROUP BY商品表。商品號

(9)在SQL Server 2000中,設u1是某數據庫中的用戶,若要使u1在該數據庫中只具有查詢全部用戶表的權限。請補全如下語句:

EXEC sp_addrolemember“【11】”,“【12】”

(10)SQL Server 2000內置的系統管理員賬戶是【13】

(11)設在SQL Server 2000平臺一民對數據庫SalesDB進行了如下圖所示的各份操作。

己知這三次備份操作均備份在設備BK上,且該設備只包含這三個備份操作的結果。在數據庫出現故障後,爲儘可能減少數據丟失,需要恢復所有的備份。請補全如下用於恢復日誌備份1的SQL語句:

RESTORE LOG SalesDB FROM BK

WITH【14】

【15】

  三、設計與應用題(共30分)

(1)已知某教務管理系統有下列關係模式(帶下劃線的屬性是主碼):

系(系號,系名)

學生(系號,姓名,性別,入學日期,正常畢業日期,所在系號)

課程(課程號,課程名,學分,開課系號,教師號)

選課(學號,課程號,成績)

教師(教師號,姓名,職稱,所在系號)

①請根據給出的關係模式畫出該系統的ER圖,圖中忽略實體集的屬性,但如果實體集之間的聯繫有屬性則需要給出聯繫的屬性。(6分)

②隨着教學改革的需要,該系統需要滿足下列需求:

I.需爲課程增加先修課信息(一門課程可有多門先修課程);

II.一門課程可由多名教師講授,一名教師可以講授多門課程。

請根據以上需求修改關係模式,僅列出有改動的關係模式,並使每個關係模式滿足3NF。(4分)

(2)在SQLServer2000的某數據庫中有如下兩張關係表:

學生表(學號,姓名,性別,系號),學號爲主碼

系表(系號,系名,系簡稱),系號爲主碼

①在數據庫中執行如下T-SQL代碼:

DECLARE @DePtID varchar(10)

DECLARE @cnt int

set @cnt=O

DECLARE cursor1 cursor FOR SELEET系號FROM系表

WHERE系名LIKE'%電%'

OPEN cursorl

FETCH NEXT FROM cursor1 INTO @DePtID

WHILE @@FETCH_STATUS=O

BEGIN

DECLARE @temp_cnt int

sELECT @temp_cnt=COUNT(*)FROM學生表WHERE系號=@DeptID

set @Cnt=@cnt+@temp_cnt

FETCH NEXT FROM cursor1 INTO ODePtID

END

CLOSE cursor1

DEALLOCATE cursor1

SELECT @cnt

執行過程中發現速度比較慢,爲了解決性能問題,需在功能不變的情況下,將此T-SQL代碼改爲一條SQL語句,請寫出此SQL語句(語句中不能含有子查詢)並說明爲什麼此種修改可以提高性能。(5分)

②設在學生表的(姓名,系號)列上建有一個複合索引,該索引是否有助於提高下列兩個語句的查詢效率?並說明原因。(5分)

SELECT*FROM學生表 WHERE系號='1';

SELEET*FRoM學生表WHERE姓名=‘張三';

(3)在SQL server 2000中,設有圖書表(書號,書名,類別,單價)和圖書印刷表(書號,印刷日期,印刷數量,印次),每個書號代表一種圖書。書號、書名和類別的數據類型均爲varehar(20),單價、印刷數量和印次的數據類型均爲int,印刷日期的數據類型大smalldatetime.現需查詢指定類別的圖書在指定年份後(含指定年份)累計印刷總數量。請寫出實現該功能的標量函數。(10分)