学而不思则罔,思而不学则怠

0%

字典表设计

为什么字典表

某些变量在多个地方使用,而且一般是固定的,但是随着系统升级和后期变化,可能需要改变,如果这些变量写死在代码里面将会变得难以维护。

有的做法是使用枚举或者 Constants 常量类来实现,这种情况下在量少的前提是没问题的,但是一旦随着系统的开发拓展,后期将无法维护,甚至命名困难。

所以通常把字典放在数据库,这样后期的维护变更就比较简单,也可以在不用修改代码的情况下修改配置。

但是,放在数据库又有着频繁访问数据库的问题,这不是我们希望的,这时候通常做法就是加缓存,降低访问数据库的频率。

字典表的设计

通常分成两张表来实现,一个是字典类型,一个是字典

字典类型表: SYS_DICT_TYPE

字段名 类型 作用 备注
code varchar 编码 主键
name varchar 类型 -

字典表 : SYS_DICT

字段名 类型 作用 备注
code varchar 编码 主键
type_code varchar 类型 code 外键
name varchar 字典名 展示用
value varchar 字典值 使用值
fixed int 是否是固定的 default 0 不固定,固定的话用 1

以上是字典表的关键列和结构的设计,根据不同系统不同业务自定其他列。

作者:SevenLin1993
链接:http://www.jianshu.com/p/0034802afc1f
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。