計算機三級考試《數據庫技術》測試題與答案

《數據庫技術》是計算機三級考試類別之一,下面小編整理了計算機三級考試《數據庫技術》測試題與答案,大家快來檢測吧!

計算機三級考試《數據庫技術》測試題與答案

1[單選題] 某網上書店根據用戶的歷史購書記錄,採用某種數據挖掘算法分析出用戶最可能屬於某一類書的愛好者,應該採用(  )。

A.關聯分析B.分類分析C.時問序列分析D.迴歸分析

參考答案:B

參考解析:常見的數據挖掘任務包括分類、估計、預測、相關性分組或關聯規則、聚類和描述、可視化以及複雜數據類型挖掘(Text、Web、圖形圖像、視頻和音頻等)等。分類分析首先從數據中選出已經分好類的訓練集,在該訓練集上運用數據挖掘分類的技術,建立分類模型,對於沒有分類的數據進行分類。該需求要求根據購書記錄將用戶映射到傾向於喜歡某種書的顧客特性中,而分類挖掘模型能把數據庫中的數據項映射到給定類別的某一箇中。

2[單選題] 下列有關三級模式結構和數據獨立性的說法,正確的是(  )。

A.在一個數據庫中可以定義多個內模式,可利用不同的內模式來描述特定用戶對數據的物理存儲需求

B.外模式是用戶與數據庫系統的接口,用戶可通過外模式來訪問數據,在一個數據庫中只能定義一個外模式

C.三級模式結構提供了數據獨立性,即當數據的邏輯結構和存儲結構發生變化時,應用程序不受影響

D.數據獨立性使得數據的定義和描述與應用程序相分離,簡化了數據庫應用程序的開發,但增加了用戶維護數據的代價

參考答案:C

參考解析:A選項中內模式也稱存儲模式,它是數據物理結構和存儲方式的描述,是數據在數據庫內部的表示方式,一個數據庫只有一個內模式。B選項中外模式可以有多個,其是應用程序或用戶與數據庫通信的接口,不同的用戶訪問同一個數據庫對應多個外模式。D選項中數據與程序之間的獨立性,使數據定義與描述分離,所有數據的存取由DBMS管理,用戶不必考慮存取細節,所以減少了應用程序的維護。

3[單選題] 在數據庫應用系統生命週期中,系統設計完成後就進入到系統實現與部署階段。下列關於數據庫應用系統實現與部署階段工作的說法,錯誤的是(  )。

A.此階段會根據數據庫邏輯結構和物理結構設計方案以及項目選擇的數據庫管理系統,編寫相關腳本生成數據庫結構

B.此階段會將用戶原有數據按照新的數據結構導人到新系統中

C.此階段會進行應用系統編碼和編碼測試,編碼測試可以使用白盒測試方法也可以使用黑盒測試方法

D.此階段如果發現系統的功能、性能不滿足用戶需求,應儘快進行系統升級工作

參考答案:D

參考解析:系統的實現階段主要是系統編碼和測試,針對系統的功能和性能不足對系統進行升級是運行維護階段的工作。

4[單選題] 關於並行數據庫,下列說法錯誤的是(  )。

A.層次結構可以分爲兩層,頂層是無共享結構,底層是共享內存或共享磁盤結構

B.無共享結構通過最小化共享資源來降低資源競爭,因此具有很高的可擴展性,適合於OLTP應用

C.並行數據庫系統經常通過負載均衡的方法來提高數據庫系統的業務吞吐率

D.並行數據庫系統的主要目的是實現場地自治和數據全局透明共享

參考答案:D

