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

來源:文萃谷 1.54W

“數據庫技術”考核數據庫系統基礎知識及數據庫應用系統項目開發和維護的基本技能。下面是本站小編為大家搜索整理的關於《數據庫技術》章節習題與答案,歡迎參考練習,希望對大家有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!

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

1[單選題] 創建存儲過程的用處主要是__________。

A.提高數據操作效率

B.維護數據的一致性

C.實現複雜的業務規則

D.增強引用完整性

參考答案:A

2[單選題]下列不屬於存儲過程好處的是:(  )

A.模塊化程序設計

B.改善性能

C.增加網絡流量

D.增強應用程序安全性

參考答案:C

3[填空題]存儲過程中傳遞參數有兩種方式:按參數位置和(  )傳遞值

參考答案:參數名

4[單選題]設某數據庫在非工作時間(每天8:00以前、18:00以後、週六和週日)不允許授權用户在職工表中插入數據。下列方法中能夠實現此需求且最為合理的是(  )

A.建立存儲過程

B.建立後觸發型觸發器

C.定義內嵌表值函數

D.建立前觸發型觸發器

參考答案:D

5[單選題]下列關於存儲過程的説法中,正確的是__________。

A.在定義存儲過程的代碼中可以包含數據的增、刪、改、查語句

B.用户可以向存儲過程傳遞參數,但不能輸出存儲過程產生的結果

C.存儲過程的執行是在客户端完成的

D.存儲過程是存儲在客户端的可執行代碼段

參考答案:A

6[單選題]在SQL語言中,為了數據完整性約束能力應創建(  )。

A.視圖viewB.索引indexC.遊標cursor D.觸發器trigger

參考答案:D

7[填空題]用户自定義函數結構與存儲過程類似,但必有(  )子句用於返回函數值

參考解析:

RETURN

8[單選題]在開發數據庫應用系統時,使用存儲過程可以提高數據訪問效率,降低網絡流量。下列關於存儲過程的説法,錯誤的是(  )

A.存儲過程可以接受輸入參數,並可將執行結果以輸出參數形式返回

B.存儲過程可以有多個輸入參數,但只能有一個輸出參數

C.定義存儲過程時,在一個存儲過程中可以同時包含數據的增、刪、改、查操作

D.存儲過程的輸入參數和輸出參數均可有默認值

參考答案:B

9[單選題]

設要定義一個包含兩個輸入參數和兩個輸出參數的存儲過程,各參數均為整型。下列定義該存儲過程的語句中,正確的是__________。

TE PROC P1 @x1,@x2 int.

@x3.@x4int TE PROC P1 @x1 int.@x2 int.

@x2.@x4int TE PROC P1 @x1 int,@x2 int,

@x3 int.@x4 int TE PROC P1 @x1 int.@x2 int.

@x3 int output.@x4 int output t

參考答案:D

10[單選題]下列場合不合適使用觸發器的是:(  )

A.完成比CHECK(只能實現同一表列之間取值約束)約束更簡單的數據約束。

B.保證數據庫性能而維護的非規範化數據。

C.可實現複雜的商業規則。

D.評估數據修改前後的表狀態,並採取對策。

參考答案:A

11[填空題]用户自定義函數中返回一個表的是表值函數,返回一個單值的是(  )。

參考解析:標量函數

12[單選題]設在SQL Server 2008某數據庫中有表SC(Sno,Cno,Grade),其中Grade列的類型為int。若在查詢成績時,希望將成績按"優"、"良"、"中"、"及格"和"不及格"形式顯示,則下列Case函數中正確的是(  )

Grade

When Grade between 90 and 100 THEN Grade = '優'

When Grade between 80 and 89 THEN Grade = '良'

When Grade between 70 and 79 THEN Grade = '中'

When Grade between 60 and 69 THEN Grade = '及格'

Else Grade = '不及格'

End

Grade

When Grade between 90 and 100 THEN '優'

When Grade between 80 and 89 THEN '良'

When Grade between 70 and 79 THEN '中'

When Grade between 60 and 69 THEN '及格'

Else '不及格'

End

When Grade between 90 and 100 THEN Grade = '優'

When Grade between 80 and 89 THEN Grade = '良'

When Grade between 70 and 79 THEN Grade = '中'

When Grade between 60 and 69 THEN Grade = '及格'

