sql數(shù)據(jù)庫開發(fā)技術(shù)_第1頁
sql數(shù)據(jù)庫開發(fā)技術(shù)_第2頁
sql數(shù)據(jù)庫開發(fā)技術(shù)_第3頁
sql數(shù)據(jù)庫開發(fā)技術(shù)_第4頁
sql數(shù)據(jù)庫開發(fā)技術(shù)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、一、填空題(每空 1 分,共 20 分)SQL server中的索引類型分別為 ( 聚集索引)和(非聚集索引)。2視圖是一個(gè)或多個(gè)表或視圖中導(dǎo)出的( 虛表)。 在T-SQL語句中用(DECLARE)語句聲明變量。 觸發(fā)器就是一種特殊類型的(存儲(chǔ)過程 )。每個(gè)事務(wù)必須具有4個(gè)屬性:( 原子性 )、( 一致性 )、( 隔離性 ) 和( 持久性 )屬性,既ACID屬性。 SQL server使用(事務(wù)日志)文件記載用戶對(duì)數(shù)據(jù)庫進(jìn)行的所有操作。 (事務(wù) )是 SQL 程序中最小的工作單元,要么成功完成所有操作;要么就是失 敗,并將所作的一切還原。8.游標(biāo)的概念包括兩個(gè)部分,它們是(記錄指針)和 (結(jié)果

2、集)。9. select語句中不可缺少的兩個(gè)子句是(SELECT)和(FROM)。10.在SQL server 2005中,可以把視圖分成3種類型既(標(biāo)準(zhǔn)視圖)、索引視圖和( 分區(qū)視圖)。11. like子句中可以使用的4個(gè)通配符分別是% (_)、( )、(人)。得分二、單選題 (每題 1 分,共 20 分) (說明:將認(rèn)為正確答案的序號(hào)填在每小題后面的括號(hào)內(nèi))下面哪些不是系統(tǒng)數(shù)據(jù)庫(B )。A master數(shù)據(jù)庫B my_db數(shù)據(jù)庫C Mode 1數(shù)據(jù)庫D msdb數(shù)據(jù)庫在select語句中,下面哪個(gè)子句用于選擇列表? ( B )A select子句 B from子句Cwhere 子句Dor

3、der by 子句3使用GROUP BY子句進(jìn)行分組查詢后,再根據(jù)指定條件篩選查詢結(jié)構(gòu)集應(yīng)使用下面哪個(gè)子 句?( A )A HAVING B WHEREC GROUP BY D ORDER BYA OPEN MyCursor_01BC CLOSE MyCursor_01 D A OPEN MyCursor_01BC CLOSE MyCursor_01 D 7.下面哪個(gè)是創(chuàng)建觸發(fā)器的語句?FETCH NEXT FROM MyCursor_01DEALLOCATE MyCursor_01(A)4.下面哪個(gè)是字符串連接運(yùn)算符?(D)A +B &C&DAND5.SUBTRING(abcdef,2,3)

4、的返回值是(B)。A abcB bcdCcdD def6.讀取名為MyCursor_ 01游標(biāo)的語句是( B )。A CREATE TRIGGERB ALTER TRIGGERC DROP TRIGGERD CREATE PROCEDURE下面哪個(gè)語句可以調(diào)用用戶自定義的函數(shù)?( B )A addB selectC create function D alter function下面用于創(chuàng)建用戶自定義函數(shù)的語句是?( A )A create function B Delete functionC Drop function D Cleat function下列不是數(shù)據(jù)庫角色的是( B )。A

5、public B creator _dbC db_datawriter D db_ddladmin下列不可能在游標(biāo)使用過程中使用的關(guān)鍵字是( C )。A OPEN B CLOSEC DROP D DEALLOCATE 下列(C )操作會(huì)同時(shí)影響到deleted表和inserted表。A INSERT 操作B DELETE 操作C UPDATE 操作 D SELECT 操作下列關(guān)于觸發(fā)器的描述不正確的是(D )。A 它是一種特殊類型的存儲(chǔ)過程B 可以實(shí)現(xiàn)復(fù)雜的商業(yè)邏輯C 可以用來實(shí)現(xiàn)數(shù)據(jù)完整性D可以通過EXECUTE命令來執(zhí)行觸發(fā)器T-SQL中的全局變量通常以(A )作為前綴。A B C #D

