<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    輕松

    記述我學習java的里程

    常用鏈接

    統計

    積分與排名

    友情鏈接

    最新評論

    給新人的建議:Db設計的常見問題的解決

    第一次做數據庫設計的開發人員,難免會碰到一些問題,根據自己的經驗簡單的總結一下這些問題在沒有更好的解決方法前的一種可能的備選方案。

    Ø 從技術上對表進行分組

    我們在做業務數據庫設計的時候,個人認為首先要從技術上對表進行分組,下面是個人的標準:

    1)      流程和交易相關的表:它的特點是記錄數保持最小,以便快速響應交易需求,并且相關交易主題對象的生命周期比較短;比如納稅申報表。或者可以稱為操作數據庫。

    2)      歸檔后的查詢表:它的特點就是記錄數很大,有足夠多的索引,關鍵保持查詢速度;它的特點就是查的多,改的少;比如車輛檔案表。或者可以稱為查詢數據庫。

    3)      提供給分析使用的匯總表:它的特點就是表中存儲了很多計算后的數據并且是冗余數據。如果使用BI,這一部分就不用了;如果自己設計為了出報表方便還是需要的;比如納稅情況歸集表。或者可以稱為查詢分析表

    4)      支持類的表:這一類是對業務的支持,包括代碼表、配置表、規則表等。

    特別是12在設計時最好分別進行處理,不要將交易數據和查詢數據混在一塊;如果后續要分別部署交易服務器和查詢服務器就麻煩了。

    Ø 主鍵策略

    個人建議在客戶沒有要求的情況下全部使用替代健而不是自然鍵,自然鍵是指業務本身的唯一區別,比如員工工號等。而替代健建議使用GUID,這樣在有離線業務處理時也能應付。

    Ø 替代健中的冗余問題

    在使用替代健后,有一個問題就是需要頻繁的查找自然健,個人建議增加冗余字段將自然健也加入關聯表中。

    Ø 代碼管理策略

    在客戶沒有特別要求的情況下,使用整數來表達代碼。并確定代碼表的建表策略,是建一個表統一管理還是分別建表管理?個人建議使用一個表管就行了。具體表設計后續可以和大家分享。

    Ø 字符串字典管理策略

    我們經常碰到一個問題,內部一些狀態和它的名稱的管理;比如審批流程中的審核、批準等等,建議使用字符串字典表統一管理。具體表設計后續可以和大家分享。

    Ø 大字段管理策略

    當碰到大字段時,建議盡量集中管理,并建在一個表空間(Oracle)或文件組(Sqlserver)上。后續和大家分享一下關于附件管理的表設計。

    Ø 使用視圖

    個人很少使用視圖,原因就是Powerdesign對視圖設計支持不好,但是有幾個方面給大家建議,所有的Select查詢最好從視圖檢索,視圖中將相應需要的中文信息統一帶出來(比如:代碼相對的名稱或一個流程的狀態名稱等);這樣統一處理前臺需要的顯示問題;在業務層構建對象模型時增加狀態名稱的屬性以保持它;這樣做的另一個好處就是減少和物理表的耦合性,畢竟一般系統中查詢遠比修改要多。

    Ø 使用標量函數

    我們有時有這樣的需求,要查今天的收入,要查最近7天的收入;這時我們可以使用標量函數來完成這個工作,并能保證時間以數據庫服務器一致;當然還有很多其他用途,大家去發現。

    下面是一個標量函數的聲明來去給定日期當月的第一天:

    Create function [dbo].[fn_BeginOfMonth](

     @DayUTC         datetime

    )

    returns datetime

    Ø 使用模版表

    用戶需要做相似又有微小差別的錄入或配置,可以使用模版表來增強用戶體驗。

    Ø 和業務相關的表都包含下列字段

    CreatedBy 創建人

    CreatedOn 創建時間

    ModifiedBy 最后修改人

    ModifiedOn 最后修改時間

    VersionNumber版本號

    特別是VersionNumber作為開放式鎖的必要字段;在修改記錄時可以通過它來判斷用戶提交數據時,是否其他人做過改動,以便后續處理。

    暫寫這么多,希望大家補充。


    聲明:此文章并非本人原創,轉自公司的內部論壇,是公司一的位同事也是我的領導所寫,覺得不錯轉出來與大家共勉。

    posted on 2010-10-22 17:32 輕松 閱讀(2826) 評論(1)  編輯  收藏 所屬分類: 其他文章

    評論

    # re: 給新人的建議:Db設計的常見問題的解決 2010-10-25 14:02 StevenF-nate

    講的很實用,期待樓主下文  回復  更多評論   

    主站蜘蛛池模板: 免费人成激情视频| 午夜视频在线观看免费完整版| 亚洲国产精品无码久久久秋霞2 | 亚洲人成网亚洲欧洲无码| 97免费人妻无码视频| 亚洲日本在线免费观看| 99在线精品视频观看免费| 亚洲人成在线免费观看| 成人av免费电影| 小说区亚洲自拍另类| 亚洲国产成人久久综合一区77| www免费插插视频| 亚洲AV无码一区东京热久久| 日韩插啊免费视频在线观看| 亚洲人和日本人jizz| 久久久久国色AV免费观看性色| 亚洲午夜精品第一区二区8050| 男女猛烈激情xx00免费视频| 激情97综合亚洲色婷婷五| a在线观看免费视频| 久久久久亚洲av无码专区喷水| 在线看免费观看AV深夜影院 | 亚洲欧洲日产专区| 一二三四在线播放免费观看中文版视频 | 国产亚洲美女精品久久久久狼 | 国产精品免费大片| 亚洲人成综合在线播放| 国产一级大片免费看| 99久久免费国产精精品| 亚洲成人黄色在线| 四虎影在线永久免费四虎地址8848aa | 国产精品黄页免费高清在线观看| 亚洲av无码乱码国产精品| 日韩毛片免费无码无毒视频观看| 看亚洲a级一级毛片| 亚洲精品无码久久久久去q| 亚洲国产精品免费观看| 美女尿口扒开图片免费| 亚洲va在线va天堂va四虎| 免费观看a级毛片| 特级做A爰片毛片免费看无码|