Else Grade = '不及格'

End

When Grade between 90 and 100 THEN '優'

When Grade between 80 and 89 THEN '良'

When Grade between 70 and 79 THEN '中'

When Grade between 60 and 69 THEN '及格'

Else '不及格'

End

參考答案:D

13[單選題]設有存儲過程定義語句:CREATE PROC P1@x int,@y int output,@z int output。下列調用該存儲過程的語句中,正確的是。

P1 10.@a int output.@b int output

P1 10.@a int.@b int output

P1 10.@a output.@b output

P1 10.@a.@b output

參考答案:C

14[單選題] 在嵌入式SQL中,與遊標相關的有四個語句。下列哪一個語句執行:“取出當前行的值放入相應的程序變量中”?

E

參考答案:C

15[填空題]觸發器是特殊存儲過程,自動觸發執行,常用於保證業務規則和(  )。

參考解析:數據完整性

16[單選題]設在SQL Server 2008某數據庫中有銷售表(商品號,銷售時間,銷售數量,銷售價格),其中商品號的類型為6),銷售價格的類型為int。現要定義統計指定商品銷售總價的標量函數。有下列定義該標量函數的語句

Ⅰte FUNCTION otal(@GoodID 6))

Returns int AS

BEGIN

Return(SELECT SUM(銷售價格) FROM 銷售表 WHERE 商品號 = @GoodID)

END

Ⅱte FUNCTION otal(@GoodID 6))

Returns int AS

BEGIN

Returns(SELECT SUM(銷售價格) FROM 銷售表 WHERE 商品號 = @GoodID)

END

Ⅲte FUNCTION otal(@GoodID 6))

Returns int

BEGIN

Return(SELECT SUM(銷售價格) FROM 銷售表 WHERE 商品號 = @GoodID)

END

Ⅳte FUNCTION otal(@GoodID 6))

Returns int

Returns(SELECT SUM(銷售價格) FROM 銷售表 WHERE 商品號 = @GoodID)

上述語句中,正確的是(  )

A.僅Ⅰ和ⅡB.僅Ⅲ和ⅣC.僅Ⅱ和ⅣD.僅Ⅰ和Ⅲ

參考答案:D

17[單選題]定義觸發器的主要作用是。

A.提高數據的查詢效率

B.增強數據的安全性

C.加強數據的保密性

D.實現複雜的約束

參考答案:D

18[單選題]在嵌入式 SQL 中,與遊標相關的有四個語句,它們中哪一個執行遊標定義中的 SELECT 語句?(  )

E

參考答案:B

19[填空題]觸發器中兩個重要的臨時表:(  )和(  )

參考解析:INSERTED和DELETED表

20[單選題]在SQL Server 2008中,設在某數據庫中建有如下所示的存儲過程:

CREATE PROC P1

@a int = 20, @b 4)

AS … …

設有下列調用該存儲過程的語句:

Ⅰ P1 100, 'a01'

Ⅱ P1 'a01'

Ⅲ P1 @b='a01'

Ⅳ P1 @a=default, @b='a01'

上述語句中,能夠正確調用該存儲過程的是(  )

A.僅Ⅰ和ⅡB.僅Ⅰ、Ⅱ和ⅢC.僅Ⅰ、Ⅲ和ⅣD.全部

參考答案:C

21[單選題]設在sc(Sno,Cno,Grade)表上定義瞭如下觸發器:

CREATE TRIGGER tri1 ON SC INSTEAD OF INSERT...

當執行語句:INSERT INTO SC VALUES(‘s001’, ‘c01’,90)

會引發該觸發器執行。下列關於觸發器執行時表中數據的説法中,正確的是__________。

表和INERTED表中均包含新插入的數據

表和INERTED表中均不包含新插入的數據

表中包含新插入的數據,INERTED表中不包含新插入的數據

表中不包含新插入的數據,INERTED表中包含新插入的數據

參考答案:D

22[單選題]在SQL Server 2008中,設表T(a, b)上建有如下觸發器:

CREATE TRIGGER tri_ON T FOR UPDATE AS

IF EXISTS(SELECT * FROM ed

WHERE b not between 0 and 100)

ROLLBACK

設表T中已有數據:('a01',90),如果執行語句:

UPDATE T SET b = 100 WHERE a = 'a01'

