文章出處

1) 在SQL Server 中,為數據庫表建立索引能夠( C )。

A. 防止非法的刪除操作

B. 防止非法的插入操作

C. 提高查詢性能

D. 節約數據庫的磁盤空間

解析:索引的作用是通過使用索引,大大提高數據庫的檢索速度,改善數據庫性能

 

2) 在SQL SERVER中,創建一個表使用(  C)語句。

A. INSERT

B. DROP

C. CREATE

D. ALERT

解析:A :insert 插入數據。   B: drop 進行刪除操作 D:alter 添加約束

 

3) 在SQL SERVER中,下面關于視圖說法錯誤的是(C  )。

A. 對查詢執行的大多數操作也可以在視圖上進行

B. 使用視圖可以增加數據庫的安全性

C. 不能利用視圖增加,刪除,修改數據庫中的數據

D. 視圖使用戶更靈活的訪問所需要的數據

解析對視圖進行增刪改操作。(答題的話可以,面試不可以)

 

4) 在數據庫設計中,用E-R圖來描述信息結構但不涉及信息在計算機中的表示,它是數據庫設計的( B )階段。

A. 需求分析

B. 概要設計

C. 邏輯設計

D. 物理設計

解析:

A:分析客戶的業務和數據處理需求

B:概要設計  繪制數據庫的E-R圖,用于在項目團隊內部、設計人員和客戶之間進行溝通,確認需求信息的正確性和完整性

C:利用數據模型進行概念數據庫的模式設計

D:將一個給定邏輯結構實施到具體的環境中時,邏輯數據模型要選取一個具體的工作環境,這個工作環境提供了數據存儲結構與存取方法,這個過程就是數據庫的物理設計。

 

5) 在SQL Server 數據庫中,如果強制要求grades表中的學員必須是Students表中存在的學員,以下描述正確的是( A )。

A. 在grades表中創建外鍵約束

B. 在grades表中創建檢查約束

C. 在grades表中創建唯一約束

D. 在grades表中創建默認約束

解析:

A:  外鍵約束 用于在兩表之間建立關系,需要指定引用主表的哪一列

B:檢查約束 某列的取值范圍限制、格式限制等

C:唯一約束 要求該列的值必須唯一,允許為空 但只能出現一個空值

D:默認約束 某列的默認值

 

6) 在SQL Server 數據庫中,下面的T-SQL語句段執行第三句時出現錯誤,數據庫中的內容修改情況是(C  )。

BEGIN TRANSACTION

update Account set balance=7800 where id=1

update Account set balance=9000 where id=1

IF @@error <> 0

ROLLBACK TRANSACTION

ELSE

COMMIT TRANSACTION

 

A. Account表中id1的記錄中balance字段的值被修改為7800

B. Account表中id1的記錄中balance字段的值被修改為9000

C. Account表中id1的記錄中balance字段的值不變

D. 不可能發生這種情況

解析:rollback tran 回滾事務,那么在begin transaction 語句之后的所有更新數據都回滾到初始狀態 

 

7) 在SQL Server 數據庫中,有關下列T-SQL語句的功能,說法正確的是(C  )。

DECLARE @I int, @J int

SET @I=0

WHILE (@I < 2)   //循環兩次

  BEGIN

SELECT @J=COUNT(*) FROM stuMarks WHERE writtenExam<60

    IF(@J>0)

      UPDATE stuMarks SET writtenExam=writtenExam+5 WHERE writtenExam<60   //小于60分加5分

    ELSE

      BREAK

    SET @I = @I + 1    //改變循環變量  @I為1繼續再循環一次!

  END

SELECT stuNo,成績=CASE

                    WHEN writtenExam<60 THEN '不及格'

                    ELSE '及格'

                  END

   FROM stuMarks

A. 給不及格的學員反復提5分直到通過為止,最后展示所有學員是否及格的情況信息

B. 給不及格的學員提10分,最后展示所有學員是否及格的情況信息

C. 給不及格的學員提5分,提分后仍不及格的學員再提5分,最后展示所有學員是否及格的情況信息

D. 給不及格的學員提5分,最后展示所有學員是否及格的情況信息

 

 

8) 在SQL Server 數據庫中,下面調用存儲過程的語句錯誤的是(  B)。

 

A. EXEC proc_stu @sum OUTPUT,64,78

 

B. EXEC proc_stu  @sum OUTPUT,@total output,78

 

C. EXEC proc_stu  @sum OUTPUT,604

 

D. EXEC Calculate @sum OUTPUT,@total output

 

 

 

9) 在SQL SERVER中,下面關于子查詢的說法你認為正確的是( C )。 

 

A. 應用簡單子查詢的SQL語句的執行效率比采用SQL變量的實現方案要低

 

B. 帶子查詢的查詢執行順序是,先執行父查詢,再執行子查詢

 

