需求原因
在进行数据库设计时,我们经常会遇到各种各样的业务需求,从而设计出各种各样的表。而想要做好一个数据库,不但需要前期对各种业务需求的深度理解,还需要在后期项目完善的过程中对数据库更新修改从而使得数据库设计的越发完美。
对于那些涉及到业务的表或许不太好入手,但项目中经常出现的各种字典表就很好入手了。项目越大那么字典表就少不了,字典表就是常见的类型、状态、单位之类特定的一些值。有些人每一个业务或模块都设计一个字典表用来标识类型或状态等等,这样表的数量就不少了。其实我们可以将一些字典表合并起来。
真正的原因:
领导:小柴啊,去设计个数据字典。
小柴:啥?数据字典?要啥效果啊?要抽取哪些公共字段?
于是我搞了个通用的设计。。。
设计图
建表SQL
CREATE TABLE `data_dictionary` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`code` varchar(36) COLLATE utf8mb4_bin NOT NULL COMMENT '编码',
`name` varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '名字',
`code_type` varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '编码类型',
`desc` varchar(128) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '描述',
`parent_id` int(11) DEFAULT NULL COMMENT '父ID',
`status` int(2) DEFAULT NULL COMMENT '状态 0禁用 1使用',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;