數(shù)據(jù)庫設(shè)計具有以下幾個特點:
(1)數(shù)據(jù)庫設(shè)計是涉及多學科的綜合技術(shù)大型數(shù)據(jù)庫設(shè)計和開發(fā)是一項龐大工程,是涉及多學科的綜合性技術(shù),對于從事數(shù)據(jù)庫設(shè)計的人員來講,應(yīng)該具備多方面的技術(shù)和知識,主要包括以下幾個方面?!裼嬎銠C科學的基礎(chǔ)知識和程序設(shè)計技術(shù)。
數(shù)據(jù)庫的基本知識和數(shù)據(jù)庫設(shè)計技術(shù)。
軟件工程的原理和方法。
應(yīng)用領(lǐng)域的知識(隨著應(yīng)用系統(tǒng)的不同而不同)。
(2)數(shù)據(jù)庫設(shè)計是技術(shù)和管理工作的有效結(jié)合數(shù)據(jù)庫設(shè)計要考慮應(yīng)用的信息需求和處理需求,既要考慮數(shù)據(jù)的存儲方式,還要考慮數(shù)據(jù)的使用方法和使用需求。
所以說,優(yōu)秀的數(shù)據(jù)庫設(shè)計不但要求設(shè)計人員對數(shù)據(jù)的組織方式十分熟悉,以充分利用其特點設(shè)計出訪問性能盡可能高的數(shù)據(jù)庫,而且也要求設(shè)計人員能夠有效地對整個設(shè)計過程進行有效控制,對項目實施進行有效管理,對用戶的需求進行正確把握。所以數(shù)據(jù)庫設(shè)計不僅是技術(shù),也是技術(shù)和管理工作的有效結(jié)合。
(3)數(shù)據(jù)庫設(shè)計具有反復性、試探性,應(yīng)分步進行數(shù)據(jù)庫設(shè)計不可能一氣呵成,往往需要經(jīng)過反復推敲和修改才能完成。為了保證設(shè)計的質(zhì)量和進度,數(shù)據(jù)庫設(shè)計通常是分階段進行,逐級審查。
盡管后階段會向前階段反饋其要求,但在規(guī)范設(shè)計的指導下,這種反饋引起的修改不應(yīng)該是大量的。并且對于同樣一個應(yīng)用需求,由于設(shè)計人員的不同,設(shè)計出來的數(shù)據(jù)庫也是有差別的,很難說哪一個是最佳方案,設(shè)計過程中各式各樣相互矛盾的要求和制約因素決定了不同的設(shè)計方案必定各有長短,具體需要什么樣的設(shè)計,還得取決于數(shù)據(jù)庫設(shè)計人員和單位的決策。
因此數(shù)據(jù)庫設(shè)計具有反復性和試探性。(4)數(shù)據(jù)庫設(shè)計需要將結(jié)構(gòu)設(shè)計和行為設(shè)計密切結(jié)合數(shù)據(jù)庫設(shè)計應(yīng)該和應(yīng)用系統(tǒng)設(shè)計相結(jié)合。數(shù)據(jù)庫中的數(shù)據(jù)不是為存儲而存儲,存儲是為了更好地利用,是為了分析處理,所以結(jié)構(gòu)(數(shù)據(jù))的設(shè)計必須充分考慮到行為(業(yè)務(wù)處理)的可用性和方便性。
數(shù)據(jù)庫設(shè)計的基本步驟
數(shù)據(jù)庫設(shè)計開始之前,首先必須選定參加設(shè)計的人員,包括系統(tǒng)分析人員、數(shù)據(jù)庫設(shè)計人員和程序員、用戶和數(shù)據(jù)庫管理員。系統(tǒng)分析和數(shù)據(jù)庫設(shè)計人員是數(shù)據(jù)庫設(shè)計的核心人員,將自始至終參與數(shù)據(jù)庫設(shè)計,他們的水平?jīng)Q定了數(shù)據(jù)庫系統(tǒng)的質(zhì)量。
用戶和數(shù)據(jù)庫管理員在數(shù)據(jù)庫設(shè)計中也是舉足輕重的,主要參加需求分析和數(shù)據(jù)庫的運行維護,他們的積極參與不但能加速數(shù)據(jù)庫設(shè)計,而且也是決定數(shù)據(jù)庫設(shè)計的質(zhì)量的重要因素。程序員則在系統(tǒng)實施階段參與進來,分別負責編制程序和準備軟硬件環(huán)境。
目前數(shù)據(jù)庫設(shè)計人員使用最為廣泛的仍然是以邏輯數(shù)據(jù)庫設(shè)計和物理數(shù)據(jù)庫設(shè)計為核心的規(guī)范設(shè)計方法。這種規(guī)范方法把數(shù)據(jù)庫的設(shè)計劃分為六個階段。如果所設(shè)計的數(shù)據(jù)庫應(yīng)用系統(tǒng)比較復雜,應(yīng)該考慮使用計算機輔助軟件工程(CASE)工具,以簡化各階段的設(shè)計工作。下面對這六個階段簡單介紹。
(1)需求分析
需求分析就是分析用戶的要求,使設(shè)計的數(shù)據(jù)庫滿足用戶的實際應(yīng)用需求。需求分析是否準確,直接影響后面數(shù)據(jù)庫設(shè)計各階段,低質(zhì)量的需求分析甚至導致整個數(shù)據(jù)庫設(shè)計失敗,不得不重新返工。
因此,需求分析是整個數(shù)據(jù)庫設(shè)計過程的基礎(chǔ),必須花大力氣高質(zhì)量地完成需求分析。需求分析如此重要,不幸的是,需求分析恰恰是最困難、最耗費時間的工作,整個過程必須有實際用戶參與,不斷交流和修改,才能最終完成需求分析。需求分析通常按如下步驟進行。
調(diào)查用戶組織機構(gòu)情況,為分析數(shù)據(jù)流程做準備;
調(diào)查各部門業(yè)務(wù)活動情況,這是需求分析的重點;
在熟悉業(yè)務(wù)活動的基礎(chǔ)上,明確用戶對新系統(tǒng)的各種實際要求,包括信息要求、處理要求、完全性與完整性要求,這也是需求分析的重點;
明確用戶的需求后,還要進一步分析,計算機應(yīng)該并且能夠處理哪些功能需求,確定新系統(tǒng)應(yīng)當具備的功能。
最后,將需求分析結(jié)果文檔化。文檔應(yīng)便于用戶理解和交流,同時又要方便數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計。
可見需求分析主要解決新系統(tǒng)“做什么”,而不是“怎么做”。需求分析的結(jié)果可以用數(shù)據(jù)字典和數(shù)據(jù)流圖表達。數(shù)據(jù)字典描述基礎(chǔ)數(shù)據(jù),而數(shù)據(jù)流圖表達這些數(shù)據(jù)的來源、加工處理及去向的數(shù)據(jù)流程。
(2)概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計就是對用戶需求進行綜合、歸納與抽象,建立一個獨立于具體DBMS并且與所有物理因素均無關(guān)的企業(yè)信息模型的過程,是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵。概念模型是站在用戶立場上對用戶需求的抽象。因此,在概念結(jié)構(gòu)設(shè)計階段,設(shè)計人員仍然需要時常與用戶交流,反復推敲和修改,達成共識。
(3)邏輯結(jié)構(gòu)設(shè)計確定概念結(jié)構(gòu)后,接下來要按計算機系統(tǒng)的觀點對概念模型進行描述,成為計算機世界邏輯數(shù)據(jù)模型。概念結(jié)構(gòu)與具體數(shù)據(jù)庫管理系統(tǒng)無關(guān),但它是各種數(shù)據(jù)模型的基礎(chǔ)。為了能用某一個具體的數(shù)據(jù)庫管理系統(tǒng)實現(xiàn)用戶的需求,必須將概念結(jié)構(gòu)進一步轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)模型。這就是數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計。目前,最常用的數(shù)據(jù)模型是關(guān)系數(shù)據(jù)模型。
(4)物理結(jié)構(gòu)設(shè)計數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫的物理結(jié)構(gòu),它依賴于給定的數(shù)據(jù)庫管理系統(tǒng)和計算機系統(tǒng)。在關(guān)系數(shù)據(jù)庫系統(tǒng)中,存儲結(jié)構(gòu)與存取方法主要由數(shù)據(jù)庫管理系統(tǒng)自動完成。邏輯模型是與DBMS無關(guān)的,但它的建立參照了一個特定的數(shù)據(jù)模型,如關(guān)系模型、層次模型或網(wǎng)狀模型,而數(shù)據(jù)庫物理設(shè)計是面向特定的DBMS系統(tǒng),所以在進行物理設(shè)計時,必須首先確定使用的數(shù)據(jù)庫系統(tǒng)。
(5)數(shù)據(jù)庫實施在數(shù)據(jù)庫實施階段,數(shù)據(jù)庫設(shè)計人員根據(jù)前面各階段的設(shè)計文檔,利用DBMS提供的數(shù)據(jù)定義語言來描述數(shù)據(jù)庫的結(jié)構(gòu),生成數(shù)據(jù)庫,完成數(shù)據(jù)的加載、編制與調(diào)試應(yīng)用程序,并將數(shù)據(jù)庫投入試運行。
(6)數(shù)據(jù)庫運行和維護在數(shù)據(jù)庫經(jīng)過一定階段的試運行并對其進行一定的評審、修改后,數(shù)據(jù)庫就可以進入正式的運行階段。由于應(yīng)用環(huán)境在不斷變化,數(shù)據(jù)庫運行過程中物理存儲也會不斷變化,因此在數(shù)據(jù)庫的正式運行階段,還必須不斷地對數(shù)據(jù)庫進行評價、調(diào)整與修改等維護工作。數(shù)據(jù)庫設(shè)計是結(jié)構(gòu)設(shè)計和行為設(shè)計相結(jié)合的過程,數(shù)據(jù)庫設(shè)計步驟也是從數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計和開發(fā)的全過程來考察數(shù)據(jù)庫設(shè)計的問題。
因此,它既是數(shù)據(jù)庫的設(shè)計過程,也是應(yīng)用系統(tǒng)的設(shè)計過程。因此,在設(shè)計過程中努力把數(shù)據(jù)庫設(shè)計和系統(tǒng)其他成分的設(shè)計緊密結(jié)合,把數(shù)據(jù)和處理的需求收集、分析、抽象、設(shè)計、實現(xiàn)在各個階段同時進行,相互參照,相互補充,以完善兩方面的設(shè)計。
責任編輯人:CC
-
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3852瀏覽量
64724 -
數(shù)據(jù)庫設(shè)計
+關(guān)注
關(guān)注
0文章
4瀏覽量
5735
發(fā)布評論請先 登錄
相關(guān)推薦
什么是數(shù)據(jù)庫
數(shù)據(jù)庫復制的設(shè)計和管理
PCSchematic數(shù)據(jù)庫的添加步驟圖解
![PCSchematic<b class='flag-5'>數(shù)據(jù)庫</b>的添加<b class='flag-5'>步驟</b>圖解](https://file.elecfans.com/web2/M00/4A/02/pYYBAGKhvIeAErmVAAASQebsOzk345.jpg)
jdbc連接數(shù)據(jù)庫的五個步驟
![jdbc連接<b class='flag-5'>數(shù)據(jù)庫</b>的五個<b class='flag-5'>步驟</b>](https://file.elecfans.com/web1/M00/45/CD/o4YBAFp4PTaAMdTUAAE1SFRAdcQ724.png)
一文看懂數(shù)據(jù)庫原理與應(yīng)用
數(shù)據(jù)庫教程之如何進行數(shù)據(jù)庫設(shè)計
![<b class='flag-5'>數(shù)據(jù)庫</b>教程之如何進行<b class='flag-5'>數(shù)據(jù)庫</b>設(shè)計](https://file.elecfans.com/web1/M00/68/C6/pIYBAFvJSIKASWEIAACwgX_ZZeE760.png)
數(shù)據(jù)庫學習教程之數(shù)據(jù)庫的發(fā)展狀況如何數(shù)據(jù)庫有什么新發(fā)展
![<b class='flag-5'>數(shù)據(jù)庫</b>學習教程之<b class='flag-5'>數(shù)據(jù)庫</b>的發(fā)展狀況如何<b class='flag-5'>數(shù)據(jù)庫</b>有什么新發(fā)展](https://file.elecfans.com/web1/M00/69/2C/pIYBAFvRgmuAL-4IAADZUgBfnIQ744.png)
評論