則觸發器臨時工作表及執行完該語句後表T中的數據為(  )

A.T表:('a01',100)

INSERTED表:('a01',90)

DELETED表:('a01',100)

B.T表:('a01',90)

INSERTED表:('a01',90)

DELETED表:('a01',100)

C.T表:('a01',100)

INSERTED表:('a01',100)

DELETED表:('a01',90)

D.T表:('a01',90)

INSERTED表:('a01',100)

DELETED表:('a01',90)

參考答案:C

23[單選題]

當執行由UPDATE語句引發的觸發器時,下列關於該觸發器臨時工作表的説法中,正確的是__________。

A.系統會自動產生UPDATED表來存放更改前的數據

B.系統會自動產生UPDATED表來存放更改後的數據

C.系統會自動產生INSERTED表和DELETED表,用INSERTED表存放更改後的數據,用DELETED表存放更改前的數據

D.系統會自動產生INSERTED表和DELETED表,用INSERTED表存放更改前的數據,用DELETED表存放更改後的數據

參考答案:C

24[單選題]效率低下的'SQL語句往往是導致系統性能不佳的主要原因。設有如下優化系統性能的方法

Ⅰ.利用存儲過程封裝頻繁使用的SQL語句

Ⅱ.重新安排數據存儲,整理回收碎塊

Ⅲ.不要隨意使用遊標

Ⅳ.合理使用相關子查詢

Ⅴ.調整表結構定義

以上屬於優化SQL語句執行效率方法的是(  )

A.Ⅰ、Ⅲ、ⅣB.Ⅰ、Ⅲ、ⅤC.Ⅱ、Ⅳ、ⅤD.Ⅰ、Ⅳ、Ⅴ

參考答案:A

25[單選題]下列關於遊標的説法中,錯誤的是__________。

A.遊標允許用户定位到結果集中的某行

B.遊標允許用户讀取結果集中當前行位置的數據

C.遊標允許用户修改結果集中當前行位置的數據

D.遊標中有個當前行指針,該指針只能在結果集中單向移動

參考答案:D

26[單選題]在SQL Server 2000中,有商品表(商品號,商品名,單價)和銷售表(商品號,銷售時間,銷售價格)。現要限制"銷售價格"的取值必須在此商品"單價"的0.6倍到1.5倍範圍之內,實現這個約束的正確代碼是(  )

K(銷售價格BETWEEN單價*0.6 AND單價*1.5)

K(銷售價格BETWEEN商品表.單價*0.6 AND商品表.單價*1.5)

TE 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)

ROLLBACK

TE TRIGGER tri_Sales 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

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

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

Ⅱ.職稱列的取值只能為"教授","副教授","講師","助理"和"其他"

Ⅲ.教授的默認工資為10000元,副教授的默認工資為8000元,講師的默認工資為5000元

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

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

A.僅Ⅰ和ⅡB.僅Ⅲ和ⅣC.僅ⅢD.僅Ⅰ和Ⅳ

參考答案:B

28[單選題]觸發器是一種特殊的存儲過程,它是由用户對數據的更改操作自動引發執行的。下列數據庫控制中,適於用觸發器實現的是(  )

A.併發控制B.恢復控制C.可靠性控制D.完整性控制

參考答案:D

29[單選題]利用遊標機制可以實現對查詢結果集的逐行操作。下列關於SQL Server 2008中游標的説法中,錯誤的是(  )

A.每個遊標都有一個當前行指針,當遊標打開後,當前行指針自動指向結果集的第一行數據

B.如果在聲明遊標時未指定INSENSITIVE選項,則已提交的對基表的更新都會反映在後面的提取操作中

C.當@@FETCH_STATUS=0時,表明遊標當前行指針已經移出了結果集範圍

D.關閉遊標之後,可以通過OPEN語句再次打開該遊標

參考答案:C

30[單選題]SQL Server 2008允許用户自己定義函數。關於內聯表值函數,有下列説法:

Ⅰ.在內聯表值函數中,沒有相關聯的返回變量

Ⅱ.內聯表值函數通過INSERT語句填充函數返回的表值

Ⅲ.內聯表值函數的作用類似於帶參數的視圖

Ⅳ.調用內聯表值函數時,只能將內聯表值函數放置在FROM子句中

上述説法中正確的是(  )

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

參考答案:D

熱門標籤