馬媛 王曉波
摘 要 數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫,它產(chǎn)生于距今六十多年前,隨著信息技術(shù)和市場的發(fā)展,特別是二十世紀(jì)九十年代以后,數(shù)據(jù)管理不再僅僅是存儲和管理數(shù)據(jù),而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫有很多種類型,從最簡單的存儲有各種數(shù)據(jù)的表格到能夠進(jìn)行海量數(shù)據(jù)存儲的大型數(shù)據(jù)庫系統(tǒng)都在各個方面得到了廣泛的應(yīng)用。
關(guān)鍵詞 數(shù)據(jù)庫 數(shù)據(jù)存取量 時間復(fù)雜性 概念模式 E-R圖
中圖分類號:TP3 文獻(xiàn)標(biāo)識碼:A
數(shù)據(jù)庫在辦公自動化應(yīng)用過程中發(fā)揮著至關(guān)重要的作用,數(shù)據(jù)庫設(shè)計也是項目開發(fā)和系統(tǒng)設(shè)計中非常重要的一個環(huán)節(jié),就像建設(shè)高樓大廈的根基,若設(shè)計不合理,不利于后期的系統(tǒng)維護(hù)、性能變更和功能擴(kuò)充。
1概述
1.1設(shè)計問題
數(shù)據(jù)庫設(shè)計所要解決的問題是:對于一個給定的應(yīng)用領(lǐng)域,設(shè)計優(yōu)化的數(shù)據(jù)庫邏輯和物理結(jié)構(gòu),是指滿足用戶的信息管理要求和數(shù)據(jù)操作要求,有效的支持各種應(yīng)用系統(tǒng)的開發(fā)和運(yùn)行。其設(shè)計目標(biāo)是為用戶和各種應(yīng)用系統(tǒng)提供一個高效運(yùn)行環(huán)境。效率包括兩個方面:一是數(shù)據(jù)庫的存取效率,二是存儲空間的利用率,也可以將其視為如下的優(yōu)化問題。
約束條件:
(1)計算機(jī)軟硬件環(huán)境;
(2)數(shù)據(jù)庫管理系統(tǒng)圖例;
(3)用戶的操作要求與信息要求;
(4)完整性和安全性約束。
目標(biāo)函數(shù):
設(shè)數(shù)據(jù)庫系統(tǒng)支持的用戶事務(wù)為T1、T2、…、Tn,事務(wù)的運(yùn)行頻率為Fi。給定一個數(shù)據(jù)庫模式S,S的時間復(fù)雜性定義為:
Tcost(S)=Ficoat(Ti),
其中,F(xiàn)icoat(Ti)為在S上的運(yùn)行開銷,可以使數(shù)據(jù)存取量、執(zhí)行時間等測度。
S的空間復(fù)雜性定義為S需要的存儲空間量,用Scost(S)表示。
數(shù)據(jù)庫設(shè)計問題:
在上述給定的四項約束條件下,求解一個數(shù)據(jù)庫模式S,P1*Tcost(S)+Scost(S)使最小化,其中,P1是單位運(yùn)行開銷的價格,P2是使用單位存儲空間的價格。
1.2需求分析
需求分析的任務(wù)在于調(diào)查辦公自動化應(yīng)用領(lǐng)域,對該領(lǐng)域中各應(yīng)用的信息要求和操作要求進(jìn)行詳細(xì)分析,并形成需求分析說明書。目標(biāo)是給出應(yīng)用領(lǐng)域中數(shù)據(jù)項、數(shù)據(jù)項之間的關(guān)系和數(shù)據(jù)操作任務(wù)的詳細(xì)定義,為優(yōu)化數(shù)據(jù)庫的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)提供可靠依據(jù)。其步驟如下:
(1)辦公自動化應(yīng)用領(lǐng)域的調(diào)查分析。
(2)定義數(shù)據(jù)庫支持的信息與應(yīng)用。
(3)定義數(shù)據(jù)庫操作任務(wù)。
(4)定義數(shù)據(jù)項字典。
(5)預(yù)測應(yīng)用領(lǐng)域的未來改變。
2概念設(shè)計
概念數(shù)據(jù)庫設(shè)計的任務(wù)包括兩方面:概念數(shù)據(jù)庫模式設(shè)計和事務(wù)設(shè)計。事務(wù)設(shè)計的任務(wù)是考察需求分析階段提出的數(shù)據(jù)庫操作任務(wù),形成數(shù)據(jù)庫事務(wù)的高級說明。概念數(shù)據(jù)庫模式設(shè)計的任務(wù)是以需求分析階段所識別的數(shù)據(jù)項和應(yīng)用領(lǐng)域的未來改變信息為基礎(chǔ),使用高級數(shù)據(jù)模型建立概念數(shù)據(jù)庫模式。
為了描述數(shù)據(jù)庫結(jié)構(gòu)的概念模式,這里采用E-R圖——即實(shí)體-聯(lián)系圖,來描述數(shù)據(jù)庫的實(shí)體關(guān)系。在教職工信息管理模塊,某一職位可以有多個教職員工,但某個教職員工只能有一個職位。因此校內(nèi)職位與校內(nèi)教職員工之間是一對多的關(guān)系;某個院系可以有多個教職員工,但某個教職員工只能屬于一個院系,因此院系與教職員工之間也是一對多的關(guān)系;某個職位可以在不同的院系內(nèi)出現(xiàn),某個院系也都會有各種職位類別,因此兩者之間是多對多的關(guān)系?,F(xiàn)繪制部分模塊E-R圖如下:
(1)用戶信息管理
圖2-1 用戶信息
(2)工作日志
圖2-2 日志表
(3)公告管理
圖2-3 公告表
3邏輯設(shè)計
邏輯結(jié)構(gòu)設(shè)計的任務(wù)是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的E-R圖轉(zhuǎn)換成與選用的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。
E-R圖轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型所要解決的問題是如何將實(shí)體和實(shí)體間的聯(lián)系轉(zhuǎn)換成關(guān)系模式,如何確定這些關(guān)系模式的屬性和碼。
數(shù)據(jù)庫中兩實(shí)體間1:n聯(lián)系轉(zhuǎn)換為一個與n端對應(yīng)的關(guān)系模式合并的關(guān)系模式的方法是將聯(lián)系的屬性與1端的碼加入n端作為屬性,主碼為n端實(shí)體的主碼。
(1) 用戶信息管理模塊中由E-R圖轉(zhuǎn)換成的關(guān)系數(shù)據(jù)模式有:
用戶信息表user(ID,username,truename,password,email,sex,userid,branch,job,accesstime,foundtime,telphone,address)
(2)工作日志模塊中由E-R圖轉(zhuǎn)換成的關(guān)系數(shù)據(jù)模式有:
工作日志表worklog(ID,username,year,month,day,title,description,logtime)
公告管理模塊中由E-R圖轉(zhuǎn)換成的關(guān)系數(shù)據(jù)模式有:
公告表notice(ID,sender,title,content,sendtime)
4結(jié)語
簡而述之,數(shù)據(jù)庫中的數(shù)據(jù)是為眾多用戶所共享其信息建立的,從而擺脫了具體程序的限制和制約。多個用戶可以同時共享數(shù)據(jù)庫中的數(shù)據(jù)資源,即同時存取數(shù)據(jù)庫中的同一個數(shù)據(jù)。不僅滿足了各用戶對信息內(nèi)容的要求,同時也滿足了各用戶之間的通信需求。隨著計算機(jī)在數(shù)據(jù)管理領(lǐng)域應(yīng)用的以來越來越深,人們對基于數(shù)據(jù)庫技術(shù)的數(shù)據(jù)管理也提出了更高的要求,需要我們進(jìn)一步研究。
參考文獻(xiàn)
[1] 劉曉華.JSP應(yīng)用開發(fā)詳解[M].北京:電子工業(yè)出版社,2007.5.
[2] 鄭玲.計算機(jī)專業(yè)畢業(yè)設(shè)計指導(dǎo)[M].北京:清華大學(xué)出版社,2007.8.
[3] 王立.UML與軟件工程基礎(chǔ)[M].北京:高等教育出版社,2004.2.
[4] 范斯瓦尼.MySQL 完全手冊[M].北京:電子工業(yè)出版社,2005.2.