智能路燈系統(tǒng)-總詳細(xì)設(shè)計(jì)方案_第1頁(yè)
智能路燈系統(tǒng)-總詳細(xì)設(shè)計(jì)方案_第2頁(yè)
智能路燈系統(tǒng)-總詳細(xì)設(shè)計(jì)方案_第3頁(yè)
智能路燈系統(tǒng)-總詳細(xì)設(shè)計(jì)方案_第4頁(yè)
智能路燈系統(tǒng)-總詳細(xì)設(shè)計(jì)方案_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

廣州市豐成網(wǎng)絡(luò)科技有限公司智能路燈系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書Preparedby擬制Date日期2016-1-10Reviewedby評(píng)審人Date日期Approvedby批準(zhǔn)Date日期RevisionRecord修訂記錄Date日期RevisionVersion修訂

版本SecNo.

修改

章節(jié)ChangeDescription修改描述Author作者2016.1.10V1.0柯楚健

目錄19401詳細(xì)設(shè)計(jì)說(shuō)明書 1523RevisionRecord修訂記錄 2168191總體方案確認(rèn) 4249991.1系統(tǒng)總體結(jié)構(gòu)確認(rèn) 447251.1.1系統(tǒng)組成 414671.1.2路燈控制模塊 4132521.1.3路燈管理模塊 418631.1.4系統(tǒng)架構(gòu) 4215891.1.5系統(tǒng)工作流程 5135881.2系統(tǒng)詳細(xì)界面劃分 579521.2.1應(yīng)用系統(tǒng)與支撐系統(tǒng)的詳細(xì)界面劃分 5206441.2.2系統(tǒng)內(nèi)部詳細(xì)界面劃分 628858路燈控制模塊 610163路燈管理模塊 723561總體設(shè)計(jì) 757532系統(tǒng)詳細(xì)設(shè)計(jì) 10305282.1系統(tǒng)結(jié)構(gòu)設(shè)計(jì)及子系統(tǒng)劃分 1085352.2系統(tǒng)功能模塊詳細(xì)設(shè)計(jì) 1219882.2.1路燈控制系統(tǒng)功能模塊: 1321952.2.2路燈管理模塊: 148472.3系統(tǒng)界面詳細(xì)設(shè)計(jì) 1639192.3.1用戶界面設(shè)計(jì) 16234583數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì) 27140503.1設(shè)計(jì)要求 27289043.2信息模型設(shè)計(jì) 28312833.3數(shù)據(jù)庫(kù)設(shè)計(jì) 28102873.3.1設(shè)計(jì)依據(jù) 28124963.3.2數(shù)據(jù)庫(kù)種類及特點(diǎn) 32201263.3.3數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu) 40163393.3.4數(shù)據(jù)庫(kù)安全 42305383.4數(shù)據(jù)字典 43總體方案確認(rèn)系統(tǒng)總體結(jié)構(gòu)確認(rèn)系統(tǒng)組成路燈控制模塊功能介紹:路燈控制模塊是負(fù)責(zé)路燈的控制模塊,在該模塊中,通過(guò)一系列的命令對(duì)路燈進(jìn)行開(kāi)關(guān),調(diào)光燈燈控制。用戶操作:用戶通過(guò)開(kāi)燈指令,關(guān)燈指令,調(diào)光指令,對(duì)系統(tǒng)中的路燈進(jìn)行對(duì)應(yīng)的開(kāi)燈,關(guān)燈以及調(diào)光操作,還可以進(jìn)行定時(shí)設(shè)置操作。路燈管理模塊功能介紹:路燈管理模塊式負(fù)責(zé)路燈的管理部分,在該模塊中,可以對(duì)路燈進(jìn)行添加,刪除以及修改操作。用戶操作:用戶在進(jìn)去管理模塊后,在路燈節(jié)點(diǎn)樹(shù)進(jìn)行路燈的管理操作,對(duì)路燈節(jié)點(diǎn)進(jìn)行增刪改操作。系統(tǒng)架構(gòu)WebMis1.0框架層次名稱項(xiàng)目命名說(shuō)明表現(xiàn)層WEBUI是客戶端的用戶界面,負(fù)責(zé)從用戶方接收命令,請(qǐng)求,數(shù)據(jù),傳遞給業(yè)務(wù)層處理,然后將結(jié)果呈現(xiàn)出來(lái)。業(yè)務(wù)邏輯層BLL業(yè)務(wù)邏輯層封裝了實(shí)際業(yè)務(wù)邏輯,包含數(shù)據(jù)驗(yàn)證,事物處理,權(quán)限處理等業(yè)務(wù)相關(guān)操作。數(shù)據(jù)訪問(wèn)層DAL數(shù)據(jù)訪問(wèn)層提供業(yè)務(wù)邏輯層所需要的數(shù)據(jù)訪問(wèn)接口。模型層Model數(shù)據(jù)庫(kù)表結(jié)構(gòu)的數(shù)據(jù)實(shí)體集合。系統(tǒng)工作流程系統(tǒng)詳細(xì)界面劃分應(yīng)用系統(tǒng)與支撐系統(tǒng)的詳細(xì)界面劃分應(yīng)用系統(tǒng)與支撐系統(tǒng)之間的界面包括系統(tǒng)主服務(wù)器與其他服務(wù)器的服務(wù)范圍及訪問(wèn)方式,網(wǎng)絡(luò)及數(shù)據(jù)庫(kù)對(duì)應(yīng)用系統(tǒng)的支撐方式,全局?jǐn)?shù)據(jù)的管理與存取方式等。本系統(tǒng)運(yùn)行環(huán)境兼容于windows2003,windowsXP,windows7等操作系統(tǒng),服務(wù)器采用MicrosoftIIS??蛻舳送ㄟ^(guò)WEB瀏覽器打開(kāi)系統(tǒng)的地址,然后通過(guò)用戶名和密碼發(fā)送到服務(wù)器進(jìn)行驗(yàn)證,驗(yàn)證正確后就登陸系統(tǒng)。系統(tǒng)內(nèi)部詳細(xì)界面劃分路燈控制模塊 路燈控制模塊的主要功能是對(duì)路燈進(jìn)行開(kāi)關(guān)燈,調(diào)光的控制。左邊為路燈節(jié)點(diǎn)樹(shù),中間為地圖展示模塊,右側(cè)為功能窗口,下方為命令窗口。路燈管理模塊左邊為路燈管理節(jié)點(diǎn)樹(shù),右邊為路燈位置展示頁(yè)面??傮w設(shè)計(jì)三層架構(gòu)(3-tierarchitecture)通常意義上的三層架構(gòu)就是將整個(gè)業(yè)務(wù)應(yīng)用劃分為:界面層(UserInterfacelayer)、業(yè)務(wù)邏輯層(BusinessLogicLayer)、數(shù)據(jù)訪問(wèn)層(Dataaccesslayer)。區(qū)分層次的目的即為了“高內(nèi)聚低耦合”的思想。在軟件體系架構(gòu)設(shè)計(jì)中,分層式結(jié)構(gòu)是最常見(jiàn),也是最重要的一種結(jié)構(gòu)。微軟推薦的分層式結(jié)構(gòu)一般分為三層,從下至上分別為:數(shù)據(jù)訪問(wèn)層、業(yè)務(wù)邏輯層(又或稱為領(lǐng)域?qū)樱?、表示層。具有以下?yōu)點(diǎn):耦合性低視圖層和業(yè)務(wù)層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個(gè)應(yīng)用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需要改動(dòng)MVC的模型層即可。因?yàn)槟P团c控制器和視圖相分離,所以很容易改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。模型是自包含的,并且與控制器和視圖相分離,所以很容易改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。如果把數(shù)據(jù)庫(kù)從MySQL移植到Oracle,或者改變基于RDBMS數(shù)據(jù)源到LDAP,只需改變模型即可。一旦正確的實(shí)現(xiàn)了模型,不管數(shù)據(jù)來(lái)自數(shù)據(jù)庫(kù)或是LDAP服務(wù)器,視圖將會(huì)正確的顯示它們。由于運(yùn)用MVC的應(yīng)用程序的三個(gè)部件是相互獨(dú)立,改變其中一個(gè)不會(huì)影響其它兩個(gè),所以依據(jù)這種設(shè)計(jì)思想能構(gòu)造良好的松耦合的構(gòu)件。[11]重用性高隨著技術(shù)的不斷進(jìn)步,需要用越來(lái)越多的方式來(lái)訪問(wèn)應(yīng)用程序。MVC模式允許使用各種不同樣式的視圖來(lái)訪問(wèn)同一個(gè)服務(wù)器端的代碼,因?yàn)槎鄠€(gè)視圖能共享一個(gè)模型,它包括任何WEB(HTTP)瀏覽器或者無(wú)線瀏覽器(wap),比如,用戶可以通過(guò)電腦也可通過(guò)手機(jī)來(lái)訂購(gòu)某樣產(chǎn)品,雖然訂購(gòu)的方式不一樣,但處理訂購(gòu)產(chǎn)品的方式是一樣的。由于模型返回的數(shù)據(jù)沒(méi)有進(jìn)行格式化,所以同樣的構(gòu)件能被不同的界面使用。例如,很多數(shù)據(jù)可能用HTML來(lái)表示,但是也有可能用WAP來(lái)表示,而這些表示所需要的命令是改變視圖層的實(shí)現(xiàn)方式,而控制層和模型層無(wú)需做任何改變。由于已經(jīng)將數(shù)據(jù)和業(yè)務(wù)規(guī)則從表示層分開(kāi),所以可以最大化的重用代碼了。模型也有狀態(tài)管理和數(shù)據(jù)持久性處理的功能,例如,基于會(huì)話的購(gòu)物車和電子商務(wù)過(guò)程也能被Flash網(wǎng)站或者無(wú)線聯(lián)網(wǎng)的應(yīng)用程序所重用。[11]生命周期成本低MVC使開(kāi)發(fā)和維護(hù)用戶接口的技術(shù)含量降低。部署快使用MVC模式使開(kāi)發(fā)時(shí)間得到相當(dāng)大的縮減,它使程序員集中精力于業(yè)務(wù)邏輯,界面程序員(HTML和JSP開(kāi)發(fā)人員)集中精力于表現(xiàn)形式上??删S護(hù)性高分離視圖層和業(yè)務(wù)邏輯層也使得WEB應(yīng)用更易于維護(hù)和修改。有利軟件工程化管理由于不同的層各司其職,每一層不同的應(yīng)用具有某些相同的特征,有利于通過(guò)工程化、工具化管理程序代碼??刂破饕蔡峁┝艘粋€(gè)好處,就是可以使用控制器來(lái)聯(lián)接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構(gòu)造應(yīng)用程序提供強(qiáng)有力的手段。給定一些可重用的模型和視圖,控制器可以根據(jù)用戶的需求選擇模型進(jìn)行處理,然后選擇視圖將處理結(jié)果顯示給用戶。設(shè)計(jì)功能模塊:MODEL:負(fù)責(zé)生成數(shù)據(jù)模型。包括user、role、deviceinfo、config、uesrarea等。DAL:負(fù)責(zé)對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)模塊。包括USER_DAL、DEVICEINFO_DAL、CONFIG_DAL、USERAREA_DAL等。BLL:負(fù)責(zé)模型邏輯管理。包括USER_BLL、DEVICEINFO_BLL、CONFIG_BLL、USERAREA_BLL等。TOOLS:包含一些常用的工具類:包括XmlHelper,SessionHelper等。WEB:前端表現(xiàn)層,管理頁(yè)面和展示頁(yè)面。包括MainForma.aspx、Login.aspx、RoleMgrForm.aspx等

