




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一、選擇題1、在MSSQLServer中,用來(lái)顯示數(shù)據(jù)庫(kù)信息的系統(tǒng)存儲(chǔ)過(guò)程是(D)Asp_dbhelpBsp_dbCsp_helpDsp_helpdb2、SQL語(yǔ)言中,刪除一個(gè)表的命令是(B)ADELETEBDROPCCLEARDREMORE3、關(guān)系數(shù)據(jù)庫(kù)中,主鍵是(A)A、為標(biāo)識(shí)表中唯一的實(shí)體B、創(chuàng)建唯一的索引,允許空值C、只允許以表中第一字段建立D、允許有多個(gè)主鍵的4、在Transact-SQL語(yǔ)法中,SELECT語(yǔ)句的完整語(yǔ)法較復(fù)雜,但至少包括的部分(1_B),使用關(guān)鍵字(2_A)可以把重復(fù)行屏蔽,將多個(gè)查詢結(jié)果返回一個(gè)結(jié)果集合的運(yùn)算符是(3_B),如果在SELECT語(yǔ)句中使用聚合函數(shù)時(shí),一定在后面使用(4_A)。⑴A、SELECT,INTOB、SELECT,F(xiàn)ROMC、SELECT,GROUPD、僅SELECT⑵A、DISTINCTB、UNIONC、ALLD、TOP⑶A、JOINB、UNIONC、INTOD、LIKE⑷A、GROUPBYB、COMPUTEBYC、HAVINGD、COMPUTE5、語(yǔ)句DBCCSHRINKDATABASE(Sample,25)中的25表示的意思是(B)A、25MB、剩余占整個(gè)空間的25%C、已用空間占整個(gè)空間的25%D、以上都不對(duì)6、在SQL語(yǔ)言中,如果要建立一個(gè)工資表包含職工號(hào),姓名,職稱。工資等字段。若要保證工資字段的取值不低于800元,最合適的實(shí)現(xiàn)方法是:(B)A。在創(chuàng)建工資表時(shí)為”工資“字段建立缺省B。在創(chuàng)建工資表時(shí)為”工資“字段建立檢查約束。。在工資表建立一個(gè)觸發(fā)器D。為工資表數(shù)據(jù)輸入編寫(xiě)一個(gè)程序進(jìn)行控制7、Select語(yǔ)句中用來(lái)連接字符串的符號(hào)是(A).TOC\o"1-5"\h\z“+”“&”“||”“|”8、聚合函數(shù)不可以用在下列哪個(gè)語(yǔ)句中(E)A)SELECT子句B)HAVING子句C)WHERE子句D)子查詢E)ORDERBYF)GROUPBY9、在視圖上不能完成的操作是(C)。更新視圖查詢?cè)谝晥D上定義新的表在視圖上定義新的視圖10、SQL語(yǔ)言集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體,其中,CREATE、DROP、ALTER語(yǔ)句是實(shí)現(xiàn)哪種功能(C)。數(shù)據(jù)查詢數(shù)據(jù)操縱數(shù)據(jù)定義數(shù)據(jù)控制11、在sqlserver2005的E-R模型里有“客戶”和“訂單”兩個(gè)實(shí)體,他們的關(guān)系是“客戶”發(fā)出“訂單“,在訂單這個(gè)實(shí)體里面又有”客戶編碼"”產(chǎn)品編碼“等屬性,”客戶”與”訂單”之間的關(guān)系(C)一對(duì)一一對(duì)多多對(duì)多循環(huán)對(duì)應(yīng)12、在sqlserver中如果要建立一個(gè)工資表:包含:職工號(hào),姓名。職稱,工資等字段,若要保證工資的字段不低于800元,最適合的實(shí)現(xiàn)方法是(B)在創(chuàng)建工資表的時(shí)候?yàn)椤肮べY”字段建立默認(rèn)約束在創(chuàng)建工資表的時(shí)候?yàn)椤肮べY”字段建立檢查約束C?在創(chuàng)建工資表的時(shí)候?yàn)椤肮べY”字段建立唯一約束D.在為工資表輸入編寫(xiě)一個(gè)程序進(jìn)行控制13、在SQLServer2005數(shù)據(jù)庫(kù)中,使用T-SQL編程時(shí),下列()語(yǔ)句可以從WHILE語(yǔ)句塊中退出(C)CONTINUEEXITBREAKCLOSE14、在SQLServer2005中,現(xiàn)在向數(shù)據(jù)庫(kù)表Holiday中插入1000條記錄,但是只要有一條記錄插入不成功,則已經(jīng)插入Holiday表的數(shù)據(jù)就全部撤銷插入,那么我們用來(lái)實(shí)現(xiàn)這一要求的處理是(C)視圖索引事務(wù)刪除15、在sqlserver2005數(shù)據(jù)庫(kù)中下面(C)做法可以提高查詢的性能在查詢的相關(guān)的字段上建立約束,以進(jìn)行數(shù)據(jù)的完整性檢查通過(guò)視圖進(jìn)行查詢?nèi)绻侄谓?jīng)常出現(xiàn)在查詢輸入中,考慮為其建立聚集索引或者非聚集索引應(yīng)該為查詢排序的字段創(chuàng)建存儲(chǔ)過(guò)程16、在進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),設(shè)計(jì)者應(yīng)當(dāng)按照數(shù)據(jù)庫(kù)的設(shè)計(jì)范式進(jìn)行數(shù)據(jù)設(shè)計(jì),以下關(guān)于三大范式說(shuō)法錯(cuò)誤的是(B)第一范式的目的是確保每列的原子性第三范式在第二范式的基礎(chǔ)上,確保表中的每行都和主鍵相關(guān)第二范式在第一范式的基礎(chǔ)上,確保表中的每行都和主鍵相關(guān)第三范式在第二范式的基礎(chǔ)上,確保表中的每行都和主鍵直接相關(guān),而不是間接相關(guān)17、在SQLServer2005數(shù)據(jù)庫(kù)中,要使用SQL語(yǔ)句刪除一個(gè)名稱為ABC的數(shù)據(jù)庫(kù),正確的是(C)DROPABCTRUNCATEABCDROPDATABASEABCDELETEDATABASEABC18、在SQLServer2005中,正確執(zhí)行存儲(chǔ)過(guò)程MY_PROC的語(yǔ)句為(B)。RUNMY_PROCEXECMY_PROCSTARTMY_PROCSHELLMY_PROC19、在SQLServer2005數(shù)據(jù)庫(kù)中,(B)可以被看成虛擬的表。函數(shù)視圖索引存儲(chǔ)過(guò)程20、在SQLServer2005中使用T-SQL編程時(shí),聲明數(shù)據(jù)類型為數(shù)字(小數(shù)點(diǎn)左側(cè)可存儲(chǔ)16位,小數(shù)點(diǎn)右側(cè)可存儲(chǔ)2位),名稱為Price的局部變量的語(yǔ)句為(D)。DECLARE@@Pricefloat(18,2)DECLARE@Priceint(16,2)DECLARE@@Pricedecimal(16,2)DECLARE@Pricenumeric(18,2)二、簡(jiǎn)答題:1、什么是E-R模型?E-R模型的主要組成有哪些?答:實(shí)體聯(lián)系圖(E-R圖):實(shí)體-聯(lián)系方法(Entity-RelationshipApproach,即E-R圖法)是用來(lái)描述現(xiàn)實(shí)世界中概念模型的一種著名方法。E-R模型主要實(shí)體集、屬性和聯(lián)系的方法組成2、存儲(chǔ)過(guò)程的概念是什么?答:存儲(chǔ)過(guò)程(StoredProcedure)是一組為了完成特定功能的SQL語(yǔ)句集,經(jīng)編譯后存儲(chǔ)在數(shù)據(jù)庫(kù)中。用戶通過(guò)指定存儲(chǔ)過(guò)程的名字并給出參數(shù)(如果該存儲(chǔ)過(guò)程帶有參數(shù))來(lái)執(zhí)行它。3、有一個(gè)人事系統(tǒng)數(shù)據(jù)庫(kù),人員在入職的時(shí)候,往人員表中插入數(shù)據(jù),但,現(xiàn)要求人員入答:職的同時(shí),講該人員登記到考勤表和薪資表,可以不可以實(shí)現(xiàn),用什么技術(shù)實(shí)現(xiàn)!答:可以,使用觸發(fā)器,在人員數(shù)據(jù)插入到人員表的后,使用觸發(fā)器技術(shù)更新到考勤表和薪資表即可。4、哪些情況下不應(yīng)該使用索引?答:1.表很小的情況下,沒(méi)有必要使用索引不經(jīng)常在Where后使用的比較字段如果表數(shù)據(jù)需要頻繁修改,不建議使用索引如果查詢返回記錄很多,不建議使用索引如果where后含ISNULL/ISNOTNULL/like‘%輸入符%’等條件,不建議使用索引。5、什么是事務(wù)?答:事務(wù)就是被綁定在一起作為一個(gè)邏輯工作單元的SQL語(yǔ)句分組,如果任何一個(gè)語(yǔ)句操作失敗那么整個(gè)操作就被失敗,以后操作就會(huì)回滾到操作前狀態(tài),或者是上有個(gè)節(jié)點(diǎn)。為了確保要么執(zhí)行,要么不執(zhí)行,就可以使用事務(wù)。事務(wù)有四個(gè)特性,分別是:原子性,一致性,隔離性和持久性。6、索引的作用?和它的優(yōu)點(diǎn)缺點(diǎn)是什么?答:索引就一種特殊的查詢表,數(shù)據(jù)庫(kù)的搜索引擎可以利用它加速對(duì)數(shù)據(jù)的檢索。索引很類似與現(xiàn)實(shí)生活中書(shū)的目錄,不需要查詢整本書(shū)內(nèi)容就可以找到想要的數(shù)據(jù)。索引可以是唯一的,創(chuàng)建索引允許指定單個(gè)列或者是多個(gè)列。缺點(diǎn)是它減慢了數(shù)據(jù)錄入的速度,同時(shí)也增加了數(shù)據(jù)庫(kù)的尺寸大小。7、什么是數(shù)據(jù)庫(kù)鎖?答:鎖是用來(lái)在多個(gè)用戶同時(shí)訪問(wèn)同一個(gè)表的時(shí)候保護(hù)數(shù)據(jù)的。它是Oracle的一種并發(fā)控制技術(shù)。鎖使數(shù)據(jù)庫(kù)最大并發(fā)的情況下保證數(shù)據(jù)的完整性。Oracle會(huì)在需要的時(shí)候自動(dòng)的提供鎖的功能。8、視圖的作用是什么?答:1.數(shù)據(jù)庫(kù)視圖隱藏了數(shù)據(jù)的復(fù)雜性。數(shù)據(jù)庫(kù)視圖有利于控制用戶對(duì)表中某些列的訪問(wèn)。數(shù)據(jù)庫(kù)視圖使用戶查詢變得簡(jiǎn)單。9、什么是觸發(fā)器(trigger)?答:觸發(fā)器是數(shù)據(jù)庫(kù)中由一個(gè)時(shí)間觸發(fā)的特殊的存儲(chǔ)過(guò)程,他不是由程序條用也不是手工啟動(dòng)的。觸發(fā)器的執(zhí)行可以由對(duì)一個(gè)表的insert,delete,update等操作來(lái)觸發(fā),觸發(fā)器經(jīng)常用于加強(qiáng)數(shù)據(jù)的完整性約束和業(yè)務(wù)規(guī)則等等。10、試解釋COMMIT操作和ROLLBACK操作的語(yǔ)義。答:COMMIT語(yǔ)句表示事務(wù)執(zhí)行成功地結(jié)束(提交),此時(shí)告訴系統(tǒng),數(shù)據(jù)庫(kù)要進(jìn)入一個(gè)新的正確狀態(tài),該事務(wù)對(duì)數(shù)據(jù)庫(kù)的所有更新都已交付實(shí)施(寫(xiě)入磁盤(pán))。ROLLBACK語(yǔ)句表示事務(wù)執(zhí)行不成功地結(jié)束(應(yīng)該“回退”),此時(shí)告訴系統(tǒng),已發(fā)生錯(cuò)誤,數(shù)據(jù)庫(kù)可能處在不正確的狀態(tài),該事務(wù)對(duì)數(shù)據(jù)庫(kù)的所有更新必須被撤銷,數(shù)據(jù)庫(kù)應(yīng)恢復(fù)該事務(wù)到初始狀態(tài)。三、編程題第一題:張表,學(xué)生表S,課程C,學(xué)生課程表SC,學(xué)生可以選修多門(mén)課程,一門(mén)課程可以被多個(gè)學(xué)生選修,通過(guò)SC表關(guān)聯(lián);(SQL)寫(xiě)出建表語(yǔ)句;答:建表語(yǔ)句如下(mysql數(shù)據(jù)庫(kù)):createtables(idintegerprimarykey,namevarchar(20));createtablec(idintegerprimarykey,namevarchar(20));createtablesc(sidintegerreferencess(id),cidintegerreferencesc(id),primarykey(sid,cid));寫(xiě)出SQL語(yǔ)句,查詢選修了所有選修課程的學(xué)生;答:SQL語(yǔ)句如下:selectstu.id,fromsstuwhere(selectcount(*)fromscwheresid=stu.id)=(selectcount(*)fromc);寫(xiě)出SQL語(yǔ)句,查詢選修了至少5門(mén)以上的課程的學(xué)生。答:SQL語(yǔ)句如下:selectstu.id,fromsstuwhere(selectcount(*)fromscwheresid=stu.id)>=5;第二題:有3個(gè)表:(SQL)Student學(xué)生表(學(xué)號(hào),姓名,性別,年齡,組織部門(mén))Course課程表(編號(hào),課程名稱)Sc選課表(學(xué)號(hào),課程編號(hào),成績(jī))表結(jié)構(gòu)如下:寫(xiě)一個(gè)SQL語(yǔ)句,查詢選修了’計(jì)算機(jī)原理’的學(xué)生學(xué)號(hào)和姓名(3分鐘)答:SQL語(yǔ)句如下:selectstu.sno,stu.snamefromStudentstuwhere(selectcount(*)fromscwheresno=stu.snoandcno=(selectcnofromCoursewherecname=’計(jì)算機(jī)原理’))!=0;寫(xiě)一個(gè)SQL語(yǔ)句,查詢’周星馳’同學(xué)選修了的課程名字(3分鐘)答:SQL語(yǔ)句如下:selectcnamefromCoursewherecnoin(selectcnofromscwheresno=(selectsnofromStudentwheresname=’周星馳’));寫(xiě)一個(gè)SQL語(yǔ)句,查詢選修了5門(mén)課程的學(xué)生學(xué)號(hào)和姓名(9分鐘)答:SQL語(yǔ)句如下:selectstu.sno,stu.snamefromstudentstuwhere(selectcount(*)fromscwheresno=stu.sno)=5;第三題:編寫(xiě)SQL語(yǔ)句創(chuàng)建一張學(xué)生表,包含以下信息,學(xué)號(hào),姓名,年齡,性別,家庭住址,聯(lián)系電話Createtablestu(學(xué)號(hào)int,姓名varchar(8),年齡int,性別varchar(4),家庭地址varchar(50),聯(lián)系電話int);2)修改學(xué)生表的結(jié)構(gòu),添加一列信息,學(xué)歷Altertablestuadd學(xué)歷varchar(6);3)修改學(xué)生表的結(jié)構(gòu),刪除一列信息,家庭住址Altertablestudropcolumn家庭地址4)向?qū)W生表添加如下信息:學(xué)號(hào)姓名年齡性別聯(lián)系電話學(xué)歷1A22男123456小學(xué)2B21男119中學(xué)3C23男110高中4D18女114大學(xué)Insertintostuvalues(1,’A’,22,’男’,123456,’小學(xué)’)Insertintostuvalues(2,’B’,21,’男’,119,’中學(xué)’)Insertintostuvalues(3,’C’,23,’男’,110,’高中’)Insertintostuvalues(4,’D’,18,’女’,114,’大學(xué)’)5)修改學(xué)生表的數(shù)據(jù),將電話號(hào)碼以11開(kāi)頭的學(xué)員的學(xué)歷改為“大專”Updatestuset學(xué)歷=’大?!痺here聯(lián)系電話like‘11%’6)刪除學(xué)生表的數(shù)據(jù),姓名以C開(kāi)頭,性別為‘男’的記錄刪除Delectfromstuwhere性別=’男’and姓名like‘c%’7)查詢學(xué)生表的數(shù)據(jù),將所有年齡小于22歲的,學(xué)歷為“大?!钡模瑢W(xué)生的姓名和學(xué)號(hào)示出來(lái)Select姓名,學(xué)號(hào)fromstuwhere年齡<22and學(xué)歷=’大?!?)查詢學(xué)生表的數(shù)據(jù),查詢所有信息,列出前25%的記錄Selecttop25percent*fromstu9)查詢出所有學(xué)生的姓名,性別,年齡降序排列Select姓名,性別fromstuorderby年齡desc10)按照性別分組查詢所有的平均年齡Selectavg(年齡)fromstugroupby性別第四題:學(xué)生成績(jī)信息三個(gè)表,結(jié)構(gòu)如下:學(xué)生表:Member字段名稱數(shù)據(jù)類型說(shuō)明MIDChar(10)學(xué)生號(hào),主鍵MNameChar(50)姓名課程表:
字段名稱數(shù)據(jù)類型說(shuō)明FIDChar(10)課程,主鍵FNameChar(50)課程名成績(jī)表:Score字段名稱數(shù)據(jù)類型說(shuō)明SIDint自動(dòng)編號(hào),主鍵,成績(jī)記錄號(hào)FIDChar(10)課程號(hào),外鍵MIDChar(10)學(xué)生號(hào),外鍵Scoreint成績(jī)請(qǐng)編寫(xiě)T-SQL語(yǔ)句來(lái)實(shí)現(xiàn)如下功能:1查詢各個(gè)學(xué)生語(yǔ)文、數(shù)學(xué)、英語(yǔ)、歷史課程成績(jī),例如下表:SELECTMember.MNameAS姓名,英語(yǔ)=英語(yǔ)=SUM(CASEF.FNameWHEN數(shù)學(xué)=SUM(CASEF.FNameWHEN語(yǔ)文=SUM(CASEF.FNameWHEN歷史=SUM(CASEF.FNameWHEN語(yǔ)文'THENScore.ScoreEND),數(shù)學(xué)'THENScore.ScoreEND),英語(yǔ)'THENScore.ScoreEND),歷史'THENScore.ScoreEND)FROMScore,Member,FWHEREF.FID=Score.FIDANDMember.MID=Score.MIDGROUPBYMember.MName姓名語(yǔ)文數(shù)學(xué)英語(yǔ)歷史張薩78678976王強(qiáng)89678496李三70879256李四807897662查詢四門(mén)課中成績(jī)低于70分的學(xué)生及相對(duì)應(yīng)課程名和成績(jī)。select姓名=(selectMNamefromMemberwhereMID=Score.MID),課程名=(selectFNamefromFwhereFID=Score.FID),成績(jī)=ScorefromScorewhereScore<703統(tǒng)計(jì)各個(gè)學(xué)生參加考試課程的平均分,且按平均分?jǐn)?shù)由高到底排序。select姓名=(selectMNamefromMemberwhereMID=Score.MID),平均分=Avg(Score)fromScoregroupbyMIDorderby平均分desc4創(chuàng)建存儲(chǔ)過(guò)程,分別查詢參加1、2、3、4門(mén)考試及沒(méi)有參加考試的學(xué)生名單,要求顯示姓名、學(xué)號(hào)。ifexists(select*fromsysobjectswherename='P_stu')dropprocedureP_stuGOcreateprocedureP_stu
@numintAsprint'參加'+convert(varchar(5),@num)+'門(mén)課考試的學(xué)生姓名及學(xué)號(hào):’select姓名=(selectMNamefromMemberwhereMID=Score.MID),學(xué)號(hào)=MIDfromScoregroupbyMIDhavingcount(*)=@num第五題:程序員工資表:ProWage字段名稱數(shù)據(jù)類型說(shuō)明IDint自動(dòng)編號(hào),主鍵PNameChar(10)程序員姓名Wageint工資創(chuàng)建一個(gè)存儲(chǔ)過(guò)程,對(duì)程序員的工資進(jìn)行分析,月薪1500到10000不等,如果有百分之五十的人薪水不到2000元,給所有人加薪,每次加100,再進(jìn)行分析,直到有一半以上的人大于2000元為止,存儲(chǔ)過(guò)程執(zhí)行完后,最終加了多少錢(qián)?例如:如果有百分之五十的人薪水不到2000,給所有人加薪,每次加100元,直到有一半以上的人工資大于2000元,調(diào)用存儲(chǔ)過(guò)程后的結(jié)果如圖:一共加薪:m口元加薪后的程序員工資列表:IDPNaiiieWage鳥(niǎo)三四月天音張李二藍(lán)2000130019003600鳥(niǎo)三四
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)于水電安裝合同范本
- 出國(guó)保姆合同范本
- 拌合站加工合同范本
- 萬(wàn)科景觀合同范本
- 北京市裝飾合同范例
- 冷庫(kù)玉米加工合同范本
- 合作送外賣(mài)合同范例
- 公司結(jié)算合同范本
- 地基注漿加固合同范本
- 光伏發(fā)電代理合同范本
- 英語(yǔ)演講素材OfMiceandMen課件
- 歐洲鼻竇炎共識(shí)解讀 EPOS 2020
- 第5章 海洋資源開(kāi)發(fā)與管理
- 工業(yè)氣體企業(yè)公司組織架構(gòu)圖職能部門(mén)及工作職責(zé)
- 稅收基礎(chǔ)知識(shí)考試題庫(kù)
- 1t燃?xì)庹羝仩t用戶需求(URS)(共13頁(yè))
- 廣發(fā)證券分支機(jī)構(gòu)人員招聘登記表
- 電工每日巡查簽到表
- 機(jī)電一體化系統(tǒng)設(shè)計(jì)課件姜培剛[1]
- 傷寒題目及答案
- (完整版)CNC84操作手冊(cè)
評(píng)論
0/150
提交評(píng)論