字典类型表: dict_type
字段名
类型
作用

备注
id
BIGINT(20)
主键
主键ID
code
VARCHAR(32)
编码
主键
name
VARCHAR(32)
类型
展示用
字典数据表 : dict_item字段名
类型
作用
备注
id
BIGINT(20)
主键
主键
code
VARCHAR(32)
编码
主键
type_code
VARCHAR(32)
类型code
外键
name
VARCHAR(32)
字典名
展示用
value
VARCHAR(32)
字典值
使用值
fixed
int
是否是固定的
default 0不固定,固定的话用1
ext_data
VARCHAR(1024)
扩展数据
json 数据
以上是字典表的关键列和结构的设计,根据不同系统不同业务自定其他列
注意
1、字典类型应该是不可编辑的,因为字典类型通常会和具体代码实现紧密耦合,如果非要进行编辑的话需要考虑到对代码的影响以及如何保证修改之后系统正常工作
2、字典分可编辑与不可编辑,所以在提供字典管理的时候需要注意fixed字段,针对固定的字典不提供编辑功能
3、字典与系统参数不要混为一谈,字典通常用于一类的数据,一组具有相同含义的数值(例如,供客户端下拉选择的枚举);而系统参数是针对某种配置或者某种系统常量的存在。
单字典表的设计还有一种方式是使用一张表来存储字典表的数据。这种设计的字段不多,只使用一张表就可以完成两张表的功能。
主要字段有父id,字典类型,分组名称,存储值,显示值,排序值等等。简单解释一下这种设计方式,排序值就不用多说,比如用户类型有好几种,在页面中添加的时候,可以对其进行排序,方便页面中展示。存储值就是真正存储的值比如1,显示值就是对应的中文意思,比如1对应的是男。分组名称可以看作是一个具体的类型,比如用户类型。
字典类型可以有多种,按照需要来进行设置,比如与用户相关的,与菜单相关的,与日志相关的等等。父id不用说,存在子父级关系,比如二级联动的时候,常规的有省市二级联动,选择一个值的时候,另外一个值也会跟着变化。