系統(tǒng)詳細(xì)設(shè)計(jì)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)及子系統(tǒng)劃分系統(tǒng)名稱一級(jí)模塊二級(jí)模塊說(shuō)明路燈控制模塊路燈控制開(kāi)關(guān)燈通過(guò)指令對(duì)對(duì)應(yīng)的路燈進(jìn)行簡(jiǎn)單的開(kāi)關(guān)燈操作調(diào)光通過(guò)不同亮度設(shè)置,進(jìn)行路燈調(diào)光情景控制情景模式定義不同的情景模式模式命令集通過(guò)對(duì)不同的模式命令集類配置不同的情景模式,指令包括開(kāi)燈,關(guān)燈,調(diào)光等。路燈管理模塊節(jié)點(diǎn)管理添加添加路燈節(jié)點(diǎn)刪除刪除路燈節(jié)點(diǎn)修改修改路燈節(jié)點(diǎn)屬性管理修改路燈的名稱,網(wǎng)絡(luò)ID,設(shè)備ID等節(jié)點(diǎn)位置管理修改路燈在地圖上展示位置用戶管理用戶管理用戶增刪改以及權(quán)限設(shè)置角色管理用戶角色管理系統(tǒng)功能模塊詳細(xì)設(shè)計(jì)系統(tǒng)分為三部分,分別是:路燈控制系統(tǒng),路燈管理系統(tǒng)和系統(tǒng)管理。用戶,在以個(gè)人登錄系統(tǒng)后,通過(guò)不同的接口操作,點(diǎn)擊進(jìn)入不同的系統(tǒng)。路燈控制系統(tǒng)功能模塊:圖路燈控制系統(tǒng)結(jié)構(gòu)圖路燈控制系統(tǒng)路燈控制開(kāi)燈通過(guò)遠(yuǎn)程指令實(shí)行開(kāi)燈操作關(guān)燈通過(guò)遠(yuǎn)程指令實(shí)行關(guān)燈操作調(diào)光通過(guò)遠(yuǎn)程指令實(shí)行調(diào)光操作屬性查詢通過(guò)查詢動(dòng)作對(duì)路燈的當(dāng)前屬性進(jìn)行查詢情景模式情景設(shè)置對(duì)情景模式進(jìn)行定義模式命令集設(shè)置設(shè)置情景模式中的模式命令集路燈控制系統(tǒng),可以簡(jiǎn)單便捷的進(jìn)行路燈的控制和管理,通過(guò)地圖的展示可以清楚的知道路燈的位置,并進(jìn)行各種路燈的操作,包括開(kāi)光燈、調(diào)光和屬性查詢。屬性查詢讓用戶清楚的了解到路燈的當(dāng)前情況,是否正常,有無(wú)需要維修。在情景模式中,通過(guò)用戶自行設(shè)定的情景模式,可以對(duì)路燈進(jìn)行不同情景模式的設(shè)置。比如在冬天可以在下午5點(diǎn)定時(shí)開(kāi)燈,次日早上7點(diǎn)關(guān)燈,設(shè)置為冬天模式。同理可以設(shè)置夏天模式等。路燈管理模塊:圖路燈管理系統(tǒng)結(jié)構(gòu)圖路燈管理系統(tǒng)節(jié)點(diǎn)管理添加路燈添加區(qū)域,添加控制器,添加路燈組,添加路燈。通過(guò)不同的添加動(dòng)作添加不同的節(jié)點(diǎn)與子節(jié)點(diǎn)刪除路燈刪除指點(diǎn)的路燈修改路燈修改路燈節(jié)點(diǎn)屬性管理對(duì)路燈的屬性進(jìn)行設(shè)置位置管理設(shè)置路燈在地圖上顯示的位置路燈管理系統(tǒng),是通過(guò)對(duì)路燈節(jié)點(diǎn)樹(shù)的操作進(jìn)行路燈的管理。通過(guò)添加路燈、刪除路燈、屬性管理以及位置管理等操作,進(jìn)行路燈配置,將需要進(jìn)行控制的路燈配置至系統(tǒng)內(nèi)部。系統(tǒng)界面詳細(xì)設(shè)計(jì)用戶界面設(shè)計(jì)登錄頁(yè)面路燈控制頁(yè)面路燈節(jié)點(diǎn)樹(shù)路燈地圖展示功能管理情景管理用戶管理角色管理命令行窗口路燈管理中心數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)設(shè)計(jì)要求要求一:表中應(yīng)該避免可為空的列。雖然表中允許空列,但是,空字段是一種比較特殊的數(shù)據(jù)類型。數(shù)據(jù)庫(kù)在處理的時(shí)候,需要進(jìn)行特殊的處理。如此的話,就會(huì)增加數(shù)據(jù)庫(kù)處理記錄的復(fù)雜性。當(dāng)表中有比較多的空字段時(shí),在同等條件下,數(shù)據(jù)庫(kù)處理的性能會(huì)降低許多。所以,雖然在數(shù)據(jù)庫(kù)表設(shè)計(jì)的時(shí)候,允許表中具有空字段,但是,我們應(yīng)該盡量避免。若確實(shí)需要的話,我們可以通過(guò)一些折中的方式,來(lái)處理這些空字段,讓其對(duì)數(shù)據(jù)庫(kù)性能的影響降低到最少。二是若一張表中,允許為空的列比較多,接近表全部列數(shù)的三分之一。而且,這些列在大部分情況下,都是可有可無(wú)的。若數(shù)據(jù)庫(kù)管理員遇到這種情況,筆者建議另外建立一張副表,以保存這些列。然后通過(guò)關(guān)鍵字把主表跟這張副表關(guān)聯(lián)起來(lái)。將數(shù)據(jù)存儲(chǔ)在兩個(gè)獨(dú)立的表中使得主表的設(shè)計(jì)更為簡(jiǎn)單,同時(shí)也能夠滿足存儲(chǔ)空值信息的需要。要求二:表不應(yīng)該有重復(fù)的值或者列。要求三:表中記錄應(yīng)該有一個(gè)唯一的標(biāo)識(shí)符。在數(shù)據(jù)庫(kù)表設(shè)計(jì)的時(shí)候,數(shù)據(jù)庫(kù)管理員應(yīng)該養(yǎng)成一個(gè)好習(xí)慣,用一個(gè)ID號(hào)來(lái)唯一的標(biāo)識(shí)行記錄,而不要通過(guò)名字、編號(hào)等字段來(lái)對(duì)紀(jì)錄進(jìn)行區(qū)分。每個(gè)表都應(yīng)該有一個(gè)ID列,任何兩個(gè)記錄都不可以共享同一個(gè)ID值。另外,這個(gè)ID值最好有數(shù)據(jù)庫(kù)來(lái)進(jìn)行自動(dòng)管理,而不要把這個(gè)任務(wù)給前臺(tái)應(yīng)用程序。否則的話,很容易產(chǎn)生ID值不統(tǒng)一的情況。要求四:數(shù)據(jù)庫(kù)對(duì)象要有統(tǒng)一的前綴名。一個(gè)比較復(fù)雜的應(yīng)用系統(tǒng),其對(duì)應(yīng)的數(shù)據(jù)庫(kù)表往往以千計(jì)。若讓數(shù)據(jù)庫(kù)管理員看到對(duì)象名就了解這個(gè)數(shù)據(jù)庫(kù)對(duì)象所起的作用,恐怕會(huì)比較困難。而且在數(shù)據(jù)庫(kù)對(duì)象引用的時(shí)候,數(shù)據(jù)庫(kù)管理員也會(huì)為不能迅速找到所需要的數(shù)據(jù)庫(kù)對(duì)象而頭疼。其次,表、視圖、函數(shù)等最好也有統(tǒng)一的前綴。如視圖可以用V為前綴,而函數(shù)則可以利用F為前綴。如此數(shù)據(jù)庫(kù)管理員無(wú)論是在日常管理還是對(duì)象引用的時(shí)候,都能夠在最短的時(shí)間內(nèi)找到自己所需要的對(duì)象。要求五:盡量只存儲(chǔ)單一實(shí)體類型的數(shù)據(jù)。這里講的實(shí)體類型跟數(shù)據(jù)類型不是一回事,要注意區(qū)分。這里講的實(shí)體類型是指所需要描述對(duì)象的本身。如現(xiàn)在有一個(gè)圖書館里系統(tǒng),有圖書基本信息、作者信息兩個(gè)實(shí)體對(duì)象。若用戶要把這兩個(gè)實(shí)體對(duì)象信息放在同一張表中也是可以的。如可以把表設(shè)計(jì)成圖書名字、圖書作者等等??墒侨绱嗽O(shè)計(jì)的話,會(huì)給后續(xù)的維護(hù)帶來(lái)不少的麻煩。以上五條是在數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)達(dá)到規(guī)范化水平的基本要求。信息模型設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)設(shè)計(jì)依據(jù)原始單據(jù)與實(shí)體之間的關(guān)系可以是一對(duì)一、一對(duì)多、多對(duì)多的關(guān)系。在一般情況下,它們是一對(duì)一的關(guān)系:即一張?jiān)紗螕?jù)對(duì)應(yīng)且只對(duì)應(yīng)一個(gè)實(shí)體。在特殊情況下,它們可能是一對(duì)多或多對(duì)一的關(guān)系,即一張?jiān)紗巫C對(duì)應(yīng)多個(gè)實(shí)體,或多張?jiān)紗巫C對(duì)應(yīng)一個(gè)實(shí)體。主鍵與外鍵一般而言,一個(gè)實(shí)體不能既無(wú)主鍵又無(wú)外鍵。在E—R圖中,處于葉子部位的實(shí)體,可以定義主鍵,也可以不定義主鍵(因?yàn)樗鼰o(wú)子孫),但必須要有外鍵(因?yàn)樗懈赣H)。主鍵與外鍵的設(shè)計(jì),在全局?jǐn)?shù)據(jù)庫(kù)的設(shè)計(jì)中,占有重要地位。當(dāng)全局?jǐn)?shù)據(jù)庫(kù)的設(shè)計(jì)完成以后,有個(gè)美國(guó)數(shù)據(jù)庫(kù)設(shè)計(jì)專家說(shuō):“鍵,到處都是鍵,除了鍵之外,什么也沒(méi)有”,這就是他的數(shù)據(jù)庫(kù)設(shè)計(jì)經(jīng)驗(yàn)之談,也反映了他對(duì)信息系統(tǒng)核心(數(shù)據(jù)模型)的高度抽象思想。因?yàn)椋褐麈I是實(shí)體的高度抽象,主鍵與外鍵的配對(duì),表示實(shí)體之間的連接?;颈淼男再|(zhì)基本表與中間表、臨時(shí)表不同,因?yàn)樗哂腥缦滤膫€(gè)特性:(1)原子性。基本表中的字段是不可再分解的。(2)原始性?;颈碇械挠涗浭窃紨?shù)據(jù)(基礎(chǔ)數(shù)據(jù))的記錄。(3)演繹性。由基本表與代碼表中的數(shù)據(jù),可以派生出所有的輸出數(shù)據(jù)。(4)穩(wěn)定性?;颈淼慕Y(jié)構(gòu)是相對(duì)穩(wěn)定的,表中的記錄是要長(zhǎng)期保存的。理解基本表的性質(zhì)后,在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),就能將基本表與中間表、臨時(shí)表區(qū)分開(kāi)來(lái)。范式標(biāo)準(zhǔn)基本表及其字段之間的關(guān)系,應(yīng)盡量滿足第三范式。但是,滿足第三范式的數(shù)據(jù)庫(kù)設(shè)計(jì),往往不是最好的設(shè)計(jì)。為了提高數(shù)據(jù)庫(kù)的運(yùn)行效率,常常需要降低范式標(biāo)準(zhǔn):適當(dāng)增加冗余,達(dá)到以空間換時(shí)間的目的。通俗地理解三個(gè)范式通俗地理解三個(gè)范式,對(duì)于數(shù)據(jù)庫(kù)設(shè)計(jì)大有好處。在數(shù)據(jù)庫(kù)設(shè)計(jì)中,為了更好地應(yīng)用三個(gè)范式,就必須通俗地理解三個(gè)范式(通俗地理解是夠用的理解,并不是最科學(xué)最準(zhǔn)確的理解):第一范式:1NF是對(duì)屬性的原子性約束,要求屬性具有原子性,不可再分解;第二范式:2NF是對(duì)記錄的惟一性約束,要求記錄有惟一標(biāo)識(shí),即實(shí)體的惟一性;第三范式:3NF是對(duì)字段冗余性的約束,即任何字段不能由其他字段派生出來(lái),它要求字段沒(méi)有冗余。沒(méi)有冗余的數(shù)據(jù)庫(kù)設(shè)計(jì)可以做到。但是,沒(méi)有冗余的數(shù)據(jù)庫(kù)未必是最好的數(shù)據(jù)庫(kù),有時(shí)為了提高運(yùn)行效率,就必須降低范式標(biāo)準(zhǔn),適當(dāng)保留冗余數(shù)據(jù)。具體做法是:在概念數(shù)據(jù)模型設(shè)計(jì)時(shí)遵守第三范式,降低范式標(biāo)準(zhǔn)的工作放到物理數(shù)據(jù)模型設(shè)計(jì)時(shí)考慮。降低范式就是增加字段,允許冗余。要善于識(shí)別與正確處理多對(duì)多的關(guān)系若兩個(gè)實(shí)體之間存在多對(duì)多的關(guān)系,則應(yīng)消除這種關(guān)系。消除的辦法是,在兩者之間增加第三個(gè)實(shí)體。這樣,原來(lái)一個(gè)多對(duì)多的關(guān)系,現(xiàn)在變?yōu)閮蓚€(gè)一對(duì)多的關(guān)系。要將原來(lái)兩個(gè)實(shí)體的屬性合理地分配到三個(gè)實(shí)體中去。這里的第三個(gè)實(shí)體,實(shí)質(zhì)上是一個(gè)較復(fù)雜的關(guān)系,它對(duì)應(yīng)一張基本表。一般來(lái)講,數(shù)據(jù)庫(kù)設(shè)計(jì)工具不能識(shí)別多對(duì)多的關(guān)系,但能處理多對(duì)多的關(guān)系。主鍵PK的取值方法PK是供程序員使用的表間連接工具,可以是一無(wú)物理意義的數(shù)字串,由程序自動(dòng)加1來(lái)實(shí)現(xiàn)。也可以是有物理意義的字段名或字段名的組合。不過(guò)前者比后者好。當(dāng)PK是字段名的組合時(shí),建議字段的個(gè)數(shù)不要太多,多了不但索引占用空間大,而且速度也慢。正確認(rèn)識(shí)數(shù)據(jù)冗余主鍵與外鍵在多表中的重復(fù)出現(xiàn),不屬于數(shù)據(jù)冗余,這個(gè)概念必須清楚,事實(shí)上有許多人還不清楚。非鍵字段的重復(fù)出現(xiàn),才是數(shù)據(jù)冗余!而且是一種低級(jí)冗余,即重復(fù)性的冗余。高級(jí)冗余不是字段的重復(fù)出現(xiàn),而是字段的派生出現(xiàn)。視圖技術(shù)在數(shù)據(jù)庫(kù)設(shè)計(jì)中很有用與基本表、代碼表、中間表不同,視圖是一種虛表,它依賴數(shù)據(jù)源的實(shí)表而存在。視圖是供程序員使用數(shù)據(jù)庫(kù)的一個(gè)窗口,是基表數(shù)據(jù)綜合的一種形式,是數(shù)據(jù)處理的一種方法,是用戶數(shù)據(jù)保密的一種手段。為了進(jìn)行復(fù)雜處理、提高運(yùn)算速度和節(jié)省存儲(chǔ)空間,視圖的定義深度一般不得超過(guò)三層。若三層視圖仍不夠用,則應(yīng)在視圖上定義臨時(shí)表,在臨時(shí)表上再定義視圖。這樣反復(fù)交迭定義,視圖的深度就不受限制了。中間表、報(bào)表和臨時(shí)表中間表是存放統(tǒng)計(jì)數(shù)據(jù)的表,它是為數(shù)據(jù)倉(cāng)庫(kù)、輸出報(bào)表或查詢結(jié)果而設(shè)計(jì)的,有時(shí)它沒(méi)有主鍵與外鍵(數(shù)據(jù)倉(cāng)庫(kù)除外)。臨時(shí)表是程序員個(gè)人設(shè)計(jì)的,存放臨時(shí)記錄,為個(gè)人所用?;砗椭虚g表由DBA維護(hù),臨時(shí)表由程序員自己用程序自動(dòng)維護(hù)。完整性約束表現(xiàn)在三個(gè)方面域的完整性:用Check來(lái)實(shí)現(xiàn)約束,在數(shù)據(jù)庫(kù)設(shè)計(jì)工具中,對(duì)字段的取值范圍進(jìn)行定義時(shí),有一個(gè)Check按鈕,通過(guò)它定義字段的值城。防止數(shù)據(jù)庫(kù)設(shè)計(jì)打補(bǔ)丁的方法是“三少原則”(1)一個(gè)數(shù)據(jù)庫(kù)中表的個(gè)數(shù)越少越好。只有表的個(gè)數(shù)少了,才能說(shuō)明系統(tǒng)的E--R圖少而精,去掉了重復(fù)的多余的實(shí)體,形成了對(duì)客觀世界的高度抽象,進(jìn)行了系統(tǒng)的數(shù)據(jù)集成,防止了打補(bǔ)丁式的設(shè)計(jì);(2)一個(gè)表中組合主鍵的字段個(gè)數(shù)越少越好。因?yàn)橹麈I的作用,一是建主鍵索引,二是做為子表的外鍵,所以組合主鍵的字段個(gè)數(shù)少了,不僅節(jié)省了運(yùn)行時(shí)間,而且節(jié)省了索引存儲(chǔ)空間;(3)一個(gè)表中的字段個(gè)數(shù)越少越好。只有字段的個(gè)數(shù)少了,才能說(shuō)明在系統(tǒng)中不存在數(shù)據(jù)重復(fù),且很少有數(shù)據(jù)冗余,更重要的是督促讀者學(xué)會(huì)“列變行”,這樣就防止了將子表中的字段拉入到主表中去,在主表中留下許多空余的字段。所謂“列變行”,就是將主表中的一部分內(nèi)容拉出去,另外單獨(dú)建一個(gè)子表。這個(gè)方法很簡(jiǎn)單,有的人就是不習(xí)慣、不采納、不執(zhí)行。數(shù)據(jù)庫(kù)設(shè)計(jì)的實(shí)用原則是:在數(shù)據(jù)冗余和處理速度之間找到合適的平衡點(diǎn)?!叭佟笔且粋€(gè)整體概念,綜合觀點(diǎn),不能孤立某一個(gè)原則。該原則是相對(duì)的,不是絕對(duì)的。“三多”原則肯定是錯(cuò)誤的。試想:若覆蓋系統(tǒng)同樣的功能,一百個(gè)實(shí)體(共一千個(gè)屬性)的E--R圖,肯定比二百個(gè)實(shí)體(共二千個(gè)屬性)的E--R圖,要好得多。提倡“三少”原則,是叫讀者學(xué)會(huì)利用數(shù)據(jù)庫(kù)設(shè)計(jì)技術(shù)進(jìn)行系統(tǒng)的數(shù)據(jù)集成。數(shù)據(jù)集成的步驟是將文件系統(tǒng)集成為應(yīng)用數(shù)據(jù)庫(kù),將應(yīng)用數(shù)據(jù)庫(kù)集成為主題數(shù)據(jù)庫(kù),將主題數(shù)據(jù)庫(kù)集成為全局綜合數(shù)據(jù)庫(kù)。集成的程度越高,數(shù)據(jù)共享性就越強(qiáng),信息孤島現(xiàn)象就越少,整個(gè)企業(yè)信息系統(tǒng)的全局E—R圖中實(shí)體的個(gè)數(shù)、主鍵的個(gè)數(shù)、屬性的個(gè)數(shù)就會(huì)越少。提倡“三少”原則的目的,是防止讀者利用打補(bǔ)丁技術(shù),不斷地對(duì)數(shù)據(jù)庫(kù)進(jìn)行增刪改,使企業(yè)數(shù)據(jù)庫(kù)變成了隨意設(shè)計(jì)數(shù)據(jù)庫(kù)表的“垃圾堆”,或數(shù)據(jù)庫(kù)表的“大雜院”,最后造成數(shù)據(jù)庫(kù)中的基本表、代碼表、中間表、臨時(shí)表雜亂無(wú)章,不計(jì)其數(shù),導(dǎo)致企事業(yè)單位的信息系統(tǒng)無(wú)法維護(hù)而癱瘓?!叭唷痹瓌t任何人都可以做到,該原則是“打補(bǔ)丁方法”設(shè)計(jì)數(shù)據(jù)庫(kù)的歪理學(xué)說(shuō)?!叭佟痹瓌t是少而精的原則,它要求有較高的數(shù)據(jù)庫(kù)設(shè)計(jì)技巧與藝術(shù),不是任何人都能做到的,因?yàn)樵撛瓌t是杜絕用“打補(bǔ)丁方法”設(shè)計(jì)數(shù)據(jù)庫(kù)的理論依據(jù)。數(shù)據(jù)庫(kù)種類及特點(diǎn)SQLServer是Microsoft公司推出的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn),可跨越從運(yùn)行MicrosoftWindows98的膝上型電腦到運(yùn)行MicrosoftWindows2012的大型多處理器的服務(wù)器等多種平臺(tái)使用。MicrosoftSQLServer是一個(gè)全面的數(shù)據(jù)庫(kù)平臺(tái),使用集成的商業(yè)智能(BI)工具提供了企業(yè)級(jí)的數(shù)據(jù)管理。MicrosoftSQLServer數(shù)據(jù)庫(kù)引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲(chǔ)功能,使您可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。SQLServer2005十個(gè)特點(diǎn):NET框架主機(jī)使用SQLServer2005,開(kāi)發(fā)人員通過(guò)使用相似的語(yǔ)言,例如微軟的VisualC#.net和微軟的VisualBasic,將能夠創(chuàng)立數(shù)據(jù)庫(kù)對(duì)象。開(kāi)發(fā)人員還將能夠建立兩個(gè)新的對(duì)象--用戶定義的類和集合。XML技術(shù)在使用本地網(wǎng)絡(luò)和互聯(lián)網(wǎng)的情況下,在不同應(yīng)用軟件之間散步數(shù)據(jù)的時(shí)候,可擴(kuò)展標(biāo)記語(yǔ)言(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的子集)是一個(gè)重要的標(biāo)準(zhǔn)。SQLServer2005將會(huì)自身支持存儲(chǔ)和查詢可擴(kuò)展標(biāo)記語(yǔ)言文件。ADO.NET2.0版本從對(duì)SQL類的新的支持,到多活動(dòng)結(jié)果集(MARS),SQLServer2005中的ADO.NET將推動(dòng)數(shù)據(jù)集的存取和操縱,實(shí)現(xiàn)更大的可升級(jí)性和靈活性。增強(qiáng)的安全性SQLServer2005中的新安全模式將用戶和對(duì)象分開(kāi),提供fine-grainAccess存取、并允許對(duì)數(shù)據(jù)存取進(jìn)行更大的控制。另外,所有系統(tǒng)表格將作為視圖得到實(shí)施,對(duì)數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象進(jìn)行了更大程度的控制。Transact-SQL的增強(qiáng)性能SQLServer2005為開(kāi)發(fā)可升級(jí)的數(shù)據(jù)庫(kù)應(yīng)用軟件,提供了新的語(yǔ)言功能。這些增強(qiáng)的性能包括處理錯(cuò)誤、遞歸查詢功能、關(guān)系運(yùn)算符PIVOT,APPLY,ROW_NUMBER和其他數(shù)據(jù)列排行功能,等等。SQL服務(wù)中介SQL服務(wù)中介將為大型、營(yíng)業(yè)范圍內(nèi)的應(yīng)用軟件,提供一個(gè)分布式的、異步應(yīng)用框架。通告服務(wù)通告服務(wù)使得業(yè)務(wù)可以建立豐富的通知應(yīng)用軟件,向任何設(shè)備,提供個(gè)人化的和及時(shí)的信息,例如股市警報(bào)、新聞?dòng)嗛?、包裹遞送警報(bào)、航空公司票價(jià)等。在SQLServer2005中,通告服務(wù)和其他技術(shù)更加緊密地融合在了一起,這些技術(shù)包括分析服務(wù)、SQLServerManagementStudio.Web服務(wù)使用SQLServer2005,開(kāi)發(fā)人員將能夠在數(shù)據(jù)庫(kù)層開(kāi)發(fā)Web服務(wù),將SQLServer當(dāng)作一個(gè)超文本傳輸協(xié)議(HTTP)偵聽(tīng)器,并且為網(wǎng)絡(luò)服務(wù)中心應(yīng)用軟件提供一個(gè)新型的數(shù)據(jù)存取功能。報(bào)表服務(wù)利用SQLServer2005,報(bào)表服務(wù)可以提供報(bào)表控制,可以通過(guò)VisualStudio2005發(fā)行。全文搜索功能的增強(qiáng)SQLServer2005將支持豐富的全文應(yīng)用軟件。服務(wù)器的編目功能將得到增強(qiáng),對(duì)編目的對(duì)象提供更大的靈活性。查詢性能和可升級(jí)性將大幅得到改進(jìn),同時(shí)新的管理工具將為有關(guān)全文功能的運(yùn)行,提供更深入的了解。MicrosoftSQLServer2005組件MicrosoftSQLServer2005是用于大規(guī)模聯(lián)機(jī)事務(wù)處理(OLTP)、數(shù)據(jù)倉(cāng)庫(kù)和電子商務(wù)應(yīng)用的數(shù)據(jù)庫(kù)平臺(tái);也是用于數(shù)據(jù)集成、分析和報(bào)表解決方案的商業(yè)智能平臺(tái)。SQLServer2005引入了一些“Studio”幫助實(shí)現(xiàn)開(kāi)發(fā)和管理任務(wù):SQLServerManagementStudio和BusinessIntelligenceDevelopmentStudio。在ManagementStudio中,可以開(kāi)發(fā)和管理SQLServer數(shù)據(jù)庫(kù)引擎與通知解決方案,管理已部署的AnalysisServices解決方案,管理和運(yùn)行IntegrationServices包,以及管理報(bào)表服務(wù)器和ReportingServices報(bào)表與報(bào)表模型。在BIDevelopmentStudio中,可以使用以下項(xiàng)目來(lái)開(kāi)發(fā)商業(yè)智能解決方案:使用AnalysisServices項(xiàng)目開(kāi)發(fā)多維數(shù)據(jù)集、維度和挖掘結(jié)構(gòu);使用ReportingServices項(xiàng)目創(chuàng)建報(bào)表;使用報(bào)表模型項(xiàng)目定義報(bào)表的模型;使用IntegrationServices項(xiàng)目創(chuàng)建包。數(shù)據(jù)庫(kù)引擎數(shù)據(jù)庫(kù)引擎是用于存儲(chǔ)、處理和保護(hù)數(shù)據(jù)的核心服務(wù)。利用數(shù)據(jù)庫(kù)引擎可控制訪問(wèn)權(quán)限并快速處理事務(wù),從而滿足企業(yè)內(nèi)要求極高而且需要處理大量數(shù)據(jù)的應(yīng)用需要。使用數(shù)據(jù)庫(kù)引擎創(chuàng)建用于聯(lián)機(jī)事務(wù)處理或聯(lián)機(jī)分析處理數(shù)據(jù)的關(guān)系數(shù)據(jù)庫(kù)。這包括創(chuàng)建用于存儲(chǔ)數(shù)據(jù)的表和用于查看、管理和保護(hù)數(shù)據(jù)安全的數(shù)據(jù)庫(kù)對(duì)象(如索引、視圖和存儲(chǔ)過(guò)程)??梢允褂肧QLServerManagementStudio管理數(shù)據(jù)庫(kù)對(duì)象,使用SQLServerProfiler捕獲服務(wù)器事件。AnalysisServicesAnalysisServices是一種核心服務(wù),可支持對(duì)業(yè)務(wù)數(shù)據(jù)的快速分析,以及為商業(yè)智能應(yīng)用程序提供聯(lián)機(jī)分析處理(OLAP)和數(shù)據(jù)挖掘功能。OLAP使用AnalysisServices,可以設(shè)計(jì)、創(chuàng)建和管理包含來(lái)自多個(gè)數(shù)據(jù)源的詳細(xì)數(shù)據(jù)和聚合數(shù)據(jù)的多維結(jié)構(gòu),其中這些數(shù)據(jù)源(如關(guān)系數(shù)據(jù)庫(kù))都存在于內(nèi)置計(jì)算支持的單個(gè)統(tǒng)一邏輯模型中。AnalysisServices為根據(jù)統(tǒng)一的數(shù)據(jù)模型構(gòu)建的大量數(shù)據(jù)提供快速、直觀、由上至下的分析,這樣可以采用多種語(yǔ)言和貨幣向用戶提供數(shù)據(jù)。AnalysisServices使用數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)集市、生產(chǎn)數(shù)據(jù)庫(kù)和操作數(shù)據(jù)存儲(chǔ)區(qū),以支持歷史數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)分析。數(shù)據(jù)挖掘AnalysisServices包含創(chuàng)建復(fù)雜數(shù)據(jù)挖掘解決方案所需的功能和工具。一組行業(yè)標(biāo)準(zhǔn)數(shù)據(jù)挖掘算法。數(shù)據(jù)挖掘設(shè)計(jì)器,可用于創(chuàng)建、管理和瀏覽挖掘模型,并可以根據(jù)挖掘模型創(chuàng)建預(yù)測(cè)。DMX語(yǔ)言,可用于管理挖掘模型和創(chuàng)建復(fù)雜的預(yù)測(cè)查詢??梢越M合使用這些功能和工具,以發(fā)現(xiàn)數(shù)據(jù)中存在的趨勢(shì)和模式,然后使用這些趨勢(shì)和模式對(duì)業(yè)務(wù)難題作出明智決策。IntegrationServicesSQLServer2005IntegrationServices(SSIS)是SQLServer2005的提取、轉(zhuǎn)換和加載(ETL)組件。它取代了早期的SQLServerETL組件DataTransformationServices(DTS)。IntegrationServices是用于生成企業(yè)級(jí)數(shù)據(jù)集成和數(shù)據(jù)轉(zhuǎn)換解決方案的平臺(tái)。使用IntegrationServices可解決復(fù)雜的業(yè)務(wù)問(wèn)題,方法是復(fù)制或下載文件,發(fā)送電子郵件以響應(yīng)事件,更新數(shù)據(jù)倉(cāng)庫(kù),清除和挖掘數(shù)據(jù)以及管理SQLServer對(duì)象和數(shù)據(jù)。這些包可以獨(dú)立使用,也可以與其他包一起使用以滿足復(fù)雜的業(yè)務(wù)需求。IntegrationServices可以提取和轉(zhuǎn)換來(lái)自多種源(如XML數(shù)據(jù)文件、平面文件和關(guān)系數(shù)據(jù)源)的數(shù)據(jù),然后將這些數(shù)據(jù)加載到一個(gè)或多個(gè)目標(biāo)。IntegrationServices包含一組豐富的內(nèi)置任務(wù)和轉(zhuǎn)換、用于構(gòu)造包的工具以及用于運(yùn)行和管理包的IntegrationServices服務(wù)??梢允褂肐ntegrationServices圖形工具來(lái)創(chuàng)建解決方案,此時(shí)無(wú)需編寫一行代碼;也可以對(duì)IntegrationServices對(duì)象模型進(jìn)行編程,通過(guò)編程方式創(chuàng)建包并編寫自定義任務(wù)以及其他包對(duì)象的代碼。復(fù)制復(fù)制是一組技術(shù),用于在數(shù)據(jù)庫(kù)間復(fù)制和分發(fā)數(shù)據(jù)和數(shù)據(jù)庫(kù)對(duì)象,然后在數(shù)據(jù)庫(kù)間進(jìn)行同步操作以維持一致性。使用復(fù)制可以將數(shù)據(jù)通過(guò)局域網(wǎng)、廣域網(wǎng)、撥號(hào)連接、無(wú)線連接和Internet分發(fā)到不同位置以及分發(fā)給遠(yuǎn)程用戶或移動(dòng)用戶。SQLServer提供以下三種功能各不相同的復(fù)制類型:事務(wù)復(fù)制、合并復(fù)制和快照復(fù)制。事務(wù)復(fù)制通常用于需要高吞吐量的服務(wù)器到服務(wù)器方案(包括:提高伸縮性和可用性、數(shù)據(jù)倉(cāng)庫(kù)和報(bào)告、集成多個(gè)站點(diǎn)的數(shù)據(jù)、集成異類數(shù)據(jù)以及卸載批處理)。合并復(fù)制主要為可能存在數(shù)據(jù)沖突的移動(dòng)應(yīng)用程序或分步式服務(wù)器應(yīng)用程序而設(shè)計(jì)的。常見(jiàn)應(yīng)用場(chǎng)景包括:與移動(dòng)用戶交換數(shù)據(jù)、POS(消費(fèi)者銷售點(diǎn))應(yīng)用程序以及集成來(lái)自多個(gè)站點(diǎn)的數(shù)據(jù)??煺諒?fù)制用于為事務(wù)性復(fù)制和合并復(fù)制提供初始數(shù)據(jù)集;在適合數(shù)據(jù)完全刷新時(shí)也可以使用快照復(fù)制。利用這三種復(fù)制,SQLServer提供功能強(qiáng)大且靈活的系統(tǒng),以便使企業(yè)范圍的數(shù)據(jù)同步。ReportingServicesSQLServer2005ReportingServices(SSRS)是基于服務(wù)器的報(bào)表平臺(tái),提供來(lái)自關(guān)系和多維數(shù)據(jù)源的綜合數(shù)據(jù)報(bào)表。ReportingServices包含處理組件、一整套可用于創(chuàng)建和管理報(bào)表的工具和允許開(kāi)發(fā)人員在自定義應(yīng)用程序中集成和擴(kuò)展數(shù)據(jù)和報(bào)表處理的應(yīng)用程序編程接口(API)。生成的報(bào)表可以基于SQLServer、AnalysisServices、Oracle或任何Microsoft.NETFramework數(shù)據(jù)訪問(wèn)接口(如ODBC或OLEDB)提供的關(guān)系數(shù)據(jù)或多維數(shù)據(jù)。利用ReportingServices,可以創(chuàng)建交互式報(bào)表、表格報(bào)表或自由格式報(bào)表,可以根據(jù)計(jì)劃的時(shí)間間隔檢索數(shù)據(jù)或在用戶打開(kāi)報(bào)表時(shí)按需檢索數(shù)據(jù)。ReportingServices還允許用戶基于預(yù)定義模型創(chuàng)建即席報(bào)表,并且允許通過(guò)交互方式瀏覽模型中的數(shù)據(jù)。所有報(bào)表可以按桌面格式或面向Web的格式呈現(xiàn)。您可以從許多查看格式中進(jìn)行選擇,以數(shù)據(jù)操作或打印的首選格式按需呈現(xiàn)報(bào)表。ReportingServices是基于服務(wù)器的解決方案,因此通過(guò)它可以集中存儲(chǔ)和管理報(bào)表,安全地訪問(wèn)報(bào)表、模型和文件夾,控制報(bào)表的處理和分發(fā)方式,并使報(bào)表在企業(yè)內(nèi)的使用方式標(biāo)準(zhǔn)化。NotificationServicesSQLServer2005NotificationServices是用于開(kāi)發(fā)生成并發(fā)送通知的應(yīng)用程序的平臺(tái),也是運(yùn)行這些應(yīng)用程序的引擎??梢允褂肗otificationServices生成并向大量訂閱方及時(shí)發(fā)送個(gè)性化的消息,還可以向各種各樣的應(yīng)用程序和設(shè)備傳遞消息。使用NotificationServices平臺(tái),可以開(kāi)發(fā)功能齊全的通知應(yīng)用程序。訂閱表達(dá)了訂閱方在特定信息(稱為事件)方面的興趣,可以根據(jù)事件的到達(dá)或計(jì)劃對(duì)其進(jìn)行評(píng)估。事件數(shù)據(jù)本身可以源自數(shù)據(jù)庫(kù)內(nèi)部、其他數(shù)據(jù)庫(kù)或外部源。通知是事件和訂閱匹配的結(jié)果,在發(fā)送給訂閱方之前,可以采用各種格式。NotificationServices引擎與SQLServer數(shù)據(jù)庫(kù)引擎協(xié)同工作。數(shù)據(jù)庫(kù)引擎存儲(chǔ)應(yīng)用程序數(shù)據(jù),并執(zhí)行事件和訂閱之間的匹配。NotificationServices引擎控制數(shù)據(jù)流和數(shù)據(jù)處理,并且可以擴(kuò)展到多臺(tái)計(jì)算機(jī)。這可以改進(jìn)要求極高的應(yīng)用程序的性能。全文搜索SQLServer包含對(duì)SQLServer表中基于純字符的數(shù)據(jù)進(jìn)行全文查詢所需的功能。全文查詢可以包括字詞和短語(yǔ),或者一個(gè)字詞或短語(yǔ)的多種形式。使用全文搜索可以快速、靈活地為存儲(chǔ)在MicrosoftSQLServer數(shù)據(jù)庫(kù)中的文本數(shù)據(jù)的基于關(guān)鍵字的查詢創(chuàng)建索引。在SQLServer2005中,全文搜索提供企業(yè)級(jí)搜索功能。使用全文搜索可以同時(shí)在多個(gè)表的多個(gè)字段中搜索基于字符的純文本數(shù)據(jù)。對(duì)大量非結(jié)構(gòu)化的文本數(shù)據(jù)進(jìn)行查詢時(shí),使用全文搜索獲得的性能優(yōu)勢(shì)會(huì)得到充分的表現(xiàn)。例如,對(duì)數(shù)百萬(wàn)行文本數(shù)據(jù)執(zhí)行的Transact-SQLLIKE查詢可能需要花費(fèi)幾分鐘時(shí)間才能返回結(jié)果;但對(duì)同樣的數(shù)據(jù),全文查詢只需要幾秒或更少的時(shí)間,具體取決于返回的行數(shù)??梢詫?duì)存儲(chǔ)在char、varchar或nvarchar列中的數(shù)據(jù)或存儲(chǔ)在varbinary(max)或image列中的格式化二進(jìn)制數(shù)據(jù)(如MicrosoftWord文檔)創(chuàng)建全文搜索。ServiceBrokerSQLServer2005ServiceBroker為消息和隊(duì)列應(yīng)用程序提供SQLServer數(shù)據(jù)庫(kù)引擎本地支持。這使開(kāi)發(fā)人員可以輕松地創(chuàng)建使用數(shù)據(jù)庫(kù)引擎組件在完全不同的數(shù)據(jù)庫(kù)之間進(jìn)行通信的復(fù)雜應(yīng)用程序。開(kāi)發(fā)人員可以使用ServiceBroker輕松生成可靠的分布式應(yīng)用程序。使用ServiceBroker的應(yīng)用程序開(kāi)發(fā)人員無(wú)需編寫復(fù)雜的內(nèi)部通信和消息,即可跨多個(gè)數(shù)據(jù)庫(kù)分發(fā)數(shù)據(jù)工作負(fù)荷。由于ServiceBroker處理會(huì)話上下文中的通信路徑,所以降低了開(kāi)發(fā)和測(cè)試工作。同時(shí)還提高性能。例如,支持網(wǎng)站的前端數(shù)據(jù)庫(kù)可以記錄信息并將處理密集型任務(wù)發(fā)送到后端數(shù)據(jù)庫(kù)以進(jìn)行排隊(duì)。ServiceBroker確保在事務(wù)上下文中管理所有任務(wù)以確??煽啃院图夹g(shù)一致性。SQLServer2008MicrosoftSQLServer2008是一個(gè)重大的產(chǎn)品版本,它推出了許多新的特性和關(guān)鍵的改進(jìn),使得它成為至今為止的最強(qiáng)大和最全面的MicrosoftSQLServer版本。這篇文章詳細(xì)介紹了MicrosoftSQLServer2008中的新的特性、優(yōu)點(diǎn)和功能。微軟的這個(gè)數(shù)據(jù)平臺(tái)滿足這些數(shù)據(jù)爆炸和下一代數(shù)據(jù)驅(qū)動(dòng)應(yīng)用程序的需求,支持?jǐn)?shù)據(jù)平臺(tái)愿景:關(guān)鍵任務(wù)企業(yè)數(shù)據(jù)平臺(tái)、動(dòng)態(tài)開(kāi)發(fā)、關(guān)系數(shù)據(jù)和商業(yè)智能。MicrosoftSQLServer2008新功能這個(gè)平臺(tái)有以下特點(diǎn)·可信任的——使得公司可以以很高的安全性、可靠性和可擴(kuò)展性來(lái)運(yùn)行他們最關(guān)鍵任務(wù)的應(yīng)用程序。·高效的——使得公司可以降低開(kāi)發(fā)和管理他們的數(shù)據(jù)基礎(chǔ)設(shè)施的時(shí)間和成本?!ぶ悄艿摹峁┝艘粋€(gè)全面的平臺(tái),可以在你的用戶需要的時(shí)候給他發(fā)送觀察和信息。可信任的(一)保護(hù)你的信息在過(guò)去的MicrosoftSQLServer2005的基礎(chǔ)之上,MicrosoftSQLServer2008做了以下方面的增強(qiáng)來(lái)擴(kuò)展它的安全性:*簡(jiǎn)單的數(shù)據(jù)加密MicrosoftSQLServer2008可以對(duì)整個(gè)數(shù)據(jù)庫(kù)、數(shù)據(jù)文件和日志文件進(jìn)行加密,而不需要改動(dòng)應(yīng)用程序。進(jìn)行加密使公司可以滿足遵守規(guī)范及其關(guān)注microsoftsqlservermicrosoftsqlserver數(shù)據(jù)隱私的要求。簡(jiǎn)單的數(shù)據(jù)加密的好處包括使用任何范圍或模糊查詢搜索加密的數(shù)據(jù)、加強(qiáng)數(shù)據(jù)安全性以防止未授權(quán)的用戶訪問(wèn)、還有數(shù)據(jù)加密。這些可以在不改變已有的應(yīng)用程序的情況下進(jìn)行。*外鍵管理MicrosoftSQLServer2008為加密和密鑰管理提供了一個(gè)全面的解決方案。為了滿足不斷發(fā)展的對(duì)數(shù)據(jù)中心的信息的更強(qiáng)安全性的需求,公司投資給供應(yīng)商來(lái)管理公司內(nèi)的安全密鑰。MicrosoftSQLServer2008通過(guò)支持第三方密鑰管理和硬件安全模塊(HSM)產(chǎn)品為這個(gè)需求提供了很好的支持。*增強(qiáng)了審查MicrosoftSQLServer2008使你可以審查你的數(shù)據(jù)的操作,從而提高了遵從性和安全性。審查不只包括對(duì)數(shù)據(jù)修改的所有信息,還包括關(guān)于什么時(shí)候?qū)?shù)據(jù)進(jìn)行讀取的信息。MicrosoftSQLServer2008具有像服務(wù)器中加強(qiáng)的審查的配置和管理這樣的功能,這使得公司可以滿足各種規(guī)范需求。MicrosoftSQLServer2008還可以定義每一個(gè)數(shù)據(jù)庫(kù)的審查規(guī)范,所以審查配置可以為每一個(gè)數(shù)據(jù)庫(kù)作單獨(dú)的制定。為指定對(duì)象作審查配置使審查的執(zhí)行性能更好,配置的靈活性也更高。確保業(yè)務(wù)可持續(xù)性*改進(jìn)了數(shù)據(jù)庫(kù)鏡像MicrosoftSQLServer2008基于MicrosoftSQLServer2005,并提供了更可靠的加強(qiáng)了數(shù)據(jù)庫(kù)鏡像的平臺(tái)。新的特性包括:·頁(yè)面自動(dòng)修復(fù)。MicrosoftSQLServer2008通過(guò)請(qǐng)求獲得一個(gè)從鏡像合作機(jī)器上得到的出錯(cuò)頁(yè)面的重新拷貝,使主要的和鏡像的計(jì)算機(jī)可以透明的修復(fù)數(shù)據(jù)頁(yè)面上的823和824錯(cuò)誤。·提高了性能。MicrosoftSQLServer2008壓縮了輸出的日志流,以便使數(shù)據(jù)庫(kù)鏡像所要求的網(wǎng)絡(luò)帶寬達(dá)到最小。*強(qiáng)大的審計(jì)功能SQLServer2008為我們帶來(lái)了一些更強(qiáng)大的審計(jì)功能;或許其中最重要的一個(gè)就是變更數(shù)據(jù)捕獲(CDC)。使用CDC,你能夠捕獲和記錄發(fā)生在你數(shù)據(jù)庫(kù)中的任意INSERT、UPDATE或DELETE等操作。一旦你為一個(gè)數(shù)據(jù)庫(kù)啟用了CDC功能,你可以對(duì)該數(shù)據(jù)庫(kù)中的一個(gè)表進(jìn)行跟蹤記錄。SQLServer會(huì)記錄對(duì)這些表進(jìn)行修改的信息,并將其寫到啟用CDC功能的數(shù)據(jù)庫(kù)的某些系統(tǒng)表中。當(dāng)一個(gè)用戶針對(duì)你的數(shù)據(jù)表運(yùn)行INSERT、UPDATE或UPDATE操作時(shí),相關(guān)操作事務(wù)和相關(guān)數(shù)據(jù)就會(huì)被記錄下來(lái)。對(duì)于INSERT來(lái)說(shuō),插入的數(shù)值會(huì)被記錄,而對(duì)于DELETE來(lái)說(shuō),被刪除的值同樣也會(huì)被記錄。UPDATE的操作略微有點(diǎn)不同。更新前后的數(shù)據(jù)都會(huì)被記錄。通過(guò)使用CDC功能,你不僅可以知道對(duì)數(shù)據(jù)進(jìn)行了何種操作,你還可以恢復(fù)因誤操作或錯(cuò)誤的程序所造成的丟失數(shù)據(jù)。這是SQLServer非常強(qiáng)大的一個(gè)新增功能,它為數(shù)據(jù)審計(jì)提供了一個(gè)非常有用的功能,在此以前,我們一般要借助于第三方工具來(lái)實(shí)現(xiàn)這一功能。數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)數(shù)據(jù)庫(kù)安全數(shù)據(jù)庫(kù)安全包含兩層含義:第一層是指系統(tǒng)運(yùn)行安全,系統(tǒng)運(yùn)行安全通常受到的威脅如下,一些網(wǎng)絡(luò)不法分子通過(guò)網(wǎng)絡(luò),局域網(wǎng)等途徑通過(guò)入侵電腦使系統(tǒng)無(wú)法正常啟動(dòng),或超負(fù)荷讓機(jī)子運(yùn)行大量算法,并關(guān)閉cpu風(fēng)扇,使cpu過(guò)熱燒壞等破壞性活動(dòng);第二層是指系統(tǒng)信息安全,系統(tǒng)安全通常受到的威脅如下,黑客對(duì)數(shù)據(jù)庫(kù)入侵,并盜取想要的資料。數(shù)據(jù)庫(kù)系統(tǒng)的安全特性主要是針對(duì)數(shù)據(jù)而言的,包括數(shù)據(jù)獨(dú)立性、數(shù)據(jù)安全性、數(shù)據(jù)完整性、并發(fā)控制、故障恢復(fù)等幾個(gè)方面。防護(hù)手段事前診斷數(shù)據(jù)庫(kù)漏洞掃描系統(tǒng),是一款幫助用戶對(duì)當(dāng)前的數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行自動(dòng)化安全評(píng)估的專業(yè)軟件,能有效暴露當(dāng)前數(shù)據(jù)庫(kù)系統(tǒng)的安全問(wèn)題,提供對(duì)數(shù)據(jù)庫(kù)的安全狀況進(jìn)行持續(xù)化監(jiān)控,幫助用戶保持?jǐn)?shù)據(jù)庫(kù)的安全健康狀態(tài)。發(fā)現(xiàn)外部黑客攻擊漏洞,防止外部攻擊:實(shí)現(xiàn)非授權(quán)的從外到內(nèi)的檢測(cè);模擬黑客使用的漏洞發(fā)現(xiàn)技術(shù),在沒(méi)有授權(quán)的情況下,對(duì)目標(biāo)數(shù)據(jù)庫(kù)的安全性作深入的探測(cè)分析;收集外部人員可以利用的數(shù)據(jù)庫(kù)漏洞的詳細(xì)信息。分析內(nèi)部不安全配置,防止越權(quán)訪問(wèn):通過(guò)只讀賬戶,實(shí)現(xiàn)由內(nèi)到外的檢測(cè);提供現(xiàn)有數(shù)據(jù)的漏洞透視圖和數(shù)據(jù)庫(kù)配置安全評(píng)估;避免內(nèi)外部的非授權(quán)訪問(wèn)。監(jiān)控?cái)?shù)據(jù)庫(kù)安全狀況,防止數(shù)據(jù)庫(kù)安全狀況惡化:對(duì)于數(shù)據(jù)庫(kù)建立安全基線,對(duì)數(shù)據(jù)庫(kù)進(jìn)行定期掃描,對(duì)所有安全狀況發(fā)生的變化進(jìn)行報(bào)告和分析。事中控制數(shù)據(jù)庫(kù)保險(xiǎn)箱,是一款基于透明加密技術(shù)的數(shù)據(jù)庫(kù)防泄漏系統(tǒng),該產(chǎn)品能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)庫(kù)中的敏感數(shù)據(jù)加密存儲(chǔ)、訪問(wèn)控制增強(qiáng)、應(yīng)用訪問(wèn)安全、安全審計(jì)以及三權(quán)分立等功能。BCoffer基于主動(dòng)防御機(jī)制,可以防止明文存儲(chǔ)引起的數(shù)據(jù)泄密、突破邊界防護(hù)的外部黑客攻擊、內(nèi)部高權(quán)限用戶的數(shù)據(jù)竊取、逃開(kāi)應(yīng)用系統(tǒng)非法訪問(wèn)數(shù)據(jù)庫(kù),從根源上防止敏感數(shù)據(jù)泄漏。DBCoffer通過(guò)獨(dú)創(chuàng)的、已獲專利的三層視圖技術(shù)和密文索引等核心技術(shù),突破了傳統(tǒng)數(shù)據(jù)庫(kù)安全加固產(chǎn)品的技術(shù)瓶頸,真正實(shí)現(xiàn)了數(shù)據(jù)高度安全、應(yīng)用完全透明、密文高效訪問(wèn)。事后分析數(shù)據(jù)庫(kù)防火墻系統(tǒng),是一款基于數(shù)據(jù)庫(kù)協(xié)議分析與控制技術(shù)的數(shù)據(jù)庫(kù)安全防護(hù)系統(tǒng)。DBFirewall基于主動(dòng)防御機(jī)制,實(shí)現(xiàn)數(shù)據(jù)庫(kù)的訪問(wèn)行為控制、危險(xiǎn)操作阻斷、可疑行為審計(jì);通過(guò)SQL協(xié)議分析,根據(jù)預(yù)定義的禁止和許可策略讓合法的SQL操作通過(guò),阻斷非法違規(guī)操作,形成數(shù)據(jù)庫(kù)的外圍防御圈,實(shí)現(xiàn)SQL危險(xiǎn)操作的主動(dòng)預(yù)防、實(shí)時(shí)審計(jì);面對(duì)來(lái)自于外部的入侵行為,提供SQL注入禁止和數(shù)據(jù)庫(kù)虛擬補(bǔ)丁包功能;通過(guò)虛擬補(bǔ)丁包,數(shù)據(jù)庫(kù)系統(tǒng)不用升級(jí)、打補(bǔ)丁,即可完成對(duì)主要數(shù)據(jù)庫(kù)漏洞的防控。數(shù)據(jù)字典表名字段名標(biāo)識(shí)主鍵類型占用類型長(zhǎng)度允許空UserAreaID√int410userIDint410areaIDint410DeviceTypeid√int410namenvarchar10050DTypeID√int410textnvarchar10050valueint410GroupTypeID√int410textnvarchar10050valueint410FAVORITESFid√int410Funid√int410UserId√varchar2020CreateDatedatetime823√N(yùn)OTICEnid√√int410ntitlenvarchar510255√ncontenttext162147483647√ndatedatetime823√nownernvarchar10050√noriginnvarchar10050√nreceivervarchar5050√ConfigID√√int410Namenvarchar10050√valuenvarchar10050√QRTZ_CALENDARSSCHED_NAME√nvarchar200100CALENDAR_NAME√nvarchar400200CALENDARimage162147483647QRTZ_CRON_TRIGGERSSCHED_NAME√nvarchar200100TRIGGER_NAME√nvarchar300150TRIGGER_GROUP√nvarchar300150CRON_EXPRESSIONnvarchar240120TIME_ZONE_IDnvarchar16080√QRTZ_FIRED_TRIGGERSSCHED_NAME√nvarchar200100ENTRY_ID√nvarchar19095TRIGGER_NAMEnvarchar300150TRIGGER_GROUPnvarchar300150INSTANCE_NAMEnvarchar400200FIRED_TIMEbigint819SCHED_TIMEbigint819PRIORITYint410STATEnvarchar3216JOB_NAMEnvarchar300150√JOB_GROUPnvarchar300150√IS_NONCONCURRENTbit11√REQUESTS_RECOVERYbit11√QRTZ_PAUSED_TRIGGER_GRPSSCHED_NAME√nvarchar200100TRIGGER_GROUP√nvarchar300150QRTZ_SCHEDULER_STATESCHED_NAME√nvarchar200100INSTANCE_NAME√nvarchar400200LAST_CHECKIN_TIMEbigint819CHECKIN_INTERVALbigint819QRTZ_LOCKSSCHED_NAME√nvarchar200100LOCK_NAME√nvarchar8040QRTZ_JOB_DETAILSSCHED_NAME√nvarchar200100JOB_NAME√nvarchar300150JOB_GROUP√nvarchar300150DESCRIPTIONnvarchar500250√JOB_CLASS_NAMEnvarchar500250IS_DURABLEbit11IS_NONCONCURRENTbit11IS_UPDATE_DATAbit11REQUESTS_RECOVERYbit11JOB_DATAimage162147483647√QRTZ_SIMPLE_TRIGGERSSCHED_NAME√nvarchar200100TRIGGER_NAME√nvarchar300150TRIGGER_GROUP√nvarchar300150REPEAT_COUNTint410REPEAT_INTERVALbigint819TIMES_TRIGGEREDint410rolesroleid√√int410rolenamenvarchar6030remarknvarchar10050√QRTZ_SIMPROP_TRIGGERSSCHED_NAME√nvarchar200100TRIGGER_NAME√nvarchar300150TRIGGER_GROUP√nvarchar300150STR_PROP_1nvarchar1024512√STR_PROP_2nvarchar1024512√STR_PROP_3nvarchar1024512√INT_PROP_1int410√INT_PROP_2int410√LONG_PROP_1bigint819√LONG_PROP_2bigint819√DEC_PROP_1numeric913√DEC_PROP_2numeric913√BOOL_PROP_1bit11√BOOL_PROP_2bit11√QRTZ_BLOB_TRIGGERSSCHED_NAME√nvarchar200100TRIGGER_NAME√nvarchar300150TRIGGER_GROUP√nvarchar300150BLOB_DATAimage162147483647√QRTZ_TRIGGERSSCHED_NAME√nvarchar200100TRIGGER_NAME√nvarchar300150TRIGGER_GROUP√nvarchar300150JOB_NAMEnvarchar300150JOB_GROUPnvarchar300150DESCRIPTIONnvarchar500250√N(yùn)EXT_FIRE_TIMEbigint819√PREV_FIRE_TIMEbigint819√PRIORITYint410√TRIGGER_STATEnvarchar3216TRIGGER_TYPEnvarchar168START_TIMEbigint819END_TIMEb

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論