劉梅玲 張 濤 朱學(xué)義 屈 巍
[摘要]本文利用Power Designer,結(jié)合用友U8的數(shù)據(jù)庫(kù)特征,提出了一個(gè)完整的賬務(wù)處理子系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)模型。[關(guān)鍵詞]財(cái)務(wù)軟件;數(shù)據(jù)庫(kù);賬務(wù)處理
[中圖分類(lèi)號(hào)]F232[文獻(xiàn)標(biāo)識(shí)碼]A[文章編號(hào)]1673-0194(2009)11-0007-05
一個(gè)成功的財(cái)務(wù)軟件,是由50%的業(yè)務(wù)+50%的軟件所組成,而50%的成功軟件又由25%的數(shù)據(jù)庫(kù)+25%的程序所組成,數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞是一個(gè)關(guān)鍵。這里的數(shù)據(jù)庫(kù)設(shè)計(jì)就是對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿(mǎn)足各種用戶(hù)的應(yīng)用需求。財(cái)務(wù)軟件是一個(gè)復(fù)雜而又龐大的信息處理系統(tǒng),其數(shù)據(jù)庫(kù)的優(yōu)化設(shè)計(jì)尤為重要。
本文借助Sybase公司的CASE工具Power Designer 6.0,結(jié)合當(dāng)前國(guó)內(nèi)流行的財(cái)務(wù)軟件用友U8的數(shù)據(jù)庫(kù)特征,給出了一個(gè)完整的賬務(wù)處理子系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)模型,包括描述E—R圖的概念模型(.CDM)、由概念模型直接轉(zhuǎn)換而成的物理模型(.PDM),以及直接生成的基于A(yíng)ccess的物理數(shù)據(jù)庫(kù),供財(cái)務(wù)軟件數(shù)據(jù)庫(kù)分析人員和設(shè)計(jì)人員參考。
一、財(cái)務(wù)軟件數(shù)據(jù)庫(kù)設(shè)計(jì)的原則
1存儲(chǔ)空間與運(yùn)行效率的矛盾
伴隨用友ERP不斷升級(jí),其考慮的因素日漸增多,導(dǎo)致其生成的數(shù)據(jù)庫(kù)也日漸龐大。筆者在“電算化會(huì)計(jì)”課程的U852實(shí)驗(yàn)過(guò)程中,只處理了4筆總賬日常業(yè)務(wù)的賬套備份文件達(dá)到16.4MB,包含6個(gè)財(cái)務(wù)子系統(tǒng)的實(shí)驗(yàn)備份賬套竟然達(dá)到328MB,收繳電子檔作業(yè)成為一個(gè)不小的難題。U870安裝時(shí)建立數(shù)據(jù)庫(kù)的時(shí)間也長(zhǎng)達(dá)半小時(shí)。盡管電子科技的發(fā)展帶給我們?nèi)遮厰U(kuò)大的硬盤(pán)空間,但我們?cè)诖鎯?chǔ)及備份財(cái)務(wù)數(shù)據(jù)時(shí),總感覺(jué)存儲(chǔ)空間緊張,這不得不讓我們把眼光重新聚集到數(shù)據(jù)庫(kù)設(shè)計(jì)的優(yōu)化問(wèn)題上。
在數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程中,存儲(chǔ)空間和運(yùn)行效率是一對(duì)永遠(yuǎn)解不開(kāi)的矛盾。或許用友的軟件工程師們當(dāng)初為了提高財(cái)務(wù)軟件的運(yùn)行效率,沒(méi)有太多考慮存儲(chǔ)空間的節(jié)省,如客戶(hù)、供應(yīng)商、項(xiàng)目、存貨等輔助核算的所有相關(guān)信息都存儲(chǔ)在“憑證及明細(xì)賬表(GL_ae—cvouch)”中,致使該表中的大量字段空白,因?yàn)橹挥猩贁?shù)科目涉及輔助核算,造成數(shù)據(jù)庫(kù)空間的較大浪費(fèi);再如U870的一張采購(gòu)單就有上百個(gè)字段,其實(shí)用戶(hù)用到的僅有10個(gè)字段左右,其他字段皆為占據(jù)空間的空白字段,致使財(cái)務(wù)數(shù)據(jù)賬套成為龐然大物。
本文的賬務(wù)處理子系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì),借鑒用友u8的數(shù)據(jù)庫(kù)設(shè)計(jì)原理,以提高存儲(chǔ)空間的利用率、減少冗余數(shù)據(jù)為前提,得出便于維護(hù)、節(jié)省空間、符合第三范式要求的優(yōu)化數(shù)據(jù)庫(kù)。本文之后還會(huì)相繼推出關(guān)于固定資產(chǎn)、工資、銷(xiāo)售與應(yīng)收、采購(gòu)與應(yīng)付、庫(kù)存與存貨等5個(gè)子系統(tǒng)數(shù)據(jù)庫(kù)優(yōu)化設(shè)計(jì)的文章。
2.PowerDesigner 6.0中E—R圖轉(zhuǎn)換為物理模型的原則
在PowerDes培ner6.0中,E—R圖中的實(shí)體轉(zhuǎn)換成表,E—R圖中聯(lián)系的轉(zhuǎn)換結(jié)果依賴(lài)于聯(lián)系的基數(shù)和類(lèi)型。在一對(duì)一的聯(lián)系中,只對(duì)dominant(強(qiáng)制規(guī)定)的一端生成表;在一對(duì)多的聯(lián)系中,為“一”的一端實(shí)體中的關(guān)鍵字就轉(zhuǎn)換為“多”的一端的表的外碼,在多對(duì)多的聯(lián)系中,則產(chǎn)生一個(gè)新表,新表的關(guān)鍵字由兩個(gè)實(shí)體中的關(guān)鍵字組合而成,可以添加聯(lián)系表的屬性。
二、賬務(wù)處理子系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)
按存儲(chǔ)空間最優(yōu)、兼顧運(yùn)行效率的原則設(shè)計(jì)出的符合第三范式的賬務(wù)處理子系統(tǒng)的E—R圖見(jiàn)圖1,圖中共17個(gè)實(shí)體、33對(duì)實(shí)體間的聯(lián)系;圖2為賬務(wù)處理子系統(tǒng)的物理模型,由PowerDesigner 6.0從圖1轉(zhuǎn)換而來(lái),自動(dòng)生成20個(gè)聯(lián)系表及聯(lián)系表的關(guān)鍵字,并添加了聯(lián)系表的相關(guān)屬性;圖3為基于A(yíng)ccess的賬務(wù)處理子系統(tǒng)的物理數(shù)據(jù)庫(kù),共計(jì)37個(gè)表,由P0werDesigller 6.0從圖2直接生成。
三、賬務(wù)處理子系統(tǒng)E—R圖及物理模型分析
因賬務(wù)處理子系統(tǒng)E—R圖及物理模型較為復(fù)雜,本文把實(shí)體表問(wèn)的聯(lián)系拆分為3個(gè)部分(與“賬套表”相關(guān)、與“科目表”相關(guān)及其他),分別表述如下:
1與“賬套表”相關(guān)的E—R圖及物理模型分析
一個(gè)賬套只能保存一個(gè)公司或一個(gè)獨(dú)立核算單位的會(huì)計(jì)資料。在實(shí)際工作中可以根據(jù)需要建立多個(gè)賬套,通過(guò)合理組織賬套文件,及時(shí)掌握各子公司或下屬獨(dú)立核算單位的財(cái)務(wù)狀況,為加強(qiáng)企業(yè)管理和經(jīng)濟(jì)核算提供必要的信息。
(1)賬套表一幣別碼表:一個(gè)賬套中只涉及一種記賬本位幣,一種幣別可以成為多個(gè)賬套的記賬本位幣,因此幣別碼表和賬套表之間的聯(lián)系為1:n,生成物理模型后,幣別碼表的關(guān)鍵字成為賬套表的外碼。
(2)賬套表一行業(yè)碼表:一個(gè)賬套中所記錄的內(nèi)容只屬于一個(gè)行業(yè),一個(gè)行業(yè)可以有多個(gè)賬套,因此行業(yè)碼表和賬套表之間的聯(lián)系為1:n,生成物理模型后,行業(yè)碼表的關(guān)鍵字成為賬套表的外碼。
(3)賬套表一憑證類(lèi)型碼表:一個(gè)賬套中可以有多個(gè)憑證類(lèi)型(如收、付、轉(zhuǎn)),一種憑證類(lèi)型也可以隸屬多個(gè)賬套,因此憑證類(lèi)型碼表和賬套表之間的聯(lián)系為m:n,在物理模型中生成聯(lián)系表憑證類(lèi)型表,存儲(chǔ)該賬套中各種憑證類(lèi)型的科目限制信息,如收款憑證的借方必須有“1001”或“1002”。
(4)賬套表一科目表:一個(gè)賬套中可有多個(gè)科目,一個(gè)科目可為多個(gè)賬套所用,因此賬套表和科目表之間的聯(lián)系為m:n,在物理模型中生成聯(lián)系表科目余額表,存儲(chǔ)該賬套中的科目余額信息,包括科目的期初余額和方向、借貸方發(fā)生額、借貸方累計(jì)發(fā)生額及期末余額和方向,每月一條記錄。
(5)賬套表一部門(mén)碼表:一個(gè)賬套中可有多個(gè)部門(mén),一個(gè)具體的部門(mén)只能屬于一個(gè)賬套,因此賬套表和部門(mén)碼表之間的聯(lián)系為1:n,生成物理模型后,賬套表的關(guān)鍵字成為部門(mén)碼表的外碼。
(6)賬套表一存貨碼表:其設(shè)計(jì)原理基本同“賬套表一部門(mén)碼表”,聯(lián)系為l:n,生成物理模型后,賬套表的關(guān)鍵字成為存貨碼表的外碼。
(7)賬套表一項(xiàng)目碼表:其設(shè)計(jì)原理基本同“賬套表一部門(mén)碼表”,聯(lián)系為l:n,生成物理模型后,賬套表的關(guān)鍵字成為項(xiàng)目碼表的外碼。
(8)賬套表一憑證主表:一個(gè)賬套中可有多張憑證,一張具體的憑證只能屬于一個(gè)賬套,因此賬套表和憑證主表之間的聯(lián)系為1:n,生成物理模型后,賬套表的關(guān)鍵字成為賬套主表的外碼。
(9)賬套表一銀行碼表:一個(gè)賬套中可有多家開(kāi)戶(hù)行,一家銀行可為多個(gè)賬套服務(wù),因此賬套表和銀行碼表之間的聯(lián)系為m:n,在物理模型中生成聯(lián)系表——銀行余額表,存儲(chǔ)該賬套中的銀行方的銀行余額信息,包括銀行的期初余額和方向、借貸方發(fā)生額、借貸方累計(jì)發(fā)生額及期末余額和方向,每月一條記錄。
2與“科目表”相關(guān)的E—R圖及物理模型分析
(1)科目表一科目類(lèi)別碼表:科目類(lèi)別需要根據(jù)科
目編碼首位判斷,確定該科目屬于資產(chǎn)、負(fù)債、所有者權(quán)益,還是成本和損益。一種科目類(lèi)別中可有多個(gè)科目,一個(gè)科目只能屬于一種科目類(lèi)別,因此科目類(lèi)別碼表和科目表之間的聯(lián)系為l:n,生成物理模型后,科目類(lèi)別碼表的關(guān)鍵字成為科目表的外碼。
(2)科目表一科目性質(zhì)碼表:科目性質(zhì)主要是指科目所帶的輔助核算,包括部門(mén)、個(gè)人往來(lái)、供應(yīng)商往來(lái)、客戶(hù)往來(lái)、項(xiàng)目核算等。一種科目性質(zhì)可針對(duì)多個(gè)科目,如供應(yīng)商往來(lái)一般可包括應(yīng)付賬款、應(yīng)付票據(jù)和預(yù)付賬款等科目,而一個(gè)科目只能帶一種輔助核算(用友U8中一個(gè)科目最多允許帶兩種輔助核算,本文設(shè)計(jì)的數(shù)據(jù)庫(kù)為簡(jiǎn)單起見(jiàn),不考慮此種情況),因此科目類(lèi)別碼表和科目表之間的聯(lián)系為1:n,生成物理模型后,科目性質(zhì)碼表的關(guān)鍵字成為科目表的外碼。
(3)科目表一部門(mén)碼表:一個(gè)科目(如“管理費(fèi)用”)的輔助核算可能涉及多個(gè)部門(mén),一個(gè)部門(mén)可能參與多個(gè)科目的輔助核算,因此科目表和部門(mén)碼表之間的聯(lián)系為m:n,在物理模型中生成聯(lián)系表——部門(mén)核算表和部門(mén)余額表,分別存儲(chǔ)該賬套中部門(mén)輔助核算的日常核算信息和累計(jì)信息,其中部門(mén)核算表是以一張憑證為一條分錄,而部門(mén)余額表是一個(gè)月為一條記錄。在用友U8中,把所有的日常輔助核算信息均存儲(chǔ)于憑證及明細(xì)賬表(GL_accvouch),而把所有的輔助核算余額信息均存儲(chǔ)于輔助總賬表(GL_access)中,雖然提高了查詢(xún)效率,但卻以占用大量存儲(chǔ)空間為代價(jià)。
(4)科目表一職員表:其設(shè)計(jì)原理基本同“科目表一部門(mén)碼表”,聯(lián)系為m:n,在物理模型中生成聯(lián)系表——個(gè)人核算表和個(gè)人余額表。
(5)科目表一往來(lái)碼表:其設(shè)計(jì)原理基本同“科目表一部門(mén)碼表”,聯(lián)系為m:n,在物理模型中生成聯(lián)系表——往來(lái)核算表和往來(lái)余額表。
(6)科目表一項(xiàng)目碼表:其設(shè)計(jì)原理基本同“科目表一部門(mén)碼表”,聯(lián)系為m:n,在物理模型中生成聯(lián)系表——項(xiàng)目核算表和項(xiàng)目余額表。
(7)科目表一存貨碼表:其設(shè)計(jì)原理基本同“科目表一部門(mén)碼表”,聯(lián)系為m:n,在物理模型中生成聯(lián)系表——存貨核算表和存貨余額表。
(8)科目表一銀行碼表:其設(shè)計(jì)原理基本同“科目表一部門(mén)碼表”,聯(lián)系為m:n,在物理模型中生成聯(lián)系表——銀行核算表和企業(yè)銀行余額表。除此之外,為單獨(dú)存儲(chǔ)企業(yè)的未達(dá)賬項(xiàng),單獨(dú)設(shè)置了聯(lián)系表——企業(yè)未達(dá)賬項(xiàng)表。
(9)科目表一憑證主表:憑證主表是存儲(chǔ)憑證信息的表,每張憑證為一條記錄。一個(gè)科目可以在多張憑證中出現(xiàn),一張憑證中也可以涉及多個(gè)科目,因此科目表與憑證主表之間的聯(lián)系為m;n,在物理模型中生成聯(lián)系表一憑證明細(xì)表,以憑證中的每行分錄為一條記錄。
3其他E—R圖及物理模型分析
(1)部門(mén)碼表一職員表:一個(gè)部門(mén)中可能有多個(gè)職員,一個(gè)職員只能屬于一個(gè)部門(mén),因此部門(mén)碼表和職員表之間的聯(lián)系為1:n,生成物理模型后,部門(mén)碼表的關(guān)鍵字成為職員表的外碼。
(2)職員表一角色碼表:一個(gè)職員可以充當(dāng)多個(gè)角色,一個(gè)角色可由多個(gè)職員充當(dāng),因此職員表和角色碼表之間的聯(lián)系為m:n,在物理模型中生成聯(lián)系表——用戶(hù)角色表,存儲(chǔ)該賬套中的用戶(hù)角色對(duì)應(yīng)關(guān)系。
(3)角色碼表一模塊碼表:一個(gè)角色對(duì)多個(gè)模塊擁有權(quán)限(如總賬會(huì)計(jì)擁有總賬系統(tǒng)的所有模塊權(quán)限),一個(gè)模塊可以隸屬多種角色(如多種角色都能進(jìn)行憑證查詢(xún)),因此角色碼表和模塊碼表之間的聯(lián)系為m:n,在物理模型中生成聯(lián)系表——角色權(quán)限表,存儲(chǔ)該賬套中的角色和模塊的對(duì)應(yīng)關(guān)系。
(4)銀行碼表一結(jié)算方式碼表:一個(gè)銀行可提供多種結(jié)算方式,一種結(jié)算方式可以為多家銀行所用,因此銀行碼表和結(jié)算方式碼表之間的聯(lián)系為m:n,在物理模型中生成聯(lián)系表——銀行對(duì)賬單表,存儲(chǔ)該賬套中的銀行對(duì)賬單信息。
四、賬務(wù)處理子系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)評(píng)價(jià)
雖然本文設(shè)計(jì)的賬務(wù)處理子系統(tǒng)數(shù)據(jù)庫(kù)便于維護(hù)、節(jié)省空間、符合第三范式的要求,但其運(yùn)行效率有一定欠缺,如我們?cè)诨诒緮?shù)據(jù)庫(kù)的賬務(wù)處理系統(tǒng)中輸入一張帶有客戶(hù)往來(lái)核算的憑證,此時(shí)需要更新的數(shù)據(jù)表包括憑證主表、憑證明細(xì)表及往來(lái)核算表;而在用友U8中,因?yàn)樗械妮o助核算信息均處于“憑證及明細(xì)賬”表中,因此錄人憑證后僅在該表中添加記錄。表1和表2~表4分別表示在u8和本文設(shè)計(jì)的賬務(wù)處理子系統(tǒng)數(shù)據(jù)庫(kù)中錄入以下憑證時(shí),數(shù)據(jù)庫(kù)相應(yīng)表中的記錄形式。
憑證:借:應(yīng)收賬款——甲公司585 000
貸:主營(yíng)業(yè)務(wù)收入500 000
應(yīng)交稅費(fèi)一應(yīng)交增值稅(銷(xiāo)項(xiàng)稅額)
85000
從表1和表2~表4中我們很容易看出,u8的數(shù)據(jù)庫(kù)設(shè)計(jì)中,將憑證主表和憑證明細(xì)表放在一起,而且將所有輔助核算信息也放在“憑證和明細(xì)賬”表中,錄入該銷(xiāo)售憑證時(shí),大量字段空白,造成存儲(chǔ)空間的一定浪費(fèi),但由于其所有憑證信息均存儲(chǔ)于一個(gè)表中,因此添加、修改憑證及憑證查詢(xún)等運(yùn)行效率比較高;而本文中的賬務(wù)處理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)僅一張憑證就比u8的數(shù)據(jù)存儲(chǔ)少62(=86 24)個(gè)字段,可節(jié)約大量存儲(chǔ)空間;若考慮字段長(zhǎng)度及大量憑證,則可大大減少數(shù)據(jù)庫(kù)的存儲(chǔ)空間。
數(shù)據(jù)庫(kù)的設(shè)計(jì)方案并不唯一,希望本文的賬務(wù)子系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)能夠?yàn)閺V大財(cái)務(wù)軟件的分析人員和設(shè)計(jì)人員提供借鑒,在使我國(guó)的財(cái)務(wù)軟件功能不斷強(qiáng)大的同時(shí),也能不斷提高存儲(chǔ)空間的利用效率。
主要參考文獻(xiàn)
[1]劉梅玲,朱學(xué)義,黃巖CASE工具在電算化會(huì)計(jì)實(shí)驗(yàn)教學(xué)中的應(yīng)用[J],中國(guó)管理信息化。2008(11)
[2]陳旭,毛華楊,會(huì)計(jì)信息系統(tǒng)分析、設(shè)計(jì)與開(kāi)發(fā)[M],北京:清華大學(xué)出版社,2006
[3]劉自偉管理信息系統(tǒng)開(kāi)發(fā)技術(shù)[M],武漢:武漢理工大學(xué)出版社,2003