2023年江蘇科技大學SQLServer筆試題_第1頁
2023年江蘇科技大學SQLServer筆試題_第2頁
2023年江蘇科技大學SQLServer筆試題_第3頁
2023年江蘇科技大學SQLServer筆試題_第4頁
2023年江蘇科技大學SQLServer筆試題_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

SQLServer筆試題(Sql2023常見筆試題)試題1:

一單詞解釋(2分/個)34分?Dat(yī)a數(shù)據(jù)Database數(shù)據(jù)庫RDBMS關系數(shù)據(jù)庫管理系統(tǒng)GRANT授權(quán)?REVOKE取消權(quán)限D(zhuǎn)ENY拒絕權(quán)限DECLARE定義變量PROCEDURE存儲過程?事務Transaction觸發(fā)器TRIGGER繼續(xù)

continue唯一unqiue?主鍵primarykey

標記列identity外鍵foreignkey

檢查check

約束constraint

二編寫SQL語句(5分/題)50分(包含筆試題問題和解答答案)

1)創(chuàng)建一張學生表,包含以下信息,學號,姓名,年齡,性別,家庭住址,聯(lián)系電話?Creat(yī)etablestu(學號int,

姓名varchar(8),?年齡int,?性別varchar(4),

家庭地址varchar(50),?聯(lián)系電話int

);

2)修改學生表的結(jié)構(gòu),添加一列信息,學歷?Altertablestuadd學歷varchar(6);?3)修改學生表的結(jié)構(gòu),刪除一列信息,家庭住址

Altertablestudropcolumn家庭地址?4)向?qū)W生表添加如下信息:

學號姓名年齡性別聯(lián)系電話學歷

1A22男123456小學?2B21男119中學

3C23男110高中?4D18女114大學

Insertintostuvalues(1,’A’,22,’男’,123456,’小學’)

Insertintostuvalues(2,’B’,21,’男’,119,’中學’)?Insertintostuvalues(3,’C’,23,’男’,110,’高中’)?Insertintostuvalues(4,’D’,18,’女’,114,’大學’)?5)修改學生表的數(shù)據(jù),將電話號碼以11開頭的學員的學歷改為“大?!?Updatestuset學歷=’大?!痺here聯(lián)系電話like‘11%’?6)刪除學生表的數(shù)據(jù),姓名以C開頭,性別為‘男’的記錄刪除?Delectfromstuwhere性別=’男’and姓名like‘c%’

7)查詢學生表的數(shù)據(jù),將所有年齡小于22歲的,學歷為“大?!钡?學生的姓名和學號示出來?Select姓名,學號fromstuwhere年齡<22and學歷=’大專’

8)查詢學生表的數(shù)據(jù),查詢所有信息,列出前25%的記錄?Selecttop25percent*fromstu?9)查詢出所有學生的姓名,性別,年齡降序排列?Select姓名,性別fromstuorderby年齡desc?10)按照性別分組查詢所有的平均年齡?Selectavg(年齡)fromstugroupby性別?三填空(3分/題)36分(包含筆試題問題和解答答案)

1)索引分為__聚集索引___和__非聚集索引__在一張表上最多可以創(chuàng)建1個聚集索引_索引。但是可以創(chuàng)建_249個非聚集索引索引。

2)系統(tǒng)存儲過程_sp-helptext__是用來顯示規(guī)則,默認值,未加密的存儲過程,用戶定義函數(shù),觸發(fā)或視圖的文本

3)事務開始:beginTransction?提交事務:commitTransction

回滾事務:rollbackTransction

四問答題(5分/題)60分(包含筆試題問題和解答答案)

1)數(shù)據(jù)庫包含哪些那幾種后綴名的文獻必須,這些文獻分別存放在什么的信息??重要數(shù)據(jù)文獻(.mdf)包含數(shù)據(jù)用戶收集的信息,尚有數(shù)據(jù)庫其他相關的信息,?日記數(shù)據(jù)文獻(.ndf)存放用戶對數(shù)據(jù)庫的增刪改查的信息,用于備份恢復使用

2)TRUNCATETABLE命令是什么含義?和Deletefrom表名有什么區(qū)??TRUNCATETABLE:提供了一種刪除表中所有記錄的快速方法?Deletefrom表名:可以刪除表的一個或多條記錄

3)說出以下聚合數(shù)的含義:avg,sum,max,min,count,count(*)?AVG:求平均值?SUM:求和?MAX:求最大值

MIN:求最小值?COUNT(*):返回所有行數(shù)?COUNT返回滿足指定條件的記錄值?4)innerjoin是什么意思?作用是什么?寫出基本語法結(jié)構(gòu)

INNERJOIN內(nèi)聯(lián)接,用于返回兩個表中要查詢的列數(shù)據(jù)通信

Select*from表名1innerjoin表名2on條件表達式

5)左向外聯(lián)接,右向外聯(lián)接,全聯(lián)接的關健字如何寫??Leftouterjoin左向外聯(lián)接

Rightouterjoin右向外聯(lián)接?Fullouterjoin全聯(lián)接?6)子查詢分為幾類,說明互相之間的別?了查詢分三種基本子查詢:1.使用in查詢返回一列或更多值?2.比較運算符,返回單個值勤做為外查詢的參數(shù)?3.用exists查詢時相稱于進行一次數(shù)據(jù)測試?7)實現(xiàn)實體完整性,實現(xiàn)域完整性,實現(xiàn)完整性(引用完整性),實現(xiàn)自定義完整性分別使用什么手段?

實現(xiàn)實體完整性:主鍵約束唯一約束標記列

實現(xiàn)域完整性:默認值約束檢查約束非空屬性

引和完整性:外鍵引用?8)視圖可以更新嗎?會影響到實際表嗎?

視圖是可以更新的,視圖只是基于基本表上的虛擬表,對視圖的更新會直接影響到實際表

9)談談這樣幾個角色,dbo,Sysadminpublic?Dbo:是數(shù)據(jù)庫的擁有者,對數(shù)據(jù)庫擁有所有操作的權(quán)限

