2013年9月全國計算機等級考試三級試卷
數據庫技術模擬試卷1
(考試時間120分鐘,滿分100分)
一、選擇題((1)~(20)每題1分,(21)~(30)每題2分,共40分) 下列各題A)B)C)D四個選項中,只有一個選項是正確的,請將正確的選項涂寫在答題卡相應位置上,答在試卷上不得分。 。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}.SC的主碼和屬性集(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數據控件可以很方便地實現對數據庫數據的插入、刪除和修改操作,F假設用Adodc 1數據控件刪除其結果集當前行對應的數據庫數據,下列實現方案中正確的是 A)執行Adodc 1.Delete方法 B)執行Adodc l .ReCOrdset.Delete方法 C)先執行Adodcl.Delete方法,然后再執行Adodcl.Update方法 D)先執行Adodc l .Recordset.Delete方法,然后再執行Adodc 1.Recordset.Update方法 。18)設有某轉儲策略,用該策略對數據庫中的某一數據文件f進行轉儲時,會將其跟上一次的轉儲文件采用一定機制進行比較,若發現f被修改或f為新文件時才轉儲該文件,則這種轉儲策略是 A)完全轉儲 B)增量轉儲 C)差量轉儲 D)增量加差量轉儲
。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數據控件可以很方便地實現對數據庫數據的插入、刪除和修改操作,F假設用Adodc 1數據控件刪除其結果集當前行對應的數據庫數據,下列實現方案中正確的是 A)執行Adodc 1.Delete方法 B)執行Adodc l .ReCOrdset.Delete方法 C)先執行Adodcl.Delete方法,然后再執行Adodcl.Update方法 D)先執行Adodc l .Recordset.Delete方法,然后再執行Adodc 1.Recordset.Update方法 。18)設有某轉儲策略,用該策略對數據庫中的某一數據文件f進行轉儲時,會將其跟上一次的轉儲文件采用一定機制進行比較,若發現f被修改或f為新文件時才轉儲該文件,則這種轉儲策略是 A)完全轉儲 B)增量轉儲 C)差量轉儲 D)增量加差量轉儲
。23)有關系模式:系(系號,系名,系辦公電話),教師(教師號,教師名,職稱,聘任日期,工資,所在系號),F要定義下列約束: 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學生表) 有下列操作語句: I.UPDATE V1 SET年齡=年齡+1 II.SELECT*FROM V1 WHERE年齡>20 III.DELETE FROM V1 WHERE年齡>20 IV.INSERT 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.設某信息管理系統在需求分析階段已經收集到下列信息:
學生信息:學號、姓名、性別、出生日期、所在系號、系名、系辦公電話
學生學籍異動信息:學籍異動類型(如因病休學,任村官保留學籍,農村任教保留學籍等)、
異動類型說明、異動時間
教材信息:教材號、教材名、使用該教材的課程號、課程名、課程學分
該業務系統存在如下規則:
I.-個系管理多名學生,每個學生只由一個系管理
Ⅱ.一本教材僅用于一門課程,一門課程可使用多本教材
Ⅲ.一名學生可選修多門課程,一門課程可由多名學生選修
Ⅳ.學生選修的課程要在數據庫中記錄課程成績
V. -名學生可能會有多條學籍異動信息
①請根據以上描述信息畫出合適的ER圖。(6分)
②將ER圖轉換為滿足3NF的關系模式,并標出每個關系模式的主碼(用下畫線標注)和外碼。(4分)
2.設在SQL Server 2008某數據庫中,有圖書表(書號,書名,單價)和銷售表(書號,銷售時間,銷售數量),假設單價和銷售數量均為int類型,書號和書名均為varchar( 50)類型,銷售時間為datetime類型。請給出創建滿足如下要求的多語句表值函數,該函數統計指定年份中每本書的銷售總額。設函數名為:f_BookProfit(@year int),函數的返回結果格式如下:(10分)
書號 銷售總額
BO01 60000
... ...
3.某商場新購了一套商品經營管理系統,此系統使用SQL Server 2008數據庫管理系統。此系統上線運行前,需將商場原有的數據導入到新系統中。原有系統使用SQL Server 2000,數據結構與新系統不完全一致。為了保證數據一致性,數據導入過程中要求暫停業務且必須在2小時內完成。
①在原有數據導入新系統的過程中,實施人員發現原有數據量很大,導人數據需要4小時,
業務無法接受。經分析某工程師認為,數據導入過程中數據庫系統I/O很高,但導人數據的程序本身對系統資源占用很低。該工程師建議將數據導入過程中的數據庫恢復模式從“完整”模式改為“簡單”模式以提高數據導入速度;而另一位工程師則認為此方法未必能提高數據導入速度,而且還可能導致數據丟失,不建議使用此方法。
請分析此方法是否能夠提高數據導人速度并給出理由,同時請分析此操作的數據丟失風
險。(5分)
②在成功導入歷史數據后,此系統順利上線運行。在上線運行的第一周,發現數據庫服務
器CPU使用率很高,達到近90%,高峰期間達到100%,且系統內存使用率達到90%,但系統I/O
很輕。業務人員反映系統操作速度很慢。為了提高系統運行速度,在不修改應用程序的前提下,兩位工程師提出了不同的解決方法:
i.為服務器增加2顆CPU,緩解CPU使用率很高的問題。
ii.為服務器增加一倍內存,緩解內存使用率很高的問題。
考慮成本,現階段只能按照一種方案實施。請指出在現有情況下,哪種方案更合理并給出理由。(5分)
|