當前位置:才華齋>計算機>計算機三級>

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

計算機三級 閱讀(1.63W)

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

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

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