Sysadmin:可以對SQLSERVER執(zhí)行任何活動

Public:自動創(chuàng)建的,能捕獲數(shù)據(jù)庫中用戶的所有默認權(quán)限

10)何為動態(tài)游標?何為靜態(tài)游標??動態(tài)游標與靜態(tài)游標相對,反映結(jié)果集中所做的所有更改,?靜態(tài)游標的結(jié)果集在游標打開時,建立在tempdb中,總按照游標打開時的原樣顯示

11)什么是存儲過程?為什么存儲過程要比單純的Sql語句執(zhí)行起來要快?

存儲過程:是一組預先編譯好的T-SQL代碼?在創(chuàng)建存儲過程時通過了語法和性能優(yōu)化,執(zhí)行不必反復的環(huán)節(jié),使用存儲過程可提高運營效率?12)什么是Inserted表?什么是Deleted表??Inserted表用于存儲inserted和update語句影響的副本

Deleted表用于存儲delect和update語句影響的行的副本?選擇題:(20分)1、根據(jù)關系數(shù)據(jù)基于的數(shù)據(jù)模型——關系模型的特性判斷下列對的的一項:(__B_)A、只存在一對多的實體關系,以圖形方式來表達。B、以二維表格結(jié)構(gòu)來保存數(shù)據(jù),在關系表中不允許有反復行存在。C、能體現(xiàn)一對多、多對多的關系,但不能體現(xiàn)一對一的關系。D、關系模型數(shù)據(jù)庫是數(shù)據(jù)庫發(fā)展的最初階段。2、在“連接”組中有兩種連接認證方式,其中在(__B_)方式下,需要客戶端應用程序連接時提供登錄時需要的用戶標記和密碼。A、Windows身份驗證B、SQLServer身份驗證C、以超級用戶身份登錄時D、其他方式登錄時3、SQLServer2023在安裝之前,應注意的事項:(_C__)A、SQLServer2023的任何版本在安裝時都不用考慮操作系統(tǒng)的制約。B、SQLServer2023的安裝對硬件的規(guī)定不作任何限制。C、SQLServer2023在安裝之前,必須在操作系統(tǒng)級啟用TCP/IP。D、在WindowsNTServer4.0上安裝SQLServer2023時,最低的規(guī)定是必須安裝ServicePack4(SP4)以上。4、關系數(shù)據(jù)庫中,主鍵是(1__A_),主鍵的建立有(2_C__)種方法,當運用Transact-SQL語句創(chuàng)建主鍵時,可以是(3B___)。⑴A、為標記表中唯一的實體B、創(chuàng)建唯一的索引,允許空值C、只允許以表中第一字段建立D、允許有多個主鍵的⑵A、一B、二C、三D、四⑶A、createtabletable1(column1char(13)notnullprimary,column2intnot)onprimary;B、altertabletable1withnotcheckaddconstraint[PK_table1]primarykeynonclustered(column1)onprimary;C、altertabletable1column1primarykey;5、表在數(shù)據(jù)庫中是一個非常重要的數(shù)據(jù)對象,它是用來(1C___)各種數(shù)據(jù)內(nèi)容的,數(shù)據(jù)庫創(chuàng)建后就可以創(chuàng)建表了,創(chuàng)建表可以用(2_D__)等方法來創(chuàng)建。⑴A、顯示B、查詢C、存放D、檢索⑵A、公司管理器B、查詢分析器C、OSQLD、公司管理器和CREATETABLE語句6、為數(shù)據(jù)表創(chuàng)建索引的目的是(1_A__),可以在創(chuàng)建表時用(2_C__)來創(chuàng)建唯一索引,也可以用(2___)來創(chuàng)建唯一索引。⑴A、提高查詢的檢索性能B、創(chuàng)建唯一索引C、創(chuàng)建主鍵D、歸類⑵A、設立主鍵約束,設立唯一約束B、Createtable,CreateindexC、設立主鍵約束,CreateindexD、以上都可以7、在Transact-SQL語法中,用來插入數(shù)據(jù)的命令是(A___),用于更新的命令是(_A__)。A、INSERT,UPDATEB、UPDATE,INSERTC、DELETE,UPDATED、CREATE,INSERTINTO8、在Transact-SQL語法中,SELECT語句的完整語法較復雜,但至少涉及的部分(1_B__),使用關鍵字(2_A__)可以把反復行屏蔽,將多個查詢結(jié)果返回一個結(jié)果集合的運算符是(3B___),假如在SELECT語句中使用集合函數(shù)時,一定在后面使用(4_A__)。⑴A、SELECT,INTOB、SELECT,FROMC、SELECT,GROUPD、僅SELECT⑵A、DISTINCTB、UNIONC、ALLC、TOP⑶A、JOINB、UNIONC、INTOC、LIKE⑷A、GROUPBYB、COMPUTEBYC、HAVINGD、COMPUTE9、視圖是一種常用的數(shù)據(jù)對象,它是提供(1_A__)和(1___)數(shù)據(jù)的另一種途徑,可以簡化數(shù)據(jù)庫操作,當使用多個數(shù)據(jù)表來建立視圖時,表的連接不能使用(2__A_)方式,并且不允許在該語句中涉及(3B___)等關鍵字。⑴A、查看,存放B、查看,檢索C、插入,更新D、檢索,插入⑵A、外連接B、內(nèi)連接C、左連接D、右連接⑶A、ORDERBY,COMPUTEB、ORDERBY,COMPUTE,COMPUTRBYC、ORDERBY,COMPUTEBY,GROUPBYD、GROUPBY,COMPUTEBY10、在SQLSERVER服務器上,存儲過程是一組預先定義并(1_B__)的Transact-SQL語句??梢杂?2_D__)來聲明游標。⑴A、保存B、編譯C、解釋D、編寫⑵A、CREATECURSORB、ALTERCURSORC、SETCURSORD、DECLARECURSOR填空題:(20分)1、更改MicrosoftSQLServer登錄的密碼的命令是____Sp_password___________,2、舉例說明其語法格式:_____sp_password“12345”,”54321”_。3、WindowsNT授權(quán)認證模式只合用于_____WindowsNT_____平臺,4、對于Windows95/98操作系統(tǒng)下的SQLServer系統(tǒng)將不合用。6、SQLServer中索引類型涉及的三種類型分別是__唯一索引,簇索引,_和______非簇索引___________。7、在SELECT語句的FROM子句中最多可以指定__256___個表或視圖,互相之間要用__逗號__分隔,當所查詢的表不在當前數(shù)據(jù)庫時,可用_____”數(shù)據(jù)庫.所有者名稱.對象名稱”______格式來指出表或視圖對象。14、服務器網(wǎng)絡實用工具的目的____為客戶端網(wǎng)絡實用工具提供參數(shù)___。16、在當SQLSERVER實例中有DBOA數(shù)據(jù)庫,要將它設立成為單用戶狀態(tài),請寫出設立命令:______sp_dboption‘DBOA’,’singleuse’,’true’__。19、刪除表命令是:__droptable_。20、用SELECT進行模糊查詢時,可以使用like__或_notlike____匹配符,但要在條件值中使用__%__或__-__等通配符來配合查詢。并且模糊查詢只能針對字段類型是字符_____的查詢。24、計算字段的累加和的函數(shù)是:_Sum()__,記錄項目數(shù)的函數(shù)是:Count()____。10、SQLSERVER中的編程語言就是___TranSact_SQL___語言。判斷題(10分)1、在CREATEINDEX語句中,使用CLUSTERED來建立簇索引。(√)2、可以在公司管理器中修改數(shù)據(jù)庫的名稱。(×)3、恢復數(shù)據(jù),可以在查詢分析器中使用這樣的命令:BACKUPDATABASEdatabase_nameFROMbackup(×)4、在查詢分析器中修改帳戶時可以用系統(tǒng)存儲過程Sp_modibaccess。(×)5、每個存儲過程向調(diào)用方返回一個整數(shù)返回代碼。假如存儲過程沒有顯式設立返回代碼的值,則返回代碼為0,表達成功√。6、在Transact-SQL語句中,對不符合所有標記符規(guī)則的標記符必須進行分隔?!?、在SQLSERVER中,觸發(fā)器的執(zhí)行是在數(shù)據(jù)的插入、更新或刪除之前執(zhí)行的?!?、在Transact-SQL語句的WHERE子句中,完全可以用IN子查詢來代替OR邏輯表達式。×9、通配符“_”表達某單個字符?!?0、由于通過視圖可以插入、修改或刪除數(shù)據(jù),因此視圖也是一個實在表,SQLSERVER將它保存在syscommens系統(tǒng)表中。×簡答題:(20分)26、寫出關系型數(shù)據(jù)庫的第一、第二、第三標準形式的各自規(guī)定。①第一標、準形式:由原子值和主鍵值組成,數(shù)據(jù)表中的每一個字段都不可以再分。(同一數(shù)據(jù)表中同類字段不允許反復出現(xiàn),在一個字段內(nèi)也不允許放置多個數(shù)據(jù)項)②第二標準形式:規(guī)定所有的非關鍵字段完全依賴于主鍵。(或類似的解釋)③第三標準形式:每一個非主鍵字段列中沒有可傳遞的的依賴性。(一個非主鍵列不能依賴于另一個非主鍵列)28、觸發(fā)器的類型以及相對的語句命令?①INSERT觸發(fā)器、②UPDATE觸發(fā)器、③DELETE觸發(fā)器相相應的語句:①INSERT語句、②UPDATE語句、③DELETE語句29、自定義函數(shù)的類型?各自原返回值。自定義函數(shù)類型:①標量函數(shù)返回值:單個數(shù)據(jù)值②內(nèi)嵌表值函數(shù)返回值:table,③多語句表值函數(shù)返回值:table30、用戶權(quán)限的種類有哪些?各自的作用?①對象權(quán)限作用:決定用戶對數(shù)據(jù)庫對象所執(zhí)行的操作,涉及用戶對數(shù)據(jù)庫中的表、視圖、列或存儲過程等對象的操作權(quán)限②語句權(quán)限作用:決定用戶能否操作數(shù)據(jù)庫和創(chuàng)建數(shù)據(jù)庫對象③隱含權(quán)限作用:控制那些只能由預定義系統(tǒng)角色的成員或數(shù)據(jù)庫對象所有者執(zhí)行的活動。分析編碼題(20分)31、請使用Transact-SQL建立如下表:表名:雇員基本信息表;字段名數(shù)據(jù)類型寬度精度可空性規(guī)定NO_IDCHAR7NOTNULL設為主鍵NAMECHAR10NOTNULLSEXCHAR2NOTNULL默認值為”男”AGEINTNOTNULLDEPTVARCHAR50NULLPHONEVARCHAR20NULLNOTESVARCHAR50NULLCREATETABLE雇員基本信息表——————————2分(NO_IDchar(7)notnullprimarykey,—————————2分NAMEchar(10)notnull,———————————————1分SEXchar(2)notnulldefault‘男’,———————————2分AGEintnotnull,——————————————————1分DEPTvarchar(50)null,————————————————1分PHONEvarchar(20)null,———————————————0.5分NOTESvarchar(50)null———————————————0.5分)32、現(xiàn)有1銷售表,33、它們結(jié)構(gòu)如下:idint(標記號)codnochar(7)(商品編碼)codnamevarchar(30)(商品名稱)specvarchar(20)(商品規(guī)格)pricenumeric(10,2)(價格)sellnumint(銷售數(shù)量)deptnochar(3)(售出分店編碼)selldat(yī)edatetime(銷售時間)規(guī)定:寫出查詢銷售時間段在2023-2-15日到2023-4-29之間,分店編碼是01的所有記錄。SELECT*FROM銷售表WHERE(selldate>='2023-2-15'ANDselldate<='2023-4-29')ANDdeptno='01'34、在table1數(shù)據(jù)表中增長“No_id”字段,數(shù)據(jù)類型char(12),不可空,并將其設定為UNIQUE約束,寫出其命令語句。ALTERTABLEtable1ADDNo_idCHAR(12)NOTNULLCONSTRAINTtable1_uniqueUNIQUE編程填空題:(10分)填寫出下列觸發(fā)器中缺少的關鍵字,使下面語句完整:ifupdate([lcostprice])update[b_drug_data]set[scostprice]=((select[lcostprice]frominserted______GROUPBY______[codno],[lcostprice],[scostprice]_______HAVING_{b_drug_data.codno}=[inserted.codno])/(select[fsco]from[b_drug_data]_______GROUPBY___[codno],[fsco]________HAVING_[b_drug_data.codno]=(select[codno]frominsertedgroupby[codno])))where[b_drug_dat(yī)a.codno]__IN_(select[codno]frominserted)*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*網(wǎng)絡數(shù)據(jù)庫SQL模擬試題參考答案選擇題:(20分)注:每個選空1分1、B,2、B,3、C,4、⑴A,⑵C,⑶B,5、⑴C,⑵D,6、⑴A,⑵C7、A,A8、⑴B,⑵A,⑶B,⑷A,9、⑴A,⑵A,⑶B,10、⑴B,⑵D填空題:(20分)注:每空1分1、Sp_password,sp_password“12345”,”54321”,”abc”2、WindowsNT3、唯一索引,簇索引,非簇索引4、256,逗號,”數(shù)據(jù)庫.所有者名稱.對象名稱”5、為客戶端網(wǎng)絡實用工具提供參數(shù)。6、sp_dboption‘DBOA’,’singleuse’,’true’7、droptable8、like,notlike,”%”,”_”,字符9、Sum(),Count()10、TranSact_SQL判斷題:(10分,每題1分)1、√2、×3、×4、×5、√6、√7、×8、×9、√10、×簡答題:(20分,1、2題每題5分)1、①第一標、準形式:由原子值和主鍵值組成,數(shù)據(jù)表中的每一個字段都不可以再分。(同一數(shù)據(jù)表中同類字段不允許反復出現(xiàn),在一個字段內(nèi)也不允許放置多個數(shù)據(jù)項)②第二標準形式:規(guī)定所有的非關鍵字段完全依賴于主鍵。(或類似的解釋)③第三標準形式:每一個非主鍵字段列中沒有可傳遞的的依賴性。(一個非主鍵列不能依賴于另一個非主鍵列)2、類型:①INSERT觸發(fā)器、②UPDATE觸發(fā)器、③DELETE觸發(fā)器相相應的語句:①INSERT語句、②UPDATE語句、③DELETE語句11、自定義函數(shù)類型:①標量函數(shù)返回值:單個數(shù)據(jù)值②內(nèi)嵌表值函數(shù)返回值:table,③多語句表值函數(shù)返回值:table4、權(quán)限類型及作用:①對象權(quán)限作用:決定用戶對數(shù)據(jù)庫對象所執(zhí)行的操作,涉及用戶對數(shù)據(jù)庫中的表、視圖、列或存儲過程等對象的操作權(quán)限②語句權(quán)限作用:決定用戶能否操作數(shù)據(jù)庫和創(chuàng)建數(shù)據(jù)庫對象③隱含權(quán)限作用:控制那些只能由預定義系統(tǒng)角色的成員或數(shù)據(jù)庫對象所有者執(zhí)行的活動。五、(20分,1題10分,2題5分,3題5分)1、(答案中的英語單詞不允許錯誤,男字只能用單引號括起來,否則不給分;)CREATETABLE雇員基本信息表——————————2分(NO_IDchar(7)notnullprimarykey,—————————2分NAMEchar(10)notnull,———————————————1分SEXchar(2)notnulldefault‘男’,———————————2分AGEintnotnull,——————————————————1分DEPTvarchar(50)null,————————————————1分PHONEvarchar(20)null,———————————————0.5分NOTESvarchar(50)null———————————————0.5分)2、(答案中的英語單詞不允許錯誤,日期要用引號括起來,否則不給分)SELECT*FROM銷售表WHERE(selldate>='2023-2-15'ANDselldate<='2023-4-29')ANDdeptno='01'3、(答案中的大寫單詞不允許錯誤,其他不作規(guī)定)ALTERTABLEtable1ADDNo_idCHAR(12)NOTNULLCONSTRAINTtable1_uniqueUNIQUE(每空2分,共10分)GROUPBY,HAVING,GROUPBY,HAVING,IN*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