C. 表連接一般都可以用子查詢替換,但有的子查詢不能用表連接替換

 

D. 如果一個子查詢語句一次返回二個字段的值,那么父查詢的where子句中應該使用NOT EXISTS關鍵字

 

 

 

10) 在SQL SERVER中,按以下要求創建學員表正確的SQL語句是(D  )。 

 

學員表(stuTable)的要求是:學號為5位數字,自動編號;姓名最多為4個漢字,身份證號碼最多為18位數字。

 

A. CREATE TABLE stuTable (

 

ID NUMERIC(6,0) NOT NULL,

 

Name VARCHAR(4),

 

Card INT

 

)

 

B. CREATE TABLE stuTable

 

(

 

ID INT IDENTITY(10000,1),

 

Name VARCHAR(4),

 

Card DECIMAL(18,0)

 

)

 

C. IF EXISTS(SELECT * FROM sysobjects WHERE name=' stuTable ')

 

DROP TABLE stuTable

 

GO

 

CREATE TABLE stuTable

 

(

 

ID NUMERIC(4,0) NOT NULL,

 

Name VARCHAR(4),

 

Card INT

 

)

 

D. IF EXISTS(SELECT * FROM sysobjects WHERE name=' stuTable ')

 

DROP TABLE stuTable

 

GO

 

CREATE TABLE stuTable

 

(

 

ID INT IDENTITY(10000,1),

 

Name VARCHAR(8),

 

Card NUMERIC(18,0)

 

)

 解析:D:  identity:自增  numberic(18,0)指身份證號碼最多為18位數字,varchar(8) 姓名最多為4個漢字  條件滿足

 

 

11) 在SQL SERVER中,聲明并創建以下存儲過程,正確調用該存儲過程的的語句是(  BC)。

 

CREATE PROCEDURE  PRO

 

@passNum int OUTPUT,

 

@passPoint int=60 

 

AS

 

Select @passNum=count(*) From stuTable Where point >@passPoint

 

GO

 

A. Declare @sum int

 

EXEC PRO @passNum70

 

B. Declare @sum int

 

EXEC PRO @sum output70

 

C. Declare @sum int

 

EXEC PRO @sum output

 

D. EXEC PRO 70

 

 解析:A:output表明參數是輸出參數 D:未聲明局部變量

 

 

12) 下面描述的四個階段中,不是數據庫設計過程中經歷的階段是( D )。

 

A. 需求分析階段

 

B. 概要設計階段

 

C. 詳細設計階段

 

D. 代碼設計階段

 

解析: 代碼設計階段不屬于數據庫設計過程中經歷的階段

 

 

13) 在SQL Server 中,對IN語句取反的方法是,在IN前面添加(  B)。

 

A. NONE

 

B. NOT

 

C. !

 

D. NO

解析:對in語句進行取反的方法是not  in

 

 

 

14) 在SQL Server 數據庫中,以下對變量的定義錯誤的是(D  )。

 

A. DECLARE @username  varchar(10)

 

B. DECLARE @RowCount  varchar(30)

 

C. DECLARE @@username  varchar(10)

 

D. DECLARE @@RowCount  varchar(30)

 

 

 

15) 在SQL Server中,繪制E-R圖時一般使用( B )表示實體的屬性。

 

A. 矩形

 

B. 橢圓

 

C. 菱形

 

D. 三角形

解析:A:實體---矩形 C:聯系--菱形

 

16) 在SQL SERVER中,運行下列語句,輸出結果是( B )。

 

Create proc proc_Search

 

@myStuno varchar(8) is null

 

as 

 

if @myStuno = null

 

begin

 

    print '你忘記了傳遞學號'

 

   return 

 

end

 

Select * from stuinfo where stuno=@myStuno

 

go

 

exec proc_Search

 

A. 你忘記了傳遞學號

 

B. 編譯錯誤

 

C. 顯示空的記錄

 

D. 調用存儲過程proc_Search出錯

解析:未聲明變量 @myStuno

 

17) 下面關于SQL Server中變量的操作正確的是(AD  )。

 

A. DECLARE @name varchar(8)

 

SET @name='lkl'

 

print '姓名是'+@name

 

B. DECLARE name varchar(8)

 

SET name='lkl'

 

print '姓名是'+name

 

C. print  @@VERSION AS '版本', @@SERVERNAME AS '服務器'

 

D. SELECT @@VERSION AS '版本', @@SERVERNAME AS '服務器'

解析:B:name應該為局部變量 缺少@符號    C:語法錯誤

 

18) 下面選項中關于在SQL語句中使用的邏輯控制語句的說法正確的是(A  )。

 

A. 在IF-ELSE 條件語句中,IF為必選,而ELSE為可選

 

B. 在IF-ELSE 條件語句中,語句塊使用{  }括起來

 

