程雪松
西藏職業(yè)技術(shù)學(xué)院,西藏拉薩 850000
1)需求分析階段。對用戶的各種需求進(jìn)行詳細(xì)、精準(zhǔn)的了解和認(rèn)真的分析,這個過程也是對數(shù)據(jù)的處理過程,這個設(shè)計階段是整個設(shè)計過程的基礎(chǔ)階段,同時也是最艱難的一個階段,這個階段往往是在白白的浪費了時間。
2)概念結(jié)構(gòu)設(shè)計階段。想要進(jìn)行數(shù)據(jù)庫設(shè)計就要進(jìn)行概念結(jié)構(gòu)設(shè)計。還要講用戶的需求當(dāng)做是DBMS概念模型生成的一個十分重要的前提和基礎(chǔ)。
3)邏輯結(jié)構(gòu)設(shè)計階段。先要完成概念結(jié)構(gòu)向DBMS數(shù)據(jù)模型轉(zhuǎn)換的過程,就一定要進(jìn)行相應(yīng)的邏輯結(jié)構(gòu)設(shè)計。從而使這個概念結(jié)構(gòu)得到充分的優(yōu)化。
4)數(shù)據(jù)庫物理設(shè)計階段。邏輯模型的存在,是需要一個晚輩的物理空間的,這就需要設(shè)計人員在進(jìn)行數(shù)據(jù)庫設(shè)計時,要進(jìn)行必要的物理設(shè)計。
5)數(shù)據(jù)庫實施階段。這個階段是完成數(shù)據(jù)庫的建立,數(shù)據(jù)庫的建立是根據(jù)DBMS提供的語言和工具,并應(yīng)用邏輯和物理設(shè)計的基礎(chǔ)上完成的,編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫,并進(jìn)行試運行。
6)數(shù)據(jù)庫運行和維護(hù)階段。數(shù)據(jù)庫設(shè)計完成之后,就是數(shù)據(jù)庫的有效運行,在數(shù)據(jù)庫試運行沒有明顯故障之后進(jìn)行數(shù)據(jù)庫的運行階段。
在數(shù)據(jù)庫的設(shè)計過程中,數(shù)據(jù)庫設(shè)計和數(shù)據(jù)處理工作,不能分開來談,要把它們結(jié)合起來進(jìn)行必要的分析,并在數(shù)據(jù)庫的每個設(shè)計階段進(jìn)行利用,從而讓數(shù)據(jù)庫設(shè)計和數(shù)據(jù)的處理工作能夠相互補充、相互借鑒,成為相互存進(jìn)的兩個方面。
1)需求分析階段:想要實現(xiàn)數(shù)據(jù)庫的需求分析階段,就必須將所有用戶的需求進(jìn)行綜合,進(jìn)而對他們的需求進(jìn)行合理、有效的分析。
2)概念設(shè)計階段:設(shè)計人員要跳出及其特點和DBMS產(chǎn)品模式設(shè)計的束縛,從而完成概念模式(E-R圖)的設(shè)計。
3)邏輯設(shè)計階段:邏輯設(shè)計的最終的一個階段就是將E-R圖進(jìn)行轉(zhuǎn)換,從而使成為數(shù)據(jù)庫產(chǎn)品所支持的數(shù)據(jù)模型(關(guān)系模型),這樣就形成了數(shù)據(jù)庫的邏輯模式,完成了邏輯設(shè)計階段的第一步,另外,還要將用戶的要求進(jìn)行充分的考慮和分析后,在基本表的基礎(chǔ)上,建立起視圖,數(shù)據(jù)的外模式形成也就完成了數(shù)據(jù)庫的邏輯設(shè)計階段。
4)物理設(shè)計階段:這個階段其實是數(shù)據(jù)庫內(nèi)模式的一個形成過程。將DBMS的主要特點和一些真實、具體的處理要求,作為這個階段設(shè)計標(biāo)準(zhǔn),來完成數(shù)據(jù)的物理存儲,和索引的建立。
1)在數(shù)據(jù)庫的需求分析階段中十分重要的就是要將客戶的相關(guān)需求 ,和客戶對數(shù)據(jù)庫未來的把握當(dāng)作是數(shù)據(jù)庫設(shè)計的重點,這是數(shù)據(jù)庫設(shè)計前期所必不可少的內(nèi)容。同時,隨著科學(xué)技術(shù)的不斷深入發(fā)展,和開發(fā)、設(shè)計工作的不斷深入進(jìn)行,客戶的需求始終是數(shù)據(jù)庫設(shè)計的前提和基礎(chǔ),無論數(shù)據(jù)路設(shè)計得多么完善和成熟,也要講用戶的相關(guān)需求放在數(shù)據(jù)庫設(shè)計的重要位置。
2)要對企業(yè)的各項業(yè)務(wù)有一個深入的、細(xì)致的了解,這樣,在進(jìn)行數(shù)據(jù)庫設(shè)計時,就能夠有效的將不必要的時間節(jié)省出來,去完成別的階段的開發(fā)工作。
3)在數(shù)據(jù)庫的設(shè)計建設(shè)的過程中,輸入輸出的作用和意義是十分巨大的。因此,要將輸入、輸出放在數(shù)據(jù)庫設(shè)計的一個相當(dāng)中的位置上。而在對輸入、輸出的表進(jìn)行正確的定義時,一定要進(jìn)行充分的考慮,要在反復(fù)思考和檢查之后,再進(jìn)行這項工作。從而決定那些能夠支持輸入輸出的主要的表和字段。
4)對數(shù)據(jù)字典和ER圖表進(jìn)行創(chuàng)建。
5)對象命名一定要規(guī)范。
表進(jìn)行設(shè)計的相關(guān)原則:1)隨著數(shù)據(jù)庫設(shè)計的不斷完善,想要完成對數(shù)據(jù)庫的設(shè)計,首先最重要的就是對表進(jìn)行規(guī)范。標(biāo)準(zhǔn)、規(guī)范的數(shù)據(jù)能夠?qū)?shù)據(jù)庫中不必要的數(shù)據(jù)消除出去,使數(shù)據(jù)庫變得不再那么雜亂無章。隨著標(biāo)準(zhǔn)化形式的不斷演變和發(fā)展,如今,“Third Normal Form(3NF)”已經(jīng)是公認(rèn)的是最平衡的標(biāo)準(zhǔn)化形式。2)的設(shè)計中,進(jìn)行數(shù)據(jù)驅(qū)動同樣必不可少。這也是表和字段設(shè)計中的一個重要的階段。這會使數(shù)據(jù)庫對信息的維護(hù)更加有效和全面。這種方式使得整個系統(tǒng)的靈活性和拓寬性被大程度的提高。3)對數(shù)據(jù)庫數(shù)據(jù)的諸多變化進(jìn)行考慮,在數(shù)據(jù)庫的設(shè)計過程中對一些重要的數(shù)據(jù)要進(jìn)行格外的考慮,這有可能會影響到將來域位的變更。
字段進(jìn)行設(shè)計的相關(guān)原則:1)隨著數(shù)據(jù)庫設(shè)計的不斷完善,一個字段的設(shè)計已經(jīng)不能滿足一些地址和電話的設(shè)計了,因此,要采用多個字段進(jìn)行對他們的設(shè)計。2)如果一個類別的列不能夠有效的進(jìn)行區(qū)分,就要在字段設(shè)計的過程中,用到角色實體定義的方法。3)隨著用戶對數(shù)據(jù)庫要求的不斷增多,在進(jìn)行數(shù)字原和文本類型的選擇時,一定要進(jìn)行充分的選擇,保證有一個相對充足的選擇空間。4)對標(biāo)記的字段進(jìn)行添加或者刪除。一個具有放入表中,行標(biāo)的記錄是刪除。在對行進(jìn)行刪除的過程中,將“刪除標(biāo)記”的字段置入表內(nèi),就能夠完成這個過程。然而,在進(jìn)行刪除工作時,一定要考慮到整個系統(tǒng)的整體性。
鍵選擇:
鍵選擇的四大原則之一:建立、并使用唯一的鍵,而不去使用用復(fù)合鍵、鍵字段存在的關(guān)鍵是外鍵;鍵選擇的四大原則之二:主鍵的使用,非人為添加,要系統(tǒng)生成的。由此,就使得存儲數(shù)據(jù)中對每一行進(jìn)行的訪問都能得到數(shù)據(jù)庫有效地控制;鍵選擇的四大原則之三:不能讓主鍵得到更新,確定表的鍵的字段時,一定要將主鍵和用戶編輯所使用的鍵,進(jìn)行有效的區(qū)分。不能夠?qū)⒂脩舻逆I作為主鍵。同樣的,主鍵不能夠是那些用戶可以進(jìn)行編輯的字段;鍵選擇的四大原則之四:特殊情況下,主鍵可以用可選鍵。用可選鍵來做主鍵,能夠使其有能力來建立其強大的索引。
索引的使用原則:作為獲得數(shù)據(jù)庫中數(shù)據(jù)的一種有效方式,索引有著其特有的使用原則。
1)邏輯主鍵、系統(tǒng)鍵和外鍵對索引是否是成組的和唯一的是有要求的,邏輯主鍵對兩方面都有要求,系統(tǒng)鍵只對唯一性有要求,而外鍵則對兩方面都無要求。
2)數(shù)據(jù)庫進(jìn)行索引時,主鍵和外鍵是同等重要的。例如:查詢主表或者是查詢某一條記錄的和相關(guān)記錄的顯示時,就需要用到外鍵。
3)“memo/note”字段元元大型字段元元(有很多字符),盡量不要進(jìn)行索引,因為,索引這些多字符的元會使得索引所占據(jù)的存儲空間過大,從而是造成存儲空間變得有限。
4)一些常規(guī)的小型的表不要進(jìn)行索引。對一些小型的數(shù)據(jù)表不需要進(jìn)行任何鍵的設(shè)計,而當(dāng)這些小型數(shù)據(jù)表被經(jīng)常性的插入和刪除就更加不需要對其進(jìn)行索引,因為,對于這些經(jīng)常性的插入和刪除數(shù)據(jù)進(jìn)行相關(guān)的索引維護(hù),會消耗大量的時間,這個過程所消耗的時間有時會比掃描表空間消耗的時間更加多。