SQLServer數(shù)據(jù)庫試題九及答案一、選擇題(每題2分,共30分)

?1、下面不屬于數(shù)據(jù)定義功能的SQL語句是:(C)

A.CREATTABLEB.CREATCURSORC.UPDATED.ALTERTABLE

2、SQL數(shù)據(jù)庫中的視圖與下列哪項是相應的(C)。?A.關系模式B.存儲模式C.子模式D.以上都不是?3、下列選項中不是數(shù)據(jù)庫復制類型的是()。?A.快照復制B.差異復制C.事務復制D.合并復制

4、下列說法錯誤的是:(D)。

A.一個基本表可以跨一個或多個存儲文獻

B.一個存儲文獻可以跨一個或多個基本表

C.每個存儲文獻與外部存儲器上一個物理文獻相應

D.每個基本表與外部存儲器上一個物理文獻相應

5.顯示包含警告信息或其他信息的消息框,應當使用的操作是(D)。

A.EchoB.MessageC.WarnD.MsgBox?6、在SQLServer2023中,索引的順序和數(shù)據(jù)表的物理順序相同的索引是(C)。?A.聚集索引B.非聚集索引C.主鍵索引D.唯一索引?7.SQLServer的字符型系統(tǒng)數(shù)據(jù)類型重要涉及(B)。?A.Int、money、charB.char、varchar、text?C.datetime、binary、intD.char、varchar、int?8、以下選項中哪一項不是訪問數(shù)據(jù)庫系統(tǒng)的接口(C)。?A.ODBCB.OLEDBC.APID.ADO