6、#15修改視圖中的數(shù)據(jù)時(shí),不能同時(shí)修改(C )個(gè)基表A 1 個(gè) B2個(gè)C 兩個(gè)或多個(gè)D 以上都不對(duì)16.在select子句中,關(guān)鍵字(B )用于消除重復(fù)項(xiàng)。A ASB DISTINCTC TOPD PERCENT 17.在“連接”組中有兩種連接認(rèn)證方式,其中在(B )方式下,需要客戶端應(yīng)用程序連接時(shí)提供登錄時(shí)需要的用戶標(biāo)識(shí)和密碼。AWindows身份驗(yàn)證AWindows身份驗(yàn)證BC 以超級(jí)用戶身份登錄時(shí) D 18.SQL Server2005是一款基于(AA客戶機(jī)/服務(wù)器B 主機(jī)SQL Server 身份驗(yàn)證其他方式登錄時(shí) )體系的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)CN層D 單機(jī)19.在WHILE循環(huán)語句中

7、,如果循環(huán)體語句條數(shù)多于一條,必須使用(A )。A BEGINENDB CASEENDC IFTHEND GOTO20.SELECT語句中與H AVING子句通常同時(shí)使用的是(C )子句。A ORDER BYB WHEREC GROUP BY D 無需配合 得分三、簡(jiǎn)答題:(每題 3 分,共 9 分)1、簡(jiǎn)述SQL Server 2005常見的版本有哪些 企業(yè)版( Enterprise Edition)標(biāo)準(zhǔn)版( Standard Edition) 個(gè)人版( Personal Edition) 開發(fā)者版( Developer Edition)2、簡(jiǎn)述什么是觸發(fā)器及其特點(diǎn) 觸發(fā)器定義在特定的表上,

8、與表相關(guān) 自動(dòng)觸發(fā)招待不能直接調(diào)用是一個(gè)事務(wù)(可回滾)自動(dòng)在內(nèi)容中創(chuàng)建deleted和inserted只讀,不允許修改,觸發(fā)器執(zhí)行成后,自動(dòng)刪除3、簡(jiǎn)述 SQL 提供了4種不同的備份方式,分別是哪些? 完整備份和完整差異備份、部分備份和部分差異備份、事務(wù)日志備份、數(shù)據(jù)庫文件和文件組備 份。四、T-SQL設(shè)計(jì)題:(第1小題5分,2- 6題每題4分,共25分) 說明:第四題和第五題所涉及的數(shù)據(jù)庫都是“學(xué)生管理數(shù)據(jù)庫”,數(shù)據(jù)表分別是學(xué)生表、課程表、 選課表學(xué)生表(學(xué)號(hào),姓名,性別,出生日期,院系名稱) 選課表(學(xué)號(hào),課程號(hào),成績(jī))課程表(課程號(hào),課程名,授課教師,學(xué)分)1在E盤“數(shù)據(jù)庫”文件夾下創(chuàng)建

9、“學(xué)生管理數(shù)據(jù)庫”數(shù)據(jù)庫。其中主數(shù)據(jù)文件大小為10MB,最大 值不受限,每次增量為2MB;事務(wù)日志文件大小為1 MB,最大值不受限,文件每次增量10%。 CREATE DATABASE學(xué)生管理數(shù)據(jù)庫ON PRIMARY(NAME=學(xué)生管理數(shù)據(jù)庫, FILENAME=E:數(shù)據(jù)庫學(xué)生管理數(shù)據(jù)庫.mdf,SIZE=10MB,MAXSIZE=UNLIMITED, FILEGROWTH=2MB)LOG ON(NAME=學(xué)生管理數(shù)據(jù)庫_LOG,FILENAME=E:數(shù)據(jù)庫學(xué)生管理數(shù)據(jù)庫.ldf,SIZE=1MB,MAXSIZE=UNLIMITED, FILEGROWTH=10%)GO在“學(xué)生管理數(shù)據(jù)庫”創(chuàng)

10、建“學(xué)生表”。 學(xué)生表(學(xué)號(hào),姓名,性別,出生日期,院系名稱)要求:1)學(xué)號(hào) 字符型(12) 不允許為空2)姓名 字符型(20) 不允許為空3)性別 字符型(2)允許為空 默認(rèn)值為“男”4)出生日期 日期型 允許為空5)院系名稱 字符型(20)允許為空 參考答案:USE學(xué)生管理數(shù)據(jù)庫CREATE TABLE 學(xué)生表(學(xué)號(hào) varchar(8) NOT NULL,姓名 nchar(20) NOT NULL,性別 char(2) NULL DEFAULT (男), 出生日期 smalldatetime NULL, 院系名稱 varchar(20) NULL倉U建一個(gè)學(xué)分小于3的課程信息視圖,視圖名

11、稱為ke_cheng。Create view ke_chengAsSELECT *FROM 課程表WHERE 學(xué)分3刪除“學(xué)生管理數(shù)據(jù)庫”中“學(xué)生表”的所有記錄。USE 學(xué)生管理數(shù)據(jù)庫DELETEFROM 學(xué)生表查詢不及格所有的學(xué)生的“學(xué)號(hào)”、“姓名”和所在“院系名稱”。SELECT DISTINCT 學(xué)生表.學(xué)號(hào),學(xué)生表.姓名,學(xué)生表.院系名稱 FROM 學(xué)生表JOIN選課表ON學(xué)生表.學(xué)號(hào)=選課表.學(xué)號(hào)WHERE 選課表.分?jǐn)?shù)60以“課程號(hào)”分組,并統(tǒng)計(jì)各門課程的平均分,并且只查詢平均分大于60分的行。SELECT課程號(hào),AVG(分?jǐn)?shù))AS平均分 FROM 選課表GROUP BY 課程號(hào)H

