魏玉萍
在當(dāng)今的信息時(shí)代,信息已逐漸成為決定生產(chǎn)力、競(jìng)爭(zhēng)力和經(jīng)濟(jì)效益的重要資源,管理者只有及時(shí)、準(zhǔn)確地掌握相關(guān)信息,才能做出正確的決策。數(shù)據(jù)庫技術(shù)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,實(shí)現(xiàn)信息存儲(chǔ)、查詢和處理的重要手段。只有將有用的信息轉(zhuǎn)換成數(shù)據(jù)并存儲(chǔ)在數(shù)據(jù)庫中,才有可能實(shí)現(xiàn)最佳的數(shù)據(jù)管理,滿足用戶的各種需求。
數(shù)據(jù)庫設(shè)計(jì)屬于系統(tǒng)設(shè)計(jì)的范疇,通常把使用數(shù)據(jù)的系統(tǒng)稱為數(shù)據(jù)庫應(yīng)用系統(tǒng),把數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計(jì)簡(jiǎn)稱為數(shù)據(jù)庫設(shè)計(jì)。數(shù)據(jù)庫設(shè)計(jì)把數(shù)據(jù)庫應(yīng)用系統(tǒng)分為需求分析階段、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫實(shí)施階段、數(shù)據(jù)庫運(yùn)行與維護(hù)六個(gè)階段。下面簡(jiǎn)要介紹各個(gè)步驟的主要任務(wù)及方法。
1.需求分析階段
需求分析是在項(xiàng)目確定之后,用戶和設(shè)計(jì)人員通過詳細(xì)的調(diào)查研究,充分了解用戶的組織機(jī)構(gòu)、業(yè)務(wù)規(guī)則、數(shù)據(jù)需求等等。所謂需求是指用戶對(duì)軟件的功能和性能的要求,就是用戶希望軟件能做什么事情,完成什么樣的功能,達(dá)到什么性能。需求分析是數(shù)據(jù)庫設(shè)計(jì)最基礎(chǔ)的工作,如果這個(gè)階段的工作不準(zhǔn)確或有誤,那么后面幾個(gè)階段的任務(wù)就會(huì)有偏差,如果到測(cè)試階段才發(fā)現(xiàn)錯(cuò)誤再去更改必然會(huì)付出很大的代價(jià),因此必須高度重視這個(gè)階段的人任務(wù)。需求分析階段的后期編寫系統(tǒng)分析報(bào)告,主要包括:系統(tǒng)的概況、目標(biāo)、范圍、現(xiàn)狀等;系統(tǒng)及子系統(tǒng)的結(jié)構(gòu)說明;系統(tǒng)的功能劃分;系統(tǒng)的組織機(jī)構(gòu)聯(lián)系圖;數(shù)據(jù)流程圖;功能模塊圖及數(shù)據(jù)字典等內(nèi)容。然后將此需求分析報(bào)告提交給用戶的決策部門討論審查,通過審查以后的需求分析報(bào)告作為今后各階段設(shè)計(jì)和工作的依據(jù)。
例如:公司職工人事檔案資料繁多,查詢、統(tǒng)計(jì)、更新等各方面工作都不能更快更好進(jìn)行,急需一管理系統(tǒng)實(shí)現(xiàn)人事資料的錄入、維護(hù)、統(tǒng)計(jì)、查詢等工作,明確要求后將具體事項(xiàng)形成書面報(bào)告審查后作為今后設(shè)計(jì)的依據(jù)。
2.概念結(jié)構(gòu)設(shè)計(jì)
概念結(jié)構(gòu)設(shè)計(jì)的目標(biāo)是產(chǎn)生出一個(gè)能反映組織信息需求的概念模型,其特點(diǎn)有簡(jiǎn)單明確表示用戶業(yè)務(wù)數(shù)據(jù)需求、數(shù)據(jù)之間的聯(lián)系、數(shù)據(jù)約束條件等。概念結(jié)構(gòu)的策略有四種自頂向下、自底向上、逐步擴(kuò)張、混合策略。概念結(jié)構(gòu)設(shè)計(jì)的最著名、最常用的方法是實(shí)體-聯(lián)系方法,簡(jiǎn)稱E-R方法。它雖然只有幾個(gè)基本元素(實(shí)體、屬性、聯(lián)系),但能夠表達(dá)現(xiàn)實(shí)世界復(fù)雜的數(shù)據(jù)、數(shù)據(jù)之間的關(guān)系和約束條件。
E-R圖設(shè)計(jì)是對(duì)需求分析階段所得到的數(shù)據(jù)進(jìn)行分類、聚集、概括,確定實(shí)體、屬性和聯(lián)系,具體步驟如下:
2.1選擇局部應(yīng)用
數(shù)據(jù)流圖是對(duì)業(yè)務(wù)處理過程從高層到底層的一級(jí)級(jí)抽象,高層抽象流圖一般反映系統(tǒng)的概貌,對(duì)數(shù)據(jù)的引用較為籠統(tǒng),選擇適當(dāng)層次的數(shù)據(jù)流圖,讓這一層的每一部分對(duì)應(yīng)一個(gè)局部應(yīng)用,實(shí)現(xiàn)某一項(xiàng)功能。
2.2逐一設(shè)計(jì)局部E-R圖
規(guī)劃好各個(gè)局部應(yīng)用之后,對(duì)每一個(gè)局部應(yīng)用設(shè)計(jì)局部E-R圖,按照局部應(yīng)用的數(shù)據(jù)流圖,從數(shù)據(jù)字典中提取數(shù)據(jù),使用抽象機(jī)制,確定局部應(yīng)用中的實(shí)體、實(shí)體的屬性、實(shí)體標(biāo)示符、實(shí)體間的聯(lián)系和類型,但是許多實(shí)物是實(shí)體還是屬性沒有明確的界定,要根據(jù)具體情況判斷,一般來說,屬性不能再分,屬性也不能和其他實(shí)體發(fā)生聯(lián)系,因?yàn)槁?lián)系是實(shí)體和實(shí)體間的聯(lián)系。
2.3 E-R圖合并
根據(jù)局部應(yīng)用設(shè)計(jì)好的局部E-R圖之后,就可以對(duì)各局部E-R圖進(jìn)行合并,合并的目的是在合并過程中解決局部E-R圖之間存在的沖突,消除存在的信息冗余,使之成為供用戶理解的統(tǒng)一的、精練的全局概念模型。對(duì)所有的局部E-R圖合并之后,就形成了全局E-R圖,從而完成了概念結(jié)構(gòu)設(shè)計(jì)。
3.邏輯結(jié)構(gòu)設(shè)計(jì)
邏輯結(jié)構(gòu)設(shè)計(jì)是在概念結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)上進(jìn)行的數(shù)據(jù)模型設(shè)計(jì),一般有層次、網(wǎng)狀模型和關(guān)系模型,現(xiàn)在絕大多數(shù)DBMS都是基于關(guān)系模型的,此階段的主要任務(wù)有確定數(shù)據(jù)模型、將E-R圖轉(zhuǎn)換為指定的數(shù)據(jù)模型、確定完整性約束、確定用戶視圖。
例如:部門(1)——<聘用>——職工(M)。
4.物理結(jié)構(gòu)設(shè)計(jì)
在實(shí)現(xiàn)數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)之后,就要確定數(shù)據(jù)庫在計(jì)算機(jī)中的具體存儲(chǔ)。數(shù)據(jù)庫在計(jì)算機(jī)物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫的物理結(jié)構(gòu)。數(shù)據(jù)庫的物理設(shè)計(jì)完全依賴于給定的數(shù)據(jù)庫軟件和硬件設(shè)備。層次和網(wǎng)狀模型物理設(shè)計(jì)比較復(fù)雜,而關(guān)系DBMS對(duì)物理設(shè)計(jì)要求很少,由DBA來實(shí)現(xiàn)。物理結(jié)構(gòu)設(shè)計(jì)需要確定數(shù)據(jù)分布、確定存儲(chǔ)結(jié)構(gòu)、確定存取方式。
5.數(shù)據(jù)庫實(shí)施階段
確定了數(shù)據(jù)庫的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)以后,可以利用DBMS提供的數(shù)據(jù)定義語言建立數(shù)據(jù)庫的結(jié)構(gòu)。
例如:CREATE TABLE 職工庫。
(職工編號(hào) CHAR(6) NOT NULL,
姓名 CHAR(8) NOT NULL,
性別 CHAR(2),
所屬部門 CHAR(10),
PRIMARYKEY KEY (職工編號(hào)));
當(dāng)數(shù)據(jù)庫的結(jié)構(gòu)建成之后,就可向數(shù)據(jù)庫中加載數(shù)據(jù),由于數(shù)據(jù)庫中的數(shù)據(jù)量非常大,為了避免浪費(fèi)大量人力財(cái)力時(shí)間等,通常專門設(shè)計(jì)一個(gè)錄入子系統(tǒng)來提高效率,滿足用戶的要求。該子系統(tǒng)一般包括數(shù)據(jù)錄入、錄入過程的數(shù)據(jù)校驗(yàn)、代碼轉(zhuǎn)換、數(shù)據(jù)完整性約束、安全性檢查等功能。
6.數(shù)據(jù)庫的運(yùn)行與維護(hù)
數(shù)據(jù)庫設(shè)計(jì)與應(yīng)用開發(fā)工作完成之后系統(tǒng)便進(jìn)入運(yùn)行與維護(hù)階段。為保證數(shù)據(jù)庫系統(tǒng)的安全穩(wěn)定運(yùn)行,需要綜合考慮可能遇到的各種問題,指定詳盡的運(yùn)行計(jì)劃和應(yīng)對(duì)措施。任何因素導(dǎo)致系統(tǒng)初選問題,都可能給用戶帶來損失。
數(shù)據(jù)庫的運(yùn)行與維護(hù)階段主要任務(wù)有:
6.1維護(hù)數(shù)據(jù)的安全性和數(shù)據(jù)完整性
為保障系統(tǒng)的穩(wěn)定運(yùn)行,必須制定運(yùn)行策略。數(shù)據(jù)庫的運(yùn)行離不開用戶的訪問和操作,安全性策略包括網(wǎng)絡(luò)安全、用戶的權(quán)限管理、設(shè)備的安全及數(shù)據(jù)的安全等方面。按照設(shè)計(jì)階段提供的安全和故障規(guī)范。實(shí)施授權(quán)和設(shè)定密碼,并經(jīng)常檢查系統(tǒng)的安全性和可靠性,實(shí)施備份、恢復(fù)和數(shù)據(jù)重組的任務(wù)。
6.2監(jiān)測(cè)并改變數(shù)據(jù)庫性能
經(jīng)常對(duì)數(shù)據(jù)庫存儲(chǔ)空間的狀況和響應(yīng)速度進(jìn)行評(píng)價(jià)分析,確定優(yōu)化和改善的措施,及時(shí)調(diào)整系統(tǒng)的運(yùn)行狀況。
6.3數(shù)據(jù)庫的維護(hù)
在數(shù)據(jù)庫系統(tǒng)的運(yùn)行過程中,可能會(huì)由于某些原因需要修改數(shù)據(jù)庫的結(jié)構(gòu),稱為數(shù)據(jù)庫的重構(gòu),重構(gòu)包括表結(jié)構(gòu)的修改和視圖的修改。還要根據(jù)用戶環(huán)境的擴(kuò)大,適時(shí)的向數(shù)據(jù)庫增加一些新的數(shù)據(jù)和功能。
6.4及時(shí)修改錯(cuò)誤
系統(tǒng)運(yùn)行過程中難免發(fā)生一些錯(cuò)誤,需要及時(shí)運(yùn)行修改錯(cuò)誤,彌補(bǔ)設(shè)計(jì)時(shí)的欠缺。
本論文主要講述了數(shù)據(jù)庫設(shè)計(jì)的簡(jiǎn)單步驟。系統(tǒng)設(shè)計(jì)為整個(gè)程序構(gòu)建了骨架,而各個(gè)功能模塊實(shí)現(xiàn)各個(gè)細(xì)節(jié)部分。系統(tǒng)的詳細(xì)設(shè)計(jì)根據(jù)系統(tǒng)分析階段的結(jié)論將系統(tǒng)具體化,并完成了各個(gè)模塊的添加、修改、刪除與查詢的功能,直到最后形成一個(gè)完整的可行性的數(shù)據(jù)庫管理系統(tǒng)。 [科]