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

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

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

    輕松

    記述我學習java的里程

    常用鏈接

    統(tǒng)計

    積分與排名

    友情鏈接

    最新評論

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

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

    Ø 從技術(shù)上對表進行分組

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

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

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

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

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

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

    Ø 主鍵策略

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

    Ø 替代健中的冗余問題

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

    Ø 代碼管理策略

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

    Ø 字符串字典管理策略

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

    Ø 大字段管理策略

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

    Ø 使用視圖

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

    Ø 使用標量函數(shù)

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

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

    Create function [dbo].[fn_BeginOfMonth](

     @DayUTC         datetime

    )

    returns datetime

    Ø 使用模版表

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

    Ø 和業(yè)務相關(guān)的表都包含下列字段

    CreatedBy 創(chuàng)建人

    CreatedOn 創(chuàng)建時間

    ModifiedBy 最后修改人

    ModifiedOn 最后修改時間

    VersionNumber版本號

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

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


    聲明:此文章并非本人原創(chuàng),轉(zhuǎn)自公司的內(nèi)部論壇,是公司一的位同事也是我的領(lǐng)導所寫,覺得不錯轉(zhuǎn)出來與大家共勉。

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

    評論

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

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

    主站蜘蛛池模板: 无码国产精品一区二区免费式直播 | 噜噜噜亚洲色成人网站| 亚洲欧洲无码AV不卡在线| 亚洲成a人片在线不卡一二三区| 国产成人亚洲综合a∨| 成人午夜性A级毛片免费| 免费一级肉体全黄毛片| 亚洲开心婷婷中文字幕| 亚洲精品福利网泷泽萝拉| 亚洲精品日韩一区二区小说| 处破痛哭A√18成年片免费| 国产亚洲视频在线播放| 亚洲欧洲日韩国产| 国产精品美女久久久免费| 99久久免费中文字幕精品| 毛片免费在线观看网址| 亚洲精品V天堂中文字幕| 国产成人青青热久免费精品| 精品亚洲A∨无码一区二区三区| 亚洲一区二区三区成人网站| 日批视频网址免费观看| 日韩吃奶摸下AA片免费观看| 亚洲区小说区图片区QVOD| 粉色视频免费入口| 亚洲视频一区二区| 亚洲熟女乱色一区二区三区| 日韩免费毛片视频| 伊人久久五月丁香综合中文亚洲 | 亚洲精品国产情侣av在线| 青青久在线视频免费观看| 18禁亚洲深夜福利人口| 歪歪漫画在线观看官网免费阅读| 亚洲成av人片天堂网| 免费视频精品一区二区| 毛片视频免费观看| 免费无码国产在线观国内自拍中文字幕 | 久久久久一级精品亚洲国产成人综合AV区 | 日日夜夜精品免费视频| 亚洲色在线无码国产精品不卡| 午夜亚洲福利在线老司机| 亚洲伦理一二三四|