12、AVING AVG(分?jǐn)?shù))60 五、綜合題:(第1、2題分別是10分,第3題是6分, 共26分)創(chuàng)建一個(gè)名為成績(jī)分段查詢的存儲(chǔ)過程dure, 可以用它來找出任意兩個(gè)指定分?jǐn)?shù)之間的學(xué)生的姓名、課程名和成績(jī)。 然后調(diào)用這個(gè)存儲(chǔ)過程,找出80100分的學(xué)生的姓名、課程名和成績(jī)。CREATE PROCEDURE dure startgrade decimal,endgrade decimal ASSELECT 姓名,課程名,成績(jī) FROM 學(xué)生表JOIN選課表ON學(xué)生表.Sno=課程表.學(xué)號(hào)JOIN 課程表 ON 課程表.課程號(hào)=選課表.課程號(hào)WHERE 成績(jī)BETWEEN startgrade AN

13、D endgradeGOEXECUTE userprocedure 80,1002定義一個(gè)游標(biāo)為cursor_xx,要求該游標(biāo)返回所有“工商系”的學(xué)生基本信息,在游標(biāo)中查找并顯 示“好明”的記錄。Declare sno char(8),sname char(20),sex char (2) chs smalldatetime,dept char(20)Declare cursor_xx cursorFor select學(xué)號(hào),姓名,性別,出生日期,院系名稱from學(xué)生表 where所在分院=工商系 Open cursor_xxFetch next form cursor_xxInto sno,s

14、name,sex chs,deptWhile fetch_status=0BeginIf sname=好明,BeginPrint 找到好明的信息如下:Print sno+ +sname+ +sex+ convert(char(10),chs) + ,+deptBreakEndFetch next from cursor_xxInto sno,sname,sex chs,deptEndIf fetch_sex!=0Print4很抱歉,沒有找到好明的信息!Close cursor_xxDeallocate cursor_xx創(chuàng)建一個(gè)標(biāo)量函數(shù),該函數(shù)返回三個(gè)參數(shù)中的最大值。 已知三個(gè)數(shù)分別為18、2

15、9、15CREATE FUNCTION max2(par1 real,par2 real, par3 real)RETURNS realASBEGINDECLARE par realIF par1par2SET par=par1ELSESET par=par2IF parpar3SET par=par3RETURN(par)END數(shù)據(jù)庫開發(fā)技術(shù)課程試卷 B卷1用T-SQL語句中的(COMMIT )命令可以進(jìn)行顯示事務(wù)的提交。 (觸發(fā)器)就是一種特殊類型的存儲(chǔ)過程,主要作用是能實(shí)現(xiàn)由(外 )鍵和 ( 主 )鍵所不能保證的、復(fù)雜的參照完整性和數(shù)據(jù)的一致性。每個(gè)事務(wù)必須具有4個(gè)屬性:(原子性)、(一

16、致性 )、(隔離性 ) 和(持久性 )屬性,既ACID屬性。游標(biāo)的概念包括兩個(gè)部分,它們是( 記錄指針 )和 ( 結(jié)果集 )在使用差異數(shù)據(jù)庫備份還原數(shù)據(jù)庫時(shí),應(yīng)先還原最新的( 數(shù)據(jù)庫完整備份 )備份。 在SQL server 2005中提供了六種約束:(主鍵約束)、唯一性約束、(檢查約束 )、默認(rèn)約束、( 外鍵約束)和“ ULL約束。(索引 )能夠大大提高SQL語句的執(zhí)行速度,通過創(chuàng)建( 唯一索引 ),可以 保證表中的數(shù)據(jù)不重復(fù)。8事務(wù)是一個(gè)不可分割的工作(邏輯工作單位)9從程序員的角度看,鎖又分為(樂觀鎖 )和( 悲觀鎖 )兩種類型。10.SQL Server 2005通過(游標(biāo))提供了對(duì)一

