mysql中的字典项是啥_常见数据库设计(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值,這樣在程序中就
可以通過代碼來引用類型數據。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的mysql中的字典项是啥_常见数据库设计(1)——字典数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 模拟form_java模拟fo
- 下一篇: java创建oracle用户_oracl