- 相關推薦
計算機三級考試《數據庫技術》章節習題與答案
“數據庫技術”考核數據庫系統基礎知識及數據庫應用系統項目開發和維護的基本技能。下面是百分網小編為大家搜索整理的關于《數據庫技術》章節習題與答案,歡迎參考練習,希望對大家有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!
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[單選題]
設要定義一個包含兩個輸入參數和兩個輸出參數的存儲過程,各參數均為整型。下列定義該存儲過程的語句中,正確的是__________。
A.CREATE PROC P1 @x1,@x2 int.
@x3.@x4int outputB.CREATE PROC P1 @x1 int.@x2 int.
@x2.@x4int outputC.CREATE PROC P1 @x1 int,@x2 int,
@x3 int.@x4 int outputD.CREATE 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函數中正確的是( )
A.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
B.Case 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
C.Case
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
D.Case
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。下列調用該存儲過程的語句中,正確的是。
A.EXEC P1 10.@a int output.@b int output
B.EXEC P1 10.@a int.@b int output
C.EXEC P1 10.@a output.@b output
D.EXEC P1 10.@a.@b output
參考答案:C
14[單選題] 在嵌入式SQL中,與游標相關的有四個語句。下列哪一個語句執行:“取出當前行的值放入相應的程序變量中”?
A.DECLAREB.OPENC.FETCHD.CLOSE
參考答案:C
15[填空題]觸發器是特殊存儲過程,自動觸發執行,常用于保證業務規則和( )。
參考解析:數據完整性
16[單選題]設在SQL Server 2008某數據庫中有銷售表(商品號,銷售時間,銷售數量,銷售價格),其中商品號的類型為6),銷售價格的類型為int。現要定義統計指定商品銷售總價的標量函數。有下列定義該標量函數的語句
、.Create FUNCTION dbo.GetTotal(@GoodID 6))
Returns int AS
BEGIN
Return(SELECT SUM(銷售價格) FROM 銷售表 WHERE 商品號 = @GoodID)
END
Ⅱ.Create FUNCTION dbo.GetTotal(@GoodID 6))
Returns int AS
BEGIN
Returns(SELECT SUM(銷售價格) FROM 銷售表 WHERE 商品號 = @GoodID)
END
、.Create FUNCTION dbo.GetTotal(@GoodID 6))
Returns int
BEGIN
Return(SELECT SUM(銷售價格) FROM 銷售表 WHERE 商品號 = @GoodID)
END
、.Create FUNCTION dbo.GetTotal(@GoodID 6))
Returns int
Returns(SELECT SUM(銷售價格) FROM 銷售表 WHERE 商品號 = @GoodID)
上述語句中,正確的是( )
A.僅Ⅰ和ⅡB.僅Ⅲ和ⅣC.僅Ⅱ和ⅣD.僅Ⅰ和Ⅲ
參考答案:D
17[單選題]定義觸發器的主要作用是。
A.提高數據的查詢效率
B.增強數據的安全性
C.加強數據的保密性
D.實現復雜的約束
參考答案:D
18[單選題]在嵌入式 SQL 中,與游標相關的有四個語句,它們中哪一個執行游標定義中的 SELECT 語句?( )
A.DECLAREB.OPENC.FETCHD.CLOSE
參考答案:B
19[填空題]觸發器中兩個重要的臨時表:( )和( )
參考解析:INSERTED和DELETED表
20[單選題]在SQL Server 2008中,設在某數據庫中建有如下所示的存儲過程:
CREATE PROC P1
@a int = 20, @b 4)
AS … …
設有下列調用該存儲過程的語句:
、.EXEC P1 100, 'a01'
、.EXEC P1 'a01'
、.EXEC P1 @b='a01'
、.EXEC 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)
會引發該觸發器執行。下列關于觸發器執行時表中數據的說法中,正確的是__________。
A.sc表和INERTED表中均包含新插入的數據
B.sc表和INERTED表中均不包含新插入的數據
C.SC表中包含新插入的數據,INERTED表中不包含新插入的數據
D.sc表中不包含新插入的數據,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中,有商品表(商品號,商品名,單價)和銷售表(商品號,銷售時間,銷售價格),F要限制"銷售價格"的取值必須在此商品"單價"的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)
ROLLBACK
D.CREATE 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[單選題]有關系模式:系(系號,系名,系辦公電話),教師(教師號,教師名,職稱,聘任日期,工資,所在系號),F要定義下列約束:
Ⅰ.系號是系關系的主碼,教師號是教師關系的主碼
、.職稱列的取值只能為"教授","副教授","講師","助理"和"其他"
、.教授的默認工資為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
【計算機三級考試《數據庫技術》章節習題與答案】相關文章:
計算機三級網絡技術章節習題及答案06-24
計算機三級考試《數據庫技術》復習題及答案05-09
計算機三級《數據庫技術》備考習題與答案04-24
計算機三級《數據庫技術》基礎習題及答案08-23
計算機三級考試《數據庫技術》練習題和答案10-12
計算機三級《網絡技術》章節練習題與答案09-23
計算機三級考試《數據庫技術》試題及答案11-27
計算機三級考試數據庫技術練習題08-20