17、個(gè)結(jié)果集進(jìn)行逐行處理的能力。得分二、單選題 (每題 1 分,共 20 分)說明:將認(rèn)為正確答案的序號(hào)填在每小題后面的括號(hào)內(nèi)) 1下面選項(xiàng)中不屬于存儲(chǔ)過程優(yōu)點(diǎn)的是(D )。A 增加代碼的重要性和共享性B 可以是運(yùn)行加快速度,減少網(wǎng)絡(luò)流量、C 可以作為安全性機(jī)制D 輯簡(jiǎn)單下列函數(shù)不能進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換的是(B )。A CONVERTB LTRIMC STRDCAST 在select子句中,關(guān)鍵字(B )用于消除重復(fù)項(xiàng)。A ASB DISTINCT C TOPD PERCENT4下列(C )操作會(huì)同時(shí)影響到deleted表和inserted表。AINSERT 操作B DELETE 操作C UPDATE

18、 操作 D SELECT 操作5使用(D )語句可以刪除觸發(fā)器。A CREATE TRIGGERB ALTER TRIGGERA CREATE TRIGGERB ALTER TRIGGERC INSERT TRIGGER6要使用游標(biāo)具有滾動(dòng)性,C INSERT TRIGGER6要使用游標(biāo)具有滾動(dòng)性,A SCROLLBD DROP TRIGGER應(yīng)在游標(biāo)聲明語句中使用關(guān)鍵字( ARETURN)。C UPDATED INSENSITIVEC UPDATED INSENSITIVE7.SQL Server2005是一款基于(A )體系的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。A客戶機(jī)/服務(wù)器B主機(jī)C N層D 單機(jī)8.

19、SUBTRING(ABCDEF,2,3)的返回值是(B )。A abcB bcdC cdD def9以下關(guān)于視圖的描述,錯(cuò)誤的是(C )。A 視圖是從一個(gè)或多個(gè)基表或視圖中導(dǎo)出的虛表B 視圖并不實(shí)際存儲(chǔ)數(shù)據(jù),只在數(shù)據(jù)庫中保存其邏輯定義C 視圖里面的任何數(shù)據(jù)不可以進(jìn)行修改DSQL中的select語句可以像查詢基表一樣對(duì)視圖進(jìn)行查詢10.SELECT語句中與H AVING子句通常同時(shí)使用的是(C )子句。A ORDER BYB WHERE C GROUP BY D 無需配合11在Transact-SQL語法中,用來插入及更新數(shù)據(jù)的命令是(A)。A INSERT, UPDATE B UPDATE,I

20、NSERTC DELETE, UPDATE D CREATE, INSERT INTO12.在SQL Server 2005中,索引的順序和數(shù)據(jù)表的物理順序相同的索引是(A )。 A 聚集索引 B 非聚集索引C 主鍵索引 D 唯一索引13下列關(guān)于觸發(fā)器的描述不正確的是(D )A 它是一種特殊類型的存儲(chǔ)過程B 可以實(shí)現(xiàn)復(fù)雜的商業(yè)邏輯C 可以用來實(shí)現(xiàn)數(shù)據(jù)完整性D可以通過EXECUTE命令來執(zhí)行觸發(fā)器14-SQL server數(shù)據(jù)庫文件有三類,其中主數(shù)據(jù)文件的后綴為(C )。A ndf B .ldf C .mdf D .idf15下面描述錯(cuò)誤的是(B )。A 每個(gè)數(shù)據(jù)文件中有且只有一個(gè)主數(shù)據(jù)文件。B

21、 日志文件可以存在于任意文件組中。C 主數(shù)據(jù)文件默認(rèn)為 primary 文件組。D 文件組是為了更好的實(shí)現(xiàn)數(shù)據(jù)庫文件組織。16下列說法中正確的是(D )。A SQL 中局部變量可以不聲明就使用B SQL 中全局變量必須先聲明再使用C SQL 中所有變量都必須先聲明后使用D SQL 中只有局部變量先聲明后使用;全局變量是由系統(tǒng)提供的用戶不能自己建立。17讀取名為P_01游標(biāo)的語句是(B )。A OPEN P_01B FETCH NEXT FROM P_01C CLOSE P_01D DEALLOCATE P_0118下面存在于服務(wù)器端的組件是(A )。A 服務(wù)器組件 B 企業(yè)管理器組件C 查詢分

22、析器組件 D 導(dǎo)入導(dǎo)出組件19.在select語句中,分組時(shí)使用關(guān)鍵字(B )。A ORDER BY B GROUP BY C ALLD WHERE20要使用模糊查詢從數(shù)據(jù)庫中查找與某一個(gè)數(shù)據(jù)相關(guān)的所有元組信息,可以使用(D ) 0A ANDB ORC ALLDLIKE三、簡(jiǎn)答題:(每題 3 分,共 分)1根據(jù)T-SQL服務(wù)器游標(biāo)的處理特性,SQL Server 2005將游標(biāo)分為4種,請(qǐng)簡(jiǎn)述這四種游標(biāo) 答:靜態(tài)游標(biāo)、動(dòng)態(tài)游標(biāo)、只進(jìn)游標(biāo)和鍵集驅(qū)動(dòng)游標(biāo)。2簡(jiǎn)述變量的命名規(guī)則答:變量的命名要符合標(biāo)識(shí)符的命名規(guī)則:以ASCII字母、Unicode字母、下畫線、或者#開頭,后續(xù)可以為一個(gè)或多個(gè)ASCI

