<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 輕松 閱讀(2833) 評論(1)  編輯  收藏 所屬分類: 其他文章

    評論

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

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

    主站蜘蛛池模板: 又色又污又黄无遮挡的免费视| 我的小后妈韩剧在线看免费高清版 | 午夜成人无码福利免费视频| 无码一区二区三区AV免费| 亚洲国产成人精品青青草原| 亚洲一区二区三区免费观看| 亚洲综合小说久久另类区| 最好看的中文字幕2019免费| 亚洲精品视频免费看| 国产四虎免费精品视频| 亚洲国产成人91精品| 四虎永久在线精品免费网址| 中文有码亚洲制服av片| 爽爽日本在线视频免费| 成人免费网站久久久| 亚洲综合熟女久久久30p| 免费人成毛片动漫在线播放| 麻豆亚洲AV永久无码精品久久| 18禁男女爽爽爽午夜网站免费| 亚洲国产精品综合久久20| 成人免费视频国产| 一道本在线免费视频| 国产亚洲综合一区柠檬导航| 久久久久久久99精品免费| 亚洲天堂免费在线| 免费中文字幕一级毛片| 免费无码又爽又刺激网站直播| 久久亚洲AV无码精品色午夜麻豆 | 国产免费小视频在线观看| 一级午夜a毛片免费视频| 亚洲短视频男人的影院| 曰曰鲁夜夜免费播放视频| 羞羞视频在线免费观看| 国产亚洲精品岁国产微拍精品| 91网站免费观看| 一级特级女人18毛片免费视频| 亚洲精品成人无码中文毛片不卡| 国产成人精品免费视频大| 免费无码又爽又黄又刺激网站| 色播亚洲视频在线观看| 国产成人免费手机在线观看视频|