9、在SELECT語句的WHERE子句的條件表達式中,可以匹配0個到多個字符的通配符是(A?)?A.*B.%C.-D.??10、SELECT語句中與HAVING子句同時使用的是(C)子句。

A.ORDERBYB.WHEREC.GROUPBYD.無需配合

11~15題使用如下數(shù)據(jù):?當前盤當前目錄下有數(shù)據(jù)庫db_stock,其中有表stock的內(nèi)容是:?股票代碼股票名稱單價交易所?600600青島啤酒7.48上海

600601方正科技15.20上海

600602廣電電子10.40上海?600603興業(yè)房產(chǎn)12.76上海?600604二紡機9.96上海

600605輕工機械14.59上海?000001深發(fā)展7.48深圳?000002深萬科12.50深圳

11、有如下SQL語句?createviewstock_viewasselect*fromstockwhere交易所=”深圳”

執(zhí)行該語句后產(chǎn)生的視圖包含的記錄個數(shù)是(B)

A.1B.2C.3D.4?12、有如下SQL語句?createviewview_stockasselect股票名稱as名稱,單價fromstock

執(zhí)行該語句后產(chǎn)生的視圖具有的字段名是(B)

A.股票、名稱、單價B.名稱、單價?C名稱、單價、交易所D股票名稱、單價、交易所?13、執(zhí)行如下SQL語句后