23、I字母、Unicode字母、下畫線、#或者$,但整個(gè)標(biāo)識(shí)符不能全部是下畫線、或者#。標(biāo)識(shí)符不能是T-SQL的關(guān)鍵字。 標(biāo)識(shí)符中不能嵌入空格,或者其他的特殊字符。如果要在標(biāo)識(shí)符中使用空格或者T-SQL的關(guān)鍵字以及特殊字符,則要使用雙引號(hào)或者方括號(hào) 將該標(biāo)識(shí)符括起來。3.簡(jiǎn)述在Microsoft SQL Server 2005系統(tǒng)中,分別提供了哪幾種存儲(chǔ)過程:( 1 )系統(tǒng)存儲(chǔ)過程(2)用戶自定義存儲(chǔ)過程( 3)擴(kuò)展存儲(chǔ)過程。四、T-SQL設(shè)計(jì)題:(第1小題5分,2- 6題每題4分,共25分) 說明:第四題和第五題所涉及的數(shù)據(jù)庫都是“學(xué)生管理數(shù)據(jù)庫”,數(shù)據(jù)表分別是學(xué)生表、課程表、 選課表學(xué)生表(學(xué)

24、號(hào),姓名,性別,出生日期,院系名稱) 選課表(學(xué)號(hào),課程號(hào),成績(jī))課程表(課程號(hào),課程名,授課教師,學(xué)分)1在E盤“數(shù)據(jù)庫”文件夾下創(chuàng)建“學(xué)生管理數(shù)據(jù)庫”數(shù)據(jù)庫。其中主數(shù)據(jù)文件大小為10MB,最大 值是100MB,每次增量為不受限制;事務(wù)日志文件大小為1MB,最大值不受限,文件每次增量 10 。CREATE DATABASE學(xué)生管理數(shù)據(jù)庫ON PRIMARY(NAME=學(xué)生管理數(shù)據(jù)庫,F(xiàn)ILENAME=E:數(shù)據(jù)庫學(xué)生管理數(shù)據(jù)庫.mdf,SIZE=10MB,MAXSIZE=100MB,FILEGROWTH= UNLIMITED)LOG ON(NAME=學(xué)生管理數(shù)據(jù)庫_LOG,FILENAME=E

25、:數(shù)據(jù)庫學(xué)生管理數(shù)據(jù)庫.ldf,SIZE=1MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%)GO將“學(xué)生表”的“學(xué)號(hào)”設(shè)置為主鍵。 學(xué)生表(學(xué)號(hào),姓名,性別,出生日期,院系名稱)USE學(xué)生管理數(shù)據(jù)庫ALTER TABLE學(xué) 生表ADD CONSTRAINT PK_ID PRIMARY KEY (學(xué)號(hào)) GO3查詢課程表學(xué)分大于3分的課程表的所有信息 課程表(課程號(hào),課程名,授課教師,學(xué)分)SELECT *FROM 課程表WHERE 學(xué)分3將課程號(hào)為“2005”的信息從課程表中刪除。DELETEFROM 課程表WHERE 課程號(hào)=2005向?qū)W生表中插入一條記錄。(學(xué)號(hào),姓

26、名,性別,出生日期,院系名稱)20050318,五海,男,1990-6-23 0:00:00,電子信息科學(xué)與技術(shù)INSERT INTO 學(xué)生表VALUES(20050318,五海,男,1990-6-23 0:00:00,電子信息科學(xué)與技術(shù))查詢學(xué)生表非“計(jì)算機(jī)系”或者“電子信息系”學(xué)生。SELECT *FROM 學(xué)生表WHERE院系名稱NOT IN (計(jì)算機(jī)系,電子信息系)五、綜合題:(第1、3題分別是10分,第2題是6分, 共26分)創(chuàng)建存儲(chǔ)過程名為sinf1,通過學(xué)生的姓名和課程名查詢?cè)撋撜n程的成績(jī),并調(diào)用存儲(chǔ)過程。 已知學(xué)生的姓名劉磊,課程名為數(shù)據(jù)庫開發(fā)技術(shù)Use 學(xué)生管理數(shù)據(jù)庫GoC

27、reate procedure sinf1sname char(8) ,km char(20),score tinyint output AsSelect score=成績(jī) FROM 學(xué)生表JOIN選課表ON學(xué)生表.Sno=課程表.學(xué)號(hào)JOIN 課程表 ON 課程表.課程號(hào)=選課表.課程號(hào)where 姓名=sname,課程名=kmdeclare score tinyint exect sinfl,劉磊T數(shù)據(jù)庫開發(fā)技術(shù),,score output2求已知一張無限大的紙對(duì)折,問折多少次能達(dá)到珠穆朗瑪峰的高度? 已知珠穆朗瑪峰的高度8844.43米,紙的厚度為0.5厘米。參考答案:DECLARE x

