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