如需真題,請留下郵箱。
2010三月計算機等級考試四級數據庫筆試試題(純文字版)
壹、選擇題
(1)在數據庫應用系統的需求分析階段,需要考慮數據安全性。下列不屬於數據安全需求分析內容的是
a)分析數據的安全需求,確保每個關系表上定義的數據約束能夠滿足使用需求。
b)分析全局用戶的數據訪問需求,確定全局數據的安全控制策略。
c)分析特殊用戶的數據訪問需求,確保數據庫的安全控制策略能夠滿足其使用需求。
d)分析不同用戶的數據訪問需求,以確定不同用戶可以操作的數據。
(2)有壹個學生表單(學號、姓名、性別、身份證號、出生日期、系號),下面的語句用來在這個表單上建立索引:
對student表(name)創建非聚集索引idx _ nameon
這個指數叫做
a)非聚集哈希索引
b)非聚集輔助索引
c)非聚集順序索引
d)非聚集主索引
(3)在數據庫物理設計階段,使用聚合文件組織數據可以提高壹些查詢的效率。以下關於聚合文件和聚合鍵的描述不正確。
a)聚合文件將不同關系表中的相關記錄存儲在壹起,以減少系統的物理I/O次數。
b)聚合鍵應該選擇經常用於自然連接的屬性或屬性組。
c)聚合文件可以提高某些連接查詢的速度,但可能會降低其他類型查詢的處理速度。
d)關系表中某個屬性的數據重復率越高,越適合作為聚合鍵。
(4)已知有壹個描述科研項目與班主任的關系模型:科研項目(項目號、項目名、資助、班主任號、姓名、職稱),滿足函數依賴集:F={項目號→項目名、項目號→資助、項目號→班主任號→姓名、班主任號→職稱}。下列分解中符合3NF的最合理的關系模型是
a)科研項目(項目編號、項目名稱和經費)和教師(教師編號、姓名和職稱)
b)科研項目(項目編號、項目名稱和經費)和教師(教師編號、姓名、職稱和項目編號)
c)科研項目(項目編號、項目名稱、經費、負責教師人數)和教師(教師編號、姓名和職稱)
d)科研項目(項目編號、項目名稱、資助經費)、項目_教師(項目編號、負責教師編號)、教師(教師編號、姓名、職稱)
(5)在IDEF0圖中,矩形框代表功能活動。關於矩形框四邊相連的箭頭的語義,下列說法是錯誤的。
a)左邊的箭頭表示完成功能活動所需的數據,強調活動所消耗或轉化的內容。
b)上面的箭頭表示影響該活動執行的事件或約束,它強調了該活動所轉換的內容。
c)右邊的箭頭代表該活動產生的信息,強調活動轉化和處理的結果。
d)下面的箭頭表示實施活動的手段或完成活動所需的資源,並強調如何做。
(6)數據庫管理員主要負責數據庫的運行、管理和維護,工作主要包括日常維護、系統監控和分析、性能優化等。下列關於數據庫管理員工作內容的說法是錯誤的。
a)數據庫備份和恢復是壹項重要的維護工作。數據庫管理員要根據不同的應用需求制定不同的備份計劃,備份計劃應包括備份時間、周期、備份方式、備份內容等。
b)性能優化是數據庫管理員的壹項重要任務。性能優化的主要方法包括查詢優化、索引調整、模式調整等。這些任務通常不需要開發人員的參與。
c)數據庫管理員應監控數據庫中各種鎖的使用,並處理可能出現的死鎖。如果發現問題,數據庫管理員應及時通知相關人員。
d)數據庫管理員需要定期檢查存儲空間的使用情況,根據需求擴展存儲空間,壹般不需要終端用戶的參與。
(7)如果系統中有四個等待事務T0、T1、T2和T3,其中T0在等待被T1鎖定的數據項a1,T1在等待被T2鎖定的數據項A2,T2在等待被T3鎖定的數據項A3,T3在等待被T0鎖定的數據項A0。根據上面的描述,系統的狀態是
a)活鎖
b)死鎖
封鎖
d)正常
(8)在SQL Server 2000中,壹個數據庫中有壹個教師表(教師編號、姓名、職稱),其中教師編號的數據類型為整數,其他為字符類型。如果教師表中目前沒有數據,用戶將分幾次執行以下語句:
Ⅰ.開始交易T1
二。插入教師表值(1000,'張三','助教');
三。插入教師表值(1001,'王二','助教');
Ⅳ.提交t 1;
Ⅴ.開始交易T2
ⅵ.插入教師表值(1002,'王三','講師');
ⅶ.插入教師表值(1003,'李四','講師');
Ⅷ.提交T2;
執行VII時,數據庫所在的服務器突然斷電。當數據庫系統重新啟動時,教師表中包含的數據數量為
a)第四條
b)第三條
c)第二條
d)第0條
(9)已知學生關系(學號、姓名、性別、課程號、年級、系號)有以下函數依賴。
ⅰ.(學號,課程號)→課程號ⅱ。(學號,課程號)→年級。
Ⅲ.(學號,課程號)→系號ⅳ。(學號,課程號)→姓名,性別。
ⅵ.(學習弓,桌號)→學習號
以上函數依賴屬於非平凡函數依賴。
a)僅I和v
b)只有ⅱ和v
c)僅ⅲ和ⅳ
d)僅第二、第三和第四類
(10)數據庫管理系統采用三級鎖協議,防止並發操作可能導致的數據錯誤。在三級鎖定協議中,1級鎖定協議可以解決以下問題
a)丟失的修改
b)不能重復閱讀。
c)讀取臟數據
d)死鎖
(11)在SQL Server 2000中,如果壹個數據庫使用了壹段時間,其數據文件和日誌文件的空間幾乎用完。如果要手動擴展數據庫的空間,下面的陳述是正確的。
a)您可以增加單個數據文件的大小,但不能增加單個日誌文件的大小。
b)整個數據庫的數據文件和日誌文件可以壹次性放大。
c)您可以添加新磁盤,並在新磁盤上為數據庫創建新的數據文件和日誌文件。
d)您可以壹次按比例放大整個數據文件的大小,但不能放大日誌文件的大小。
(12)在SQL Server 2000中,有壹個雇員表(雇員編號、雇員姓名和電子郵件)。現在需要將電子郵件的最後幾個數字限制為“@abc.com”,在“@”之前至少有壹個字符。下列添加約束的語句是正確的。
a)更改員工表
添加約束chk_email檢查(類似' _%@abc.com '的電子郵件)
b)更改員工表
添加約束chk_email檢查(e-mail = '_%@abc.com ')
c)更改員工表
添加約束chk_email檢查(電子郵件如' _@abc.com ')
d)更改員工表
添加約束chk_email檢查(e-mail = '_@abc.com ')
(13)OLE DB是壹種通用數據訪問接口。下列關於OLE DB的說法是錯誤的。
A)OLE DB是微軟OLE對象標準的實現,由壹系列COM接口組成。
b)與需要支持幾乎所有DBMS功能的ODBC驅動程序不同,OLE DB只允許支持部分DBMS功能。
C)OLE DB支持對關系和非關系數據庫的訪問。
D)OLE DB定義了三種類型的數據訪問組件:數據提供者、數據消費者和數據驅動排序。
(14)日誌文件是數據庫系統發生故障後保證數據正確壹致的重要機制之壹。下列關於日誌文件的陳述是錯誤的。
a)日誌的註冊順序必須嚴格按照交易執行的時間順序。
b)為了確保在出現故障時能夠正確恢復數據,有必要先寫數據庫,再寫日誌。
c)檢查點記錄是日誌文件的壹種記錄,用於提高恢復效率。
d)日誌文件必須用於交易故障恢復和系統故障恢復。
(15)統壹建模語言(UML)是壹種定義良好、易於表達、功能強大且通用的可視化建模語言。下列關於UML的陳述是錯誤的。
a)在UML的用例模型中,壹個角色可以執行多個用例,壹個用例可以被多個角色使用。
B)UML也適用於對象建模,其中類圖和對象圖用於描述類模型、對象模型及其動態關系。這兩個圖都屬於UML的動態視圖。
C)C)UML的包圖是顯示包和包之間關系的類圖,包是對模型中涉及的元素進行分組的結果。在對元素進行分組時,要盡量追求包間低耦合,包內高內聚的目標。
D)UML中的序列圖和協作圖都是描述交互的,但是序列圖強調時間,協作圖強調空間。
(16)及時轉儲數據庫中的數據是保證數據安全可靠的重要手段。下列關於靜態轉儲和動態轉儲的陳述是正確的
a)靜態轉儲期間,數據庫系統不能運行其他事務,轉儲期間不允許插入、修改和刪除數據。
b)靜態轉儲必須依靠數據庫日誌來保證數據的壹致性和有效性。
c)動態轉儲只能在正在運行的事務完成後啟動。
d)對於24小時業務的業務系統,靜態轉儲技術更適合。
(17)假設有表T(T(a1,a2,..。在並行數據庫系統中。由於數據量大,需要用壹維分區的方法將數據劃分到不同的磁盤上,以提高系統效率。設al為分區屬性,對表T的查詢操作大部分是點查詢,那麽合適的元組分區策略為
a)輪換方法和範圍劃分
b)旋轉方法和散列分割
c)散列劃分和範圍劃分
d)以上都不合適。
(18)軟件開發模型是對軟件開發過程的規範性描述,用於表達軟件開發過程的整體框架以及軟件開發活動各階段之間的關系。以下模型屬於軟件開發模型
Ⅰ.爆破模型ⅱ。快速原型模型
ⅲ.增量模式ⅳ。螺旋模型
a)只有ⅰ和ⅱ
b)只有ⅰ、ⅲ和ⅳ
c)只有ⅱ和ⅲ
d)壹、二、三和四
(19)擁有大型連鎖店,擁有面向業務的數據庫應用系統和面向決策的數據倉庫系統。數據倉庫系統每天晚上都需要從數據庫應用系統的數據庫中導入新的數據。在下面的數據表中,通過快照從數據庫應用系統獲取數據的最不合適的方式是
a)商品清單和商品類別清單
b)員工名單和供應商名單
c)商品銷售表和商品采購表
d)購物中心的組織結構圖
(20)在數據庫應用系統中,查詢效率是評價數據庫應用系統的壹個重要方面。在以下方法中,通常有利於提高查詢效率。
I .盡可能避免無用的排序操作。
Ⅱ.盡可能消除對大型表行數據的順序訪問。
ⅲ.盡可能避免使用否定查詢。
Ⅳ.盡可能避免使用外部連接操作。
ⅴ.盡可能用子查詢代替連接查詢。
a)僅壹、二、三和四
b)僅I、II和IV
c)僅二、三、四和五級。
所有
(21)數據庫的概念設計需要對壹個企業或組織的應用所涉及的數據進行分析和組織。現有設計內容如下
I .分析數據並確定實體集。
Ⅱ.分析數據以確定實體集之間的關系。
Ⅲ.分析數據,確定每個實體集的存儲方式。
Ⅳ.分析數據並確定實體集之間關系的基數。
ⅴ.分析數據並確定每個實體集的數據量。
ⅵ.分析數據以確定每個實體集包含的屬性。
以上內容不屬於數據庫概念設計。
a)只有壹、四和六
b)只有ⅱ和ⅴ
c)只有ⅲ、ⅳ和ⅵ
d)僅ⅲ類和ⅴ類
(22)客戶機、服務器(C/S)和瀏覽器/服務器(B/S)是兩種常用的數據庫應用系統。關於C/S和B/S架構,下列說法是錯誤的。
a)在C/S和B/S架構中,數據庫服務器承擔數據共享和管理的功能。
B)如果系統的最終用戶群體較大,用戶分布較廣,壹般應采用B/S架構。
C)C/S架構應用需要分發給每個用戶,安裝在每個用戶的電腦上。B/S架構壹般使用通用瀏覽器作為業務應用接口,更復雜的數據處理功能壹般可以通過與瀏覽器交互的組件來實現。
d)壹般來說,對於功能需求相同的數據庫應用系統項目,C/S架構的應用開發成本高於B/S架構。
(23)數據庫應用系統環境中有各種類型的數據,有以下數據。
壹、為提高查詢效率而建立的索引
Ⅱ.描述表結構信息的數據字典
Ⅲ.用於優化查詢的統計分析數據
Ⅳ.用戶會話信息
ⅴ.用戶查詢結果
以上數據壹般會存儲在數據庫中。
a)只有ⅰ、ⅱ和ⅴ
b)只有ⅰ和ⅲ
c)只有ⅰ、ⅱ和ⅲ
d)僅第二、第三和第四類
(24)在數據庫應用系統的生命周期中,系統規劃和分析是壹個重要的環節。關於系統規劃和分析,下列說法是錯誤的。
a)規劃和分析是數據庫應用系統生命周期的起點。規劃和分析階段的主要工作包括系統規劃和定義、可行性分析和項目規劃。
b)系統規劃和定義是規劃和分析的主要環節,需要在系統設計過程中逐步完成。
c)可行性分析是從技術、經濟、運營等方面分析項目的可行性。它在定義了目標和任務後,評估系統在給定條件下是否可行。
d)項目策劃是對項目所需的資源、費用和進度進行合理的估算,做出初步的項目開發計劃。
(25)在SQL Server 2000中,數據庫中的數據量相對較大,並且存儲在沒有磁盤陣列的存儲設備上。為了盡可能地提高數據操作的效率,在以下建立數據庫文件的方法中,最合適的方法是
a)選擇盡可能大的磁盤,並在該磁盤上創建數據文件和日誌文件。
b)建立盡可能多的數據文件,使每個數據文件位於不同的磁盤上,並盡可能將日誌文件I和數據文件分別建立在不同的磁盤上。
c)創建盡可能多的數據文件,在足夠大的磁盤上構建這些數據文件,並在另壹個足夠大的磁盤上構建所有日誌文件。
d)建立盡可能多的數據文件,使每個數據文件位於不同的磁盤上,盡可能將日誌文件和數據文件建立在同壹個磁盤上。
(26)大型連鎖超市的數據庫應用系統在實施或改造過程中需要進行測試。以下是可用的測試活動
壹、模擬客戶消費行為,生成銷售數據,測試系統能否正確完成銷售業務。
Ⅱ.編寫壹個模擬數據生成器,每秒生成2000條銷售業務對應的銷售數據,測試系統吞吐量。
Ⅲ.在數據庫中模擬生成5億條銷售數據,同時打開所有收銀臺,測試系統的平均響應時間。
Ⅳ.模擬銷售持續壹周,期間每天檢查系統結賬功能。
ⅴ.測試數據庫應用系統能否正確完成銀聯卡消費業務。
上述測試活動屬於性能測試。
a)只有ⅰ、ⅱ和ⅲ
b)只有ⅱ、ⅲ和ⅴ
c)只有ⅱ和ⅲ
d)只有I、ⅳ和ⅴ
(27)在SQL Server 2000中,有壹個課程表(課程編號、課程名稱、學分和開始學期)。現在,在這個關系表上建立壹個名為f _FindTotal的嵌入式表值函數,查詢指定學期開設的課程總數。實現這個函數的正確代碼是
a)創建函數f _ find total(@學期整數)
退貨表
如同
返回(
選擇COUNT(課程編號)作為課程的數量,SUM(學分)作為課程的總學分。
學期從哪裏開始= @學期)
b)創建函數f _ find total(@學期整數)
退貨表
如同
返回(
選擇計數(課程編號)作為課程數量,計數(學分)作為課程的總學分。
學期從哪裏開始= @學期)
c)創建函數f _ find total(@學期整數)
退貨表
如同
返回(
選擇SUM(課程編號)作為課程數,SUM(學分)作為課程的總學分。
學期從哪裏開始= @學期)
d)創建函數f _ find total(@學期整數)
退貨表
如同
返回(
選擇SUM(課程編號)作為課程數量,COUNT(學分)作為課程的總學分。
學期從哪裏開始= @學期)
(28)建立商場業務系統,有銷售單據表(銷售單據號、收銀員、銷售時間)、銷售清單(銷售明細項目號、銷售單據號、商品號、數量、單位、金額)和商品表(商品號、商品名、價格)。系統業務繁忙,數據量大。收銀員的總收入應在每次換班時清點,每天營業結束後應清點每種商品的銷售量。在銷售過程中,經常需要查詢某項銷售業務。為了優化系統性能,以下優化方案是合理的
a)對銷售文檔表的收銀員屬性建立聚集索引,對銷售計劃的銷售文檔編號屬性建立非聚集索引,對商品表的商品編號屬性建立聚集索引。
b)在銷售單據表的銷售單據號屬性上建立聚簇索引,在銷售明細表的銷售單據號屬性上建立非聚簇索引,在商品表的商品號屬性上建立聚簇索引,在收銀單班銷售表和商品銷售匯總表中建立聚簇索引,在每筆銷售交易後積累相應的數據。
c)在銷售單據表的銷售時間屬性和收銀員屬性上設置聚簇索引,在銷售清單的銷售單據號屬性上設置非聚簇索引,在商品清單的商品號屬性上設置聚簇索引,設置收銀員單班銷售表和商品銷售匯總表,並在每次銷售交易後積累相應的數據。
d)對銷售單據表的銷售單據號屬性和收銀員屬性建立聚簇索引,對銷售明細表的商品號屬性建立聚簇索引。
(29)在SQL Server 2000中,假設具有大量數據和日誌的數據庫由備份設備完全備份。下列說法是正確的
a)如果每個磁盤上的剩余空間不足以存儲數據庫的備份,但所有磁盤的剩余空間之和大於備份數據庫所需的空間,可以組織這些磁盤的剩余空間建立備份設備來實現備份。
b)如果每個磁盤上的剩余空間不足以存儲數據庫的備份,但所有磁盤的剩余空間之和大於備份數據庫所需的空間,則可以將數據庫中的數據和日誌備份到位於不同磁盤上的備份設備上,以解決單個磁盤空間不足的問題。
c)只能備份數據庫中的數據,可以備份到位於不同磁盤上的備份設備上,盡量減少備份數據庫占用的空間。
d)如果每個磁盤上的剩余空間不足以存儲數據庫的備份,但所有磁盤的剩余空間之和大於備份數據庫所需的空間,則可以在每個磁盤上設置壹個備份設備,並使用這些設備同時備份數據庫。
(30)在分布式數據庫系統中,設壹個數據表的schema為S(a1,a2,a3,a4,a5),其中a1為主代碼,此表數據量大,a2的值空間為{1,2,3}。有兩種數據切片方案,分別是PSZ 1 = {S11,S12,S13}和PS2 = {S22,S23},任意切片為S1i,S .取任意片段S2i,其中S2i具有相同數量的S-元組,其主碼為al,S21的模式為(a1,a2),S22為(a65438那麽關於PS1和PS2的碎裂機制,下面的說法是正確的。
A)PS1是水平切片,PS2是垂直切片。
B)PS1是垂直切片,PS2是導出切片。
C)PS1是水平切片,PS2是導出切片。
D)PS1是垂直切片,PS2是水平切片。
二、應用問題
(1)在SQL Server 2000中,需要對employees表的first_name和last_name列建立唯壹的非聚集復合索引,其中first_name列數據的重復率為5%,last_name列數據的重復率為10%。請完成以下語句,以使以“名字”和“姓氏”列作為條件的查詢最有效。
創建唯壹非聚集索引Idx_Name
關於員工(1)
(2)在SQL Server 2000中,有壹個客戶表(客戶編號、客戶名稱、地區和年齡),應用系統需要統計指定地區的客戶數量和平均年齡。請完成以下存儲過程代碼來完成此函數。
創建過程P_Count
@area varchar(20)
如同
從客戶表中選擇COUNT(*)作為人數,2作為平均年齡。
位於何處=@area
(3)有客戶清單(客戶編號、客戶姓名、聯系電話)和采購清單(產品編號、客戶編號、采購時間)。現在需要統計有購買記錄的客戶數量。請完成以下語句以實現該功能。
從采購表中選擇3
(4)在VB 6.0中,為了簡化訪問數據庫數據的編程,經常使用Adodc數據控件來訪問數據庫中的數據。該控件中用於描述服務器連接信息的屬性為4。
(5)在SQL Server 2000中,通過將用戶添加到系統提供的5個數據庫角色,授予數據庫中的用戶插入、刪除和修改數據庫中所有用戶數據表的權限是合理的。
(6)有壹個學生表(學號,姓名,性別,系),這些列不允許有空值。現在需要建立壹種觀點來統計“計算機系”的男生女生數量。請完成下列陳述。
創建視圖V_Count
如同
選擇6,COUNT(*)作為學生表中的學生數。
其中部門= '計算機部門'
七
(7)壹個事務由壹系列操作組成,事務的執行由事務中每個操作的執行來表示。每個事務都應該有壹個結束操作。當事務需要終止和取消所有已經執行的數據修改時,應該執行的語句是8。
(8)數據倉庫是壹個面向9的、集成的、非易失的和時變的數據集。
(9)數據項上的事務操作的類型決定了數據項上的鎖的類型。鎖有兩種:互斥鎖(簡稱X鎖)和10鎖(簡稱S鎖)。
(10)在SQL Server 2000中,數據庫DB1將被差異備份到備份設備BK,BK上的現有內容不會被覆蓋。請完成下列關於備份數據庫DBI的陳述。
將11 DB1備份到BK12,NOINIT
(11)在SQL Server 2000中,壹個數據庫包含壹個書單(書號、書名、類別)和壹個銷售單(書號、銷售時間、銷售數量),其中銷售數量大於0。現在想查詢5438年6月+2009年10月銷售的圖書名稱和類別。請完成以下查詢語句來實現該功能。
從圖書表中選擇圖書名稱和類別
存在位置(從銷售表中選擇*
其中銷售時間在' 2009/10/1 '和' 2009/10/31 '之間
13 )
(12)OLAP主要用於支持復雜的分析操作,側重於對決策者和高級管理人員的數據支持。OLAP主要有三種實現方式:MOLAP、14和HOLAP。
(13)在分布式數據庫系統中,數據分布的透明性是用戶方便使用數據的重要保證。數據分布透明度的最高級別是15透明度。
第三,設計和應用問題
(1)有壹個簡化的網購系統,它的ER圖如下:
系統數據之間存在以下約束:
壹、壹個客戶(有唯壹編號)可以有多個訂單,每個訂單只屬於壹個客戶;
Ⅱ.壹個訂單(具有唯壹編號)可以包含多個訂單明細,每個訂單明細只屬於壹個訂單;
ⅲ.壹個商品可以出現在多個訂單明細中,壹個訂單明細只包含壹個商品;
Ⅳ.壹個商品類別可以包含多個商品,壹個商品只能屬於壹個商品類別。
①請根據上述約束條件,在ER圖中標出實體集之間關系的基數。(2分)
(2)請將ER圖轉換成符合3NF的關系模式,並給出每個關系模式的主代碼和外層代碼。(4分)
③請修改設計的關系模式以支持以下功能(僅列出修改後的關系模式)。(4分)
壹、方便客戶了解每個訂單明細的處理狀態和到達時間;
二。方便客戶查詢商品供應商的編號、名稱、城市、聯系電話、信譽等信息。(限於壹個供應商可以供應多種商品,壹種商品只能從壹個供應商中選擇)
(2)某學校的學籍管理系統實現了對學生學籍信息的管理,其中學生表結構為:學生表(學號、姓名、性別、系號、是否有學籍),此表中除了學號之外所有欄目都沒有索引。
(1)建立學籍管理系統經常執行以下形式的操作:
SELECT*FROM student表
其中姓名= '張三',部門編號='10 ',是否有學籍= '是'
發現這種操作在系統運行過程中效率比較低。系統工程師建議,由於查詢條件中使用了“學號”、“姓名”、“學籍”三列,建議在這三列上分別建立索引,提高查詢效率。
它建議的三個索引是否都能提高查詢效率?請簡要說明原因。
(2)學生表中有以下數據:
並且在student表的name列上建立了非聚集索引(按拼音升序排序)。請給出搜索代碼“名稱”對應的密索引示意圖。(4分)
(3)在SQL Server 2000中,有壹個教師表(教師編號、姓氏、系號、職稱)和壹個系表(系號、系名、高級職稱人數)。請編寫壹個滿足以下要求的後觸發觸發器(讓觸發器名為tri_zc)。(10分)
每當在教師表中插入具有高級職稱的教師(“教授”或“副教授”),或者將非高級職稱的教師的職稱改為高級職稱時,就會修改部門表中相應部門的高級職稱數量。(假設壹次只插入或更改壹個教師的職稱)