一 点睛

何为数据字典?数据字典就是管理系统常用的分类数据或者一些固定数据。

例如:省市区三级联动数据、民族数据、行业数据、学历数据等,由于该系统大量使用这种数据,所以我们要做一个数据字典方便管理系统的数据,一般系统基本都会做数据管理。

二 页面效果

zabbix 数据字典 数据字典用什么做_zabbix 数据字典

三 表结构设计

parent_id:上级 id,通过 id 与 parent_id 构建上下级关系。例如:我们要获取所有行业数据,那么只需要查询 parent_id=20000 的数据。

name:名称。例如:填写用户信息,我们要 select 标签选择民族,“汉族”就是数据字典的名称。

value:值。例如:填写用户信息,我们要 select 标签选择民族,“1”(汉族的标识)就是数据字典的值。

dict_code:编码,编码是我们自定义的,全局唯一,例如:我们要获取行业数据,我们可以通过 parent_id 获取,但是 parent_id 是不确定的,所以我们可以根据编码来获取行业数据。

说明:系统中会使用省市区三级联动数据,该数据来自“国家统计局”官方数据,地址:关于更新全国统计用区划代码和城乡划分代码的公告

CREATE TABLE `dict` (
  `id` bigint(20) NOT NULL DEFAULT '0' COMMENT '主键id',
  `parent_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '上级id',
  `name` varchar(100) NOT NULL DEFAULT '' COMMENT '名称',
  `value` bigint(20) DEFAULT NULL COMMENT '值',
  `dict_code` varchar(20) DEFAULT NULL COMMENT '编码',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `is_deleted` tinyint(3) NOT NULL DEFAULT '1' COMMENT '删除标记(0:可用 1:已删除)',
  PRIMARY KEY (`id`),
  KEY `idx_dict_code` (`dict_code`),
  KEY `idx_parent_id` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='数据字典';
四 数据表分析

zabbix 数据字典 数据字典用什么做_数据_02

五 根据页面效果分析数据接口

数据字典是树形展示,由于数据众多,可以使用“树形数据与懒加载”的方式展现数据列表,其他就是对数据的新增、修改与删除操作,因此需要提供的接口如下。

1 根据上级 id 获取下级数据(构造树形数据)

参考文档:Element - The world's most popular Vue UI framework,页面搜索:树形数据与懒加载。

2 导入接口3 导出接口