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

    評論

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

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

    主站蜘蛛池模板: 亚洲综合色丁香麻豆| 亚洲色成人WWW永久网站| 亚洲成人黄色在线| 久久一本岛在免费线观看2020| 亚洲午夜福利717| 精品国产呦系列在线观看免费| 亚洲中文字幕在线乱码| 中国极品美軳免费观看| 亚洲阿v天堂在线| 久久久久久久久久国产精品免费| 亚洲国产精品无码久久一线| 国产精品免费观看调教网| 精品亚洲成a人片在线观看少妇| 1000部无遮挡拍拍拍免费视频观看| 91亚洲精品视频| 最近最新的免费中文字幕| 亚洲日韩在线中文字幕综合| 亚洲成年看片在线观看| 中文字幕无码免费久久| 亚洲精品中文字幕无乱码| 四虎成人免费观看在线网址| 美女黄色免费网站| 亚洲精品国精品久久99热一| 57pao国产成视频免费播放 | 亚洲中文字幕无码久久精品1| 免费福利电影在线观看| 亚洲专区一路线二| gogo全球高清大胆亚洲| 两个人看的www免费视频中文| 亚洲国产精品久久人人爱| 日本a级片免费看| 成人黄网站片免费视频| 亚洲综合一区无码精品| 最新亚洲成av人免费看| **aaaaa毛片免费| 特级aaaaaaaaa毛片免费视频| 亚洲国产精品第一区二区| 四虎永久成人免费影院域名| 在线观看片免费人成视频无码| 亚洲自偷自偷在线成人网站传媒 | 亚洲午夜无码久久|