C. 在CASE多分支語句中不可以出現ELSE分支

 

D. 在WHILE循環語句中條件為false,就重復執行循環語句

解析:

B:在SQL中 if-else條件語句中 語句塊使用begin-end括起來

C:case多分支語句中可出現else 作為條件

 

19) 已知dept表有部門編號字段deptno、部門名稱字段dname,員工表emp具有員工編號字段empno、員工姓名字段ename、電話字段phone和所屬部門編號字段deptno,該字段參考dept表的deptno字段,要使用SQL語句查詢 “研發部”部門所有員工的編號和姓名信息,下面選項中正確的是(B  )。

 

A. SELECT empno,ename FROM emp

 

WHERE empno=(SELECT empno FROM dept WHERE dname="研發部")

 

B. SELECT empno,ename FROM emp

 

WHERE deptno=(SELECT deptno FROM dept WHERE dname='研發部')

 

C. SELECT empno,ename FROM emp

 

WHERE deptno=(SELECT * FROM dept WHERE dname='研發部')

 

D. SELECT empno,ename FROM dept

 

WHERE deptno=(SELECT deptno FROM emp WHERE dname="研發部")

 

解析: 查詢 “研發部”部門所有員工的編號和姓名信息 即排除AC 查詢的信息是來自于部門表 排除D

 

 

20) 在SQL Server中,下面關于視圖的描述,說法正確的是(  AD)。

 

A. 使用視圖可以篩選原始物理表中的數據,增加了數據訪問的安全性

 

B. 視圖是一種虛擬表,數據只能來自一個原始物理表

 

C. CREATE VIEW語句中可以包含UPDATE語句

 

D. 為了安全起見,一般只對視圖執行查詢操作,不推薦在視圖上執行修改操作

 

解析:

 B: 視圖是一種虛擬表。通常是作為來自一個或多個表的行或列的子集創建的

 C:  CREATE VIEW語句中不可包含UPDATE語句

 

 

21) 在SQL Server中,創建如下存儲過程:

 

create proc stu_exam

 

@writtenExam int=null

 

as 

 

if @writtenExam is null

 

begin

 

print '請輸入筆試成績及格線'

 

return

 

end

 

select * from student where stu_id in 

 

(select stu_id from stu_marks 

 

where writtenExam>@writtenExam)

 

GO

 

下列選項正確的是( C )。

 

A. 執行EXEC stu_exam語句,控制臺顯示所有筆試成績及格的學生信息記錄集

 

B. 存儲過程(stu_exam)代碼存在語法錯誤

 

C. 執行EXEC stu_exam語句,控制臺顯示“請輸入筆試成績及格線”

 

D. 執行EXEC stu_exam 75語句,控制臺顯示“請輸入筆試成績及格線”

解析:有IF條件進行過濾,若果沒有輸出筆試成績的話,將輸出提示。

 

22) 下列選項中不屬于SQL Server的邏輯控制語句的是(  B)。

 

A. IF-ELSE語句

 

B. FOR循環語句

 

C. CASE子句

 

D. WHILE循環語句

解析:SQL Server的邏輯控制語句包括 IF-ELSE語句、 CASE子句、WHILE循環語句三種

 

23) 在SQL SERVER中,關于聚集索引和非聚集索引的描述錯誤的是(B  )。

 

A. 一個表可以有多個非聚集索引,但只能有一個聚集索引

 

B. 非聚集索引的值順序與數據表中記錄的物理順序完全相同

 

C. 在建立聚集索引的列上不允許有重復的值

 

D. 使用聚集索引查詢的速度要比非聚集索引速度快

 

 解析:聚集索引和表中記錄的物理順序一致  即B選項表述錯誤

 

 

24) 在SQL SERVER中,關于系統存儲過程以下說法錯誤的是(  D)。

 

A. 系統存儲過程提供了管理數據庫和更新表的機制

 

B. 所有系統存儲過程都以sp_開頭

 

C. 所有系統存儲過程都存放在master數據庫中

 

D. 用戶不能使用系統存儲過程更新系統表,只能查詢系統表

 

25) 在SQL Server 數據庫中,從product表里查詢出price(價格)高于pName(產品名稱)為“一次性紙杯”所有記錄中最高價格的產品的查詢語句為( D )。

 

A. SELECT * FROM product WHERE max(price)>'一次性紙杯'

 

B. SELECT * FROM product WHERE price>(SELECT max(*) FROM product WHERE pName= '一次性紙杯')

 

C. SELECT * FROM product WHERE EXISTS pName='一次性紙杯'

 

D. SELECT * FROM product WHERE price>(SELECT max(price) FROM product WHERE pName='一次性紙杯')

 

解析:

AC:條件不明確

B:查詢的是最高價格的產品,并非所有的。因此錯誤

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()