• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            cc

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              38 隨筆 :: 14 文章 :: 21 評論 :: 0 Trackbacks
            標題:數據庫設計規范   
                
              版本:V2.0  
               
              修訂文檔歷史記錄:  
              ---日期--|---版本--|--說明----  
              2003.6.5       V1.0             文檔初搞  
              2003.6.17     V2.0             對1.0   的內容重新整理  
               
               
               
                                                                      數據庫設計規范  
              1     目的  
               
                    規范數據庫設計。  
               
              2     概述  
               
                    從數據庫的設計原則     設計文檔幾方面論述數據庫設計的規范思想及命名規則。  
               
              3     數據庫應用結構  
                     
                    根據對一般業務系統的分析,將數據庫和程序系統統一進行整體描述,展示數據庫的  
               
              表之間以及與程序模塊間的關系。  
               
                    3.1 數據表和程序模塊的分類  
               
                    根據“處理特點”,將數據表和程序模塊進行分類如下:  
               
                    數據表分類:業務數據表、基本編碼表、輔助編碼表、系統信息表、累計數據表、結  
               
              算數據表、決策數據表。  
                    程序模塊分類:初始化、業務處理、完整性檢測與修正、結算處理、統計處理。  
                       
                            3.1.1   數據表分類說明  
                     
                    業務數據表:記錄業務發生的過程和結果。如,合同、出倉單、申請單、憑證。  
                    基本編碼表:描述業務實體的基本信息和編碼。如,產品、客戶、供應商、雇員。  
                    輔助編碼表:描述屬性的列表值。如,合同類型、職稱、民族、付款方式。  
                    系統信息表:存放與系統操作、業務控制有關的參數。如,用戶信息、權限、用戶配  
               
              置信息、成本核算方式。  
                    累計數據表:存放業務的當前值和累計值。如,當前庫存、當前存款、累計銷售、累  
               
              計支出、應收賬款。  
                    結算數據表:存放各個時期末的結存數。如,月末庫存、月末銀行存款、應收賬款月  
               
              結。  
                    決策數據表:存放各個時期內發生的統計值。如,月銷售統計、月回款統計、出入庫  
               
              統計。  
               
                            3.1.2   程序模塊分類說明  
               
                    初始化:系統運行前對系統進行數據的初始化。如,庫存初始化。  
                    業務處理:業務過程的控制和結果記錄。如,合同錄入、費用審批、出入庫。  
                    完整性檢測與修正:對累計數據表進行檢查并自動修正。如對當前庫存、當前存款、  
               
              累計銷售的檢查和重新計算。  
                    結算處理:計算并記錄各個時期末的結存數。庫存月結、應收賬款月結。  
                    統計處理:計算并記錄各個時期內發生的統計數。如,統計月銷售、統計月回款、統  
               
              計出入庫。  
               
                    3.2   數據表間的關系  
               
                    業務數據表<-->基本編碼表   主-外鍵關系。如,合同表<-->客戶編碼表;  
                    業務數據表<-->輔助編碼表   主-外鍵關系。如,合同表<-->付款方式;  
                    業務數據表、累計數據表、結算數據表:累計數據表=結算數據表(上期末)   +   業務數  
               
              據表(本期內發生)。如當前庫存=上月末庫存數+(本月入庫數-本月出庫數);  
                    決策數據表<-->業務數據表   決策數據表的數據是由業務數據表中數據導出(統計)的;  
               
                    3.3   數據表與程序模塊間的關系  
                           
                    由一個例子(倉庫管理)來說明數據表與程序模塊之間的關系:  
                    .   系統使用前,由初始化模塊對庫存數(累計數據表)和上月末庫存數(結存數據表)進  
               
              行初始化;  
                    .   當有入庫業務發生時,由入庫模塊(業務處理)將入庫單錄入并保存到入庫單明細帳(  
               
              業務數據表)中,同時將入庫數累加到庫存數(累計數據表)中;  
                    .   定期或不定期,庫存數核算模塊(檢查完整性檢測與修正)根據上月末的庫存數(結存  
               
              數據表)、本月已發生數(業務數據表)檢查當前的庫存數(累計數據表)是否符合,不符合  
               
              則給出提示,可手工或自動進行更正(當前庫存數=上月末庫存數+本月入庫數-本月出庫數  
               
              );  
                    .   每月初,進行上月的月結處理。月結模塊(結算處理)根據上月初的庫存數(結存數據  
               
              表)、上月發生數(業務數據表)計算出上月末的庫存數(累計數據表)。公式為:上月末庫  
               
              存數=上月初庫存數+上月入庫數-上月出庫數;  
                    .   每個月月結后,庫存業務月統計模塊(統計處理)統計上月的各種庫存商品的入庫和  
               
              出庫數,便于查詢和生成報表,也作為決策支持的數據基礎。  
               
                    3.4   數據表命名時對數據表分類的考慮  
               
                    .   業務數據表:t_d_<系統標識>_<表標識>。如銷售系統的合同表   t_d_SH_Contract    
               
              或   t_d_SH_合同;  
                    .   基本編碼表:t_b_[<系統標識>]_<表標識>。如客戶編碼表t_b_Customer   或   t_b_客  
               
              戶;  
                    .   輔助編碼表:t_a_[<系統標識>]_<表標識>。如合同類別t_a_ContType   或   t_a_合同  
               
              類別;  
                    .   系統信息表:t_s_[<系統標識>]_<表標識>。如用戶表t_s_User   或   t_s_用戶;  
                    .   累計數據表:t_t_<系統標識>_<表標識>。如當前庫存表t_t_SO_Stock   或   t_t_SO_  
               
              庫存;  
                    .   結算數據表:t_c_<系統標識>_<表標識>。如庫存月結表t_c_SO_StockMonth   或    
               
              t_c_SO_庫存月結;  
                    .   決策數據表:t_w_<系統標識>_<表標識>。如月銷售統計表t_w_SH_SellMonth   或    
               
              t_w_SH_月銷售統計;  
                       
                    注:[]內的內容表示可選。如“t_s_[<系統標識>]_<表標識>”表示t_s_SH_User   和    
               
              t_s_User   都是符合規則的。  
               
              4     數據庫結構原則  
                     
                    規定除數據庫設計所遵循的范式外的一些適用原則,在遵循數據庫設計范式的基礎上  
               
              ,合理地劃分表,添加狀態和控制字段等。  
               
                    4.1 輔助編碼表  
               
                    為了使輔助編碼表能起到預期的效能,又不因過多的輔助編碼表難以管理,故對輔助  
               
              編碼表的使用作如下規定:  
               
                    1.   當某輔助編碼表的編碼允許用戶添加時,應設計成“獨立”的數據表;否則,將不  
               
              允許用戶添加編碼的各輔助編碼表合并成一個“通用”的輔助編碼表。  
                    2.   “獨立”的輔助編碼表與主表的列采用主-外約束保證列數據完整性。  
                    3.   “通用”的輔助編碼表與各主表間沒有約束關系,主表列的數據完整性由列說明的  
               
              “域”來保證。  
                    4.   “通用”的輔助編碼表除編碼和名稱列外,還有一個標識列,用來標識合并前的各  
               
              碼表,該標識列+編碼列作為該表的主鍵。  
                    5.   對于“獨立”的輔助編碼表,用戶只可添加新的編碼和改變名稱,并且不能改變一  
               
              個編碼所代表的意義;對于“通用”的輔助編碼表,原則上不允許用戶修改,或只有限地  
               
              允許修改名稱。  
                     
                    4.2 基本編碼表  
               
                    1.   基本編碼表可以有如下的標識列:內編碼、外編碼、助記碼、簡稱、全稱。內編碼  
               
              (唯一編碼)作為主鍵有程序自動生成,用戶不可見;外編碼(唯一編碼)由用戶按某種  
               
              規則自行定義,用戶可見;助記碼為拼音縮,方便錄入,不唯一,重碼時由列表選擇;簡  
               
              稱用于列表顯示和報表,以便縮短行寬。以上的列在實現時可視情況和習慣加以刪減。  
                    2.   當碼表的列較多且也行較多時,可將上述的標識列和常用的信息存于一個表,將其  
               
              它的信息另表存儲。  
               
                    4.3 業務數據表  
               
                    1.   設有‘錄入人’和‘錄入日期’列,由系統自動記錄。  
                    2.   記錄單據的表中設置“自動單據號”,由兩個字符開始以區分單據類型,后跟一數  
               
              字序列表示序號。‘自動單據號’由系統自動生成,作為主表的主鍵,不允許用戶修改。  
               
              當有對應的紙質單據時,設置“單據號”用于記錄紙質單據的單據號。  
                    3.   明細表中設有行序號,自動記錄行的錄入順序。  
                    4.   設置“存檔標記”列,用于抽取數據到決策數據庫時的更新標記。插入新行或修改  
               
              已有行時設置該標記;數據抽取后清除該標記。  
                    5.   對于用于查詢過濾條件的列,不可為空,以免行“丟失”。  
                    6.   對于數值列,不可為空,“0”作為默認值。  
                    7.   對于必要的“冗余”列,如客戶名稱,應有相應的程序保持各“冗余”列的同一性  
               
              ,以免出現異議。  
                    8.   設置“過程狀態”列和“記錄狀態”列。過程狀態列用于記錄如創建、審核、記賬  
               
              、沖紅等狀態;記錄狀態用于記錄如有效、刪除等狀態。  
                     
              5     數據庫命名原則  
               
                    5.1   表名  
               
                    .   業務數據表:t_d_<系統標識>_<表標識>。  
                    .   基本編碼表:t_b_[<系統標識>]_<表標識>。  
                    .   輔助編碼表:t_a_[<系統標識>]_<表標識>。  
                    .   系統信息表:t_s_[<系統標識>]_<表標識>。  
                    .   累計數據表:t_t_<系統標識>_<表標識>。  
                    .   結算數據表:t_c_<系統標識>_<表標識>。  
                    .   決策數據表:t_w_<系統標識>_<表標識>。  
               
                    5.2   視圖  
               
                    v_<視圖類型>_[<系統標識>]_<視圖標識>。視圖類型參見《表的分類》。  
               
                    5.3   存儲過程  
               
                    p_[<系統標識>]_<存儲過程標識>  
               
                    5.4   函數  
               
                    f_[<系統標識>]_<函數標識>  
               
                    5.5   觸發器  
               
                    tr_<表名>_<i,u,d的任意組合>     (after)  
                    ti_<表名>_<i,u,d的任意組合>     (instead)  
               
                    5.6   自定義數據類型  
               
                    ud_<自定義數據類型標識>_<數據類型>  
               
                    5.7   Default  
               
                    df_<Default標識>  
               
                    5.8   Rule  
               
                    ru_<Rule標識>  
               
                    5.9   主鍵  
               
                    pk_<表名>_<主鍵標識>  
               
                    5.10   外鍵  
               
                    fk_<表名>_<主表名>_<外鍵標識>  
               
               
              附:  
               
              為了描述第一部分清楚,請下載瀏覽   《數據表分類描述圖》  
               
              visio格式  
              http://218.242.185.84/bbs/update/20036/20221827CSDN.vsd  
               
               
              圖片格式  
              http://218.242.185.84/bbs/update/20036/20222035CSDN.jpg  
            posted on 2009-10-29 20:44 醒目西西 閱讀(280) 評論(0)  編輯 收藏 引用
            久久精品国产亚洲αv忘忧草| 久久精品亚洲日本波多野结衣| 国产成人综合久久综合| 777米奇久久最新地址| 国产精品99久久不卡| 久久影视综合亚洲| 99精品国产综合久久久久五月天| 精品免费久久久久久久| 久久久久这里只有精品| 中文字幕人妻色偷偷久久| 国产亚洲精久久久久久无码AV| 亚洲精品WWW久久久久久| 好属妞这里只有精品久久| 久久久久国产一区二区三区| 91精品国产高清91久久久久久| 久久国产精品国语对白| 国产三级久久久精品麻豆三级 | 狠狠色综合网站久久久久久久 | 久久久黄色大片| 亚洲国产美女精品久久久久∴| 国产麻豆精品久久一二三| 久久久青草青青国产亚洲免观| 一级做a爰片久久毛片毛片| 亚洲国产精品无码久久久蜜芽| 国产精品久久国产精麻豆99网站| 久久婷婷国产麻豆91天堂| 无码乱码观看精品久久| 久久香蕉超碰97国产精品| 精品久久久久久久久久久久久久久| 久久久久九九精品影院| 亚洲国产精品无码久久久蜜芽| 色综合久久久久综合99| 久久亚洲精品国产精品| 久久国产成人午夜aⅴ影院| 亚洲欧美日韩中文久久| 国产亚洲色婷婷久久99精品91| 三上悠亚久久精品| 亚洲日韩欧美一区久久久久我| 久久精品国产精品国产精品污| 东方aⅴ免费观看久久av| 色婷婷噜噜久久国产精品12p|