




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫(kù)筆試題(含參考答案)現(xiàn)在有個(gè)表:A(id ,name,regdate)B(id,groupid) C(id,name2)寫(xiě)出下面的SQL語(yǔ)句1.統(tǒng)計(jì)A表中每個(gè)月注冊(cè)用戶數(shù)2.統(tǒng)計(jì)A表中有姓名相同的用戶數(shù)3.如果表A中有姓名相同的用戶,把相同的查出,寫(xiě)入表C中4.A中ID有多個(gè)相同的數(shù)據(jù),A中姓名相同的ID只保留注冊(cè)時(shí)間最大的數(shù)據(jù)大家?guī)蛶兔?寫(xiě)一下吧1select count(*),to_char(regdate,yyyymm) from A group by to_char(regdate,yyyymm);2select count(*) from (select name from A
2、 group by name having count(*) 1);3 insert into C(name2) select name from A group by name having count(*) 1;4delete from A E where e.regdate select to_date(2007/02/12,yyyy/mm/dd) from dual;TO_DATE(2007/02/12,YYYY/MM/-2007-2-12十個(gè)經(jīng)典的數(shù)據(jù)庫(kù)面試問(wèn)題1.磁盤(pán)柜上有14塊73G的磁盤(pán), 數(shù)據(jù)庫(kù)為200G 大小包括日志文件,如何設(shè)置磁盤(pán)(要說(shuō)明這14磁盤(pán)是怎么用的)?2.有兩
3、服務(wù)器群集,分別為node1和node2 現(xiàn)在要打win200系統(tǒng)補(bǔ)丁,打完后,要重新啟動(dòng),如何打補(bǔ)丁,不能影響用戶使用(要用群集的術(shù)語(yǔ)詳細(xì)說(shuō)明)。3.有一個(gè)A 數(shù)據(jù)庫(kù),分別復(fù)制到B和C B 要求 每次數(shù)據(jù)更新 也同時(shí)更新,C 每天更新一次就行,如何制定復(fù)制策略!4.有一個(gè)order 表,有90個(gè)字段,20個(gè)索引,15個(gè)復(fù)合索引,其中有3個(gè)索引字段超過(guò)10個(gè),如何進(jìn)行優(yōu)化5.有一個(gè)數(shù)據(jù)庫(kù)200G大小,每天增加50M 允許用戶隨時(shí)訪問(wèn),制定備份策略(詳細(xì)說(shuō)明)。6.管理50臺(tái)數(shù)據(jù)庫(kù),日常工作是檢查數(shù)據(jù)庫(kù)作業(yè)是否完成,你該如何完成這項(xiàng)檢查工作?7.自定義函數(shù)和存儲(chǔ)過(guò)程的區(qū)別是什么,什么情況下只能用
4、自定義函數(shù),什么情況下只能用存儲(chǔ)過(guò)程8.SQL 2005 的新特性是什么 ? 與oracle 有什么區(qū)別?9.DBA 的品質(zhì)應(yīng)該有哪些,你有哪些, 有什么欠缺的?10。如果想配置SQL Mail 應(yīng)該在服務(wù)器安裝哪些軟件!數(shù)據(jù)庫(kù)面試問(wèn)題答案1.磁盤(pán)柜上有14塊73G的磁盤(pán), 數(shù)據(jù)庫(kù)為200G 大小包括日志文件,如何設(shè)置磁盤(pán)(要說(shuō)明這14磁盤(pán)是怎么用的)?這個(gè)問(wèn)題應(yīng)該是考察硬件知識(shí)和數(shù)據(jù)庫(kù)物理部署。首先需要知道這些磁盤(pán)是否要用于存放數(shù)據(jù)庫(kù)備份文件和數(shù)據(jù)庫(kù)性能(讀/寫(xiě))要求。來(lái)決定raid的級(jí)別。1)、如果偏重于性能考慮,而且不用存放數(shù)據(jù)庫(kù)備份文件的話,考慮使用raid0+1,這樣可使用的磁盤(pán)容量
5、為:14*73*50%=511G。2)、如果讀/寫(xiě)性能要求不高,而且還比較摳門(mén)的話,可以考慮raid5,這樣可使用的磁盤(pán)容量為:13*73=949G。至于如何使用應(yīng)該是說(shuō)數(shù)據(jù)庫(kù)物理文件的部署。注意說(shuō)出將tempdb,data file,log file分開(kāi)存放以減少I/O競(jìng)爭(zhēng)即可。其實(shí)現(xiàn)在的條帶化磁盤(pán)一般都會(huì)自動(dòng)將文件分存,人為的分布已經(jīng)越來(lái)越不重要了。2.有兩服務(wù)器群集,分別為node1和node2 現(xiàn)在要打win200系統(tǒng)補(bǔ)丁,打完后,要重新啟動(dòng),如何打補(bǔ)丁,不能影響用戶使用(要用群集的術(shù)語(yǔ)詳細(xì)說(shuō)明)。這個(gè)具體操作有點(diǎn)忘了。大致是:首先看哪個(gè)節(jié)點(diǎn)正在使用,通過(guò)節(jié)點(diǎn)IP(私有)訪問(wèn)另一個(gè)空閑
6、節(jié)點(diǎn),為其打上補(bǔ)丁,然后在群集管理器中停止該節(jié)點(diǎn)(也可以用命令行方式),重新啟動(dòng)。等到啟動(dòng)完畢,將切換使用節(jié)點(diǎn),為另一個(gè)節(jié)點(diǎn)打補(bǔ)丁。然后重新啟動(dòng)。3.有一個(gè)A 數(shù)據(jù)庫(kù),分別復(fù)制到B和C B 要求 每次數(shù)據(jù)更新 也同時(shí)更新,C 每天更新一次就行,如何制定復(fù)制策略!這個(gè)應(yīng)該考察的是復(fù)制知識(shí)。a-b1)、如果使用SQL Server復(fù)制功能,那么讓a-b使用事務(wù)性復(fù)制方式(同步復(fù)制)。2)、如果表不多,也可以自己寫(xiě)觸發(fā)器,利用linkserver+distribute transaction。a-c1)、如果使用SQL Server復(fù)制功能,那么讓a-b使用快照復(fù)制方式,在某一時(shí)間點(diǎn)進(jìn)行一次性復(fù)制。
7、2)、也可以自己寫(xiě)bat,將a備份后,通過(guò)ftp傳輸備份介質(zhì),恢復(fù)c。(比較麻煩,不推薦)4.有一個(gè)order 表,有90個(gè)字段,20個(gè)索引,15個(gè)復(fù)合索引,其中有3個(gè)索引字段超過(guò)10個(gè),如何進(jìn)行優(yōu)化這個(gè)問(wèn)題問(wèn)的比較沒(méi)水平。你不詳細(xì)說(shuō)明這個(gè)表的使用方式(讀寫(xiě)類的,還是幾乎是靜態(tài)表),就問(wèn)人家怎么優(yōu)化?!還不如問(wèn)問(wèn)索引的分布訪問(wèn)原理更好??吹贸鏊拖胱屇阏f(shuō):那三個(gè)索引超過(guò)10個(gè),B樹(shù)遍例效率很低,適當(dāng)減少字段數(shù)目。如果是SQL2005,可以將選擇性不好的字段放在“索引附加字段”中,以保證索引覆蓋。而且SQL Server由于有鎖升級(jí)的毛病,可以考慮拆開(kāi)表。5.有一個(gè)數(shù)據(jù)庫(kù)200G大小,每天增加5
8、0M 允許用戶隨時(shí)訪問(wèn),制定備份策略(詳細(xì)說(shuō)明)。這種情況可以采用增量備份方式。每周日做一次全備份,周一到周六作增量備份(由于數(shù)據(jù)量較少,可以考慮每30分鐘增量備份一次)。這樣可以盡量減少性能消耗,而且如果transaction log丟失的情況下,可以保證最多丟失30分鐘數(shù)據(jù)。6.管理50臺(tái)數(shù)據(jù)庫(kù),日常工作是檢查數(shù)據(jù)庫(kù)作業(yè)是否完成,你該如何完成這項(xiàng)檢查工作?這個(gè)比較簡(jiǎn)單。在每臺(tái)機(jī)器上建立linkserver,然后在DBA管理服務(wù)器上做個(gè)分布式視圖,每次查詢?cè)撘晥D,各個(gè)機(jī)器上的作業(yè)情況一目了然。分布式視圖寫(xiě)法:create view vw_jobasselect 機(jī)器一 as MName,*
9、from linkserver1.sysjobactivityunion allselect 機(jī)器二 as MName,* from linkserver2.sysjobactivityunion allselect 機(jī)器三 as MName,* from linkserver3.sysjobactivity。7.自定義函數(shù)和存儲(chǔ)過(guò)程的區(qū)別是什么,什么情況下只能用自定義函數(shù),什么情況下只能用存儲(chǔ)過(guò)程這個(gè)應(yīng)該是考察存儲(chǔ)過(guò)程編寫(xiě)經(jīng)驗(yàn)。一般自定義函數(shù)主要用于其他sql中的調(diào)用,如:select yourfunc(.) from table這種情況下,一般只能通過(guò)函數(shù)實(shí)現(xiàn)。存儲(chǔ)過(guò)程的功能要遠(yuǎn)遠(yuǎn)強(qiáng)于函數(shù)
10、,例如動(dòng)態(tài)執(zhí)行sql(sp_executesql)的使用和一些特殊的功能,自定義函數(shù)中是不支持的,只能用存儲(chǔ)過(guò)程實(shí)現(xiàn)。8.SQL 2005 的新特性是什么 ? 與oracle 有什么區(qū)別?SQL 2005 的新特性一般都是和Oracle學(xué)的。下面是當(dāng)時(shí)被leimin逼著寫(xiě)的,你可以做個(gè)參考:一、數(shù)據(jù)庫(kù)設(shè)計(jì)方面1、字段類型。varchar(max)nvarchar(max)類型的引入大大的提高了編程的效率,可以使用字符串函數(shù)對(duì)CLOB類型進(jìn)行操作,這是一個(gè)亮點(diǎn)。但是這就引發(fā)了對(duì)varchar和char效率討論的老問(wèn)題。到底如何分配varchar的數(shù)據(jù),是否會(huì)出現(xiàn)大規(guī)模的碎片?是否碎片會(huì)引發(fā)效率問(wèn)
11、題?這都是需要進(jìn)一步探討的東西。varbinary(max)代替image也讓SQL Server的字段類型更加簡(jiǎn)潔統(tǒng)一。XML字段類型更好的解決了XML數(shù)據(jù)的操作。XQuery確實(shí)不錯(cuò),但是個(gè)人對(duì)其沒(méi)好感。(CSDN的開(kāi)發(fā)者應(yīng)該是相當(dāng)?shù)氖炝耍。?、外鍵的級(jí)聯(lián)更能擴(kuò)展可能大部分的同行在設(shè)計(jì)OLTP系統(tǒng)的時(shí)候都不愿意建立外鍵,都是通過(guò)程序來(lái)控制父子數(shù)據(jù)的完整性。但是再開(kāi)發(fā)調(diào)試階段和OLAP環(huán)境中,外鍵是可以建立的。新版本中加入了SET NULL 和 SET DEFAULT 屬性,能夠提供能好的級(jí)聯(lián)設(shè)置。3、索引附加字段這是一個(gè)不錯(cuò)的新特性。雖然索引的附加字段沒(méi)有索引鍵值效率高,但是相對(duì)映射到數(shù)據(jù)
12、表中效率還是提高了很多。我做過(guò)試驗(yàn),在我的實(shí)驗(yàn)環(huán)境中會(huì)比映射到表中提高30%左右的效率。4、計(jì)算字段的持久化原來(lái)的計(jì)算字段其實(shí)和虛擬字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了計(jì)算字段的持久化,這就提高了查詢的性能,但是會(huì)加重insert和update的負(fù)擔(dān)。OLTP慎用。OLAP可以大規(guī)模使用。5、分區(qū)表分區(qū)表是個(gè)亮點(diǎn)!從分區(qū)表也能看出微軟要做大作強(qiáng)SQL Server的信心。資料很多,這里不詳細(xì)說(shuō)。但是重點(diǎn)了解的是:現(xiàn)在的SQL Server2005的表,都是默認(rèn)為分區(qū)表的。因?yàn)樗С只瑒?dòng)窗口的這個(gè)特性。這種特性對(duì)歷史數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)的處理是很有幫助的。但是需
13、要注意的一點(diǎn),也是我使用過(guò)程中發(fā)現(xiàn)的一個(gè)問(wèn)題。在建立function-schema-table后,如果在現(xiàn)有的分區(qū)表上建立沒(méi)有顯式聲明的聚集索引時(shí),分區(qū)表會(huì)自動(dòng)變?yōu)榉欠謪^(qū)表。這一點(diǎn)很讓我納悶。如果你覺(jué)得我的非分區(qū)索引無(wú)法對(duì)起子分區(qū),你可以提醒我一下呀!沒(méi)有任何的提醒,直接就變成了非分區(qū)表。不知道這算不算一個(gè)bug。大家也可以試試。分區(qū)表效率問(wèn)題肯定是大家關(guān)心的問(wèn)題。在我的試驗(yàn)中,如果按照分區(qū)字段進(jìn)行的查詢(過(guò)濾)效率會(huì)高于未分區(qū)表的相同語(yǔ)句。但是如果按照非分區(qū)字段進(jìn)行查詢,效率會(huì)低于未分區(qū)表的相同語(yǔ)句。但是隨著數(shù)據(jù)量的增大,這種成本差距會(huì)逐漸減小,趨于相等。(500萬(wàn)數(shù)量級(jí)只相差10%左右)6
14、、CLR類型微軟對(duì)CLR作了大篇幅的宣傳,這是因?yàn)閿?shù)據(jù)庫(kù)產(chǎn)品終于融入.net體系中。最開(kāi)始我們也是狂喜,感覺(jué)對(duì)象數(shù)據(jù)庫(kù)的一些概念可以實(shí)現(xiàn)了。但是作了些試驗(yàn),發(fā)現(xiàn)使用CLR的存儲(chǔ)過(guò)程或函數(shù)在達(dá)到一定的閥值的時(shí)候,系統(tǒng)性能會(huì)呈指數(shù)級(jí)下滑!這是非常危險(xiǎn)的!只使用幾個(gè)可能沒(méi)有問(wèn)題,當(dāng)一旦大規(guī)模使用會(huì)造成嚴(yán)重的系統(tǒng)性能問(wèn)題!其實(shí)可以做一下類比,Oracle等數(shù)據(jù)庫(kù)產(chǎn)品老早就支持了java編程,而且提供了java池參數(shù)作為用戶配置接口。但是現(xiàn)在有哪些系統(tǒng)大批使用了java存儲(chǔ)過(guò)程?!連Oracle自己的應(yīng)用都不用為什么?!還不是性能有問(wèn)題!否則面向?qū)ο蟮臄?shù)據(jù)庫(kù)早就實(shí)現(xiàn)了!建議使用CLR的地方一般是和應(yīng)用的
15、復(fù)雜程度或操作系統(tǒng)環(huán)境有很高的耦合度的場(chǎng)景。如你想構(gòu)建復(fù)雜的算法,并且用到了大量的指針和高級(jí)數(shù)據(jù)模型?;蛘呤且筒僮飨到y(tǒng)進(jìn)行Socket通訊的場(chǎng)景。否則建議慎重!7、索引視圖索引視圖2k就有。但是2005對(duì)其效率作了一些改進(jìn)但是schema.viewname的作用域真是太限制了它的應(yīng)用面。還有一大堆的環(huán)境參數(shù)和種種限制都讓人對(duì)它有點(diǎn)卻步。8、語(yǔ)句和事務(wù)快照語(yǔ)句級(jí)快照和事務(wù)級(jí)快照終于為SQL Server的并發(fā)性能帶來(lái)了突破。個(gè)人感覺(jué)語(yǔ)句級(jí)快照大家應(yīng)該應(yīng)用。事務(wù)級(jí)快照,如果是高并發(fā)系統(tǒng)還要慎用。如果一個(gè)用戶總是被提示修改不成功要求重試時(shí),會(huì)殺人的!9、數(shù)據(jù)庫(kù)快照原理很簡(jiǎn)單,對(duì)要求長(zhǎng)時(shí)間計(jì)算某一時(shí)
16、間點(diǎn)的報(bào)表生成和防用戶操作錯(cuò)誤很有幫助。但是比起Oracle10g的閃回技術(shù)還是細(xì)粒度不夠??上?!10、MirrorMirror可以算是SQL Server的Data guard了。但是能不能被大伙用起來(lái)就不知道了。二、開(kāi)發(fā)方面1、Ranking函數(shù)集其中最有名的應(yīng)該是row_number了。這個(gè)終于解決了用臨時(shí)表生成序列號(hào)的歷史,而且SQL Server2005的row_number比Oracle的更先進(jìn)。因?yàn)樗袿rder by集成到了一起,不用像Oracle那樣還要用子查詢進(jìn)行封裝。但是大家注意一點(diǎn)。如下面的例子:select ROW_NUMBER() OVER (order by aa
17、)from tblorder by bb會(huì)先執(zhí)行aa的排序,然后再進(jìn)行bb的排序。可能有的朋友會(huì)抱怨集成的order by,其實(shí)如果使用ranking函數(shù),Order by是少不了的。如果擔(dān)心Order by會(huì)影響效率,可以為order by的字段建立聚集索引,查詢計(jì)劃會(huì)忽略order by 操作(因?yàn)楸緛?lái)就是排序的嘛)。2、top可以動(dòng)態(tài)傳入?yún)?shù),省卻了動(dòng)態(tài)SQL的拼寫(xiě)。3、Apply對(duì)遞歸類的樹(shù)遍歷很有幫助。4、CTE個(gè)人感覺(jué)這個(gè)真是太棒了!閱讀清晰,非常有時(shí)代感。5、try/catch代替了原來(lái)VB式的錯(cuò)誤判斷。比Oracle高級(jí)不少。6、pivot/unpivot個(gè)人感覺(jué)沒(méi)有case直
18、觀。而且默認(rèn)的第三字段(還可能更多)作為group by字段很容易造成新手的錯(cuò)誤。三、DBA管理方面1、數(shù)據(jù)庫(kù)級(jí)觸發(fā)器記得在最開(kāi)始使用2k的時(shí)候就要用到這個(gè)功能,可惜2k沒(méi)有,現(xiàn)在有了作解決方案的朋友會(huì)很高興吧。2、多加的系統(tǒng)視圖和實(shí)時(shí)系統(tǒng)信息這些東西對(duì)DBA挑優(yōu)非常有幫助,但是感覺(jué)粒度還是不太細(xì)。3、優(yōu)化器的改進(jìn)一直以來(lái)個(gè)人感覺(jué)SQL Server的優(yōu)化器要比Oracle的聰明。SQL2005的更是比2k聰明了不少。(有次作試驗(yàn)發(fā)現(xiàn)有的語(yǔ)句在200萬(wàn)級(jí)時(shí)還比50萬(wàn)級(jí)的相同語(yǔ)句要快show_text的一些提示沒(méi)有找到解釋。一直在奇怪。)論壇例子:4、profiler的新事件觀察這一點(diǎn)很好的加強(qiáng)
19、了profiler的功能。但是提到profiler提醒大家注意一點(diǎn)。windows2003要安裝sp1補(bǔ)丁才能啟動(dòng)profiler。否則點(diǎn)擊沒(méi)有反應(yīng)。5、sqlcmd習(xí)慣敲命令行的朋友可能會(huì)爽一些。但是功能有限。適合機(jī)器跑不動(dòng)SQL Server Management Studio的朋友使用。四、遺憾1、登陸的控制始終遺憾SQL Server的登陸無(wú)法分配CPU/內(nèi)存占用等指標(biāo)數(shù)。如果你的SQL Server給別人分配了一個(gè)只可以讀幾個(gè)表的權(quán)限,而這個(gè)家伙瘋狂的死循環(huán)進(jìn)行連接查詢,會(huì)給你的系統(tǒng)帶來(lái)很大的負(fù)擔(dān)。而SQL Server如果能像Oracle一樣可以為登陸分配如:5%的cpu,10%的
20、內(nèi)存。就可以解決這個(gè)漏洞。2、數(shù)據(jù)庫(kù)物理框架沒(méi)有變動(dòng)undo和redo都放在數(shù)據(jù)庫(kù)得transaction中,個(gè)人感覺(jué)是個(gè)敗筆。如果說(shuō)我們?cè)谠O(shè)計(jì)數(shù)據(jù)庫(kù)的時(shí)候考慮分多個(gè)數(shù)據(jù)庫(kù),可能能在一定程度上避免I/O效率問(wèn)題。但是同樣會(huì)為索引視圖等應(yīng)用帶來(lái)麻煩??纯葱屑?jí)和事務(wù)級(jí)的快照數(shù)據(jù)放在tempdb中,就能感覺(jué)到目前架構(gòu)的尷尬。3、還是沒(méi)有邏輯備份備份方面可能還是一個(gè)老大難的問(wèn)題。不能單獨(dú)備份幾個(gè)表總是感覺(jué)不爽。靈活備份的問(wèn)題不知道什么時(shí)候才能解決。4、SSIS(DTS)太復(fù)雜了SQL Server的異構(gòu)移植功能個(gè)人感覺(jué)最好了。(如果對(duì)比過(guò)SQL Server的鏈接服務(wù)器和Oracle的透明網(wǎng)關(guān)的朋友會(huì)
21、發(fā)現(xiàn)SQL Server的sp_addlinkedserver(openquery)異構(gòu)數(shù)據(jù)庫(kù)系列比Oracle真是強(qiáng)太多了。)以前的DTS輕盈簡(jiǎn)單。但是現(xiàn)在的SSIS雖然功能強(qiáng)大了很多,但是總是讓人感覺(jué)太麻煩??纯凑搲性儐?wèn)SSIS的貼子就知道。做的功能太強(qiáng)大了,往往會(huì)有很多用戶不會(huì)用了。與oracle 有什么區(qū)別?這個(gè)問(wèn)題相當(dāng)變態(tài)!不同點(diǎn)我能給他講一天!首先名字就不一樣嘛! :)9.DBA 的品質(zhì)應(yīng)該有哪些,你有哪些, 有什么欠缺的?略10。如果想配置SQL Mail 應(yīng)該在服務(wù)器安裝哪些軟件!需要哪些軟件?安個(gè)outlook express就可以了。sql server提供接口存儲(chǔ)過(guò)程,
22、非常簡(jiǎn)單。1. 磁盤(pán)柜上有14塊73G的磁盤(pán), 數(shù)據(jù)庫(kù)為200G 大小包括日志文件,如何設(shè)置磁盤(pán)(要說(shuō)明這14磁盤(pán)是怎么用的)?2.有兩服務(wù)器群集,分別為node1和node2 現(xiàn)在要打win200系統(tǒng)補(bǔ)丁,打完后,要重新啟動(dòng),如何打補(bǔ)丁,不能影響用戶使用(要用群集的術(shù)語(yǔ)詳細(xì)說(shuō)明)。3.有一個(gè)A 數(shù)據(jù)庫(kù),分別復(fù)制到B和C B 要求 每次數(shù)據(jù)更新 也同時(shí)更新,C 每天更新一次就行,如何制定復(fù)制策略!4.有一個(gè)order 表,有90個(gè)字段,20個(gè)索引,15個(gè)復(fù)合索引,其中有3個(gè)索引字段超過(guò)10個(gè),如何進(jìn)行優(yōu)化5.有一個(gè)數(shù)據(jù)庫(kù)200G大小,每天增加50M 允許用戶隨時(shí)訪問(wèn),制定備份策略(詳細(xì)說(shuō)明)。
23、6.管理50臺(tái)數(shù)據(jù)庫(kù),日常工作是檢查數(shù)據(jù)庫(kù)作業(yè)是否完成,你該如何完成這項(xiàng)檢查工作?7.自定義函數(shù)和存儲(chǔ)過(guò)程的區(qū)別是什么,什么情況下只能用自定義函數(shù),什么情況下只能用存儲(chǔ)過(guò)程8.SQL 2005 的新特性是什么 ? 與oracle 有什么區(qū)別?9.DBA 的品質(zhì)應(yīng)該有哪些,你有哪些, 有什么欠缺的?10。如果想配置SQL Mail 應(yīng)該在服務(wù)器安裝哪些軟件!ashzs(可以包含中文字符) 解答如下:1.磁盤(pán)柜上有14塊73G的磁盤(pán), 數(shù)據(jù)庫(kù)為200G 大小包括日志文件,如何設(shè)置磁盤(pán)(要說(shuō)明這14磁盤(pán)是怎么用的)?這個(gè)問(wèn)題應(yīng)該是考察硬件知識(shí)和數(shù)據(jù)庫(kù)物理部署。首先需要知道這些磁盤(pán)是否要用于存放數(shù)據(jù)庫(kù)
24、備份文件和數(shù)據(jù)庫(kù)性能(讀/寫(xiě))要求。來(lái)決定raid的級(jí)別。1)、如果偏重于性能考慮,而且不用存放數(shù)據(jù)庫(kù)備份文件的話,考慮使用raid0+1,這樣可使用的磁盤(pán)容量為:14*73*50%=511G。2)、如果讀/寫(xiě)性能要求不高,而且還比較摳門(mén)的話,可以考慮raid5,這樣可使用的磁盤(pán)容量為:13*73=949G。至于如何使用應(yīng)該是說(shuō)數(shù)據(jù)庫(kù)物理文件的部署。注意說(shuō)出將tempdb,data file,log file分開(kāi)存放以減少I/O競(jìng)爭(zhēng)即可。其實(shí)現(xiàn)在的條帶化磁盤(pán)一般都會(huì)自動(dòng)將文件分存,人為的分布已經(jīng)越來(lái)越不重要了。2.有兩服務(wù)器群集,分別為node1和node2 現(xiàn)在要打win200系統(tǒng)補(bǔ)丁,打完
25、后,要重新啟動(dòng),如何打補(bǔ)丁,不能影響用戶使用(要用群集的術(shù)語(yǔ)詳細(xì)說(shuō)明)。這個(gè)具體操作有點(diǎn)忘了。大致是:首先看哪個(gè)節(jié)點(diǎn)正在使用,通過(guò)節(jié)點(diǎn)IP(私有)訪問(wèn)另一個(gè)空閑節(jié)點(diǎn),為其打上補(bǔ)丁,然后在群集管理器中停止該節(jié)點(diǎn)(也可以用命令行方式),重新啟動(dòng)。等到啟動(dòng)完畢,將切換使用節(jié)點(diǎn),為另一個(gè)節(jié)點(diǎn)打補(bǔ)丁。然后重新啟動(dòng)。3.有一個(gè)A 數(shù)據(jù)庫(kù),分別復(fù)制到B和C B 要求 每次數(shù)據(jù)更新 也同時(shí)更新,C 每天更新一次就行,如何制定復(fù)制策略!這個(gè)應(yīng)該考察的是復(fù)制知識(shí)。a-b1)、如果使用SQL Server復(fù)制功能,那么讓a-b使用事務(wù)性復(fù)制方式(同步復(fù)制)。2)、如果表不多,也可以自己寫(xiě)觸發(fā)器,利用linkserv
26、er+distribute transaction。a-c1)、如果使用SQL Server復(fù)制功能,那么讓a-b使用快照復(fù)制方式,在某一時(shí)間點(diǎn)進(jìn)行一次性復(fù)制。2)、也可以自己寫(xiě)bat,將a備份后,通過(guò)ftp傳輸備份介質(zhì),恢復(fù)c。(比較麻煩,不推薦)4.有一個(gè)order 表,有90個(gè)字段,20個(gè)索引,15個(gè)復(fù)合索引,其中有3個(gè)索引字段超過(guò)10個(gè),如何進(jìn)行優(yōu)化這個(gè)問(wèn)題問(wèn)的比較沒(méi)水平。你不詳細(xì)說(shuō)明這個(gè)表的使用方式(讀寫(xiě)類的,還是幾乎是靜態(tài)表),就問(wèn)人家怎么優(yōu)化?!還不如問(wèn)問(wèn)索引的分布訪問(wèn)原理更好??吹贸鏊拖胱屇阏f(shuō):那三個(gè)索引超過(guò)10個(gè),B樹(shù)遍例效率很低,適當(dāng)減少字段數(shù)目。如果是SQL2005,可
27、以將選擇性不好的字段放在“索引附加字段”中,以保證索引覆蓋。而且SQL Server由于有鎖升級(jí)的毛病,可以考慮拆開(kāi)表。5.有一個(gè)數(shù)據(jù)庫(kù)200G大小,每天增加50M 允許用戶隨時(shí)訪問(wèn),制定備份策略(詳細(xì)說(shuō)明)。這種情況可以采用增量備份方式。每周日做一次全備份,周一到周六作增量備份(由于數(shù)據(jù)量較少,可以考慮每30分鐘增量備份一次)。這樣可以盡量減少性能消耗,而且如果transaction log丟失的情況下,可以保證最多丟失30分鐘數(shù)據(jù)。6.管理50臺(tái)數(shù)據(jù)庫(kù),日常工作是檢查數(shù)據(jù)庫(kù)作業(yè)是否完成,你該如何完成這項(xiàng)檢查工作?這個(gè)比較簡(jiǎn)單。在每臺(tái)機(jī)器上建立linkserver,然后在DBA管理服務(wù)器上做
28、個(gè)分布式視圖,每次查詢?cè)撘晥D,各個(gè)機(jī)器上的作業(yè)情況一目了然。分布式視圖寫(xiě)法:create view vw_jobasselect 機(jī)器一 as MName,* from linkserver1.sysjobactivityunion allselect 機(jī)器二 as MName,* from linkserver2.sysjobactivityunion allselect 機(jī)器三 as MName,* from linkserver3.sysjobactivity。7.自定義函數(shù)和存儲(chǔ)過(guò)程的區(qū)別是什么,什么情況下只能用自定義函數(shù),什么情況下只能用存儲(chǔ)過(guò)程這個(gè)應(yīng)該是考察存儲(chǔ)過(guò)程編寫(xiě)經(jīng)驗(yàn)。一般自
29、定義函數(shù)主要用于其他sql中的調(diào)用,如:select yourfunc(.) from table這種情況下,一般只能通過(guò)函數(shù)實(shí)現(xiàn)。存儲(chǔ)過(guò)程的功能要遠(yuǎn)遠(yuǎn)強(qiáng)于函數(shù),例如動(dòng)態(tài)執(zhí)行sql(sp_executesql)的使用和一些特殊的功能,自定義函數(shù)中是不支持的,只能用存儲(chǔ)過(guò)程實(shí)現(xiàn)。8.SQL 2005 的新特性是什么 ? 與oracle 有什么區(qū)別?SQL 2005 的新特性一般都是和Oracle學(xué)的。下面是當(dāng)時(shí)被leimin逼著寫(xiě)的,你可以做個(gè)參考:一、數(shù)據(jù)庫(kù)設(shè)計(jì)方面1、字段類型。varchar(max)nvarchar(max)類型的引入大大的提高了編程的效率,可以使用字符串函數(shù)對(duì)CLOB類型
30、進(jìn)行操作,這是一個(gè)亮點(diǎn)。但是這就引發(fā)了對(duì)varchar和char效率討論的老問(wèn)題。到底如何分配varchar的數(shù)據(jù),是否會(huì)出現(xiàn)大規(guī)模的碎片?是否碎片會(huì)引發(fā)效率問(wèn)題?這都是需要進(jìn)一步探討的東西。varbinary(max)代替image也讓SQL Server的字段類型更加簡(jiǎn)潔統(tǒng)一。XML字段類型更好的解決了XML數(shù)據(jù)的操作。XQuery確實(shí)不錯(cuò),但是個(gè)人對(duì)其沒(méi)好感。(CSDN的開(kāi)發(fā)者應(yīng)該是相當(dāng)?shù)氖炝耍。?、外鍵的級(jí)聯(lián)更能擴(kuò)展可能大部分的同行在設(shè)計(jì)OLTP系統(tǒng)的時(shí)候都不愿意建立外鍵,都是通過(guò)程序來(lái)控制父子數(shù)據(jù)的完整性。但是再開(kāi)發(fā)調(diào)試階段和OLAP環(huán)境中,外鍵是可以建立的。新版本中加入了SET N
31、ULL 和 SET DEFAULT 屬性,能夠提供能好的級(jí)聯(lián)設(shè)置。3、索引附加字段這是一個(gè)不錯(cuò)的新特性。雖然索引的附加字段沒(méi)有索引鍵值效率高,但是相對(duì)映射到數(shù)據(jù)表中效率還是提高了很多。我做過(guò)試驗(yàn),在我的實(shí)驗(yàn)環(huán)境中會(huì)比映射到表中提高30%左右的效率。4、計(jì)算字段的持久化原來(lái)的計(jì)算字段其實(shí)和虛擬字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了計(jì)算字段的持久化,這就提高了查詢的性能,但是會(huì)加重insert和update的負(fù)擔(dān)。OLTP慎用。OLAP可以大規(guī)模使用。5、分區(qū)表分區(qū)表是個(gè)亮點(diǎn)!從分區(qū)表也能看出微軟要做大作強(qiáng)SQL Server的信心。資料很多,這里不詳細(xì)說(shuō)。但是
32、重點(diǎn)了解的是:現(xiàn)在的SQL Server2005的表,都是默認(rèn)為分區(qū)表的。因?yàn)樗С只瑒?dòng)窗口的這個(gè)特性。這種特性對(duì)歷史數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)的處理是很有幫助的。但是需要注意的一點(diǎn),也是我使用過(guò)程中發(fā)現(xiàn)的一個(gè)問(wèn)題。在建立function-schema-table后,如果在現(xiàn)有的分區(qū)表上建立沒(méi)有顯式聲明的聚集索引時(shí),分區(qū)表會(huì)自動(dòng)變?yōu)榉欠謪^(qū)表。這一點(diǎn)很讓我納悶。如果你覺(jué)得我的非分區(qū)索引無(wú)法對(duì)起子分區(qū),你可以提醒我一下呀!沒(méi)有任何的提醒,直接就變成了非分區(qū)表。不知道這算不算一個(gè)bug。大家也可以試試。分區(qū)表效率問(wèn)題肯定是大家關(guān)心的問(wèn)題。在我的試驗(yàn)中,如果按照分區(qū)字段進(jìn)行的查詢(過(guò)濾)效率會(huì)高于未分區(qū)表的相同
33、語(yǔ)句。但是如果按照非分區(qū)字段進(jìn)行查詢,效率會(huì)低于未分區(qū)表的相同語(yǔ)句。但是隨著數(shù)據(jù)量的增大,這種成本差距會(huì)逐漸減小,趨于相等。(500萬(wàn)數(shù)量級(jí)只相差10%左右)6、CLR類型微軟對(duì)CLR作了大篇幅的宣傳,這是因?yàn)閿?shù)據(jù)庫(kù)產(chǎn)品終于融入.net體系中。最開(kāi)始我們也是狂喜,感覺(jué)對(duì)象數(shù)據(jù)庫(kù)的一些概念可以實(shí)現(xiàn)了。但是作了些試驗(yàn),發(fā)現(xiàn)使用CLR的存儲(chǔ)過(guò)程或函數(shù)在達(dá)到一定的閥值的時(shí)候,系統(tǒng)性能會(huì)呈指數(shù)級(jí)下滑!這是非常危險(xiǎn)的!只使用幾個(gè)可能沒(méi)有問(wèn)題,當(dāng)一旦大規(guī)模使用會(huì)造成嚴(yán)重的系統(tǒng)性能問(wèn)題!其實(shí)可以做一下類比,Oracle等數(shù)據(jù)庫(kù)產(chǎn)品老早就支持了java編程,而且提供了java池參數(shù)作為用戶配置接口。但是現(xiàn)在有哪
34、些系統(tǒng)大批使用了java存儲(chǔ)過(guò)程?!連Oracle自己的應(yīng)用都不用為什么?!還不是性能有問(wèn)題!否則面向?qū)ο蟮臄?shù)據(jù)庫(kù)早就實(shí)現(xiàn)了!建議使用CLR的地方一般是和應(yīng)用的復(fù)雜程度或操作系統(tǒng)環(huán)境有很高的耦合度的場(chǎng)景。如你想構(gòu)建復(fù)雜的算法,并且用到了大量的指針和高級(jí)數(shù)據(jù)模型?;蛘呤且筒僮飨到y(tǒng)進(jìn)行Socket通訊的場(chǎng)景。否則建議慎重!7、索引視圖索引視圖2k就有。但是2005對(duì)其效率作了一些改進(jìn)但是schema.viewname的作用域真是太限制了它的應(yīng)用面。還有一大堆的環(huán)境參數(shù)和種種限制都讓人對(duì)它有點(diǎn)卻步。8、語(yǔ)句和事務(wù)快照語(yǔ)句級(jí)快照和事務(wù)級(jí)快照終于為SQL Server的并發(fā)性能帶來(lái)了突破。個(gè)人感覺(jué)語(yǔ)句
35、級(jí)快照大家應(yīng)該應(yīng)用。事務(wù)級(jí)快照,如果是高并發(fā)系統(tǒng)還要慎用。如果一個(gè)用戶總是被提示修改不成功要求重試時(shí),會(huì)殺人的!9、數(shù)據(jù)庫(kù)快照原理很簡(jiǎn)單,對(duì)要求長(zhǎng)時(shí)間計(jì)算某一時(shí)間點(diǎn)的報(bào)表生成和防用戶操作錯(cuò)誤很有幫助。但是比起Oracle10g的閃回技術(shù)還是細(xì)粒度不夠??上?!10、MirrorMirror可以算是SQL Server的Data guard了。但是能不能被大伙用起來(lái)就不知道了。二、開(kāi)發(fā)方面1、Ranking函數(shù)集其中最有名的應(yīng)該是row_number了。這個(gè)終于解決了用臨時(shí)表生成序列號(hào)的歷史,而且SQL Server2005的row_number比Oracle的更先進(jìn)。因?yàn)樗袿rder by集成
36、到了一起,不用像Oracle那樣還要用子查詢進(jìn)行封裝。但是大家注意一點(diǎn)。如下面的例子:select ROW_NUMBER() OVER (order by aa)from tblorder by bb會(huì)先執(zhí)行aa的排序,然后再進(jìn)行bb的排序??赡苡械呐笥褧?huì)抱怨集成的order by,其實(shí)如果使用ranking函數(shù),Order by是少不了的。如果擔(dān)心Order by會(huì)影響效率,可以為order by的字段建立聚集索引,查詢計(jì)劃會(huì)忽略order by 操作(因?yàn)楸緛?lái)就是排序的嘛)。2、top可以動(dòng)態(tài)傳入?yún)?shù),省卻了動(dòng)態(tài)SQL的拼寫(xiě)。3、Apply對(duì)遞歸類的樹(shù)遍歷很有幫助。4、CTE個(gè)人感覺(jué)這個(gè)真
37、是太棒了!閱讀清晰,非常有時(shí)代感。5、try/catch代替了原來(lái)VB式的錯(cuò)誤判斷。比Oracle高級(jí)不少。6、pivot/unpivot個(gè)人感覺(jué)沒(méi)有case直觀。而且默認(rèn)的第三字段(還可能更多)作為group by字段很容易造成新手的錯(cuò)誤。轉(zhuǎn)貼請(qǐng)注明 : 三、DBA管理方面1、數(shù)據(jù)庫(kù)級(jí)觸發(fā)器記得在最開(kāi)始使用2k的時(shí)候就要用到這個(gè)功能,可惜2k沒(méi)有,現(xiàn)在有了作解決方案的朋友會(huì)很高興吧。2、多加的系統(tǒng)視圖和實(shí)時(shí)系統(tǒng)信息這些東西對(duì)DBA挑優(yōu)非常有幫助,但是感覺(jué)粒度還是不太細(xì)。3、優(yōu)化器的改進(jìn)一直以來(lái)個(gè)人感覺(jué)SQL Server的優(yōu)化器要比Oracle的聰明。SQL2005的更是比2k聰明了不少。(
38、有次作試驗(yàn)發(fā)現(xiàn)有的語(yǔ)句在200萬(wàn)級(jí)時(shí)還比50萬(wàn)級(jí)的相同語(yǔ)句要快show_text的一些提示沒(méi)有找到解釋。一直在奇怪。)論壇例子:4、profiler的新事件觀察這一點(diǎn)很好的加強(qiáng)了profiler的功能。但是提到profiler提醒大家注意一點(diǎn)。windows2003要安裝sp1補(bǔ)丁才能啟動(dòng)profiler。否則點(diǎn)擊沒(méi)有反應(yīng)。5、sqlcmd習(xí)慣敲命令行的朋友可能會(huì)爽一些。但是功能有限。適合機(jī)器跑不動(dòng)SQL Server Management Studio的朋友使用。四、遺憾1、登陸的控制始終遺憾SQL Server的登陸無(wú)法分配CPU/內(nèi)存占用等指標(biāo)數(shù)。如果你的SQL Server給別人分配了
39、一個(gè)只可以讀幾個(gè)表的權(quán)限,而這個(gè)家伙瘋狂的死循環(huán)進(jìn)行連接查詢,會(huì)給你的系統(tǒng)帶來(lái)很大的負(fù)擔(dān)。而SQL Server如果能像Oracle一樣可以為登陸分配如:5%的cpu,10%的內(nèi)存。就可以解決這個(gè)漏洞。2、數(shù)據(jù)庫(kù)物理框架沒(méi)有變動(dòng)undo和redo都放在數(shù)據(jù)庫(kù)得transaction中,個(gè)人感覺(jué)是個(gè)敗筆。如果說(shuō)我們?cè)谠O(shè)計(jì)數(shù)據(jù)庫(kù)的時(shí)候考慮分多個(gè)數(shù)據(jù)庫(kù),可能能在一定程度上避免I/O效率問(wèn)題。但是同樣會(huì)為索引視圖等應(yīng)用帶來(lái)麻煩??纯葱屑?jí)和事務(wù)級(jí)的快照數(shù)據(jù)放在tempdb中,就能感覺(jué)到目前架構(gòu)的尷尬。3、還是沒(méi)有邏輯備份備份方面可能還是一個(gè)老大難的問(wèn)題。不能單獨(dú)備份幾個(gè)表總是感覺(jué)不爽。靈活備份的問(wèn)題不知
40、道什么時(shí)候才能解決。4、SSIS(DTS)太復(fù)雜了SQL Server的異構(gòu)移植功能個(gè)人感覺(jué)最好了。(如果對(duì)比過(guò)SQL Server的鏈接服務(wù)器和Oracle的透明網(wǎng)關(guān)的朋友會(huì)發(fā)現(xiàn)SQL Server的sp_addlinkedserver(openquery)異構(gòu)數(shù)據(jù)庫(kù)系列比Oracle真是強(qiáng)太多了。)以前的DTS輕盈簡(jiǎn)單。但是現(xiàn)在的SSIS雖然功能強(qiáng)大了很多,但是總是讓人感覺(jué)太麻煩??纯凑搲性儐?wèn)SSIS的貼子就知道。做的功能太強(qiáng)大了,往往會(huì)有很多用戶不會(huì)用了。與oracle 有什么區(qū)別?這個(gè)問(wèn)題相當(dāng)變態(tài)!不同點(diǎn)我能給他講一天!首先名字就不一樣嘛! :)9.DBA 的品質(zhì)應(yīng)該有哪些,你有哪些
41、, 有什么欠缺的?略10。如果想配置SQL Mail 應(yīng)該在服務(wù)器安裝哪些軟件!需要哪些軟件?安個(gè)outlook express就可以了。sql server提供接口存儲(chǔ)過(guò)程,非常簡(jiǎn)單。首先從數(shù)據(jù)庫(kù)設(shè)計(jì)人員角度來(lái)看:1、SQL Server2005之前是不支持分區(qū)表的,所以要在設(shè)計(jì)系統(tǒng)時(shí)考慮今后數(shù)據(jù)量大以后的數(shù)據(jù)轉(zhuǎn)移問(wèn)題。2、對(duì)于樹(shù)表設(shè)計(jì)來(lái)說(shuō),SQL Server由于沒(méi)有start with . connect by這樣的查詢方式,最好在設(shè)計(jì)表時(shí)除了ID、ParentID外,再加入TreePath字段,以避免遞歸循環(huán)。3、由于SQL Server有鎖升級(jí)的毛病,頻繁DML的表最好減少字段數(shù)量,
42、以減少鎖升級(jí)帶來(lái)的阻塞!4、在設(shè)計(jì)數(shù)據(jù)庫(kù)物理分布的時(shí)侯,由于SQL Server每個(gè)數(shù)據(jù)庫(kù)都有自己的Transaction Log(其中包含Undo和Redo信息),為了減輕Transaction Log的I/O爭(zhēng)用,可以考慮多數(shù)據(jù)庫(kù)(使用聚集索引視圖Clustered View的除外)。而Oracle是數(shù)據(jù)庫(kù)和實(shí)例一一對(duì)應(yīng)的(RAC除外),多個(gè)表空間使用公用Undo segement和redo file。5、SQL Server的索引只有cluster index和nocluster index,而Oracle有Btree indexbitmap indexfunction index等。6
43、、SQL Server的最基本存儲(chǔ)結(jié)構(gòu)是頁(yè)(8K),而Oracle最基本的是block可以根據(jù)OLTP和DSS的應(yīng)用不同(后者可以選擇大一點(diǎn),利于查找效率),選擇2K-32K不同block大小。7、SQL Server的結(jié)構(gòu)是實(shí)例-多個(gè)數(shù)據(jù)庫(kù)-表、存儲(chǔ)過(guò)程.。Oracle的是數(shù)據(jù)庫(kù)=實(shí)例(RAC是多個(gè)實(shí)例對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)存儲(chǔ))-schema(用戶)表空間 -表、存儲(chǔ)過(guò)程.。1.磁盤(pán)柜上有14塊73G的磁盤(pán), 數(shù)據(jù)庫(kù)為200G 大小包括日志文件,如何設(shè)置磁盤(pán)(要說(shuō)明這14磁盤(pán)是怎么用的)?答:可以做成a. 磁盤(pán)比較充裕,做RAID10 ,就是14塊硬盤(pán)分一半,2個(gè)7塊做Raid0,容量:7*73G
44、=511G,然后把它們組成Raid1,最后容量(14/2)*73G=511G. RAID10 優(yōu)點(diǎn),數(shù)據(jù)一次需要寫(xiě)入兩個(gè)區(qū)塊,讀的時(shí)候可以從任意一個(gè)比較快的地方讀取,效率很高,缺點(diǎn)成本較高。b.Raid5, 13塊硬盤(pán)做Raid5,1塊做熱冗余; 容量: (14-2)*73G=876G, Raid5優(yōu)點(diǎn),穩(wěn)定系數(shù)高,性價(jià)比高。c.Raid51,7塊硬盤(pán)做Raid5,另7塊也做Raid5,再把這2個(gè)Raid5做成Raid1,容量: (14/2-1)*73G=438G,優(yōu)點(diǎn):比RAID10更穩(wěn)定,效率和RAID10相當(dāng).2.有兩服務(wù)器群集,分別為node1和node2 現(xiàn)在要打win200系統(tǒng)補(bǔ)丁
45、,打完后,要重新啟動(dòng),如何打補(bǔ)丁,不能影響用戶使用(要用群集的術(shù)語(yǔ)詳細(xì)說(shuō)明)。答:a.假設(shè)node1聯(lián)機(jī)并控制資源,那么先給node2 先打補(bǔ)丁,重起node2,這時(shí)聯(lián)機(jī)并控制資源情況不會(huì)改變,不影響客戶服務(wù).b.等node2 重起補(bǔ)丁完畢,手工把node1的服務(wù)和資源切換到node2,使node2處于聯(lián)機(jī)狀態(tài),然后給node1打補(bǔ)丁,重起補(bǔ)丁完畢,再把node2的服務(wù)和資源切換后node1正常運(yùn)作.第二套題 一、 選擇題1. 以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是_。A、隊(duì)列 B、線性表 C、二叉樹(shù) D、棧2. 在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開(kāi)發(fā)階段是_。A、可行性分
46、析 B、需求分析 C、詳細(xì)設(shè)計(jì) D、程序編碼3. 結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是_。A、程序的規(guī)模 B、程序的易讀性 C、程序的執(zhí)行效率 D、程序的可移植性4. 在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是_。A、概要設(shè)計(jì) B、詳細(xì)設(shè)計(jì) C、可行性分析 D、需求分析5. 下列關(guān)于棧的敘述中正確的是_。A、在棧中只能插入數(shù)據(jù) B、在棧中只能刪除數(shù)據(jù)C、棧是先進(jìn)先出的線性表 D、棧是先進(jìn)后出的線性表6. 下面不屬于軟件設(shè)計(jì)原則的是_。A、抽象 B、模塊化 C、自底向上 D、信息隱蔽7. 對(duì)長(zhǎng)度為N的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為_(kāi)。A、N+1 B、N
47、C、(N+1)/2 D、N/28. 視圖設(shè)計(jì)一般有3種設(shè)計(jì)次序,下列不屬于視圖設(shè)計(jì)的是_。A、自頂向下 B、由外向內(nèi) C、由內(nèi)向外 D、自底向上9. 下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是_。A、數(shù)據(jù)庫(kù)是一個(gè)DBF文件 B、數(shù)據(jù)庫(kù)是一個(gè)關(guān)系C、數(shù)據(jù)庫(kù)是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合 D、數(shù)據(jù)庫(kù)是一組文件10. 下列說(shuō)法中,不屬于數(shù)據(jù)模型所描述的內(nèi)容的是_。A、數(shù)據(jù)結(jié)構(gòu) B、數(shù)據(jù)操作 C、數(shù)據(jù)查詢 D、數(shù)據(jù)約束11. 在下面的Visual FoxPro表達(dá)式中,運(yùn)算結(jié)果是邏輯真的是_。A、EMPTY(.NULL.) B、LIKE(acd,ac?) C、AT(a,123abc) D、EMPTY(SPACE(2)12
48、. 表達(dá)式VAL(SUBS(奔騰586,5,1)*Len(visual foxpro)的結(jié)果是_。A、13.00 B、14.00 C、45.00 D、65.0013. 以下關(guān)于自由表的敘述,正確的是_。A、全部是用以前版本的FOXPRO(FOXBASE)建立的表B、可以用Visual FoxPro建立,但是不能把它添加到數(shù)據(jù)庫(kù)中C、自由表可以添加到數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)表也可以從數(shù)據(jù)庫(kù)中移出成為自由表D、自由表可以添加到數(shù)據(jù)庫(kù)中,但數(shù)據(jù)庫(kù)表不可從數(shù)據(jù)庫(kù)中移出成為自由表14. 下面關(guān)于數(shù)據(jù)環(huán)境和數(shù)據(jù)環(huán)境中兩個(gè)表之間的關(guān)系的陳述中,_是正確的。A、數(shù)據(jù)環(huán)境是對(duì)象,關(guān)系不是對(duì)象 B、數(shù)據(jù)環(huán)境不是對(duì)象,關(guān)系
49、是對(duì)象C、數(shù)據(jù)環(huán)境是對(duì)象,關(guān)系是數(shù)據(jù)環(huán)境中的對(duì)象 D、數(shù)據(jù)環(huán)境和關(guān)系均不是對(duì)象15. 在報(bào)表設(shè)計(jì)器中,可以使用的控件是_。A、標(biāo)簽、域控件和線條 B、標(biāo)簽、域控件和列表框C、標(biāo)簽、文本框和列表框 D、布局和數(shù)據(jù)源16.用二維表數(shù)據(jù)來(lái)表示實(shí)體及實(shí)體之間聯(lián)系的數(shù)據(jù)模型稱為_(kāi)。A、實(shí)體-聯(lián)系模型 B、層次模型 C、網(wǎng)狀模型 D、關(guān)系模型17. 用來(lái)指明復(fù)選框的當(dāng)前選中狀態(tài)的屬性是_。A、Selected B、Caption C、Value D、ControlSource18. 使用菜單操作方法打開(kāi)一個(gè)在當(dāng)前目錄下已經(jīng)存在的查詢文件zgjk.qpr后,在命令窗口生成的命令是_。A、OPEN QUERY
50、 zgjk.qpr B、MODIFY QUERY zgjk.qprC、DO QUERY zgjk.qpr D、CREATE QUERY zgjk.qpr19. 可以伴隨著表的打開(kāi)而自動(dòng)打開(kāi)的索引是_。A、單一索引文件(IDX) B、復(fù)合索引文件(CDX)C、結(jié)構(gòu)化復(fù)合索引文件 D、非結(jié)構(gòu)化復(fù)合索引文件20. 在數(shù)據(jù)庫(kù)設(shè)計(jì)器中,建立兩個(gè)表之間的一對(duì)多聯(lián)系是通過(guò)以下索引實(shí)現(xiàn)的_。A、一方表的主索引或候選索引,多方表的普通索引B、一方表的主索引,多方表的普通索引或候選索引C、一方表的普通索引,多方表的主索引或候選索引D、一方表的普通索引,多方表的候選索引或普通索引21. 下列函數(shù)中函數(shù)值為字符型的是
51、_。 A、DATE() B、TIME() C、YEAR() D、DATETIME()22. 下面對(duì)控件的描述正確的是_。A、用戶可以在組合框中進(jìn)行多重選擇 B、用戶可以在列表框中進(jìn)行多重選擇C、用戶可以在一個(gè)選項(xiàng)組中選中多個(gè)選項(xiàng)按鈕 D、用戶對(duì)一個(gè)表單內(nèi)的一組復(fù)選框只能選中其中一個(gè)23. 確定列表框內(nèi)的某個(gè)條目是否被選定應(yīng)使用的屬性是_。A、Value B、ColumnCount C、ListCount D、Selected24. 設(shè)有關(guān)系R1和R2,經(jīng)過(guò)關(guān)系運(yùn)算得到結(jié)果S,則S是_。A、一個(gè)關(guān)系 B、一個(gè)表單 C、一個(gè)數(shù)據(jù)庫(kù) D、一個(gè)數(shù)組25. DBAS指的是_。A、數(shù)據(jù)庫(kù)管理系統(tǒng)B、數(shù)據(jù)庫(kù)
52、系統(tǒng)C、數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng) D、數(shù)據(jù)庫(kù)服務(wù)系統(tǒng)26. 設(shè)X=ABC,Y=ABCD,則下列表達(dá)式中值為.T.的是_。A、X=Y B、X=Y C、X$Y D、AT(X,Y)=027. 在表結(jié)構(gòu)中,邏輯型、日期型、備注型字段的寬度分別固定為_(kāi)。A、3,8,10 B、1,6,4 C、1,8,任意 D、1,8,428. 在標(biāo)準(zhǔn)SQL中,建立視圖的命令是_。A、CREATE SCHEMA命令 B、CREATE TABLE命令 C、CREATE VIEW命令 D、CREATE INDEX命令29. 有關(guān)SCAN循環(huán)結(jié)構(gòu),敘述正確的是_。A、SCAN循環(huán)結(jié)構(gòu)中的LOOP語(yǔ)句,可將程序流程直接指向循環(huán)開(kāi)始語(yǔ)句SCA
53、N,首先判斷EOF()函數(shù)的真假B、在使用SCAN循環(huán)結(jié)構(gòu)時(shí),必須打開(kāi)某一個(gè)數(shù)據(jù)庫(kù)C、SCAN循環(huán)結(jié)構(gòu)的循環(huán)體中必須寫(xiě)有SKIP語(yǔ)句D、SCAN循環(huán)結(jié)構(gòu),如果省略了子句FOR和WHILE條件子句,則直接退出循環(huán)30. 設(shè)有圖書(shū)管理數(shù)據(jù)庫(kù):圖書(shū)(總編號(hào)C(6),分類號(hào)C(8),書(shū)名C(16),作者C(6),出版單位C(20),單價(jià)N(6,2)讀者(借書(shū)證號(hào)C(4),單位C(8),姓名C(6),性別C(2),職稱C(6),地址C(20)借閱(借書(shū)證號(hào)C(4),總編號(hào)C(6),借書(shū)日期D(8)對(duì)于圖書(shū)管理數(shù)據(jù)庫(kù),要查詢所藏圖書(shū)中,各個(gè)出版社的圖書(shū)最高單價(jià)、平均單價(jià)和冊(cè)數(shù),下面SQL語(yǔ)句正確的是_。SELECT 出版單位,_,_,_;FROM 圖書(shū)管理!圖書(shū) _ 出版單位A、MIN(單價(jià)) AVGAGE(單價(jià)) COUNT(*) G
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年轉(zhuǎn)向系統(tǒng):齒輪項(xiàng)目提案報(bào)告
- 【岳陽(yáng)】2025年湖南岳陽(yáng)湘陰縣國(guó)有企事業(yè)單位“四海攬才”招聘56人筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 【荊州】2025年湖北省荊州市江陵縣事業(yè)單位統(tǒng)一公開(kāi)招聘工作人員124名筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 【文山】2025年云南文山廣南縣事業(yè)單位緊缺崗位招聘20人筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 屋頂教學(xué)課件
- 雪峰山教學(xué)課件
- 文庫(kù)發(fā)布:冬奧會(huì)課件
- 課件教學(xué)比賽方案
- 整體護(hù)理教程課件下載
- howmany教學(xué)課件分享
- 2025年高考真題-政治(黑吉遼卷) 含答案(黑龍江、吉林、遼寧、內(nèi)蒙古)
- T/QX 004-2020工業(yè)清洗作業(yè)人員呼吸防護(hù)用品選擇、管理、使用和維護(hù)指南
- 河北省石家莊市2025年七年級(jí)下學(xué)期語(yǔ)文期末考試卷及答案
- 四川省德陽(yáng)市2025年七年級(jí)下學(xué)期語(yǔ)文期末試卷及答案
- 石獅子購(gòu)銷合同協(xié)議
- 2025廣州市荔灣區(qū)輔警考試試卷真題
- 課題申報(bào)書(shū):基于核心素養(yǎng)發(fā)展理念的小學(xué)數(shù)學(xué)跨學(xué)科主題學(xué)習(xí)設(shè)計(jì)的策略研究
- 模聯(lián)面試題及答案
- 上海市楊浦區(qū)2025屆高三語(yǔ)文一模質(zhì)量調(diào)研試卷(含答案)
- 隔壁拆房相鄰協(xié)議書(shū)
- GB/T 320-2025工業(yè)用合成鹽酸
評(píng)論
0/150
提交評(píng)論