28、 int,sum intSET x=0SET sum=0.5WHILE x100五、綜合題:(第1、2題分別是10分,第3題是6分, 共26分)創(chuàng)建一個(gè)名為成績(jī)分段查詢的存儲(chǔ)過程ff, 可以用它來找出任意兩個(gè)指定分?jǐn)?shù)之間的學(xué)生的姓名、課程名和成績(jī)。 然后調(diào)用這個(gè)存儲(chǔ)過程,找出大于90且小于60分的學(xué)生的姓名、課程名和成績(jī)。CREATE PROCEDURE ffstartgrade decimal,endgrade decimalASSELECT姓名,課程名,成績(jī)FROM學(xué)生表JOIN選課表ON學(xué)生表.Sno=課程表.學(xué)號(hào)JOIN 課程表 ON 課程表.課程號(hào)=選課表.課程號(hào)WHERE 成績(jī) n

29、ot BETWEEN startgrade AND endgradeGOEXECUTE ff 90,60在“學(xué)生管理數(shù)據(jù)庫”中查詢所有同學(xué)選課的成績(jī)情況:顯示輸出的信息有姓名、課程名、成績(jī) 要求:凡成績(jī)?yōu)榭照咻敵觥皼]有選課”,小于是60分的輸出不及格“不及格”;60-70分輸出“及格”; 70-80分的輸出“中”;80-90分的輸出“良好”;90-100分的輸出“優(yōu)秀”。并且按姓名進(jìn)行排序。 參考答案:use學(xué)生管理數(shù)據(jù)庫GoSelect 姓名,課程名,成績(jī)=CaseWhen成績(jī)is null then 沒有選課,When成績(jī)60 then 不及格,When 成績(jī)60and 成績(jī) 70and

30、成績(jī) 80and成績(jī)90 and then 優(yōu)秀,EndFROM 學(xué)生表JOIN選課表ON學(xué)生表.學(xué)號(hào)=選課表.學(xué)號(hào)JOIN課程表ON課程表.課程號(hào)=選課表.課程號(hào)Ordery by 姓名求1001000之間所有數(shù)的和,但如果和大于3000,立刻退出。DECLARE x int,sum intSET x=100SET sum=0WHILE x3000ENDPRINT 1001000所有數(shù)的和是:+ ltrim(str(sum)數(shù)據(jù)庫開發(fā)技術(shù)課程試卷 D卷、填空題(每空 1 分,共 20 分)個(gè)事務(wù)必須具有4個(gè)屬性:原子性)、一致性)、隔離性)和( 持久性)屬性,既ACID屬性。 SQL ser

31、ver 2005中提供了六種約束:( 主鍵約束)、唯一性約束、(檢查約束 )、默認(rèn)約束、(外鍵約束)和“ ULL約束。 游標(biāo)的概念包括兩個(gè)部分,它們是(記錄指針)和(結(jié)果集)。務(wù)器角色是( 固 )定的,不能在實(shí)例級(jí)創(chuàng)建角色。5.SQL Server 2005指定了一個(gè)良好的( 備份還原)策略,定期將數(shù)據(jù)庫進(jìn)行備份以保護(hù)數(shù)據(jù)庫,以便在事故發(fā)生后還原數(shù)據(jù)庫。完整數(shù)據(jù)庫)備份是對(duì)所有數(shù)據(jù)庫操作和事務(wù)日志中的事務(wù)進(jìn)行備份。7觸發(fā)器是一種特殊類型的存儲(chǔ)過程,它在執(zhí)行語言事件時(shí)自動(dòng)生效。例如,當(dāng)對(duì)某一個(gè)表進(jìn) 行諸如( UPDATE )、( DELETE )、( INSERT ), SQL Server 就

