資料庫表結構設計方法

2021-05-24 06:45:09 字數 1329 閱讀 7966

author:skate

time:2011-02-12

資料庫表結構設計方法

當我們設計乙個資料庫儲存模式時,要仔細分析資料模式,不要一股腦的把所有的資料都放在一起。那樣的話對系統的可用性,高效能,擴充套件性都會有嚴重的影響。當然你設計的系統非常小,完全可以用最簡單的方法。

要通過對業務的熟練,從不同的角度對資料進行多維度分析,一般可以從如下幾個方向分析:

1.       資料流向

2.       資料訪問特點

3.       資料量的大小

4.       資料的增長量

5.       資料的生命週期

根據以上資料特點,綜合資料模式對資料表進行分類:

1.       恆數表

2.       遞增表

3.       流水表

4.       狀態表

5.       核心表

6.       過程表

在我們進行大資料量系統的模型設計時,根據不同的資料表,必須要遵循這幾個要點。

核心表:

核心表是系統訪問最頻繁的,在設計時要考慮訪問的代價,一定要遵循正規化,注意欄位的個數和字段長度,注意範圍查詢。如果核心表的資料量很大的話,要根據分割槽表或表路由等方式進行資料歸檔,以保證核心表的效能。

過程表:

過程表顧名思義是用來記錄某一過程的,一般指資料的生命週期;在設計過程表時要設計乙個明顯代表資料生命週期的字段,對於資料倉儲系統更是要合理的利用生命週期字段,可以高效的統計不同生命週期的資料;在設計表時也要考慮增刪改的代價,插入的代價最小,修改需要檢索資料保留修改字段值,刪除要保留整條記錄,代價最為昂貴。

恆數表:

恆數表幾乎很少變化,類似我們使用字典表,在設計這樣的表時,要設計好錶的引數,較小的表就不建議建立索引。

遞增表:

遞增表的增長是很快的,並不是所有的資料都是常用的,所以分割槽的大小要盡量均衡,嚴格區分核心資料和過程資料,索引的鍵值選擇性盡量高,謹慎使用復合索引,按照關聯關係設計合適的分割槽和索引。

流水表:

流水表類似記錄log,記錄些流水資訊,流水表資料量一般都很大,資訊幾乎沒有變更。在設計時要注意分割槽的粒度和選擇,一般不建議建立太多的索引。

狀態表:

狀態表一般指記錄某一行為的狀態過程,生命週期很短,很容易和過程表混淆。可以簡單區別它們,狀態表是動作行為的軌跡;過程表是資料的生命週期。

狀態表的應用舉例:

狀態表在替代分布式事務起到重要的作用。

參考:http://blog.csdn.net/wyzxg/archive/2011/02/12/6181574.aspx

-------end------

資料庫表結構設計方法

author skate time 2011 02 12 資料庫表結構設計方法 當我們設計乙個資料庫儲存模式時,要仔細分析資料模式,不要一股腦的把所有的資料都放在一起。那樣的話對系統的可用性,高效能,擴充套件性都會有嚴重的影響。當然你設計的系統非常小,完全可以用最簡單的方法。要通過對業務的熟練,從不...

資料庫表結構設計

立即建立此表 返回資料庫大全 mysql建表sql語句 資料庫結構 敏捷專案 系統配置表 資料庫大全 敏捷專案 系統配置表 create table yesapi main setting id bigint 20 unsigned not null auto increment,key varch...

資料庫結構設計

1.3概念設計的任務 1.2概念設計的依據 需求分析的文件,需求說明書,功能模型 資料流圖或idef0圖 資訊模型 er圖 和資料庫概念說明書是資料庫邏輯設計的依據 1.2 資料庫概念設計過程 1.3 資料建模方法 er建模方法 idef1x建模方法標識er模型中的聯絡,依次轉換與每個聯絡相關聯的實...