數(shù)據(jù)庫優(yōu)化
隨著計算機技術(shù)越來越廣泛地應(yīng)用于國民經(jīng)濟的各個領(lǐng)域,在計算機硬件不斷微型化的同時,應(yīng)用系統(tǒng)向著復(fù)雜化、大型化的方向發(fā)展。數(shù)據(jù)庫是整個系統(tǒng)的核心,它的設(shè)計直接關(guān)系系統(tǒng)執(zhí)行的效率和系統(tǒng)的穩(wěn)定性。因此在軟件
隨著計算機技術(shù)越來越廣泛地應(yīng)用于國民經(jīng)濟的各個領(lǐng)域,在計算機硬件不斷微型化的同時,應(yīng)用系統(tǒng)向著復(fù)雜化、大型化的方向發(fā)展。數(shù)據(jù)庫是整個系統(tǒng)的核心,它的設(shè)計直接關(guān)系系統(tǒng)執(zhí)行的效率和系統(tǒng)的穩(wěn)定性。因此在軟件系統(tǒng)開發(fā)中,數(shù)據(jù)庫設(shè)計應(yīng)遵循必要的數(shù)據(jù)庫范式理論,以減少冗余、保證數(shù)據(jù)的完整性與正確性。只有在合適的數(shù)據(jù)庫產(chǎn)品上設(shè)計出合理的數(shù)據(jù)庫模型,才能降低整個系統(tǒng)的編程和維護難度,提高系統(tǒng)的實際運行效率。雖然對于小項目或中等規(guī)模的項目開發(fā)人員可以很容易地利用范式理論設(shè)計出一套符合要求的數(shù)據(jù)庫,但對于一個包含大型數(shù)據(jù)庫的軟件項目,就必須有一套完整的設(shè)計原則與技巧。
一、成立數(shù)據(jù)小組
大型數(shù)據(jù)庫數(shù)據(jù)元素多,在設(shè)計上有必要成立專門的數(shù)據(jù)小組。由于數(shù)據(jù)庫設(shè)計者不一定是使用者,對系統(tǒng)設(shè)計中的數(shù)據(jù)元素不可能考慮周全,數(shù)據(jù)庫設(shè)計出來后,往往難以找到所需的庫表,因此數(shù)據(jù)小組最好由熟悉業(yè)務(wù)的項目骨干組成。
數(shù)據(jù)小組的職能并非是設(shè)計數(shù)據(jù)庫,而是通過需求分析,在參考其他相似系統(tǒng)的基礎(chǔ)上,提取系統(tǒng)的基本數(shù)據(jù)元素,擔(dān)負對數(shù)據(jù)庫的審核。審核內(nèi)容包括審核新的數(shù)據(jù)庫元素是否完全、能否實現(xiàn)全部業(yè)務(wù)需求;對舊數(shù)據(jù)庫(如果存在舊系統(tǒng))的分析及數(shù)據(jù)轉(zhuǎn)換;數(shù)據(jù)庫設(shè)計的審核、控制及必要調(diào)整。
二、設(shè)計原則
1.規(guī)范命名。所有的庫名、表名、域名必須遵循統(tǒng)一的命名規(guī)則,并進行必要說明,以方便設(shè)計、維護、查詢。
2.控制字段的引用。在設(shè)計時,可以選擇適當(dāng)?shù)臄?shù)據(jù)庫設(shè)計管理工具,以方便開發(fā)人員的分布式設(shè)計和數(shù)據(jù)小組的集中審核管理。采用統(tǒng)一的命名規(guī)則,如果設(shè)計的字段已經(jīng)存在,可直接引用;否則,應(yīng)重新設(shè)計。
3.庫表重復(fù)控制。在設(shè)計過程中,如果發(fā)現(xiàn)大部分字段都已存在,開發(fā)人員應(yīng)懷疑所設(shè)計的庫表是否已存在。通過對字段所在庫表及相應(yīng)設(shè)計人員的查詢,可以確認庫表是否確實重復(fù)。
4.并發(fā)控制。設(shè)計中應(yīng)進行并發(fā)控制,即對于同一個庫表,在同一時間只有一個人有控制權(quán),其他人只能進行查詢。
5.必要的討論。數(shù)據(jù)庫設(shè)計完成后,數(shù)據(jù)小組應(yīng)與相關(guān)人員進行討論,通過討論來熟悉數(shù)據(jù)庫,從而對設(shè)計中存在的問題進行控制或從中獲取數(shù)據(jù)庫設(shè)計的必要信息。
6.?dāng)?shù)據(jù)小組的審核。庫表的定版、修改最終都要通過數(shù)據(jù)小組的審核,以保證符合必要的要求。
7.頭文件處理。每次數(shù)據(jù)修改后,數(shù)據(jù)小組要對相應(yīng)的頭文件進行修改(可由管理軟件自動完成),并通知相關(guān)的開發(fā)人員,以