32、會(huì)自動(dòng)執(zhí)行觸發(fā)器所定義的T-SQL語句,從而確保對(duì)數(shù)據(jù)的處理必須符合由這些T-SQL語句 所定義的規(guī)則。即要么都執(zhí)行,要么都不執(zhí)行,因此,( 事務(wù) )是一個(gè)不可分割的工作邏輯單元。 (回滾)會(huì)結(jié)束當(dāng)前事務(wù),并且放棄自事務(wù)開始以來所有的操作,回到事務(wù)開始的狀態(tài)。10連接分為內(nèi)連接、外連接和交叉連接。(內(nèi)連接 )是系統(tǒng)的默認(rèn)方式。11如果一個(gè)已打開的游標(biāo)暫時(shí)不用,就可以用(CLOSE)語句關(guān)閉游標(biāo)。12.(存儲(chǔ)過程)是一組為了完成特定功能的T-SQL語句集,經(jīng)編譯后存儲(chǔ)在SQL Server服務(wù)器端數(shù)據(jù)庫中。得分二、單選題 (每題 1 分,共 20 分) (說明:將認(rèn)為正確答案的序號(hào)填在每小題后面

33、的括號(hào)內(nèi))1要查詢student表中所有姓名中第2個(gè)字為“雪”開頭的學(xué)生性別,可用(C )語句。A SELECT sex FROM student WHERE name =雪 *B SELECT sex FROM student WHERE C SELECT sex FROM student WHERE D SELECT sex FROM student WHERE 2假如有兩個(gè)表的連接是這樣的: B SELECT sex FROM student WHERE C SELECT sex FROM student WHERE D SELECT sex FROM student WHERE 2假如

34、有兩個(gè)表的連接是這樣的: studentname = _雪%,name LIKE 雪INNER JOIN class 其中student 和class是兩個(gè)具有 公共屬性的表,這種連接會(huì)生成哪種結(jié)果集?( D )A包括student中的所有行,不包括class的不匹配行B包括class中的所有行,不包括student的不匹配行C 包括和兩個(gè)表的所有行D只包括student和class滿足條件的行3SQL Server 2005 采用的身份驗(yàn)證模式有( D )A僅Windows身份驗(yàn)證模式B僅SQL Server身份驗(yàn)證模式C 僅混合模式D Windows身份驗(yàn)證模式和混合模式4刪掉名為P游標(biāo)的

35、語句是(D )。A OPEN PBFETCH NEXT FROM PC CLOSE P D DEALLOCATE P6.列說法中正確的是(D)。A SQL 中局部變量可以不聲明就使用B SQL 中全局變量必須先聲明再使用C SQL 中所有變量都必須先聲明后使用D SQL 中只有局部變量先聲明后使用;全局變量是由系統(tǒng)提供的用戶不能自已建立。6-SQL server數(shù)據(jù)庫文件有三類,其中次數(shù)據(jù)文件的后綴為(A )。A .ndf B .ldfC .mdfD .idf7下列關(guān)于觸發(fā)器的描述不正確的是(D )。A 它是一種特殊類型的存儲(chǔ)過程B 可以實(shí)現(xiàn)復(fù)雜的商業(yè)邏輯C A .ndf B .ldfC .m

36、dfD .idf7下列關(guān)于觸發(fā)器的描述不正確的是(D )。A 它是一種特殊類型的存儲(chǔ)過程B 可以實(shí)現(xiàn)復(fù)雜的商業(yè)邏輯C 以用來實(shí)現(xiàn)數(shù)據(jù)完整性D可以通過EXECUTE命令來執(zhí)行觸發(fā)器 面哪些不是系統(tǒng)數(shù)據(jù)庫( B )。Amaseter數(shù)據(jù)庫Bmy數(shù)據(jù)庫9下列不是數(shù)據(jù)庫角色的是(D )。A public B db_ower Cdb_datawriter10在“連接”組中有兩種連接認(rèn)證方式,其中在(BMode l數(shù)據(jù)庫D msdb數(shù)據(jù)庫D update)方式下,需要客戶端應(yīng)用程序連接時(shí)提供登錄時(shí)需要的用戶標(biāo)識(shí)和密碼。A Windows身份驗(yàn)證 B SQL Server身份驗(yàn)證C 以超級(jí)用戶身份登錄時(shí) D