參考解析:並行數據庫系統的主要目的是通過高速通信介質連接多個可獨立處理的單元以並行執行的方式完成對數據庫系統的互聯查詢、內部查詢及各種內部操作。分佈式數據庫系統的`主要目的纔是實現場地自治和數據全局透明共享。

5[單選題]設在SQLServer 2008某數據庫中建有如下會員卡表:

CREATE TABLE Table_Card(

CardID 4)PRJMARY KEY,

StartDate datetime NOT NULL,

Score int NOT NULL DEFAULT 0,

State int NOT NULL CHECK(State in(0,1,2))

)

現表中無數據,某用戶對此表依次進行了如下操作:

ⅠRT INTO Table_Card

VALUES(ˊ1001ˊ,ˊ2012-1-1 12:30:01ˊ,154,0)

ⅡRT INTOTable_Card(CardID,StartDate,State)

VALUES(ˊ1002ˊ, ˊ2012-1-1 12:30:02ˊ,1)

ⅢRTINTO Table_Card

VALUES(ˊ1003 ˊ,ˊ2012-1-1 12:30:03ˊ,172,2)

RT INTO Table_Card

VALUES(ˊ1004 ˊ,ˊ2012-1-1 12:30:04ˊ,135,3)

ⅤTE Table Card SETState=3 WHERE CardID=ˊ1001ˊ

ⅥTE Table Card SETState=1 WHERE CardID=ˊ1004ˊ

以上操作對Table_Card表數據產生影響的是(  )。

A.僅Ⅰ、Ⅱ和ⅢB.僅Ⅰ、Ⅴ和ⅥC.僅Ⅰ、Ⅱ、Ⅲ和ⅥD.僅Ⅲ、Ⅳ、Ⅴ和Ⅵ

參考答案:A

參考解析:Ⅳ中插人字段的第四個字段“3”不滿足“CHECK(State in(0,1,2))”的條件,因此插入不成功。V中更新第四個字段“State=3”同樣不滿足“CHECK(State in(0,1,2))”的條件,更新失敗。Ⅵ中

因爲沒有“CardlD=ˊ1004ˊ”的記錄,所以更新失敗。

6[單選題] 數據庫鏡像有很多優點,但不包括(  )。

A.數據庫鏡像提供完整或接近完整的數據冗餘,增強數據保護功能

B.發生災難時,數據庫鏡像可快速使數據庫的備用副本提供服務

C.數據庫鏡像可以降低應用成本

D.提高生產數據庫在升級期間的可用性

參考答案:C

參考解析:數據庫鏡像是一種簡單的策,具有下列優點:①增強數據保護功能。數據庫鏡像提供完整或接近完整的數據冗餘,具體取決於運行模式是高安全性模式還是高性能模式;②提高數據庫的可用性。發生災難時,在具有自動故障轉移功能的高安全性模式下,自動故障轉移可快速使數據庫的備用副本在線(而不會丟失數據)。在其他運行模式下,數據庫管理員可以選擇強制服務(可能丟失數據),以替代數據庫的備用副本;③提高生產數據庫在升級期間的可用性。因爲數據庫鏡像技術需要額外存放數據的空間,所以會增加應用成本。

7[填空題] 設在SQL Server 2008某數據庫中有按如下格式定義的存儲過程首部:

CREATE PROC Pl@X int,@Y int,@Z int output AS…

請補全下列調用該存儲過程的語句。

DECLARE@S int

EXEC Pl 20,30,@S【7】

參考解析:

output

【解析】存儲過程是SQL語句和可選控制流語句的預編譯集合,它用一個名字存儲一個處理單元。創建存儲過程爲:

CREATE Procedure過程名([參數1,參數2,…])

AS;

默認的參數全爲輸入參數,如果包含輸出參數,在相應的參數後面加0utput標識。如:

CREATE Procedure過程名([參數1,參數2 0utput,…])

AS;

執行存儲過程時則調用EXEC存儲過程名參數名1,參數名2 0utput,執行存儲過程的參數與CREATE時的參數對應。

8[填空題] 設某數據庫中作者表(作者號、城市)和出版商表(出版商號,城市)。請補全如下查詢語句,使該查詢語句能查詢出在作者表裏而不在出版商表中的城市。

SELECT城市FROM作者表作者

【9】

(SELECT城市FROM出版商表)

參考解析:

WHERE作者.城市NOT IN要查詢有作者但是沒有出版社的結果集,可以採用子查詢手段,即從作者表中查詢城市,且城市不在出版社所在的城市。這時我們可以用NOT IN來實現,NOT IN的結果集是在外查詢中存在,但是在內查詢中不存在的記錄。

9[填空題] 數據庫系統出現故障是不可避免的。當數據庫系統出現事務故障和系統故障時需使用數據庫的【12】文件進行恢復。

參考解析:日誌

【解析】數據庫出現事務故障和系統故障時,需要使用數據庫的日誌文件進行恢復。

10[簡答題] 設在SQL Server 2008某數據庫中有商品表和銷售表,兩個表的定義如下:

CREATE TABLE商品表(

商品號10)PRIMARY KEY,

商品名var40),

類別var20),

進貨單價int)

CREATE TABLE銷售表(

商品號10),

銷售時間datetime,

銷售數量int,

銷售單價int,

PRIMARY KEY(商品號,銷售時問))

下面是一個用戶定義的多語句表值函數,它接受類別作爲輸入參數,返回該類別下的每種商品在2012年的銷售總利潤,並將結果按照銷售總利潤的降序輸出。請補全該函數定義代碼。(10分)

CREATE FUNCTION f_Profit(@lb 10))【1】@ProfitTable【2】(商品號10),總利潤int)

AS

BEGIN

INSERT INTO@ProfitTable

【3】

【4】

END

參考解析:

【解題思路】

用戶定義的多語句表值函數的命令格式爲:

CREATE FUNCTION[schema_name.]function name

([{@parameter_name[AS][type_schema_name.]parameter_data_type

[=default]}

[….n]

]

)

RETURNS@return_variable TABLE

[WITH[[,]…n]]

[AS]

BEGIN

function_body

RETURN

END

[;]

::=

({

J}

[][,…n]

)

題目要求返回指定類別下的每種商品在2012年的銷售總利潤,並且將結果按照銷售總利潤的降序輸出。採用複合SQL語句的格式,先查出指定類別的所有商品號:SELECT商品號FROM商品表WHERE類別=@lb,其中@lb爲函數的傳人蔘數,然後在銷售表中用GROUP BY對商品號進行分組,並採用SUM計算每個分組的總和。

【參考答案】

第一空:RETURNS

第一空:table

第三空:SELECT a.商品號,SUM(銷售數量*(銷售單價一進貨單價))AS總利潤FROM銷售表a JOIN商品表b ON a.商品號=b.商品號WHERE a.商品號IN(SELECT商品號FROM商品表WHERE類別=@lb)GROUP BY a.商品號0RDER BY總利潤DESC

第四空:RETURN@ProfitTable