摘 要:數(shù)據(jù)庫設(shè)計(jì)的合理性以及科學(xué)性對(duì)深化數(shù)據(jù)庫的性能與可靠性是十分重要的。對(duì)數(shù)據(jù)庫設(shè)計(jì)的情況從根本影響著系統(tǒng)的運(yùn)行效率?;趯?duì)數(shù)據(jù)庫多年的設(shè)計(jì)經(jīng)驗(yàn),對(duì)一些設(shè)計(jì)技巧實(shí)施總結(jié)。
關(guān)鍵詞:數(shù)據(jù)庫;設(shè)計(jì);技巧
中圖分類號(hào):TP311.13
一般來說數(shù)據(jù)庫的設(shè)計(jì)與系統(tǒng)運(yùn)行的效率有很大關(guān)系,一定要全面顧及到數(shù)據(jù)的統(tǒng)一性、全面性、可靠性以及其延伸性。數(shù)據(jù)庫設(shè)計(jì)需達(dá)到的一個(gè)標(biāo)準(zhǔn),達(dá)到這些標(biāo)準(zhǔn)的數(shù)據(jù)庫都有下述一些共同的優(yōu)點(diǎn):結(jié)構(gòu)分明、簡(jiǎn)潔,而且不會(huì)出現(xiàn)插入、刪除以及更新等操作問題。我將數(shù)據(jù)庫設(shè)計(jì)經(jīng)驗(yàn)以及技巧作為切入點(diǎn),進(jìn)行深入的分析,相關(guān)內(nèi)容如下所述。
1 數(shù)據(jù)庫的類型
一般都會(huì)按照使用的需求去選用相應(yīng)的數(shù)據(jù)庫。在目前的市場(chǎng)中,基本將數(shù)據(jù)庫分為下述幾類:大型數(shù)據(jù)庫,中小型數(shù)據(jù)庫以及小型數(shù)據(jù)庫。
其基本原則為下述:
(1)系統(tǒng)數(shù)據(jù)量較多,對(duì)相關(guān)的性能需求較高,數(shù)據(jù)的密級(jí)高,要顧及到優(yōu)化等問題,這樣的情況一般使用大型數(shù)據(jù)庫。
(2)系統(tǒng)數(shù)據(jù)信息不多,容易進(jìn)行操作且方便管理,數(shù)據(jù)庫基本可以保持穩(wěn)定,這樣一般都會(huì)使用中小型數(shù)據(jù)庫。
(3)系統(tǒng)數(shù)據(jù)量很小,其系統(tǒng)投資少,這樣就可以選擇使用小型數(shù)據(jù)庫。
2 數(shù)據(jù)庫對(duì)象以及物理模型設(shè)計(jì)技巧
針對(duì)對(duì)象的模型設(shè)計(jì),要與客戶進(jìn)行交流,深入地了解客戶所想要的,且要顧及到客戶的需求延伸?;贗PO設(shè)計(jì)理念進(jìn)行工作,深化功能模塊的處理、輸出以及輸入,且具體到所有屬性,全面地掌握和本系統(tǒng)有關(guān)的外部接口以及數(shù)據(jù)。用建模工具構(gòu)建ER圖表,且在每一字段細(xì)致地做出標(biāo)注以及詳解,對(duì)對(duì)象命名進(jìn)行規(guī)范化處理,以便進(jìn)行維護(hù)。
表設(shè)計(jì)的標(biāo)準(zhǔn)以及規(guī)范化。數(shù)據(jù)的硬性指標(biāo)是以范式去定義的,常規(guī)的數(shù)據(jù)庫設(shè)計(jì)都是依附于第三范式,由于第三范式被認(rèn)為在延伸性、數(shù)據(jù)全面性以及性能等方面都達(dá)到最佳的平衡。不過很多時(shí)候,為了其效率與特殊的需求,可以選擇非常規(guī)范式指標(biāo)的設(shè)計(jì)。
第一點(diǎn),編碼與參數(shù)要利用表維護(hù),字段命名要構(gòu)建相同命名的規(guī)范,中文詳解要盡可能地細(xì)致。
第二點(diǎn),顧及到一些改變。在構(gòu)建數(shù)據(jù)庫表字段的時(shí)候,要全面顧及到哪些字段以后會(huì)出現(xiàn)變更的情況。
第三點(diǎn),選擇自定義出現(xiàn)次數(shù)多的字段,這樣以便于進(jìn)行修改以及調(diào)整。比如日期、備注以及金額等。
第四點(diǎn),設(shè)計(jì)那些較為常用的隱藏字段去實(shí)現(xiàn)一些特殊要求,如加設(shè)刪除標(biāo)記的字段、數(shù)據(jù)構(gòu)建的日期以及數(shù)據(jù)調(diào)整的日期等。
一般的視圖是為應(yīng)用程序?qū)?shù)據(jù)抽象而構(gòu)建的,全面利用視圖能夠深化數(shù)據(jù)庫設(shè)計(jì)的多元性。針對(duì)視圖構(gòu)建要防止非關(guān)聯(lián)查詢操作。一般的視圖設(shè)計(jì)要采用相應(yīng)的數(shù)據(jù)庫性能分析軟件,從根本整合視圖性能,持續(xù)地去改進(jìn)。
較為繁重的數(shù)據(jù)運(yùn)算、業(yè)務(wù)參數(shù)處理一般都是利用存儲(chǔ)過程去完成的,因?yàn)樾阅茌^為優(yōu)異、處理效率高以及易于修改。存儲(chǔ)環(huán)節(jié)編寫要利用性能分析軟件實(shí)施檢測(cè)并予以分析,持續(xù)優(yōu)化存儲(chǔ)。針對(duì)核心代碼,要予以必要的加密功能。
不要輕易使用觸發(fā)器,那樣會(huì)在調(diào)試環(huán)節(jié)為你造成很多不必要的麻煩。一般設(shè)計(jì)過程中要了解觸發(fā)的先決條件,通過一定的分析而去選擇觸發(fā)模式,而且還要顧及到此表的操作是不是影響到其余表。
3 文件管理
一般來說數(shù)據(jù)庫配置文件可以把數(shù)據(jù)與日志文件放到系統(tǒng)可靠并有一定空間的位置;數(shù)據(jù)文件可以設(shè)置成增量擴(kuò)展,而且還能按照數(shù)據(jù)量的多少予以設(shè)置;可以將數(shù)據(jù)庫設(shè)置成差異備份,按時(shí)進(jìn)行較為全面的備份。
4 對(duì)數(shù)據(jù)進(jìn)行全面性設(shè)計(jì)技巧
要實(shí)體全面性。利用主鍵以及聯(lián)合主鍵進(jìn)行控制,可以使用系統(tǒng)編碼,而不是使用業(yè)務(wù)編號(hào)進(jìn)行控制。父表里的插入、刪除以及更新數(shù)據(jù)。刪除方式要利用級(jí)聯(lián)刪除,權(quán)限刪除以及置空值等;插入操作則利用權(quán)限插入以及遞歸插入方法;對(duì)數(shù)據(jù)進(jìn)行更新則利用級(jí)聯(lián)更新,權(quán)限更新以及置空值等技巧。用戶定義的全面性,NOT NULL,觸發(fā)器以及CHECK。針對(duì)松散耦合數(shù)據(jù),不需要利用數(shù)據(jù)庫設(shè)計(jì)去確保數(shù)據(jù)的全面性以及完整性,尤其是業(yè)務(wù)的約束,利用應(yīng)用程序去完成,從而不會(huì)因?yàn)橄到y(tǒng)受到過多的局限,而發(fā)生數(shù)據(jù)庫異常的情況。
5 針對(duì)表設(shè)計(jì)相應(yīng)技巧
經(jīng)常對(duì)應(yīng)很多編碼的字段,如果應(yīng)用十分繁雜,且數(shù)據(jù)量較多,那么就要考慮在表中加設(shè)冗余字段,可以加上設(shè)備的編號(hào),也可以增加設(shè)備的命名字段等,從而就能夠防止過多的操作其他表,以便于程序的編寫以及提升系統(tǒng)的運(yùn)行效率。加設(shè)記錄日志以及數(shù)據(jù)版本的字段,這樣有利于系統(tǒng)實(shí)施管理與跟蹤,按照相應(yīng)的實(shí)際情況進(jìn)行設(shè)計(jì)。針對(duì)數(shù)據(jù)量多,且需保存的數(shù)據(jù)庫表,可以使用歷史表,從而去保存出現(xiàn)的數(shù)據(jù),以便提供數(shù)據(jù)的備份以及對(duì)現(xiàn)有數(shù)據(jù)的使用。
6 檢查數(shù)據(jù)庫設(shè)計(jì)以及幫助文檔的技巧
在數(shù)據(jù)庫的設(shè)計(jì)過程里,都會(huì)選擇一些數(shù)據(jù)庫設(shè)計(jì)軟件,其中包括Power Desiger,數(shù)據(jù)庫表設(shè)計(jì)結(jié)束后,要有檢查數(shù)據(jù)庫表設(shè)計(jì)的良好習(xí)慣。
數(shù)據(jù)庫設(shè)計(jì)工作者要深化經(jīng)常查閱數(shù)據(jù)庫幫助文檔的工作習(xí)慣,認(rèn)真地比對(duì)以及檢查相應(yīng)功能函數(shù)與設(shè)計(jì)措施的迥異。
7 總結(jié)
針對(duì)數(shù)據(jù)庫設(shè)計(jì)過程中的側(cè)重點(diǎn),是要在數(shù)據(jù)庫設(shè)計(jì)的過程里去感受、對(duì)比、總結(jié)以及分析的。一個(gè)優(yōu)秀的系統(tǒng)與數(shù)據(jù)庫的設(shè)計(jì)密不可分,所以數(shù)據(jù)庫工作者對(duì)數(shù)據(jù)庫的設(shè)計(jì)要有較為深入的認(rèn)識(shí)以及靈活多變的設(shè)計(jì)技巧。
參考文獻(xiàn):
[1]姚卿達(dá).漢字情報(bào)檢索系統(tǒng)CCIRS研究報(bào)告(Ⅱ)——數(shù)據(jù)庫設(shè)計(jì)的多級(jí)方法[J].中山大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,14(22):1814-1819.
[2]申玉靜,譚業(yè)武.數(shù)據(jù)庫案例教學(xué)在計(jì)算機(jī)專業(yè)??平逃殬I(yè)化改革中的應(yīng)用與研究[J].福建電腦,2010,12(16):1031-1036.
[3]姜卉芝,錢麗瑾.LotusNotes數(shù)據(jù)庫設(shè)計(jì)[A].數(shù)據(jù)庫研究進(jìn)展2012——第十四屆全國數(shù)據(jù)庫學(xué)術(shù)會(huì)議論文集(下),2012,11(12):1004-1006.
[4]王正山.在ASP中利用SQL語句實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁與WEB數(shù)據(jù)庫的連接[J].安慶師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2011,13(03):293-295.
[5]馬垣,張紅云,李曉瑞,劉剛,張小平,馬文勝.關(guān)系數(shù)據(jù)庫中基于拓?fù)淇臻g的聚類方法[A].第十八屆全國數(shù)據(jù)庫學(xué)術(shù)會(huì)議論文集(研究報(bào)告篇),2011,17(04):372-373.
[6]吳連喜.農(nóng)化服務(wù)關(guān)系型數(shù)據(jù)庫的設(shè)計(jì)[A].青年學(xué)者論土壤與植物營養(yǎng)科學(xué)——第七屆全國青年土壤暨第二屆全國青年植物營養(yǎng)科學(xué)工作者學(xué)術(shù)討論會(huì)論文集,2013,11(02):178-181.
[7]許偉成,姚亞明,余立軍,林志軍.廣域網(wǎng)下異構(gòu)遠(yuǎn)程數(shù)據(jù)庫的包裝入網(wǎng)技術(shù)[A].中國土木工程學(xué)會(huì)計(jì)算機(jī)應(yīng)用分會(huì)第七屆年會(huì)土木工程計(jì)算機(jī)應(yīng)用文集,2013,15(06):692-671.
作者簡(jiǎn)介:程雪松(1982.01-),男,四川成都人,講師,研究方向:計(jì)算機(jī)應(yīng)用、教育管理。
作者單位:西藏職業(yè)技術(shù)學(xué)院,西藏自治區(qū)拉薩 850000