selectdistinct單價fromstock

?where單價=(selectmin(單價)fromstock)intodbfstock_x

表stock_x中的記錄個數(shù)是(A)

A.1B.2C.3D.4

14、求每個交易所的平均單價的SQL語句是(D)

A.SELECT(交易所,avg(單價)FROMstockGROUPBY單價?B.SELECT(交易所,avg(單價)FROMstockORDERBY單價

C.SELECT(交易所,avg(單價)FROMstockORDERBY交易所?D.SELECT(交易所,avg(單價)FROMstockGROUPBY交易所?15、在當前盤當前目錄下刪除表stock的命令是(C)?A.DROPstockB.DELETETABLEstock?C.DROPTABLEstockC.DELETEstock??二、填空題(每空2分,共30分)?1、SQLServer2023支持5種類型的存儲過程:系統(tǒng)存儲過程、本地存儲過程、遠程存儲過程臨時存儲過程、和擴展存儲過程。

2、在MicrosoftSQLServer系統(tǒng)中,數(shù)據(jù)庫備份的類型涉及:數(shù)據(jù)庫備份、事務日記備份、差異備份和文獻和文獻組備份。

3、觸發(fā)器有3種類型,即INSERT類型、UPDATE類型和DELETE類型。

4、Transact-SQL語言有4部分元素組成,分別是:數(shù)據(jù)控制語言(或DCL)、數(shù)據(jù)定義語言、數(shù)據(jù)操作語言(或DML)和一些附加的語言元素。1、、2、、、3、、4、、?5、事務的4個屬性:原子性、一致性、隔離性和持久性。

6、ADO的對象模型為層次結(jié)構(gòu),重要的ADO對象有3個:Connection、Command、和Recordset。7、函數(shù)datediff(year,’1998-10-12’,’2023-1-17’)的執(zhí)行結(jié)果是7;函數(shù)str(1234.56,3,1)的執(zhí)行結(jié)果是***。?

三、簡答題(共3題,20分)

2、簡述INSERT觸發(fā)器的工作原理(6分)

答:1、為什么要創(chuàng)建索引(4分)?創(chuàng)建索引可以大大提高系統(tǒng)的性能。第一,通過創(chuàng)建唯一性索引,可以保證每一行數(shù)據(jù)的唯一性。第二,可以大大加快數(shù)據(jù)的檢索速度,這也是所以的最重要因素。第三,可以加速表與表之間的連接,特別是實現(xiàn)數(shù)據(jù)的參考完整性方面特故意義。第四,在使用ORDERBY和GROUPBY子句進行數(shù)據(jù)檢索時,同樣可以顯著減少查詢中分組和排序的時間。第五,通過使用索引,可以在查詢過程中,使用優(yōu)化隱藏器,提高系統(tǒng)性能。

2、簡述INSERT觸發(fā)器的工作原理(6分)

當向表中插入數(shù)據(jù)時,INSERT觸發(fā)器觸發(fā)執(zhí)行。當INSERT觸發(fā)器觸發(fā)時,新的記錄增長到觸發(fā)器表中和inserted表中。該inserted表是邏輯表,保存了所插入記錄的拷貝,允許用戶參考INSERT語句中的數(shù)據(jù)。觸發(fā)器可以檢查inserted表,來擬定該觸發(fā)器的操作是否應當執(zhí)行和如何執(zhí)行。在inserted表中的哪些記錄,總是觸發(fā)表中一行或多行記錄的冗余。

3、根據(jù)所給的商品庫和教學庫,按照下列所給的每條SQL查詢語句寫出相應的功能,或者按照下列所給的每種功能寫出相應的SQL查詢語句。(每小題2分,共10分)?在名稱為商品庫的數(shù)據(jù)庫中包具有商品表1和商品表2,它們的定義分別為:

商品表1(商品代號char(8),分類名char(8),單價float,數(shù)量int)

?商品表2(商品代號char(8),產(chǎn)地char(6),品牌char(6),)

在名稱為教學庫的數(shù)據(jù)庫中包具有學生、課程和選課三個表,它們的定義分別為:?學生(學生號char(7),姓名char(6),性別char(2),出生日期datetime,

專業(yè)char(10),年級int)

課程(課程號char(4),課程名char(10),課程學分int?選課(學生號char(7),課程號char(4),成績int)?1.selectdistinct產(chǎn)地from商品表2??從商品庫中查詢出所有商品的不同產(chǎn)地。??2.select*from學生where學生號in(select學生號?from選課groupby學生號havingcount(*)=1)從教學庫中查詢出只選修了一門課程的所有學生。

3.select*from學生where學生號in(select學生號from選課groupby學生號havingcount(*)<=2

)ornotexists(select*from選課where學生.學生號=選課.學生號)

從教學庫中查詢出最多選修了2門課程(含未選任何課程)的所有學生。??4.從商品庫中查詢出每類(即分類名相同)商品的最高單價。?select分類名,max(單價)as最高單價

from商品表1?groupby分類名??5.從教學庫中查詢出至少選修了姓名為@m1學生所選課程中一門課的所有學生。?selectdistinct學生.*

?from學生,選課?where學生.學生號=選課.學生號and課程號=any(select課程號

from學生,選課

where學生.學生號=選課.學生號and姓名=@m1

四、設計題(每題4分,共20分)

有一個“學生-課程”數(shù)據(jù)庫,數(shù)據(jù)庫中涉及三個表:

(1)“學生”表Student由學號(Sno)、姓名(Sname)、性別(Ssex)、年齡(Sage)、所在系(Sdept)五個屬性組成,可記為:Student(Sno,Sname,Ssex,Sage,Sdept)Sno為關鍵字。

(2)“課程”表Course由課程號(Cno)、課程名(Cname)、先修課號(Cpno)、學分(Ccredit)四個屬性組成,可記為:Course(Cno,Cname,Cpno,Ccredit)Cno為關鍵字。

?(3)“學生選課”表SC由學號(Sno)、課程號(Cno)、成績(Grade)三個屬性組成,可記為:SC(Sno,Cno,Grade)(SNO,CNO)為關鍵字。

完畢下列操作:?1、建立一個“學生”表Student,它由學號Sno、姓名Sname、性別Ssex、年齡Sage、所在系Sdept五個屬性組成,其中學號屬性不能為空,并且其值是唯一的。

CREATETABLEStudent

?(SnoCHAR(5)NOTNULLUNIQUE,

SnameCHAR(20),?SsexCHAR(1),

SageINT,?SdeptCHAR(15));

??2、查考試成績有不及格的學生的學號?SELECTDISTINCTSno

FROMCourse

WHEREGrade<60;

3、將學生95001的年齡改為22歲?UPDATEStudent

?SETSage=22

?WHERESno='95001';

??4、計算1號課程的學生平均成績

SELECTAVG(Grade)

FROMSC?WHERECno='1';?

?5、創(chuàng)建一存儲過程getDetailByName,通過輸入?yún)?shù)學生姓名(如“章山"),篩選出該學生的基本信息,對不存在此學生姓名的輸入值,必須作一檢測,打印信息“不存在此學生”。CreateproceduregetDetailByName?@namenvarchar(10)

AS?IF(SELECTCOUNT(*)FROMStudentWHERESname=@Name)>0

SELECT*

FROMStudent

WhereSname=@Name

ELSE

SELECT警示='不存在姓名為'+@Name+'的學生資料'參考答案一、選擇題(每題2分,共30分)

1、A2、C3、B4、D5、D6、C7、B8、C9、A

10、C11、B12、B13、B14、D15、C??二、填空題(每空2分,共30分)

1、本地存儲過程、遠程存儲過程?2、事務日記備份、差異備份、文獻和文獻組備份

3、UPDATE類型、DELETE類型

4、數(shù)據(jù)控制語言(或DCL)、數(shù)據(jù)操作語言(或DML)?5、隔離性、持久性

6、ConnectionCommand和Recordset

7、7***

三、簡答題(每題5分,共20分)

1、什么要創(chuàng)建索引?(4分)

答:創(chuàng)建索引可以大大提高系統(tǒng)的性能。第一,通過創(chuàng)建唯一性索引,可以保證每一行數(shù)據(jù)的唯一性。第二,可以大大加快數(shù)據(jù)的檢索速度,這也是所以的最重要因素。第三,可以加速表與表之間的連接,特別是實現(xiàn)數(shù)據(jù)的參考完整性方面特故意義。第四,在使用ORDERBY和GROUPBY子句進行數(shù)據(jù)檢索時,同樣可以顯著減少查詢中分組和排序的時間。第五,通過使用索引,可以在查詢過程中,使用優(yōu)化隱藏器,提高系統(tǒng)性能。?2、簡述INSERT觸發(fā)器的工作原理(6分)

答:當向表中插入數(shù)據(jù)時,INSERT觸發(fā)器觸發(fā)執(zhí)行。當INSERT觸發(fā)器觸發(fā)時,新的記錄增長到觸發(fā)器表中和inserted表中。該inserted表是邏輯表,保存了所插入記錄的拷貝,允許用戶參考INSERT語句中的數(shù)據(jù)。觸發(fā)器可以檢查inserted表,來擬定該觸發(fā)器的操作是否應當執(zhí)行和如何執(zhí)行。在inserted表中的哪些記錄,總是觸發(fā)表中一行或多行記錄的冗余。?3、根據(jù)商品庫和教學庫,按照下列所給的每條SQL查詢語句寫出相應的功能,或者按照下列所給的每種功能寫出相應的SQL查詢語句。(每小題2分,共10分)?1.從商品庫中查詢出所有商品的不同產(chǎn)地。

2.從教學庫中查詢出只選修了一門課程的所有學生。

3.從教學庫中查詢出最多選修了2門課程(含未選任何課程)的所有學生。

4.select分類名,max(單價)as最高單價

from商品表1

groupby分類名?5.selectdistinct學生.*

from學生,選課

where學生.學生號=選課.學生號and課程號=any(select課程號?from學生,選課?where學生.學生號=選課.學生號and姓名=@m1

)?

四、設計題(每題4分,共20分)?1、建立一個“學生”表Student,它由學號Sno、姓名Sname、性別Ssex、年齡Sage、所在系Sdept五個屬性組成,其中學號屬性不能為空,并且其值是唯一的。?CREATETABLEStudent

?(SnoCHAR(5)NOTNULLUNIQUE,?SnameCHAR(20),?SsexCHAR(1),?SageINT,

SdeptCHAR(15));

2、查考試成績有不及格的學生的學號?SELECTDISTINCTSno

FROMCourse

?WHEREGrade<60;?3、將學生95001的年齡改為22歲?UPDATEStudent

?SETSage=22

WHERESno='95001';

4、計算1號課程的學生平均成績?SELECTAVG(Grade)

FROMSC

WHERECno='1';

5、創(chuàng)建一存儲過程getDetailByName,通過輸入?yún)?shù)學生姓名(如“章山"),篩選出該學生的基本信息,對不存在此學生姓名的輸入值,必須作一檢測,打印信息“不存在此學生”。

CreateproceduregetDetailByName?@namenvarchar(10)

AS

IF(SELECTCOUNT(*)FROMStudentWHERESname=@Name)>0?SELECT*

?FROMStudent

WhereSname=@Name

ELSE

SELECT警示='不存在姓名為'+@Name+'的學生資料'?*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*選擇題:(每空2分共20分)1、在MSSQLServer中,用來顯示數(shù)據(jù)庫信息的系統(tǒng)存儲過程是(D)Asp_dbhelpB(yǎng)sp_dbCsp_helpDsp_helpdb2、SQL語言中,刪除一個表的命令是(B)ADELETEBDROPCCLEARDREMORE3、關系數(shù)據(jù)庫中,主鍵是(_A_)A、為標記表中唯一的實體B、創(chuàng)建唯一的索引,允許空值C、只允許以表中第一字段建立D、允許有多個主鍵的4、在Transact-SQL語法中,SELECT語句的完整語法較復雜,但至少涉及的部分(1_B__),使用關鍵字(2___A)可以把反復行屏蔽,將多個查詢結(jié)果返回一個結(jié)果集合的運算符是(3_B__),假如在SELECT語句中使用聚合函數(shù)時,一定在后面使用(4_A__)。⑴A、SELECT,INTOB、SELECT,F(xiàn)ROMC、SELECT,GROUPD、僅SELECT⑵A、DISTINCTB、UNIONC、ALLC、TOP⑶A、JOINB、UNIONC、INTOC、LIKE⑷A、GROUPBYB、COMPUTEBYC、HAVINGD、COMPUTE5、語句DBCCSHRINKDATABASE(Sample,25)中的25表達的意思是BA、25MB、剩余占整個空間的25%C、已用空間占整個空間的25%D、以上都不對6、你是一個保險公司的數(shù)據(jù)庫開發(fā)人員,公司的保單信息存儲在SQLServer2023數(shù)據(jù)庫中,你使用以下腳本建立了一個名為Policy的表:ACREATETABLEPolicy(PolicyNumberintNOTNULLDEFAULT(0),InsuredLastNamechar(30)NOTNULL,InsuredFirstNamechar(20)NOTNULL,InsuredBirthDatedatetimeNOTNULL,PolicyDatedatetimeNOTNULL,FaceAmountmoneyNOTNULL,CONSTRAINTPK_PolicyPRIMARYKEY(PolicyNumber))每次公司銷售出一份保單,Policy表中就增長一條記錄,并賦予其一個新的保單號,你將怎么做?a.建立一個INSTEADOFINSERT觸發(fā)器來產(chǎn)生一個新的保單號,并將這個保單號插入數(shù)據(jù)表中。b.建立一個INSTEADOFUPDATE觸發(fā)器來產(chǎn)生一個新的保單號,并將這個保單號插入數(shù)據(jù)表中。c.建立一個AFTERUPDATE觸發(fā)器來產(chǎn)生一個新的保單號,并將這個保單號插入數(shù)據(jù)表中。d.用AFTERUPDATE觸發(fā)器替代DEFAULT約束條件產(chǎn)生一個新的保單號,并將這個保單號插入數(shù)據(jù)表中。7、在SQL語言中,假如要建立一個工資表包含職工號,姓名,職稱。工資等字段。若要保證工資字段的取值不低于800元,最合適的實現(xiàn)方法是:BA。在創(chuàng)建工資表時為”工資“字段建立缺省B。在創(chuàng)建工資表時為”工資“字段建立檢查約束C。在工資表建立一個觸發(fā)器D。為工資表數(shù)據(jù)輸入編寫一個程序進行控制8、Select語句中用來連接字符串的符號是______.A.“+”B.“&”C.“||”D.“|”9、你是一個出版公司的數(shù)據(jù)庫開發(fā)人員,對特定的書名的天天的銷售情況建立了如下的存儲過程:CREATEPROCEDUREget_sales_for_titletitlevarchar(80),@ytd_salesintOUTPUTASSELECT@ytd_sales=ytd_salesFROMtitlesWHEREtitle=@titleIF@@ROWCOUNT=0RETURN(-1)ELSERETURN(0)此外建立了一個腳本執(zhí)行這個存儲過程,假如執(zhí)行成功,將返回相應于書名的天天的銷售情況的報表,假如執(zhí)行失敗,將返回“NoSalesFound”,如何建立這個腳本?DA.DECLARE@retvalintDECLARE@ytdintEXECget_sales_for_title‘NetEtiquette’,@ytdIF@retval<0PRINT‘Nosalesfound’ELSEPRINT‘Yeartodatesales:’+STR(@ytd)GOB.DECLARE@retvalintDECLARE@ytdintEXECget_sales_for_title‘NetEtiquette’,@ytdOUTPUTIF@retval<0PRINT‘Nosalesfound’ELSEPRINT‘Yeartodatesales:’+STR(@ytd)GOC.DECLARE@retvalintDECLARE@ytdintEXECget_sales_for_title‘NetEtiquette’,@retvalOUTPUTIF@retval<0PRINT‘Nosalesfound’ELSEPRINT‘Yeartodatesales:’+STR(@ytd)GOD.DECLARE@retvalintDECLARE@ytdintEXEC@retval=get_sales_for_title‘NetEtiquette’,@ytdOUTPUTIF@retval<0PRINT‘Nosalesfound’ELSEPRINT‘Yeartodatesales:’+STR(@ytd)GO填空題(1空1分共20分)1、假如設計的表不符合第二范式,也許會導致___插入異常____,___更新異常_____,____刪除異常___。2、SQL是由____數(shù)據(jù)定義___語言,___數(shù)據(jù)操縱_____語言,____數(shù)據(jù)控制___語言組成。3、SQLServer在兩個安全級上驗證用戶,分別是_____登陸鑒別_________,___對數(shù)據(jù)庫以及角色的許可驗證__________________。4、自定義函數(shù)由_____標量函數(shù)______函數(shù),_______內(nèi)嵌表值型函數(shù)________函數(shù),_______多語句表值函數(shù)____________函數(shù)組成。5、備份策略的三種類型是__________備份,_______________備份,___________________備份組成。6、啟動一個顯式事務的語句為_BEGINTRANSACTION_________,提交事務的語句為__COMMITTRANSACTION________,回滾事務的語句為__ROLLBACKTRANSACTION________7、表的每一行在表中是惟一的實體屬于____實體______完整性,使列的輸入有效屬于_域完整性_________完整性,兩個表的主關鍵字和外關鍵字的數(shù)據(jù)應當相應一致屬于______參照完整性____完整性。簡答題(共20分)1、在幫助中[,...n]意思是什么?(4分)2、請簡述一下第二范式(4分)3、現(xiàn)有1銷售表,它們結(jié)構(gòu)如下:(4分)idint(標記號)codnochar(7)(商品編碼)codnamevarchar(30)(商品名稱)specvarchar(20)(商品規(guī)格)pricenumeric(10,2)(價格)sellnumint(銷售數(shù)量)deptnochar(3)(售出分店編碼)selldatedatetime(銷售時間)規(guī)定:寫出查詢銷售時間段在2023-2-15日到2023-4-29之間,分店編碼是01的所有記錄。4、寫一個存儲過程,規(guī)定傳入一個表名,返回該表的記錄數(shù)(假設傳入的表在數(shù)據(jù)庫中都存在)(4分)5、請簡述UPDATE觸發(fā)器如何工作原理。(4分)簡答題:(共40分)1、(5分)使用一條SQL語句找到反復的值及反復的次數(shù):有一數(shù)據(jù)表ZD_ks,其中有字段BM,MC,。。。,請查詢出在ZD_ks中BM有反復的值及反復的次數(shù),沒有的不要列出。如下表:BMDUPCOUNT001300222、描述(5分)表1student學生信息表IDint學生編號Namevarchar學生姓名Sexbit性別(男0女1)Classint班級編號表2schedule課程信息表IDint課程編號Namevarchar課程名稱表3Grade成績信息表IDint自動編號UIDint學生編號SIDint課程編號Numint考試成績(a)求各班的總?cè)藬?shù)(1分)selectClass,count(1)asnumfromstudentgroupbyClass(b)求1班女生和男生的平均成績(2分)selectS.Sex,avg(G.Num)asNumfromstudentS,GradeGwhereS.ID=G.IDandS.Class=1groupbyS.Sex(c)各班"數(shù)據(jù)結(jié)構(gòu)"(課程名稱)不及格的人數(shù)(2分)selectS.Class,count(1)asnumfromstudentS,GradeG,scheduleSCwhereS.ID=G.IDandG.SID=Sc.IDandSC.Name='數(shù)據(jù)結(jié)構(gòu)'andSc.Num<60groupbyS.Class3、問題描述:(30分)本題用到下面三個關系表:CARD借書卡。CNO卡號,NAME姓名,CLASS班級BOOKS圖書。BNO書號,BNAME書名,AUTHOR作者,PRICE單價,QUANTITY庫存冊數(shù)BORROW借書記錄。CNO借書卡號,BNO書號,RDATE還書日期備注:限定每人每種書只能借一本;庫存冊數(shù)隨借書、還書而改變。規(guī)定實現(xiàn)如下15個解決:1.找出借書超過5本的讀者,輸出借書卡號及所借圖書冊數(shù)。(2分)2.查詢借閱了"水滸"一書的讀者,輸出姓名及班級。(3分)3.查詢過期未還圖書,輸出借閱者(卡號)、書號及還書日期。(3分)4.查詢書名涉及"網(wǎng)絡"關鍵詞的圖書,輸出書號、書名、作者。(2分)5.查詢現(xiàn)有圖書中價格最高的圖書,輸出書名及作者。(2分)6.查詢當前借了"計算方法"但沒有借"計算方法習題集"的讀者,輸出其借書卡號,并按卡號降序排序輸出。(4分)7.將"C01"班同學所借圖書的還期都延長一周。(2分)8.從BOOKS表中刪除當前無人借閱的圖書記錄。(2分)9.在BORROW表上建立一個觸發(fā)器,完畢如下功能:假如讀者借閱的書名是"數(shù)據(jù)庫技術(shù)及應用",就將該讀者的借閱記錄保存在BORROW_SAVE表中(注ORROW_SAVE表結(jié)構(gòu)同BORROW表)。(4分)10.建立一個視圖,顯示"力01"班學生的借書信息(只規(guī)定顯示姓名和書名)。(3分)11.查詢當前同時借有"計算方法"和"組合數(shù)學"兩本書的讀者,輸出其借書卡號,并按卡號升序排序輸出。(3分)答案選擇:1D2B3A4、⑴B,⑵A,⑶B,⑷A5、B6、A7、B8、A9、D10、分析A對的,運用自定義函數(shù)可以隱藏計算細節(jié),此外,函數(shù)的結(jié)果可以作為SELECT查詢的列。B不對的,存儲過程不能作為SELECT查詢的列。C不對的,觸發(fā)器不能創(chuàng)建在SELECT查詢的列中。D不對的,這會導致數(shù)據(jù)冗余,由于加了一列計算列表就不符合第三范式了。對的答案:A填空1、插入異常,更新異常,刪除異常2、數(shù)據(jù)定義,數(shù)據(jù)操縱,數(shù)據(jù)控制3、登陸鑒別,對數(shù)據(jù)庫以及角色的許可驗證4、標量函數(shù),內(nèi)嵌表值型函數(shù),多語句表值函數(shù)5、BEGINTRANSACTION,COMMITTRANSACTION,ROLLBACKTRANSACTION6、實體,域完整性,參照完整性簡答題:4、createProcgetRowCount@tablenamevarchar(100)ASexec('selectcount(*)from'+@

溫馨提示

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

評論

0/150

提交評論