(張家口職業(yè)技術(shù)學(xué)院,河北 張家口 075057)
計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)是計(jì)算機(jī)軟件系統(tǒng)設(shè)計(jì)的重要內(nèi)容之一,同時(shí)也是確保計(jì)算機(jī)軟件系統(tǒng)正常、穩(wěn)定運(yùn)行的關(guān)鍵,因此,需要設(shè)計(jì)人員嚴(yán)格做好計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)。但是,計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)本身又是一項(xiàng)復(fù)雜且煩瑣的工作,具備一定的設(shè)計(jì)原則,若設(shè)計(jì)人員對(duì)這些設(shè)計(jì)原則不了解或不熟悉,再加上專(zhuān)業(yè)技能不足,往往難以設(shè)計(jì)出理想的數(shù)據(jù)庫(kù)。為此,本文特探討了計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)中存在的問(wèn)題及設(shè)計(jì)原則[1]。
計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)指的是依據(jù)用戶(hù)的需求,采用相應(yīng)的計(jì)算機(jī)軟件對(duì)數(shù)據(jù)庫(kù)管理系統(tǒng)中的數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì)及建構(gòu),以便實(shí)現(xiàn)對(duì)大量不同數(shù)據(jù)資源的有效存儲(chǔ)和管理。通過(guò)合理設(shè)計(jì)計(jì)算機(jī)軟件數(shù)據(jù)庫(kù),不僅能有效地滿(mǎn)足計(jì)算機(jī)軟件系統(tǒng)的要求和計(jì)算機(jī)數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)要求,同時(shí)其還能促進(jìn)計(jì)算機(jī)系統(tǒng)正確、快速地響應(yīng)和處理相關(guān)的操作指令,從而能顯著提高計(jì)算機(jī)系統(tǒng)的運(yùn)行速度和效率。另外,由于數(shù)據(jù)庫(kù)功能質(zhì)量的好壞與計(jì)算機(jī)系統(tǒng)應(yīng)用程序之間具有密切的關(guān)聯(lián),通過(guò)合理地設(shè)計(jì)計(jì)算機(jī)軟件數(shù)據(jù)庫(kù),還能促進(jìn)計(jì)算機(jī)軟件在實(shí)際應(yīng)用過(guò)程中充分發(fā)揮其功能,這樣不僅能促進(jìn)計(jì)算機(jī)軟件功能得以充分實(shí)現(xiàn),同時(shí)在數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中還需做好日志信息,這一信息能夠促進(jìn)系統(tǒng)及時(shí)根據(jù)用戶(hù)錯(cuò)誤的操作方式進(jìn)行改正,從而避免計(jì)算機(jī)系統(tǒng)在運(yùn)行過(guò)程中出現(xiàn)不必要的故障[2]。
盡管合理進(jìn)行計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)具有非常重要的意義,但是,在實(shí)際的設(shè)計(jì)過(guò)程中,不少設(shè)計(jì)人員專(zhuān)業(yè)技能不足、對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)原則及流程等掌握不足,常常會(huì)導(dǎo)致計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)中存在較多的問(wèn)題,主要表現(xiàn)在以下幾個(gè)方面。
計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)的基礎(chǔ)是用戶(hù)需求分析,因此,在設(shè)計(jì)過(guò)程中有不少設(shè)計(jì)人員為滿(mǎn)足用戶(hù)需求而過(guò)多操作,易導(dǎo)致系統(tǒng)癱瘓。
設(shè)計(jì)前,設(shè)計(jì)人員未對(duì)數(shù)據(jù)庫(kù)性能進(jìn)行全面分析,從而導(dǎo)致設(shè)計(jì)出的數(shù)據(jù)庫(kù)不完善或存在大量冗余數(shù)據(jù),更新不合理,且兩庫(kù)之間銜接不合理,進(jìn)而導(dǎo)致數(shù)據(jù)查詢(xún)工作效率和系統(tǒng)運(yùn)行效率不高。
在設(shè)計(jì)過(guò)程中,部分設(shè)計(jì)人員過(guò)分注重計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)功能的完善,但構(gòu)建的數(shù)據(jù)表形式單一,且難以修改,從而會(huì)嚴(yán)重降低數(shù)據(jù)庫(kù)的拓展性[3]。
部分設(shè)計(jì)人員在設(shè)計(jì)過(guò)程中,未提供完整的統(tǒng)計(jì)字段,從而導(dǎo)致用戶(hù)使用數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)統(tǒng)計(jì)的難度增加。另外,設(shè)計(jì)人員構(gòu)建數(shù)據(jù)庫(kù)表格時(shí),未對(duì)數(shù)據(jù)變化進(jìn)行有效處理,從而會(huì)導(dǎo)致數(shù)據(jù)庫(kù)分析難度加大,不利于用戶(hù)使用。
為保障設(shè)計(jì)的計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)能有效滿(mǎn)足用戶(hù)的使用需求,設(shè)計(jì)前,設(shè)計(jì)人員需不斷強(qiáng)化用戶(hù)需求分析,主要包含信息需求。安全性需求和處理需求3個(gè)方面。(1)信息需求。即用戶(hù)通過(guò)數(shù)據(jù)庫(kù)獲取的信息內(nèi)容,設(shè)計(jì)人員需根據(jù)這一需求合理設(shè)計(jì)相關(guān)的數(shù)據(jù)類(lèi)信息。(2)安全性需求。設(shè)計(jì)人員需全面了解用戶(hù)對(duì)數(shù)據(jù)信息安全及完整性要求,再合理地進(jìn)行數(shù)據(jù)庫(kù)信息處理安全設(shè)計(jì),才能確保數(shù)據(jù)庫(kù)相關(guān)數(shù)據(jù)信息真實(shí)、完整。(3)處理需求。設(shè)計(jì)前,設(shè)計(jì)人員還需了解用戶(hù)對(duì)數(shù)據(jù)庫(kù)處理方式及功能的特殊需求,并根據(jù)這些需求針對(duì)性地完善數(shù)據(jù)庫(kù)功能[4]。
計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)方式有多種,常用的有集中式模式設(shè)計(jì)、視圖集成設(shè)計(jì)。其中,集中式模式設(shè)計(jì)指根據(jù)用戶(hù)需求構(gòu)建綜合性完善的大局模式,利用該大局模式對(duì)數(shù)據(jù)間的聯(lián)系進(jìn)行分析。該種設(shè)計(jì)方法多用于規(guī)模較小的單位或單個(gè)部門(mén)數(shù)據(jù)庫(kù)設(shè)計(jì),具有設(shè)計(jì)操作方法簡(jiǎn)單、易于維護(hù)等特點(diǎn)。視圖集成設(shè)計(jì)指先對(duì)某個(gè)單位進(jìn)行分解及處理,然后對(duì)分解的部分進(jìn)行分布設(shè)計(jì),并構(gòu)建不同的視圖,再根據(jù)視圖對(duì)各部分進(jìn)行綜合分析,最后將綜合分析得出的結(jié)果進(jìn)行集合,開(kāi)展全面的數(shù)據(jù)庫(kù)設(shè)計(jì)。該種設(shè)計(jì)方式多適用于大規(guī)模單位及多個(gè)單位的數(shù)據(jù)庫(kù)設(shè)計(jì),可促進(jìn)設(shè)計(jì)出的數(shù)據(jù)庫(kù)有效滿(mǎn)足各個(gè)單位的需求。
物理設(shè)計(jì)和驗(yàn)證設(shè)計(jì)均是計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)的重要環(huán)節(jié),其中,物理設(shè)計(jì)主要采用科學(xué)、穩(wěn)定且恰當(dāng)?shù)臄?shù)據(jù)存儲(chǔ)和讀取途徑對(duì)數(shù)據(jù)庫(kù)內(nèi)部物理結(jié)構(gòu)進(jìn)行合理設(shè)計(jì)與調(diào)整,從而顯著提高用戶(hù)讀取數(shù)據(jù)的質(zhì)量,在實(shí)際設(shè)計(jì)過(guò)程中,設(shè)計(jì)人員可采用索引設(shè)計(jì)、區(qū)分設(shè)計(jì)等方式進(jìn)行設(shè)計(jì)。驗(yàn)證設(shè)計(jì)則是指設(shè)計(jì)人員需采用有效的方法對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)情況進(jìn)行反復(fù)驗(yàn)證,以避免數(shù)據(jù)庫(kù)在實(shí)際運(yùn)行過(guò)程中發(fā)生異?;蚬收?。
由于數(shù)據(jù)庫(kù)更新迭代較快,因此,在設(shè)計(jì)計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)過(guò)程中,設(shè)計(jì)人員還需適當(dāng)留取空余字段空間,這樣不僅便于存儲(chǔ)數(shù)據(jù)庫(kù)修改的操作過(guò)程及操作記錄,同時(shí)還能促進(jìn)相關(guān)人員方便快捷地查詢(xún)數(shù)據(jù)庫(kù)的更新迭代及維修過(guò)程,從而便于其更好地發(fā)現(xiàn)和解決數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中遇到的問(wèn)題。
為促進(jìn)計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)整體架構(gòu)更加合理和嚴(yán)謹(jǐn),在進(jìn)行計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中,設(shè)計(jì)人員還需采用恰當(dāng)?shù)姆绞郊訌?qiáng)數(shù)據(jù)庫(kù)各表之間的聯(lián)系。如設(shè)計(jì)大型數(shù)據(jù)庫(kù)時(shí),由于數(shù)據(jù)庫(kù)各表之間的聯(lián)系較為繁雜,此時(shí),設(shè)計(jì)人員可采用創(chuàng)建映射表的方式對(duì)各表之間的聯(lián)系進(jìn)行梳理,再進(jìn)行設(shè)計(jì),可確保設(shè)計(jì)出的數(shù)據(jù)庫(kù)表簡(jiǎn)明、合理。
進(jìn)行計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)的目標(biāo)之一是促進(jìn)計(jì)算機(jī)軟件程序合理、安全地運(yùn)行,因此,在設(shè)計(jì)過(guò)程中,設(shè)計(jì)人員還需注重?cái)?shù)據(jù)庫(kù)設(shè)計(jì)與計(jì)算機(jī)軟件程序的配合,即設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)需全面考慮計(jì)算機(jī)軟件的運(yùn)行,如設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)應(yīng)對(duì)計(jì)算機(jī)軟件程序的邏輯架構(gòu)進(jìn)行考慮,再進(jìn)行各程序功能構(gòu)思和設(shè)計(jì),這樣不僅能促進(jìn)數(shù)據(jù)庫(kù)的各表及字段與計(jì)算機(jī)軟件程序的各個(gè)功能相對(duì)應(yīng),同時(shí)還能促進(jìn)計(jì)算機(jī)軟件高效、穩(wěn)定地運(yùn)行[5]。
計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)是計(jì)算機(jī)軟件系統(tǒng)設(shè)計(jì)的重要內(nèi)容之一,但是,在實(shí)際的設(shè)計(jì)過(guò)程中,受多方面因素的影響,當(dāng)前我國(guó)計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)中仍存在較多的問(wèn)題,如用戶(hù)需求分析不當(dāng)、數(shù)據(jù)庫(kù)設(shè)計(jì)不合理、數(shù)據(jù)庫(kù)拓展性差、設(shè)計(jì)出的數(shù)據(jù)庫(kù)不利于用戶(hù)使用,這與設(shè)計(jì)人員對(duì)計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)原則掌握不當(dāng)具有密切的關(guān)系。因此,為全面提高計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)的合理性和有效性,需要設(shè)計(jì)人員遵循強(qiáng)化用戶(hù)需求分析、注重設(shè)計(jì)方式的選擇、做好數(shù)據(jù)庫(kù)物理設(shè)計(jì)和驗(yàn)證設(shè)計(jì)、適當(dāng)留取空余字段空間、加強(qiáng)數(shù)據(jù)庫(kù)各表之間的聯(lián)系、注重?cái)?shù)據(jù)庫(kù)設(shè)計(jì)與計(jì)算機(jī)軟件程序的配合等原則做好數(shù)據(jù)庫(kù)設(shè)計(jì)。