常見數據庫設計(1)——字典數據


    在稍大一些的項目中,我們總是需要管理各種各樣的類型類型數據(如商品類型、游戲類型。。。)。對於這些類型的管理類似,如果為每
一種類型都建立一張表去維護(而在項目中,正常出現50種類型),那工作量是可想而之大,並且我們不得不去了解每一個類型表的名字,
以去關聯它。

   因此,我們需要一種數據模型以完成對多種多樣類型管理的需求。

字典表dictionary                
                
字段名           類型               是否可空    中文名         描述
dict_name    varchar(50)    no          字典名字    
dict_value    int                   no          字典值           固定的,不變的

字典數據表dictionarydata                
                
字段名                 類型              是否可空        中文名               描述
id                       int                 no                                        自增長
dict_value          int                 no               dictionary中的值    
dictdata_name   varchar(50)  no               字典名字    
dictdata_value   varchar(5)     no               字典值                 固定的,不變的
isfixed                int                 no               是否固定             0默認為不固定,1固定;固定就不能再去修改了。
        
說明:dictionary中的dict_value和dictionarydata中的dictdata_value都是添加完不可變的,其它表的類型字段存取的是dictionarydata
中的dictdata_value,在查詢關聯時,需要添加dict_value的約束(注:有人習慣存取dictionarydata中的ID,這樣在查詢時可以少
加dict_value的約束。但是在系統的升級,或錯誤刪除dictionarydata表時,后果將是空難性的,並且存取dictdata_value主表的類型字段
簡單明了,立即可以知道它是什么類型,所以建議存取dictdata_value)。

表擴展:對於現有的設計,如果需要類型數據需要簡單的樹形結構,可以在dictionarydata可添加parent_id;如果需邏輯刪除數據時,可以
添加iscancle;

最后,在程序中最好再建立兩個類dictionary、dictionarydata里面定義整型變量對應於dict_value和dictdata_value值,這樣在程序中就
可以通過代碼來引用類型數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM