毛開梅
(西安鐵路職業(yè)技術(shù)學(xué)院電子信息學(xué)院,陜西西安710014)
淺析計(jì)算機(jī)數(shù)據(jù)庫軟件設(shè)計(jì)的原則與實(shí)踐
毛開梅
(西安鐵路職業(yè)技術(shù)學(xué)院電子信息學(xué)院,陜西西安710014)
計(jì)算機(jī)軟件開發(fā)中的數(shù)據(jù)庫設(shè)計(jì)與軟件開發(fā)質(zhì)量有著密切的關(guān)系。在數(shù)據(jù)庫設(shè)計(jì)過程重要秉持著制定詳細(xì)的數(shù)據(jù)庫設(shè)計(jì)計(jì)劃,全面兼顧設(shè)計(jì)需求以及科學(xué)合理的設(shè)計(jì)技術(shù)等原則,并且完善需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、驗(yàn)證設(shè)計(jì)階段等一系列設(shè)計(jì)階段工作,以保障數(shù)據(jù)庫設(shè)計(jì)質(zhì)量。現(xiàn)文章主要針對(duì)計(jì)算機(jī)數(shù)據(jù)庫軟件設(shè)計(jì)的原則與實(shí)踐進(jìn)行研究,以期為計(jì)算機(jī)軟件開發(fā)的數(shù)據(jù)庫設(shè)計(jì)提供一定的參考與借鑒。
計(jì)算機(jī)軟件;數(shù)據(jù)庫設(shè)計(jì);設(shè)計(jì)原則
伴隨著計(jì)算機(jī)技術(shù)的普及,計(jì)算機(jī)軟件的開發(fā)成為了計(jì)算機(jī)技術(shù)應(yīng)用的重要環(huán)節(jié)。在計(jì)算機(jī)軟件開發(fā)過程中數(shù)據(jù)庫設(shè)計(jì)是軟件的核心工作環(huán)節(jié)之一。軟件中所有的數(shù)據(jù)都是存儲(chǔ)在數(shù)據(jù)庫中,因此數(shù)據(jù)庫的設(shè)計(jì)水平將會(huì)直接影響到軟件的后續(xù)使用。為了盡量避免軟件冗余現(xiàn)象的出現(xiàn),保障系統(tǒng)數(shù)據(jù)的準(zhǔn)確性則需要設(shè)計(jì)高效的,符合軟件開發(fā)需求的數(shù)據(jù)庫。在數(shù)據(jù)庫設(shè)計(jì)過程中數(shù)據(jù)庫的設(shè)計(jì)原則對(duì)于數(shù)據(jù)庫的實(shí)踐來說十分關(guān)鍵。因此,針對(duì)計(jì)算機(jī)數(shù)據(jù)庫軟件設(shè)計(jì)的原則與實(shí)踐進(jìn)行研究有一定的實(shí)際意義。
計(jì)算機(jī)軟件數(shù)據(jù)庫設(shè)計(jì)就是在應(yīng)用環(huán)節(jié)下按照優(yōu)化的數(shù)據(jù)庫邏輯方式以及物理結(jié)構(gòu)建立數(shù)據(jù)庫及其相關(guān)應(yīng)用系統(tǒng),進(jìn)而提升數(shù)據(jù)存儲(chǔ)效率以及數(shù)據(jù)管理效率,滿足用戶的信息存儲(chǔ)與數(shù)據(jù)使用需求。數(shù)據(jù)庫設(shè)計(jì)最終目的就是為用戶與操作系統(tǒng)建立良好的使用與工作環(huán)境。通常來說,計(jì)算機(jī)軟件數(shù)據(jù)庫建設(shè)主要被分為六個(gè)不同的階段:第一,分析需求階段。要進(jìn)行數(shù)據(jù)庫設(shè)計(jì)的過程中首先步驟就是明確用戶的使用需求,基礎(chǔ)奠定的情況將會(huì)的直接影響到數(shù)據(jù)設(shè)計(jì)的最終成敗[1]。因此,需要準(zhǔn)確掌握用戶的需求,投入足夠的時(shí)間用于分析客戶需求,避免影響后續(xù)設(shè)計(jì)工作的開展。第二,概念結(jié)構(gòu)設(shè)計(jì)。在對(duì)用戶的需求進(jìn)行歸納總結(jié)后需要抽象為DBMS概念模型,這一步驟時(shí)計(jì)算機(jī)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵。第三,邏輯結(jié)構(gòu)設(shè)計(jì)。在數(shù)據(jù)庫設(shè)計(jì)中邏輯結(jié)構(gòu)設(shè)計(jì)是基于DBMS支持的數(shù)據(jù)模型替換概念結(jié)構(gòu),以便進(jìn)行優(yōu)化升級(jí)。第四,物理設(shè)計(jì)。物理設(shè)計(jì)即為邏輯數(shù)據(jù)模型選擇最為合適的使用物理環(huán)境,選擇最優(yōu)的存儲(chǔ)結(jié)構(gòu)與存取方式。第五,數(shù)據(jù)庫實(shí)施。在數(shù)據(jù)庫實(shí)施這一階段需要程序員在編譯過程中根據(jù)DBMS提供的數(shù)據(jù)庫序言以及設(shè)計(jì)步驟的第一步與第二步結(jié)構(gòu)來建設(shè)數(shù)據(jù)庫,并且進(jìn)行調(diào)試與編譯,在數(shù)據(jù)庫中輸入相關(guān)數(shù)據(jù)來進(jìn)行試運(yùn)行。第六,數(shù)據(jù)庫的運(yùn)行與維護(hù)。在數(shù)據(jù)庫完成設(shè)計(jì)去全面投入工作后進(jìn)行實(shí)時(shí)的監(jiān)察,針對(duì)數(shù)據(jù)庫運(yùn)行過程中出現(xiàn)的各類問題進(jìn)行調(diào)整與優(yōu)化[2]。
在計(jì)算機(jī)軟件開發(fā)中需求分析、軟件編碼、軟件設(shè)計(jì)、軟件維護(hù)與軟件測(cè)試是不可或缺的重要階段。在軟件開發(fā)的實(shí)際過程中一般做的第一步就是對(duì)用戶需求進(jìn)行分析,第二步就是設(shè)計(jì)出數(shù)據(jù)結(jié)構(gòu)、程序流程以及算法,第三步就是開展數(shù)據(jù)庫設(shè)計(jì)。其中數(shù)據(jù)庫設(shè)計(jì)是十分關(guān)鍵的內(nèi)容,不同的用戶不同的需求都需要對(duì)數(shù)據(jù)庫進(jìn)行設(shè)計(jì)。數(shù)據(jù)庫在信息管理系統(tǒng)的開發(fā)中有著至關(guān)重要的核心作用,由于Visual C++的圖像處理能力與計(jì)算數(shù)據(jù)的能力十分強(qiáng)大。通常在進(jìn)行軟件開發(fā)的過程中需要各種數(shù)據(jù)線圖與表來進(jìn)行支撐,如果每次進(jìn)行軟件開發(fā)時(shí)都需要人工尋找數(shù)據(jù)則會(huì)耗費(fèi)大量的時(shí)間與精力。而如果利用數(shù)據(jù)庫編程技術(shù)來集合并保存數(shù)據(jù),不僅僅便于日后軟件開發(fā),而且還能夠提升軟件開發(fā)的質(zhì)量[3]。
在進(jìn)行數(shù)據(jù)庫設(shè)計(jì)的過程首先要規(guī)劃好數(shù)據(jù)庫設(shè)計(jì)的周期時(shí)間。因?yàn)?,在?jì)算機(jī)軟件開發(fā)過程中數(shù)據(jù)庫設(shè)計(jì)的時(shí)間占據(jù)了軟件開發(fā)周期的一半以上。因此,在進(jìn)行計(jì)算機(jī)軟件開發(fā)的準(zhǔn)備過程中需要對(duì)數(shù)據(jù)庫設(shè)計(jì)進(jìn)行周密的計(jì)劃,并且要求數(shù)據(jù)庫的設(shè)計(jì)可以滿足用戶的業(yè)需求。因此,計(jì)算機(jī)軟件工程師在進(jìn)行數(shù)據(jù)庫設(shè)計(jì)的過程中要對(duì)用戶的使用需求進(jìn)行充分而性相近的調(diào)查,使得數(shù)據(jù)庫的設(shè)計(jì)能夠與用戶的需求相符合。數(shù)據(jù)庫設(shè)計(jì)師在了解了用戶的軟件使用需求后需要與用戶進(jìn)行必要的溝通,對(duì)用戶提出的需求來表述自己的看法,以及在數(shù)據(jù)庫設(shè)計(jì)過程中必須要進(jìn)行的各類調(diào)整與優(yōu)化[4]。
計(jì)算機(jī)軟件數(shù)據(jù)庫的設(shè)計(jì)工作不僅僅只是簡(jiǎn)單的頁面示范設(shè)計(jì),在進(jìn)行數(shù)據(jù)庫的設(shè)計(jì)過程中還需要對(duì)頁面示范中的字段、模塊等內(nèi)容進(jìn)行設(shè)計(jì)。在進(jìn)行計(jì)算機(jī)軟件數(shù)據(jù)庫設(shè)計(jì)的過程中不僅僅要兼顧不同元素表面之間的聯(lián)系,同時(shí)還要兼顧各個(gè)數(shù)據(jù)之間的相互轉(zhuǎn)換關(guān)系與合作關(guān)系。因此,在進(jìn)行計(jì)算機(jī)軟件數(shù)據(jù)庫設(shè)計(jì)的過程中不僅僅要滿足頁面的示范需求,同時(shí)還需要兼顧數(shù)據(jù)庫自身不同結(jié)構(gòu)的不同特征。
第一,計(jì)算機(jī)軟件的數(shù)據(jù)庫設(shè)計(jì)必須要占據(jù)一定的時(shí)間比例,至少要占據(jù)軟件開發(fā)周期的40%做偶遇的時(shí)間。數(shù)據(jù)庫設(shè)計(jì)是軟件程序開發(fā)的重要基礎(chǔ),是用戶需求的直接體現(xiàn),因此在設(shè)計(jì)過程中需要與用戶昏迷的合作,與用戶多次溝通,緊密結(jié)合用戶的需求。在明確了開發(fā)需求后還需要將明確具體的業(yè)務(wù)關(guān)系,體現(xiàn)業(yè)務(wù)的關(guān)聯(lián)與流程,考慮到拓展性,適當(dāng)?shù)念A(yù)留變通字段,以便后期進(jìn)行業(yè)務(wù)拓展。第二,在計(jì)算機(jī)軟件開發(fā)的數(shù)據(jù)庫設(shè)計(jì)中要重視數(shù)據(jù)維護(hù)工作。在數(shù)據(jù)庫設(shè)計(jì)過程中設(shè)計(jì)面積過大,數(shù)據(jù)過于復(fù)雜是不良現(xiàn)象之一。同時(shí),還要注重?cái)?shù)據(jù)與實(shí)體之間多了聯(lián)系,進(jìn)而分散與其相關(guān)的數(shù)據(jù)信息,以提升數(shù)據(jù)庫的設(shè)計(jì)效率。第三,進(jìn)行規(guī)范命名。數(shù)據(jù)庫設(shè)計(jì)中的程序與文件的命名之間有著一定的要求與標(biāo)準(zhǔn)。在數(shù)據(jù)庫設(shè)計(jì)過程中要避免名稱重復(fù)的現(xiàn)象出現(xiàn),以降低數(shù)據(jù)查找過程中所需要經(jīng)歷的復(fù)雜過程。在對(duì)數(shù)據(jù)與信息進(jìn)行命名的過程重要使得數(shù)據(jù)處于平衡狀態(tài),即為每個(gè)數(shù)據(jù)的關(guān)鍵詞都需要處于相對(duì)應(yīng)的關(guān)系[5]。數(shù)據(jù)庫設(shè)計(jì)人員也可以靈活使用大小寫字母來進(jìn)行命名。第四,在數(shù)據(jù)庫設(shè)計(jì)過程中要考慮有數(shù)據(jù)庫優(yōu)化與效率的相關(guān)問題,需要對(duì)不同表的存儲(chǔ)數(shù)據(jù)進(jìn)行考量,進(jìn)而采用粗粒度的設(shè)計(jì)方式來設(shè)計(jì)數(shù)據(jù)量相對(duì)較大的表,一些必要的字段也會(huì)出現(xiàn)融于狀態(tài)。因此,要盡可能地使用最少的表、最弱的關(guān)系來存儲(chǔ)海量數(shù)據(jù)。同時(shí),可以建立索引來使得表查詢功能更加便捷。第五,進(jìn)行數(shù)據(jù)調(diào)整。邏輯數(shù)據(jù)設(shè)計(jì)的調(diào)整工作是十分關(guān)鍵的,其主要是針對(duì)數(shù)據(jù)與數(shù)據(jù)之間的關(guān)系進(jìn)行調(diào)整優(yōu)化,并且精簡(jiǎn)數(shù)據(jù)與數(shù)據(jù)之間的關(guān)系,減少設(shè)計(jì)與數(shù)據(jù)之間的連接,以使得數(shù)據(jù)與數(shù)據(jù)之間能夠處于平衡的狀態(tài),進(jìn)而提升數(shù)據(jù)的讀取效率。另外,要選擇合理的數(shù)據(jù)辣眼睛來提升數(shù)據(jù)訪問效率,改善數(shù)據(jù)庫存儲(chǔ)空間的使用狀態(tài)。第五,合理使用索引。需要快速訪問表中的數(shù)據(jù)則會(huì)利用索引功能。數(shù)據(jù)庫一般分為有簇索引和非簇索引兩種類型,這兩種類型的索引方式都能夠提升查找數(shù)據(jù)的效率。雖然提升了數(shù)據(jù)的索引效率,但是會(huì)適當(dāng)?shù)臏p弱插入、更新等性能,特別是在填充因子數(shù)據(jù)較大的時(shí)候,可能會(huì)導(dǎo)致性能衰弱。所以,需要對(duì)索引較多的表進(jìn)行插入、更新等操作需要盡量填寫較小因子,以便為數(shù)據(jù)頁留存空間。
在軟件數(shù)據(jù)庫設(shè)計(jì)中對(duì)用戶需求進(jìn)行分析主要包括三個(gè)方面的內(nèi)容:第一,信息需求,即為用戶需要從數(shù)據(jù)庫中獲取的信息內(nèi)容。信息需求決定了數(shù)據(jù)庫應(yīng)用系統(tǒng)需要提供的相關(guān)相數(shù)據(jù)信息;第二,處理要求,用戶對(duì)數(shù)據(jù)庫的處理功能以及處理方式的需求,在數(shù)據(jù)庫設(shè)計(jì)中要考慮到數(shù)據(jù)庫的數(shù)據(jù)處理功能,數(shù)據(jù)處理操作,在實(shí)踐操作過程中需要兼顧到操作、頻率等對(duì)最終數(shù)據(jù)結(jié)果的影響。第三,安全性要求。用戶在對(duì)信息與需求進(jìn)行處理的過程中要全面保障數(shù)據(jù)的完全性與完整性,與數(shù)據(jù)庫設(shè)計(jì)人員開展全面的交流與分析,了解當(dāng)前業(yè)務(wù)處理方式,熟悉數(shù)據(jù)庫數(shù)據(jù)資料。
計(jì)算機(jī)軟件開發(fā)數(shù)據(jù)庫設(shè)計(jì)的概念設(shè)計(jì)階段的目的是對(duì)數(shù)據(jù)與數(shù)據(jù)之間的語義關(guān)聯(lián)進(jìn)行分析。在這一基礎(chǔ)上需要建立數(shù)據(jù)抽象模型。一般可以通過兩種方式進(jìn)行,一是集中式模式設(shè)計(jì)方式,數(shù)據(jù)庫工作人員根據(jù)用戶設(shè)計(jì)需求來建立綜合的全局模式,設(shè)計(jì)方式較為簡(jiǎn)易,后期的維護(hù)操作工作而已相對(duì)便利,更加適用于小型單位或部門。二是視圖集成設(shè)計(jì)方式,即為針對(duì)某一指定單位進(jìn)行分解處理,然后在對(duì)分解后的每一個(gè)部門進(jìn)分部設(shè)計(jì),建立不同部分的視圖,將不同部分的視圖作為基礎(chǔ)來進(jìn)行綜合,然后開展全面的設(shè)計(jì)。
在軟件開發(fā)中數(shù)據(jù)庫設(shè)計(jì)的邏輯設(shè)計(jì)階段時(shí)十分重要的設(shè)計(jì)過程,擁有一定的獨(dú)立性。在邏輯設(shè)計(jì)過程中軟件程序內(nèi)部的變化是獨(dú)立,與其他部門相分離的,不會(huì)對(duì)軟件的性能造成影響。在邏輯設(shè)計(jì)階段中需要滿足用戶對(duì)數(shù)據(jù)的各項(xiàng)需求。一般來說,數(shù)據(jù)庫的設(shè)計(jì)工作都會(huì)擁有大量的數(shù)據(jù)結(jié)構(gòu)與系統(tǒng)。當(dāng)用戶在使用軟件的時(shí)候,軟件會(huì)自動(dòng)屏蔽其他程序,直接將用戶需要的程序展現(xiàn)處理。邏輯設(shè)計(jì)過程中數(shù)據(jù)庫設(shè)計(jì)人員要重視保密功能的融合,以便用戶在讀取相關(guān)數(shù)據(jù)與信息的過程中可以看到自己需要的數(shù)據(jù),無法讀取其他數(shù)據(jù),進(jìn)而提升軟件的使用安全與穩(wěn)定性。
在數(shù)據(jù)庫設(shè)計(jì)過程中物理設(shè)計(jì)是一項(xiàng)不可忽視的步驟。物理設(shè)計(jì)階段主要是對(duì)數(shù)據(jù)庫內(nèi)部的物理結(jié)構(gòu)進(jìn)行調(diào)整,進(jìn)而選擇最為合適、最為穩(wěn)定、最為科學(xué)的數(shù)據(jù)存儲(chǔ)與讀取路徑,以便提升用戶讀取數(shù)據(jù)的效率。在進(jìn)行物理設(shè)計(jì)的過程中設(shè)計(jì)人員要積極使用區(qū)分設(shè)計(jì)、索引設(shè)計(jì)等形式。
在數(shù)據(jù)庫的驗(yàn)證設(shè)計(jì)階段中必須要針對(duì)數(shù)據(jù)庫進(jìn)行反復(fù)的驗(yàn)證,如數(shù)據(jù)庫的數(shù)據(jù)、步驟、環(huán)節(jié)出現(xiàn)任何異常都需要第一時(shí)間進(jìn)行檢查驗(yàn)證。
在軟件開發(fā)中需要針對(duì)大量的數(shù)據(jù)進(jìn)行處理,而進(jìn)行數(shù)據(jù)庫設(shè)計(jì)則可以快速的集合數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行調(diào)整、改正、修復(fù)、刪除,提升軟件開發(fā)的效率。在數(shù)據(jù)庫設(shè)計(jì)過程中要遵循相應(yīng)的設(shè)計(jì)原則,充分考慮到軟件的使用需求,運(yùn)用科學(xué)的設(shè)計(jì)技術(shù)來進(jìn)行數(shù)據(jù)庫設(shè)計(jì),做好數(shù)據(jù)庫設(shè)計(jì)過程中的各個(gè)步驟,提升數(shù)據(jù)庫的設(shè)計(jì)質(zhì)量與效率,為軟件開發(fā)奠定堅(jiān)實(shí)的基礎(chǔ)。
[1]毛靜波.計(jì)算機(jī)軟件數(shù)據(jù)庫設(shè)計(jì)原則探討[J].電腦知識(shí)與技術(shù),2016(32):1-2+4.
[2]王慶利,王璐.計(jì)算機(jī)軟件數(shù)據(jù)庫設(shè)計(jì)的原則及應(yīng)用探究[J].數(shù)字技術(shù)與應(yīng)用,2016(5):187.
[3]鄧曉旭.淺談?dòng)?jì)算機(jī)軟件數(shù)據(jù)庫設(shè)計(jì)原則[J].電腦迷,2016(10):57.
[4]潘博.計(jì)算機(jī)軟件數(shù)據(jù)庫設(shè)計(jì)的重要性以及原則研究[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013(8):291-292.
[5]趙宣容.計(jì)算機(jī)軟件數(shù)據(jù)庫設(shè)計(jì)的重要性以及原則探討[J].電子技術(shù)與軟件工程,2015(17):209.
G424
A
1009-3044(2017)24-0015-02
2017-07-15
毛開梅(1980—),女,四川達(dá)州人,碩士,西安鐵路職業(yè)技術(shù)學(xué)院電子信息學(xué)院,講師,研究方向?yàn)橛?jì)算機(jī)科學(xué)與技術(shù)。