iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >【自定义表单】自定义表单设计
  • 843
分享到

【自定义表单】自定义表单设计

数据库sqlmysql 2023-08-21 22:08:01 843人浏览 八月长安
摘要

1.后端设计1 diy_field_pool 字段池(我们定义好的字段类型)diy_fORM 表单表(记录用户自定义的表单)diy_form_field 表单字段表(记录某张表单中有哪些字段)diy

1.后端设计1

diy_field_pool      字段池(我们定义好的字段类型)diy_fORM            表单表(记录用户自定义的表单)diy_form_field      表单字段表(记录某张表单中有哪些字段)diy_form_entity     表单实例表(记录某张表单中的某条数据实例)diy_form_data       表单数据表(记录某张表单在某条实例下,哪些字段对应的数据)
  • 系统初始化字段池
    我们提供一批预定义的字段类型,初始化数据到diy_field_pool表中,用户也能自己定义自己的字段池。

  • 用户创建自定义表单
    用户通过选用字段池(diy_field_pool表)中提供的字段,创建一张自定义表单,表单的属性信息记录在diy_form表中,表单包含的字段(从字段池中选好的字段)记录在diy_form_field表中。这样用户就创建了一张自定义表单。

  • 用户填写表单
    用户使用创建好的表单填写数据,每新增一条数据,在diy_form_entity表就会新增一条记录,该表单中有几个field,就会同时在diy_form_data表中新增几条 data 数据。数据结构关系如下图所示:

//1.CREATE TABLE `diy_field_pool` (  `id` bigint(20) NOT NULL COMMENT '主键id',  `field_type` varchar(32) NOT NULL COMMENT '字段类型',  `field_type_name` varchar(32) NOT NULL COMMENT '字段类型名称'  PRIMARY KEY (`id`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='字段池';//2.CREATE TABLE `diy_form` (  `id` bigint(20) NOT NULL COMMENT '主键id',  `form_code` varchar(32) NOT NULL COMMENT '表单code',  `form_name` varchar(32) NOT NULL COMMENT '表单名称'  PRIMARY KEY (`id`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='表单表';//3.CREATE TABLE `diy_form_data` (  `id` bigint(20) NOT NULL COMMENT '主键id',  `form_id` bigint(20) NOT NULL COMMENT 'diy_form表id',  `entity_id` bigint(20) NOT NULL COMMENT 'diy_form_entity表id',  `field_id` bigint(20) NOT NULL COMMENT 'diy_form_field表id',  `value` varchar(512) NOT NULL COMMENT '数据值'  PRIMARY KEY (`id`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='表单数据表';//4.CREATE TABLE `diy_form_entity` (  `id` bigint(20) NOT NULL COMMENT '主键id',  `form_id` bigint(20) NOT NULL COMMENT 'diy_form表id',  `entity_code` varchar(32) NOT NULL COMMENT '实例code',  `entity_name` varchar(32) NOT NULL COMMENT '实例名称'  PRIMARY KEY (`id`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='表单实例表';//5.CREATE TABLE `diy_form_field` (  `id` bigint(20) NOT NULL COMMENT '主键id',  `form_id` bigint(20) NOT NULL COMMENT 'diy_form表id',  `field_pool_id` bigint(20) NOT NULL COMMENT 'diy_field_pool表id',  `form_field_code` varchar(32) NOT NULL COMMENT '表单code',  `form_field_name` varchar(32) NOT NULL COMMENT '表单名称'  PRIMARY KEY (`id`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='表单字段表';
// 1.分页查询sqlSELECT li.id,dff.form_field_code,dff.form_field_name,dfd.`value` FROM (SELECT dfe.id, dfe.entity_code FROM diy_form df LEFT JOIN diy_form_entity dfe ON dfe.form_id = df.idWHERE df.form_code='product_info'LIMIT 0,1) liLEFT JOIN diy_form_data dfd ON li.id = dfd.entity_idLEFT JOIN diy_form_field dff ON dfd.field_id=dff.id

来源地址:https://blog.csdn.net/qq_41466440/article/details/129447452

您可能感兴趣的文档:

--结束END--

本文标题: 【自定义表单】自定义表单设计

本文链接: https://www.lsjlt.com/news/377297.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作