資源描述:
《數(shù)據(jù)庫表命名規(guī)范V0.0.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、數(shù)據(jù)庫設(shè)計(jì)規(guī)范1結(jié)構(gòu)原則1.1與程序流程有關(guān)的狀態(tài)信息使用域進(jìn)行限制和定義,不允許最終用戶修改定義1.2用戶可修改的狀態(tài)列表信息,用數(shù)據(jù)表來定義,一經(jīng)創(chuàng)建后,用戶只可修改名稱,不能修改代碼,修改后的名稱與原名稱應(yīng)代表相同的意義。1.3用戶采用列表錄入的文字信息,在一個(gè)統(tǒng)一的‘系統(tǒng)信息’表中定義,用戶可任意創(chuàng)建和修改。用此種方法錄入的信息,錄入的信息與選擇列表不存在約束關(guān)系,列表只是作為文字錄入的一種輔助手段。1.4輔助編碼表應(yīng)至少有兩列—代碼和名稱。只有在名稱非常穩(wěn)定的情況下才可以不使用代碼。使用編碼表的好處是在應(yīng)用程序界面中,不同的地方出現(xiàn)同一種數(shù)據(jù)的錄入(如錄入數(shù)據(jù)或查
2、詢過濾條件)時(shí)只需定義一次選擇列表,不會(huì)出現(xiàn)兩處沖突的現(xiàn)象,方便編程。1.5所有記錄業(yè)務(wù)數(shù)據(jù)的表中都設(shè)有‘錄入員’和‘錄入日期’列,由系統(tǒng)自動(dòng)記錄。1.6記錄業(yè)務(wù)數(shù)據(jù)的表中,根據(jù)需要設(shè)置‘過程’和‘狀態(tài)’列,‘過程’列用一位數(shù)字或字符記錄如錄入審核記賬等過程狀態(tài);‘狀態(tài)’列用一位數(shù)字或字符記錄如正常作廢刪除等狀態(tài)。所有表的‘過程’狀態(tài)的改變?nèi)掌诤筒僮魅擞梢粏为?dú)表來記錄,表中記錄狀態(tài)改變所涉及的表標(biāo)識(shí)記錄標(biāo)識(shí)操作人和操作日期。1.7基本編碼表中應(yīng)設(shè)置‘編碼’‘縮語’‘名稱’,‘編碼’作為主鍵與其它表的外鍵形成對(duì)應(yīng)關(guān)系,完成基于主-外鍵的完整性約束。1.8記錄錄入單據(jù)的表中設(shè)置
3、‘自動(dòng)單據(jù)號(hào)’,由一字符開始以區(qū)分單據(jù)類型,后跟一數(shù)字序列表示序號(hào)。‘自動(dòng)單據(jù)號(hào)’由系統(tǒng)自動(dòng)生成,作為主表的主鍵,不允許用戶修改,并作為連接主表和明細(xì)表的外鍵。1.9明細(xì)表中設(shè)置序號(hào)列,用于同一單據(jù)中排列各行的序號(hào)。1.10用于記錄業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)表與用于報(bào)表的數(shù)據(jù)表分別存于不同的數(shù)據(jù)庫中,分別命名為‘業(yè)務(wù)數(shù)據(jù)庫’和‘決策數(shù)據(jù)庫’。‘業(yè)務(wù)數(shù)據(jù)庫’獨(dú)立于‘決策數(shù)據(jù)庫’進(jìn)行設(shè)計(jì),‘決策數(shù)據(jù)庫’中的數(shù)據(jù)來源于‘業(yè)務(wù)數(shù)據(jù)庫’。1.11任意業(yè)務(wù)流程中應(yīng)考慮創(chuàng)建審核記賬修改刪除沖紅結(jié)存(月結(jié)年結(jié))的處理及滿足的條件。1.12對(duì)于主-明細(xì)表結(jié)構(gòu),設(shè)計(jì)對(duì)應(yīng)的視圖將兩表連接用于查詢。1.13禁
4、止直接用編碼或名稱列表(in)作為固定的過濾條件對(duì)數(shù)據(jù)進(jìn)行查詢。應(yīng)將包含此過濾條件的查詢做成特定的視圖;或在編碼表中加入一屬性字段用于分類。1.14對(duì)于業(yè)務(wù)數(shù)據(jù)表應(yīng)設(shè)定一個(gè)‘存檔標(biāo)記列’,對(duì)于新增行或修改行設(shè)置該標(biāo)志,以便將業(yè)務(wù)數(shù)據(jù)庫中的數(shù)據(jù)向決策數(shù)據(jù)庫復(fù)制時(shí)用以選擇需更新的數(shù)據(jù)。當(dāng)采用數(shù)據(jù)庫復(fù)制技術(shù)時(shí),也希望設(shè)定此標(biāo)志,以備用。此標(biāo)志的設(shè)置可以由應(yīng)用程序或觸發(fā)器來執(zhí)行。1.15決策數(shù)據(jù)庫中應(yīng)復(fù)制基本編碼表和輔助編碼表,以保持決策數(shù)據(jù)庫數(shù)據(jù)的完整性。1.16同時(shí)采用多種分類方法:如果某一實(shí)體有多于一種的分類方法,或?qū)嶓w中的每個(gè)實(shí)例所屬的類的數(shù)量是不定的,這時(shí)實(shí)體表和分類表之
5、間的關(guān)聯(lián)是多對(duì)多的,即一個(gè)實(shí)體屬于一個(gè)分類而同時(shí)也屬于其它的分類。對(duì)于具有可多選的分類標(biāo)志的表,與分類名稱列表之間存在多對(duì)多的關(guān)系,須按多對(duì)多的關(guān)系來處理。--實(shí)體表----實(shí)體-分類表----分類表--實(shí)例1實(shí)例分類分類1->類別1.1實(shí)例21對(duì)N...1對(duì)N分類1->類別1.2實(shí)例3...分類2->類別2.11.17業(yè)務(wù)過程的記錄:如果一個(gè)業(yè)務(wù)表(或主表+明細(xì)表)依賴另外一個(gè)業(yè)務(wù)表的數(shù)據(jù),或在流程上一個(gè)業(yè)務(wù)表根據(jù)另一個(gè)業(yè)務(wù)表生成,則該業(yè)務(wù)表中應(yīng)有一字段記錄另一業(yè)務(wù)表對(duì)應(yīng)記錄的標(biāo)識(shí)。這樣的結(jié)構(gòu)使得在流程上的所有數(shù)據(jù)形成一個(gè)鏈。他有兩個(gè)作用:其一,可以追述某一過程進(jìn)行到哪一
6、步;其二,對(duì)于流程的回退有用,當(dāng)流程需要回退到某一步時(shí),將該步驟生成的記錄作廢,同時(shí)作廢由此記錄生成的所有后續(xù)記錄,即可以回退到流程的任意一點(diǎn)。由于數(shù)據(jù)的依賴關(guān)系,回退時(shí)實(shí)際上是從后向前作廢記錄,直到希望回退到的位置為止。一個(gè)業(yè)務(wù)流程應(yīng)作為一個(gè)事務(wù)(在數(shù)據(jù)庫管理系統(tǒng)中的定義),要保證這一事務(wù)的完整性。首先一個(gè)事務(wù)要有一個(gè)標(biāo)識(shí),在這個(gè)事務(wù)進(jìn)行過程中所產(chǎn)生的一切數(shù)據(jù)都應(yīng)打上事務(wù)標(biāo)識(shí)作為標(biāo)記。可以‘回滾’整個(gè)事務(wù),或‘回滾’(從后向前)到事務(wù)進(jìn)行的某一點(diǎn)上,然后再繼續(xù)進(jìn)行直到完成事務(wù)。1.18分類字段的冗余:業(yè)務(wù)數(shù)據(jù)表往往關(guān)聯(lián)許多的基本信息表,這些基本信息表中可能含有一些分類字段
7、,而業(yè)務(wù)數(shù)據(jù)表的分類統(tǒng)計(jì)可能引用這些字段。如果這些分類字段的內(nèi)容會(huì)改變,而又不希望這種改變影響業(yè)務(wù)數(shù)據(jù)的統(tǒng)計(jì)結(jié)果,則在這些業(yè)務(wù)數(shù)據(jù)表中應(yīng)包含這些分類字段,用以記錄業(yè)務(wù)發(fā)生時(shí)該字段的內(nèi)容。1.19類別和狀態(tài)的多選:多選分為必選(1..n)和可選(0..n)。如是必選,在設(shè)計(jì)時(shí)要有說明,在程序?qū)崿F(xiàn)中應(yīng)有控制和檢查。兩個(gè)可選的類別或狀態(tài)表可以合并為一個(gè)表,再與引用此表的主表形成多對(duì)多的關(guān)系1.20財(cái)務(wù)記賬的處理:由憑證生成各種帳目(總帳明細(xì)帳日記帳部門帳往來帳項(xiàng)目帳以及備查帳)時(shí),有兩種處理方法:一種是各賬本不生成表,需