日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

《MySchool数据库设计优化》内部测试

發布時間:2023/12/20 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《MySchool数据库设计优化》内部测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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:查詢的是最高價格的產品,并非所有的。因此錯誤

?

轉載于:https://www.cnblogs.com/WJ-163/p/5295939.html

總結

以上是生活随笔為你收集整理的《MySchool数据库设计优化》内部测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。