# 物理世界 ## 数据结构 ### 1.对象实例表(dt_object) | 字段 | 字段说明 | 数据类型 | 备注 | | ------------- | -------------- | ------------ | -------------------- | | id | 主键 | varchar(100) | 32位UUID | | name | 对象名称 | varchar(100) | 对象名称 | | local_id | 对象本地编码 | varchar(100) | 对象本地id | | local_name | 对象本地名称 | varchar(100) | 对象本地名称 | | group_code | 集团编码 | varchar(40) | 对象类型 | | project_id | 项目id | varchar(40) | 类型编码 | | obj_type | 对象分类 | varchar(40) | 集团编码 | | class_code | 对象类型编码 | varchar(40) | | | grouping | 对象分组 | int(11) | 1单个对象,2对象组 | | infos | 边类型编码 | json | | | virtual_codes | 虚点清单 | json | | | create_app | 创建应用 | varchar(40) | | | update_app | 最后更新应用 | varchar(40) | | | creator | 创建人账号id | varchar(32) | | | creation_time | 创建时间 | char(14) | 格式为yyyyMMddHHmmss | | modified_time | 最后更新时间 | char(14) | 格式为yyyyMMddHHmmss | | modifier | 最后更新账号id | varchar(32) | | | valid | 合法标识 | tinyint(4) | 0-无效,1-有效 | | ts | 乐观锁 | timestamp | | ### 2.关系实例表(dt_relation) | 字段 | 字段说明 | 数据类型 | 备注 | | :-----------: | :----------------: | :---------: | :---------------------------: | | id | 主键(无业务含义) | varchar(40) | 32位UUID | | group_code | 集团编码 | varchar(40) | | | project_id | 项目id | varchar(40) | id规则:Pj+6位地区码+4位顺序码 | | graph_id | 图主键 | varchar(40) | | | graph_code | 图编码 | varchar(40) | | | rel_code | 关系编码 | varchar(40) | | | rel_value | 关系值 | varchar(45) | | | obj_from | 来源对象 | varchar(60) | | | obj_to | 目标对象 | varchar(60) | | | create_app | 创建应用 | varchar(40) | | | update_app | 最后更新应用 | varchar(40) | | | creator | 创建人 | varchar(32) | | | creation_time | 创建时间 | char(14) | 格式为yyyyMMddHHmmss | | modifier | 最后修改人 | varchar(32) | | | modified_time | 最后修改时间 | char(14) | 格式为yyyyMMddHHmmss | | valid | 合法标识 | tinyint(4) | 0-无效,1-有效 | | ts | 乐观锁 | timestamp | | ### 3.图类型表(dt_define_graph) | 字段 | 字段说明 | 数据类型 | 备注 | | :-------------: | :----------------: | :----------: | :------------------: | | id | 主键(无业务含义) | varchar(40) | 32位UUID | | code | 编码 | varchar(40) | | | name | 名称 | varchar(200) | | | first_category | 一级分类 | varchar(40) | | | second_category | 二级分类 | varchar(40) | | | remark | 分类说明 | varchar(255) | | | object_types | 关系两侧对象类别 | varchar(255) | | | creator | 创建人 | varchar(32) | | | creation_time | 创建时间 | char(14) | 格式为yyyyMMddHHmmss | | modifier | 最后修改人 | varchar(32) | | | modified_time | 最后修改时间 | char(14) | 格式为yyyyMMddHHmmss | | valid | 合法标识 | tinyint(4) | 0-无效,1-有效 | | ts | 乐观锁 | timestamp | | ### 4.边类型表(dt_relation) | 字段 | 字段说明 | 数据类型 | 备注 | | :-----------: | :----------------: | :----------: | :------------------: | | id | 主键(无业务含义) | varchar(40) | 32位UUID | | code | 边类型编码 | varchar(40) | | | name | 边类型名称 | varchar(40) | | | graph_code | 图类型编码 | varchar(40) | | | directional | 边方向性 | int(11) | | | attribute | 边属性 | varchar(255) | | | target_objs | 主要连接对象 | varchar(255) | | | remark | 备注 | varchar(45) | | | creator | 创建人 | varchar(32) | | | creation_time | 创建时间 | char(14) | 格式为yyyyMMddHHmmss | | modifier | 最后修改人 | varchar(32) | | | modified_time | 最后修改时间 | char(14) | 格式为yyyyMMddHHmmss | | valid | 合法标识 | tinyint(4) | 0-无效,1-有效 | | ts | 乐观锁 | timestamp | | ### 5.信息点定义表(dt_define_info) | 字段 | 字段说明 | 数据类型 | 备注 | | ------------- | -------------- | ------------ | ------------------------------------------------------------ | | id | 主键 | varchar(40) | 32位UUID | | code | 信息点编码 | varchar(60) | 同类型下唯一,标准驼峰格式 | | name | 信息点名称 | varchar(200) | | | alias_code | 别名编码 | varchar(60) | | | alias_name | 别名名称 | varchar(200) | | | class_code | 类型编码 | varchar(60) | | | group_code | 集团编码 | varchar(40) | | | project_id | 项目id | varchar(40) | | | category | 信息点分类 | varchar(40) | 静态,脉冲,阶段,时序 | | first_tag | 一级标签 | varchar(40) | | | second_tag | 二级标签 | varchar(40) | | | priority | 优先级 | varchar(10) | | | input_mode | 输入方式 | varchar(40) | | | unit | 单位 | varchar(40) | | | data_type | 数据类型 | varchar(40) | | | is_multiple | 是否复数 | int(11) | | | is_region | 是否区间 | int(11) | | | formater | 数据格式 | varchar(40) | | | data_source | 数据源 | json | 数据源取值范围/枚举值清单等,根据dataType有不同的内容 | | remark | 备注 | text | | | sub_flag | 子分类标记 | int(11) | 是否可以按此信息点进行子分类替换,同一类型下目前只支持一个子分类信息点 | | weak_point | 虚点 | int(11) | | | show_order | 显示顺序 | int(11) | | | version | 最后修改版本 | varchar(40) | | | type | 管理层级 | varchar(40) | common-平台级,group-集团级,project-项目级 | | creator | 创建人账号id | varchar(32) | | | creation_time | 创建时间 | char(14) | 格式为yyyyMMddHHmmss | | modified_time | 最后更新时间 | char(14) | 格式为yyyyMMddHHmmss | | modifier | 最后更新账号id | varchar(32) | | | valid | 合法标识 | tinyint(4) | 0-无效,1-有效 | | ts | 乐观锁 | timestamp | | ### 5.对象类型定义表(dt_define_type) | 字段 | 字段说明 | 数据类型 | 备注 | | -------------- | -------------- | ------------ | ----------------------------------------- | | id | 主键 | varchar(40) | 32位UUID | | code | 信息点编码 | varchar(40) | 同类型下唯一,标准驼峰格式 | | name | 信息点名称 | varchar(200) | | | alias_code | 别名编码 | varchar(40) | | | alias_name | 别名名称 | varchar(200) | | | obj_type | 大类型 | varchar(40) | 项目建筑楼层空间系统设备竖井 | | group_code | 集团编码 | varchar(40) | | | project_id | 项目id | varchar(40) | | | major_code | 专业编码 | varchar(40) | 类型是系统or设备时该字段有值 | | system_code | 系统编码 | varchar(40) | 类型是设备时该字段有值,值为系统类型的code | | equipment_code | 设备编码 | varchar(40) | 类型是部件时该字段有值,值为设备类型的code | | parent_code | 上级类型code | varchar(40) | 默认为"0" | | version | 最后修改版本 | varchar(40) | | | type | 管理层级 | varchar(40) | common-平台级,group-集团级,project-项目级 | | creator | 创建人账号id | varchar(32) | | | creation_time | 创建时间 | char(14) | 格式为yyyyMMddHHmmss | | modified_time | 最后更新时间 | char(14) | 格式为yyyyMMddHHmmss | | modifier | 最后更新账号id | varchar(32) | | | valid | 合法标识 | tinyint(4) | 0-无效,1-有效 | | ts | 乐观锁 | timestamp | | ## DDL语句 ### 对象实例表 ```sql CREATE TABLE IF NOT EXISTS `dt_object` ( `id` varchar(100) NOT NULL, `name` varchar(100) DEFAULT NULL COMMENT '对象名称', `local_id` varchar(100) DEFAULT NULL COMMENT '对象本地编码', `local_name` varchar(100) DEFAULT NULL COMMENT '对象本地名称', `group_code` varchar(40) DEFAULT NULL COMMENT '集团编码', `project_id` varchar(40) NOT NULL COMMENT '项目id', `obj_type` varchar(40) NOT NULL COMMENT '对象分类', `class_code` varchar(40) NOT NULL COMMENT '对象类型编码', `grouping` int(11) NOT NULL DEFAULT '1' COMMENT '1单个对象,2对象组', `infos` json DEFAULT NULL COMMENT '边类型编码', `virtual_codes` json DEFAULT NULL COMMENT '虚点清单', `create_app` varchar(40) DEFAULT NULL COMMENT '创建应用', `update_app` varchar(40) DEFAULT NULL COMMENT '最后更新应用', `creator` varchar(32) DEFAULT NULL COMMENT '创建人', `creation_time` char(14) DEFAULT NULL COMMENT '创建时间', `modifier` varchar(32) DEFAULT NULL COMMENT '最后修改人', `modified_time` char(14) DEFAULT NULL COMMENT '最后修改时间', `valid` tinyint(4) DEFAULT NULL COMMENT '合法标识', `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '乐观锁', PRIMARY KEY (`id`) USING BTREE, KEY `idx_project_1` (`project_id`,`class_code`,`creation_time`) USING BTREE, KEY `idx_project_2` (`project_id`,`creation_time`) USING BTREE, KEY `idx_project_3` (`project_id`,`modified_time`) USING BTREE, KEY `idx_0` (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='对象实例表'; ``` ### 关系实例表 ```sql CREATE TABLE IF NOT EXISTS `dt_relation` ( `id` varchar(40) NOT NULL, `group_code` varchar(40) DEFAULT NULL, `project_id` varchar(40) NOT NULL, `graph_id` varchar(40) DEFAULT NULL COMMENT '图主键', `graph_code` varchar(40) DEFAULT NULL COMMENT '图编码', `rel_code` varchar(40) DEFAULT NULL COMMENT '关系编码', `rel_value` varchar(45) DEFAULT NULL COMMENT '关系值', `obj_from` varchar(60) DEFAULT NULL COMMENT '来源对象', `obj_to` varchar(60) DEFAULT NULL COMMENT '目标对象', `create_app` varchar(40) DEFAULT NULL COMMENT '创建应用', `update_app` varchar(40) DEFAULT NULL COMMENT '最后更新应用', `creator` varchar(32) DEFAULT NULL COMMENT '创建人', `creation_time` char(14) DEFAULT NULL COMMENT '创建时间', `modifier` varchar(32) DEFAULT NULL COMMENT '最后修改人', `modified_time` char(14) DEFAULT NULL COMMENT '最后修改时间', `valid` tinyint(4) DEFAULT NULL COMMENT '合法标识', `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '乐观锁', PRIMARY KEY (`id`) USING BTREE, KEY `idx_graph_code` (`graph_code`) USING BTREE, KEY `idx_1` (`graph_code`,`rel_code`,`obj_from`,`obj_to`,`project_id`) USING BTREE, KEY `idx_3` (`graph_code`,`rel_code`,`obj_to`,`project_id`) USING BTREE, KEY `idx_2` (`graph_id`,`rel_code`,`obj_from`,`obj_to`,`project_id`) USING BTREE, KEY `idx_4` (`graph_id`,`rel_code`,`obj_to`,`project_id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='关系实例表'; ``` ### 图类型表 ```sql CREATE TABLE IF NOT EXISTS `dt_define_graph` ( `id` varchar(40) NOT NULL, `code` varchar(40) DEFAULT NULL COMMENT '编码', `name` varchar(200) DEFAULT NULL COMMENT '名称', `first_category` varchar(40) DEFAULT NULL COMMENT '一级分类', `second_category` varchar(40) DEFAULT NULL COMMENT '二级分类', `remark` varchar(255) DEFAULT NULL COMMENT '分类说明', `object_types` varchar(255) DEFAULT NULL COMMENT '关系两侧对象类别', `creator` varchar(32) DEFAULT NULL COMMENT '创建人', `creation_time` char(14) DEFAULT NULL COMMENT '创建时间', `modifier` varchar(32) DEFAULT NULL COMMENT '最后修改人', `modified_time` char(14) DEFAULT NULL COMMENT '最后修改时间', `valid` tinyint(4) DEFAULT NULL COMMENT '合法标识', `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '乐观锁', PRIMARY KEY (`id`) USING BTREE, KEY `idx_code` (`code`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='图类型表'; ``` ### 边类型表 ``` CREATE TABLE `dt_define_rel` ( `id` varchar(40) NOT NULL, `code` varchar(40) DEFAULT NULL COMMENT '边类型编码', `name` varchar(40) DEFAULT NULL COMMENT '边类型名称', `graph_code` varchar(40) DEFAULT NULL COMMENT '图类型编码', `directional` int(11) DEFAULT NULL COMMENT '边方向性', `attribute` varchar(255) DEFAULT NULL COMMENT '边属性', `target_objs` varchar(255) DEFAULT NULL COMMENT '主要连接对象', `remark` varchar(45) DEFAULT NULL COMMENT '备注', `creator` varchar(32) DEFAULT NULL COMMENT '创建人', `creation_time` char(14) DEFAULT NULL COMMENT '创建时间', `modifier` varchar(32) DEFAULT NULL COMMENT '最后修改人', `modified_time` char(14) DEFAULT NULL COMMENT '最后修改时间', `valid` tinyint(4) DEFAULT NULL COMMENT '合法标识', `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '乐观锁', PRIMARY KEY (`id`) USING BTREE, KEY `code` (`code`) USING BTREE, KEY `graph_code` (`graph_code`,`code`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='边类型表'; ``` ### 信息点定义表 ```sql CREATE TABLE IF NOT EXISTS `dt_define_info` ( `id` varchar(40) NOT NULL, `code` varchar(60) NOT NULL COMMENT '信息点编码,同类型下唯一,标准驼峰格式', `name` varchar(200) DEFAULT NULL COMMENT '信息点名称', `alias_code` varchar(60) DEFAULT NULL COMMENT '别名编码', `alias_name` varchar(200) DEFAULT NULL COMMENT '别名名称', `class_code` varchar(60) DEFAULT NULL COMMENT '类型编码', `group_code` varchar(40) NOT NULL DEFAULT '0' COMMENT '集团编码', `project_id` varchar(40) NOT NULL DEFAULT '0' COMMENT '项目id', `category` varchar(40) DEFAULT NULL COMMENT '信息点分类:静态,脉冲,阶段,时序', `first_tag` varchar(40) DEFAULT NULL COMMENT '一级标签', `second_tag` varchar(40) DEFAULT NULL COMMENT '二级标签', `priority` varchar(10) DEFAULT NULL COMMENT '优先级', `input_mode` varchar(40) DEFAULT NULL COMMENT '输入方式', `unit` varchar(40) DEFAULT NULL COMMENT '单位', `data_type` varchar(40) DEFAULT NULL COMMENT '数据类型', `is_multiple` int(11) DEFAULT NULL COMMENT '是否复数', `is_region` int(11) DEFAULT NULL COMMENT '是否区间', `formater` varchar(40) DEFAULT NULL COMMENT '数据格式', `data_source` json DEFAULT NULL COMMENT '数据源取值范围/枚举值清单等,根据dataType有不同的内容', `remark` text COMMENT '备注', `sub_flag` int(11) DEFAULT NULL COMMENT '子分类标记:是否可以按此信息点进行子分类替换,同一类型下目前只支持一个子分类信息点', `weak_point` int(11) DEFAULT NULL COMMENT '虚点', `show_order` int(11) DEFAULT NULL COMMENT '显示顺序', `version` varchar(40) DEFAULT NULL COMMENT '最后修改版本', `creator` varchar(32) DEFAULT NULL COMMENT '创建人', `creation_time` char(14) DEFAULT NULL COMMENT '创建时间', `modifier` varchar(32) DEFAULT NULL COMMENT '最后修改人', `modified_time` char(14) DEFAULT NULL COMMENT '最后修改时间', `valid` tinyint(4) DEFAULT NULL COMMENT '合法标识', `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '乐观锁', `type` varchar(40) DEFAULT NULL COMMENT '管理层级:common-平台级,group-集团级,project-项目级', PRIMARY KEY (`id`) USING BTREE, KEY `idx_class_1` (`class_code`,`code`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='信息点定义表'; ``` ### 对象类型定义表 ```sql CREATE TABLE IF NOT EXISTS `dt_define_type` ( `id` varchar(40) NOT NULL COMMENT '主键', `code` varchar(40) NOT NULL COMMENT '编码-全局唯一', `name` varchar(200) NOT NULL COMMENT '名称', `alias_code` varchar(40) NOT NULL COMMENT '别名编码, 集团下唯一 ', `alias_name` varchar(200) NOT NULL COMMENT '别名名称', `obj_type` varchar(40) DEFAULT NULL COMMENT '大类型:项目建筑楼层空间系统设备竖井', `group_code` varchar(40) NOT NULL DEFAULT '0' COMMENT '集团编码', `project_id` varchar(40) NOT NULL DEFAULT '0' COMMENT '项目id', `major_code` varchar(40) DEFAULT NULL COMMENT '专业编码, 上级类型是系统or设备时该字段有值', `system_code` varchar(40) DEFAULT NULL COMMENT '系统编码,上级类型是设备时该字段有值,值为系统类型的code', `equipment_code` varchar(40) DEFAULT NULL COMMENT '设备编码,上级类型是部件时该字段有值,值为设备类型的code', `parent_code` varchar(40) DEFAULT NULL COMMENT '上级类型code,默认为"0"', `version` varchar(40) DEFAULT NULL COMMENT '最后修改版本', `creator` varchar(32) DEFAULT NULL COMMENT '创建人', `creation_time` char(14) DEFAULT NULL COMMENT '创建时间', `modifier` varchar(32) DEFAULT NULL COMMENT '最后修改人', `modified_time` char(14) DEFAULT NULL COMMENT '最后修改时间', `valid` tinyint(4) DEFAULT NULL COMMENT '合法标识', `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '乐观锁', `type` varchar(40) DEFAULT NULL COMMENT '管理层级:common-平台级,group-集团级,project-项目级', PRIMARY KEY (`id`) USING BTREE, KEY `idx_code` (`code`) USING BTREE, KEY `idx_alias_code` (`alias_code`) USING BTREE, KEY `idx_parent_code` (`parent_code`) USING BTREE, KEY `idx_major_code` (`major_code`) USING BTREE, KEY `idx_code_1` (`group_code`,`project_id`,`code`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='对象类型定义'; ```