37、 其他方式登錄時(shí)11表在數(shù)據(jù)庫中是一個(gè)非常重要的數(shù)據(jù)對(duì)象,它是用來(CA 顯示 B 查詢C、存放D檢索)各種數(shù)據(jù)內(nèi)容的。12為數(shù)據(jù)表創(chuàng)建索引的目的是12為數(shù)據(jù)表創(chuàng)建索引的目的是(A A 提高查詢的檢索性能C 可以實(shí)現(xiàn)復(fù)雜的商業(yè)邏輯13.SQL Server 2005是一個(gè)( CA 網(wǎng)狀型 B 層次型)。B 創(chuàng)建唯一索引D 顯示數(shù)據(jù)對(duì)象)的數(shù)據(jù)庫系統(tǒng)。C 關(guān)系型 D 以上都不是14求每個(gè)交易所的平均單價(jià)的SQL語句是(D)。ASELECT(交易所,avg(單價(jià))FROM stock GROUP BY 單價(jià)B SELECT(交易所,avg(單價(jià))FROM stock ORDER BY 單價(jià)C SE

38、LECT(交易所,avg(單價(jià))FROM stock ORDER BY 交易所DSELECT(交易所,avg(單價(jià))FROM stock GROUP BY交易所15.在SQL Server 2005中,當(dāng)數(shù)據(jù)表被修改時(shí),系統(tǒng)自動(dòng)執(zhí)行的數(shù)據(jù)庫對(duì)象是(B )。 A 存儲(chǔ)過程 B 觸發(fā)器 C 視圖 D 其他數(shù)據(jù)庫對(duì)象16下面選項(xiàng)中不屬于存儲(chǔ)過程優(yōu)點(diǎn)的是(D )。A 增加代碼的重要性和共享性B 可以是運(yùn)行加快速度,減少網(wǎng)絡(luò)流量、C 可以作為安全性機(jī)制D 編輯簡(jiǎn)單17下面哪個(gè)語句可以調(diào)用用戶自定義的函數(shù)? ( B)A add B select C create function D alter func

39、tionhello屬于什么常量類型。hello屬于什么常量類型。A HYPERLINK l bookmark178 o Current Document A char B intC下面哪個(gè)是創(chuàng)建觸發(fā)器的語句?( HYPERLINK l bookmark32 o Current Document A CREATE TRIGGERB HYPERLINK l bookmark36 o Current Document C DROP TRIGGERD事務(wù)的起點(diǎn)使用的語句是(AA BEGIN TRANSACTIONC ROLLBACK TRANSACTIONdateD 以上都不對(duì)A)ALTER TRIG

40、GERCREATE PROCEDURE)。B COMMIT TRANSACTION D SAVE TRANSACTION三、簡(jiǎn)答題:(每題 3 分,共 分)1.簡(jiǎn)述局部變量和全局變量區(qū)別?用DECLARE語句聲明T-SQL的變量,聲明的同時(shí)可以指定變量的名字(必須以開頭)、數(shù)據(jù) 類型和長(zhǎng)度,并同時(shí)將該變量的值設(shè)置為NULL。全局變量是SQL Server系統(tǒng)內(nèi)部使用的變量,其作用范圍并不局限于某個(gè)程序,而是任何程序 任何時(shí)間都可以調(diào)用。全局變量通常用于存儲(chǔ)一些SQL Server的配置設(shè)定值和效能統(tǒng)計(jì)數(shù)據(jù)。 可以利用全局變量來測(cè)試系統(tǒng)的設(shè)定值或者T-SQL的命令執(zhí)行后的狀態(tài)值。2鎖定“學(xué)生表”

41、,延時(shí)時(shí)間設(shè)置為5秒鐘。SELECT * FROM 學(xué)生表WITH (HOLDLOCK)waitfor delay 00:00:053. 什么是存儲(chǔ)過程存儲(chǔ)過程(Stored Procedure)是一組為了完成特定功能的SQL語句集,經(jīng)編譯后存儲(chǔ)在數(shù)據(jù)庫 中,用戶通過指定存儲(chǔ)過程的名字并給出參數(shù)(如果該存儲(chǔ)過程帶有參數(shù))來執(zhí)行它。四、T-SQL設(shè)計(jì)題:(第1小題5分,2- 6題每題4分,共25分) 說明:第四題和第五題所涉及的數(shù)據(jù)庫都是“學(xué)生管理數(shù)據(jù)庫”,數(shù)據(jù)表分別是學(xué)生表、課程表、 選課表學(xué)生表(學(xué)號(hào),姓名,性別,出生日期,院系名稱) 選課表(學(xué)號(hào),課程號(hào),成績(jī))課程表(課程號(hào),課程名,授課

42、教師,學(xué)分)1.在E盤“數(shù)據(jù)庫”文件夾下創(chuàng)建“學(xué)生管理數(shù)據(jù)庫”數(shù)據(jù)庫,要求同時(shí)創(chuàng)建3個(gè)數(shù)據(jù)文件。其中“學(xué) 生管理數(shù)據(jù)庫1”主數(shù)據(jù)文件為10MB,最大大小不受限制,增量為5 MB;次要“學(xué)生管理數(shù)據(jù)庫 2”數(shù)據(jù)文件屬于Group 1文件組,文件大小為10MB,最大值為100MB,增量為10%。事務(wù)日志文 件大小為10MB,最大值不受限,每次增量為10%。CREATE DATABASE學(xué)生管理數(shù)據(jù)庫ONPRIMARY(NAME=學(xué)生管理數(shù)據(jù)庫1,FILENAME=E:數(shù)據(jù)庫學(xué)生管理數(shù)據(jù)庫1.mdf,SIZE=10MB,MAXSIZE= UNLIMITED,FILEGROWTH=5MB),FILEGROUP Group1(NAME=學(xué)生管理數(shù)據(jù)庫2,FILENAME=E:數(shù)據(jù)庫學(xué)生管理數(shù)據(jù)庫2.Ndf, SIZE=10MB,MAXSIZE=100M

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論