錢博韜
【摘要】數(shù)據(jù)庫(kù)設(shè)計(jì)不僅關(guān)乎整個(gè)計(jì)算機(jī)軟件系統(tǒng)的運(yùn)行質(zhì)量與效率,而且已逐漸成為計(jì)算機(jī)軟件開發(fā)中的核心內(nèi)容。在此背景下,論文從計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)的原理與內(nèi)容出發(fā),簡(jiǎn)要分析了其在設(shè)計(jì)中存在的問題,并據(jù)此提出了幾項(xiàng)設(shè)計(jì)原則,以為相關(guān)人員提供參考。
【關(guān)鍵詞】計(jì)算機(jī)軟件;數(shù)據(jù)庫(kù)設(shè)計(jì);重要性;原則
【中圖分類號(hào)】TP393
【文獻(xiàn)標(biāo)志碼】A
【文章編號(hào)】1673-1069(2018)11-0138-02
1引言
作為計(jì)算機(jī)軟件開發(fā)中的核心工作環(huán)節(jié),數(shù)據(jù)庫(kù)設(shè)計(jì)對(duì)軟件的運(yùn)行有著最為直接的影響。為避免數(shù)據(jù)冗余現(xiàn)象,提升軟件應(yīng)用效率,設(shè)計(jì)師需更加重視數(shù)據(jù)庫(kù)設(shè)計(jì)的方方面面。為充分滿足用戶需求,遵循一定的設(shè)計(jì)原則對(duì)于數(shù)據(jù)庫(kù)的實(shí)施、運(yùn)行與維護(hù)極其關(guān)鍵,因此探究計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)的重要性與原則具有一定的實(shí)際意義。
2計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)的原理與內(nèi)容
為給用戶和操作系統(tǒng)之間建立良好的應(yīng)用與工作環(huán)境,設(shè)計(jì)時(shí)在建立軟件數(shù)據(jù)庫(kù)時(shí)應(yīng)分為分析需求、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理設(shè)計(jì)、數(shù)據(jù)庫(kù)實(shí)施以及運(yùn)行與維護(hù)這六個(gè)階段。①分析需求:明確用戶需求是設(shè)計(jì)軟件數(shù)據(jù)庫(kù)的首要步驟,這直接決定了數(shù)據(jù)庫(kù)設(shè)計(jì)的成功與否。對(duì)此,設(shè)計(jì)人員需投入大量時(shí)間來精確分析客戶的需求。②概念結(jié)構(gòu)設(shè)計(jì):歸納并總結(jié)出用戶需求后,設(shè)計(jì)師需將其抽象為DBMS概念模型,這一步驟在數(shù)據(jù)庫(kù)設(shè)計(jì)中也十分關(guān)鍵。③邏輯結(jié)構(gòu)設(shè)計(jì):為便于數(shù)據(jù)庫(kù)的優(yōu)4U+級(jí),設(shè)計(jì)師需基于DBMS支持的數(shù)據(jù)模型替換概念結(jié)構(gòu)。④物理設(shè)計(jì):在此階段,設(shè)計(jì)師要為上述邏輯數(shù)據(jù)模型選擇最合適的應(yīng)用物理環(huán)境,即選擇最優(yōu)的存儲(chǔ)結(jié)構(gòu)與存取方式。⑤數(shù)據(jù)庫(kù)實(shí)施:依據(jù)DBMS提供的數(shù)據(jù)庫(kù)序言以及階段①、②所建立的結(jié)構(gòu)來完成數(shù)據(jù)庫(kù)的建設(shè)工作,并在此基礎(chǔ)上進(jìn)行程序調(diào)試與編譯,輸入相關(guān)數(shù)據(jù)后進(jìn)行試運(yùn)行。⑥數(shù)據(jù)庫(kù)運(yùn)行與維護(hù):數(shù)據(jù)庫(kù)設(shè)計(jì)的完成并不意味著設(shè)計(jì)工作的結(jié)束,設(shè)計(jì)師仍需關(guān)注系統(tǒng)后期調(diào)整與優(yōu)化工作,并對(duì)數(shù)據(jù)庫(kù)運(yùn)行過程中有可能會(huì)出現(xiàn)的各類問題進(jìn)行實(shí)時(shí)監(jiān)察。
3計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)的重要性
3.1有利于資源節(jié)約
不少計(jì)算機(jī)軟件設(shè)計(jì)時(shí)過于重視計(jì)算機(jī)軟件的功能模塊,卻沒有綜合、全面地分析數(shù)據(jù)庫(kù)設(shè)計(jì),這往往會(huì)導(dǎo)致軟件在實(shí)際運(yùn)行過程中頻頻出現(xiàn)性能低下以及各類故障,甚至還會(huì)引發(fā)漏電、系統(tǒng)崩潰等一系列安全隱患。因此,對(duì)計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)加以重視不僅可減少軟件后期的維修,達(dá)到節(jié)約人力與物力的目的,同時(shí)還有利于軟件功能的高效發(fā)揮。
3.2有利于軟件運(yùn)行速度的提高
高水平的數(shù)據(jù)庫(kù)設(shè)計(jì)可滿足不同計(jì)算機(jī)軟件系統(tǒng)對(duì)于運(yùn)行速度的需求,而且還可充分發(fā)揮并實(shí)現(xiàn)系統(tǒng)功能。計(jì)算機(jī)軟件性能提高后,系統(tǒng)發(fā)出的運(yùn)行指令在為用戶提供信息時(shí)也將更加快速有效,軟件運(yùn)行速度自然得以提高。此外,具有擴(kuò)展性的數(shù)據(jù)庫(kù)設(shè)計(jì)可幫助用戶節(jié)約操作軟件的時(shí)間n,。在數(shù)據(jù)庫(kù)設(shè)計(jì)環(huán)節(jié),利用其信息存儲(chǔ)功能可通過清楚一些不必要的數(shù)據(jù)庫(kù)來提高系統(tǒng)的查詢效率。除上述功能外,軟件設(shè)計(jì)師還可依據(jù)軟件功能需求進(jìn)行有效的數(shù)據(jù)庫(kù)設(shè)計(jì),進(jìn)而保障數(shù)據(jù)庫(kù)有效發(fā)揮自身在計(jì)算機(jī)軟件運(yùn)行中的作用。
3.3有利于軟件故障的減少
在進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),有些設(shè)計(jì)師的設(shè)計(jì)步驟過于復(fù)雜,也沒有對(duì)軟件本身進(jìn)行有效分析,這必然會(huì)導(dǎo)致計(jì)算機(jī)軟件無(wú)法有效發(fā)揮自身功能。另一方面,有效的設(shè)計(jì)日志信皂的缺乏還會(huì)導(dǎo)致軟件在運(yùn)行過程中出現(xiàn)一系列故障,用戶在修改一些錯(cuò)誤的操作時(shí)必然也會(huì)難度較大。因此,加強(qiáng)數(shù)據(jù)庫(kù)設(shè)計(jì)可有效減少軟件故障的發(fā)生幾率,推動(dòng)計(jì)算機(jī)軟件功能的實(shí)現(xiàn)。
4計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)中存在的問題
4.1業(yè)務(wù)基本需求無(wú)法得到滿足
無(wú)法充分滿足業(yè)務(wù)基本需求的數(shù)據(jù)庫(kù)設(shè)計(jì)不僅會(huì)造成數(shù)據(jù)系統(tǒng)的波動(dòng),而且還會(huì)因無(wú)法及時(shí)調(diào)整系統(tǒng)而對(duì)數(shù)據(jù)資源運(yùn)行與處理帶來較大的制約性。
4.2數(shù)據(jù)庫(kù)性能不高
計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)系統(tǒng)對(duì)于業(yè)務(wù)數(shù)據(jù)的要求較高,然而目前卻有不少數(shù)據(jù)庫(kù)的性能并不高,在設(shè)計(jì)環(huán)節(jié)所采用的數(shù)字形式也并不合理,用戶在執(zhí)行查詢等操作時(shí)均較為復(fù)雜,數(shù)據(jù)運(yùn)用的兼顧性未得到充分考慮。
4.3數(shù)據(jù)庫(kù)的擴(kuò)展性較差
對(duì)于一個(gè)完整的計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)而言,其運(yùn)行與調(diào)整離不開完整的數(shù)據(jù)資源。不完整的數(shù)據(jù)資源不僅會(huì)造成數(shù)據(jù)信息不合理,還會(huì)導(dǎo)致數(shù)據(jù)庫(kù)更新不暢以及刪除不完善等問題,這些問題的存在將嚴(yán)重制約信息資源的展示與分析。
4.4數(shù)據(jù)資源冗余
數(shù)據(jù)資源冗余問題在計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)中較為常見,系統(tǒng)查詢速度將會(huì)由于大量數(shù)據(jù)資源庫(kù)的占用而大大放慢。而統(tǒng)計(jì)工作的限制性又會(huì)對(duì)表系統(tǒng)設(shè)計(jì)帶來一定的影響,如關(guān)聯(lián)字段無(wú)法實(shí)現(xiàn)與統(tǒng)計(jì)字段的合理結(jié)合等。如此一來,數(shù)據(jù)庫(kù)中的數(shù)據(jù)統(tǒng)計(jì)步驟將煩瑣很多,統(tǒng)計(jì)項(xiàng)目也無(wú)法良好開展。
4.5表與表之間的耦合過密
表與表之間的耦合過密是制約計(jì)算機(jī)數(shù)據(jù)庫(kù)設(shè)計(jì)以及資源統(tǒng)計(jì)與分析的主要原因,一旦某個(gè)表發(fā)生變化,必然也會(huì)對(duì)其他表帶來重大變化。
5計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)的原則
5.1制定詳細(xì)的設(shè)計(jì)計(jì)劃
通常而言,數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)間會(huì)占據(jù)軟件開發(fā)周期的50%以上,因此設(shè)計(jì)師在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)首先應(yīng)制定好周密的數(shù)據(jù)庫(kù)設(shè)計(jì)計(jì)劃,確保數(shù)據(jù)庫(kù)設(shè)計(jì)能夠有效滿足用戶的業(yè)務(wù)需求。首先,設(shè)計(jì)師應(yīng)通過詳細(xì)的調(diào)查對(duì)用戶的使用需求進(jìn)行充分了解,并與用戶進(jìn)行必要的溝通,根據(jù)用戶的想法進(jìn)行調(diào)整與優(yōu)化,保證數(shù)據(jù)庫(kù)設(shè)計(jì)與用戶的需求相符合。
5.2全面兼顧各類設(shè)計(jì)需求
計(jì)算機(jī)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)內(nèi)容并不僅僅是簡(jiǎn)單的頁(yè)面示范設(shè)計(jì),同時(shí)還需對(duì)頁(yè)面中的字段、模塊等進(jìn)行設(shè)計(jì)。對(duì)此,設(shè)計(jì)師需兼顧不同元素表面之間的聯(lián)系和各個(gè)數(shù)據(jù)之間的相互轉(zhuǎn)換與合作關(guān)系。
5.3科學(xué)合理的設(shè)計(jì)技術(shù)
①明確用戶需求:作為計(jì)算機(jī)軟件開發(fā)的重要基礎(chǔ),數(shù)據(jù)庫(kù)設(shè)計(jì)直接體現(xiàn)了用戶的需求,因此設(shè)計(jì)師在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)一定要與用戶密切溝通,緊密結(jié)合用戶需求。明確用戶開發(fā)需求后,設(shè)計(jì)師還需將具體的業(yè)務(wù)體現(xiàn)出其關(guān)聯(lián)與流程。為便于后期業(yè)務(wù)拓展,設(shè)計(jì)環(huán)節(jié)應(yīng)充分考慮到拓展性,適當(dāng)預(yù)留變通字段。②重視數(shù)據(jù)維護(hù):過大的設(shè)計(jì)面積與過于復(fù)雜的數(shù)據(jù)是數(shù)據(jù)庫(kù)設(shè)計(jì)中常見問題,因此設(shè)計(jì)師應(yīng)對(duì)數(shù)據(jù)維護(hù)工作加以重視。為提升數(shù)據(jù)庫(kù)的設(shè)計(jì)效率,設(shè)計(jì)師還應(yīng)關(guān)注數(shù)據(jù)與實(shí)體之間的聯(lián)系,以分散與之相關(guān)的數(shù)據(jù)信息,促進(jìn)設(shè)計(jì)效率的提升。③增加命名規(guī)范性:數(shù)據(jù)庫(kù)程序與文件的命名非常重要,既要避免名稱重復(fù),還要保證數(shù)據(jù)處于平衡狀態(tài)。即每個(gè)數(shù)據(jù)的關(guān)鍵詞都應(yīng)處于相對(duì)應(yīng)的關(guān)系。對(duì)此,設(shè)計(jì)師在命名時(shí)應(yīng)明了數(shù)據(jù)庫(kù)程序與文件之間的關(guān)系,靈活運(yùn)用大小寫字母來對(duì)其進(jìn)行命名,降低用戶查找信息與資源時(shí)的復(fù)雜度與困難度。④充分考慮數(shù)據(jù)庫(kù)優(yōu)化與效率的問題:考慮到數(shù)據(jù)庫(kù)的優(yōu)化與效率,設(shè)計(jì)師需針對(duì)不同表的存儲(chǔ)數(shù)據(jù)采用不同的設(shè)計(jì)方式,如采用粗粒度的方式設(shè)計(jì)數(shù)據(jù)量較大的表。為使表查詢功能更加簡(jiǎn)便快捷,可建立有效的索引。在設(shè)計(jì)中還應(yīng)使用最少的表和最弱的關(guān)系來實(shí)現(xiàn)海量數(shù)據(jù)的存儲(chǔ)。⑤不斷調(diào)整數(shù)據(jù)之間的關(guān)系:針對(duì)數(shù)據(jù)之間的關(guān)系進(jìn)行不斷調(diào)整與精簡(jiǎn)可有效減少設(shè)計(jì)與數(shù)據(jù)之間的連接,進(jìn)而可為數(shù)據(jù)之間平衡狀態(tài)的維持以及數(shù)據(jù)讀取效率的提升提供保障。⑥合理使用索引:數(shù)據(jù)庫(kù)索引通常分為有簇索引和非簇索引這兩種均可提升數(shù)據(jù)查找效率的方式。盡管數(shù)據(jù)索引效率得到提升了,但索引的應(yīng)用往往又會(huì)帶來插入、更新等性能減弱的問題。數(shù)據(jù)能衰弱現(xiàn)象往往會(huì)在填充較大因子數(shù)據(jù)時(shí)表現(xiàn)較為突出,因此在對(duì)索引較大的表執(zhí)行插入、更新等操作時(shí)應(yīng)盡量填寫較小因子,以為數(shù)據(jù)頁(yè)留存空間。
6結(jié)語(yǔ)
綜上所述,數(shù)據(jù)庫(kù)設(shè)計(jì)在計(jì)算機(jī)軟件開展中所占時(shí)間較長(zhǎng),且發(fā)揮有十分重要的作用。對(duì)此,設(shè)計(jì)人員在進(jìn)行設(shè)計(jì)前一定要制定好周密的設(shè)計(jì)計(jì)劃,與用戶進(jìn)行積極有效的溝通交流,確保數(shù)據(jù)庫(kù)設(shè)計(jì)與用戶需求相符合。數(shù)據(jù)庫(kù)設(shè)計(jì)與計(jì)算機(jī)軟件的運(yùn)行密切相關(guān),設(shè)計(jì)人員需全面掌握數(shù)據(jù)庫(kù)設(shè)計(jì)的知識(shí),不斷實(shí)踐促進(jìn)自身專業(yè)能力的提升。