2015計算機三級數據庫技術練習題和答案
Ⅳ.根據用戶要求對應用程序從功能上進行擴充和完善
以上工作中一般不屬于數據庫管理員日常維護工作的是( )。
A.僅Ⅰ和ⅢB.僅ⅣC.僅Ⅱ和ⅣD.僅Ⅱ
參考答案:B
參考解析:數據庫維護的主要內容有以下幾方面:①數據庫的轉儲和恢復;②數據庫安全性、完整性控制;③數據庫性能的檢測和改善;④數據庫的重組和重構。Ⅳ選項不屬于數據庫維護工作。
2[單選題] 設在SQL Server 2008某數據庫中有銷售表(商品號,銷售時間,銷售數量,銷售價格),其中商品號的類型為char(6),銷售價格的類型為int。現要定義統計指定商品銷售總價的標量函數。有下列定義該標量函數的語句:
Ⅰ.Create FUNCTION db0.GetTotal(@GoodID char(6))
Returns int AS
BEGIN
Return(SELECT SUM(銷售價格)FROM銷售表WHERE商品號=@GoodID.
END
Ⅱ.Create FUNCTION db0.GetTotal(@GoodID char(6))
Returns int AS
BEGIN
Returns(SELECT SUM(銷售價格)FROM銷售表WHERE商品號=@GoodID.
END
Ⅲ.Create FUNCTION db0.GetTotal(@GoodID chat(6))
Returns int
BEGIN
Return(SELECT SUM(銷售價格)FROM銷售表WHERE商品號=@GoodID.
END
1V.Create FUNCTION db0.GetTotal(@GoodID char(6))
Returns int
Returns(SELECT SUM(銷售價格)FROM銷售表WHERE商品號=@GoodID.
上述語句中,正確的是( )。
A.僅I和ⅡB.僅Ⅲ和ⅣC.僅Ⅱ和ⅣD.僅I和Ⅲ
參考答案:D
參考解析:標量函數返回一個確定類型的標量值。函數體語句定義在BEGIN-END語句內,其中包含了可以返回值的Transact-SQL命令。
創建標量函數的語法如下:
CREATE FUNCTION[owner name.]function_name
([{@parameter_name[AS][type_schema_name.]parameter_data_type
[=default]}
[,…n]
)
RETURNS return_data_type
[AS]
BEGIN
function_body
RETURN scalar_expression
END
[;]
3[單選題] 在SQL Server 2008中,有商品表(商品號,商品名,單價)和銷售表(商品號,銷售時間,銷售價格)。現要限制“銷售價格”的取值必須在此商品“單價”的0.6倍到1.5倍范圍之內,實現這個約束的正確代碼是( )。
A.CHECK(銷售價格BETWEEN單價*0.6 AND單價*1.5)B.CHECK(銷售價格BETWEEN商品表.單價*0.6 AND商品表.單價*1.5)C.CREATE TRIGGER tri_Sales ON銷售表FOR INSERT,UPDATE
As IF EXISTS(SELECT*FROM INSERTED a JOIN商品表b
ON a.商品號=b.商品號WHERE銷售價格NOT BETWEEN單價*0.6 AND單價*1.5)
ROLLBACKD.CREATE TRIGGER tri_ales ON銷售表INSTEAD OF INSERT,UPDATE AS
IF EXISTS( SELECT冰FROM INSERTED a JOIN商品表b
ON a.商品號=b.商品號
WHERE銷售價格NOT BETWEEN單價*0.6 AND單價*=1.5)
ROLLBACK
參考答案:C
參考解析:FOR指定觸發器只有在引發的SQL語句中指定的操作都已成功執行,并且所有的約束檢查也成功完成后才執行觸發器,這種觸發器稱為后觸發型觸發器。INSTEAD OF指定執行觸發器而不是執行引發觸發器執行SQL語句,從而替代觸發語句的操作,稱這種觸發器為前觸發型觸發器。
4[單選題]SQL Server 2008提供了多種數據備份方法:
Ⅰ.完整數據庫備份
Ⅱ.差異數據庫備份
Ⅲ.文件備份
Ⅳ.差異文件備份
以上備份方法中,在備份完成之后必須再對日志進行備份的是( )。
A.僅ⅡB.僅Ⅲ和ⅣC.僅Ⅰ和ⅡD.僅Ⅳ
參考答案:B
參考解析:文件備份主要是對數據庫中數據文件的備份,不對日志文件備份,因此在備份完成之后必須再對日志進行備份。所以選B。
5[單選題] 某跨國公司的業務系統需要提供全球性服務,該業務系統需要24小時×7天在線服務,系統業務繁忙,為了保證業務系統中數據庫數據的安全,需要設計與實施數據轉儲機制,設計完成該數據庫每天數據增量的轉儲需要2個小時,在不考慮成本因素的情況下,下列最合理的是( )。
A.配備高性能數據庫服務器,通過事務傳送機制實時地將數據庫中的任何變化反映到備份環境中
B.每天劃出長度為2小時的時間窗口tw,在tw內采用靜態轉儲方法實現每天數據增量的轉儲
C.每天劃出長度為2小時的時間窗口tw,在tw內采用動態轉儲方法實現每天數據增量的轉儲
D.每周做一次完全轉儲,每天選擇浮動時間段對變化的數據進行轉儲
參考答案:A
參考解析:在靜態轉儲過程中系統不能運行其他事務,因為會降低數據庫的可用性;動態備份運行轉儲操作和用戶事務并發執行,即允許在轉儲過程中對數據庫進行存取和修改,動態儲存雖然克服了靜態儲存的一些缺點,但是動態轉儲可能造成數據庫的不一致性,使數據的有效性得不到保證。為了數據的有效性,需要引入日志文件,用它記錄轉出期問各種事務對數據庫的修改活動記錄,然后使用動態轉儲的備份副本加上日志文件就可以將數據庫恢復到某一時刻的正確狀態,因此8、c不合適。D中完全轉儲加增量轉儲,在這種轉儲方式下,恢復中使用的轉儲文件較多,其中任何一次轉儲出了問題都會導致恢復失敗,同時恢復時間長,因此D也不可取。
6[單選題] 在一個分布式數據庫中,數據集S被分片為S1和S2。S1存儲在場地1的DB2數據庫中;S2有兩個副本,一個副本存儲在場地2的SQL Server數據庫中,另一個副本存儲在場地3的Oracle數據庫中。用戶在開發數據庫應用程序時,統一采用0DBC訪問數據源。用戶程序控制兩個副本的訪問順序:先訪問場地2的副本,如果失敗,則轉向場地3的副本。根據以上描述,判斷該分布式數據庫具有的透明性級別是( )。
A.分片透明性B.位置透明性C.全局數據模型透明性D.局部數據模型透明性
參考答案:D
參考解析:分布透明性包括分片透明性、位置透明性、局部數據模型透明性。分片透明性是最高層次,指的是用戶或應用程序只對全局關系進行操作而不必考慮關系分片的情況。位置透明性是下一層次,指用戶或應用程序只需了解數據分片情況,而不必了解片段的存儲場地。局部數據模型透明性指的是用戶或用戶程序不必了解局部場地上使用的是哪種數據模型,但是必須了解全局數據的分片情況,還需了解各片斷的副本復制情況及各片斷和它們副本的場地位置分配情況。由于本題中考慮到場地2和場地3的選擇,所以位置對用戶來說并不透明,應選D。
7[填空題] SQL Server中有五種約束類型,分別是主鍵約束、【3】、唯一性約束、缺省約束和檢查約束。
參考解析:外鍵約束
【解析】SQL Server中有五種約束類型,分別是主鍵(PRIMARY KEY)約束、外鍵(FOREIGN KEY)約束、唯一(UNIQUE)約束、缺省(DEFAULT)約束和檢查(CHECK)約束。