当前所提到的数据字典不同于数据库本身的数据字典定义,最早知道这样做的目的在于将系统中存在的下“拉框式选择数据”进行集中管理和灵活配置。今天再次被大神们的思路所启发,软件之中需要的是将稳定的需求抽象,只有抽象能带来更多的便捷和可扩展。
1、参考设计1:基础数据字典设计
应用范围:分类数据较少,并希望将部分基础数据进行集中管理,减少代码。如部门管理等
设计描述:
字段名 | 类型 | 描述 |
编号 | Char(16) | 间断增量(Not Null,PK) |
分类名称 | Varchar(64) | 用来进行过滤选取字典表相关域 |
内容 | Varchar(255) | |
上级编号 | Char(16) | 取Dictionary的编号(FK),用来进行等级设计。使之成为树型结构。 |
应用:
部门关系表:需要记录部门编号、部门名称、上级部门的基础需求。
产品类型表:需要记录产品编号、产品名称、产品类型
2、我的设计2:灵活配置的项目数据字典设计
本类数据字典需要2张表来完成数据集中管理的需求。
(1)字典总类表
字段名 | 类型 | 描述 |
编号 | int(8) | 自增变量(Not Null,PK) |
字典名称 | Varchar(64) | 标记名称 |
类型 | int | 0表示字典数据,1表示通用格式数据(如部门关系表) |
编码前缀 | char | 用于标记该字典类型的数据编号前缀 |
序号 | int | 用于指定字典的显示顺序 |
(2)字典数据表
字段名 | 类型 | 描述 |
编号 | Char(16) | 间断增量(Not Null,PK) |
字典编号 | Int(8) | FK |
分类名称 | Varchar(64) | 用来进行过滤选取字典表相关域 |
内容 | Varchar(255) | |
上级编号 | Char(16) | 取字典数据表的编号(FK),用来进行等级设计。使之成为树型结构。 |
序号 | int | 用于指定相同字典项内的显示顺序 |
项目使用实例: