基于数据库表的动态存储扩展系统及方法与流程

文档序号:32655007发布日期:2022-12-23 21:14阅读:61来源:国知局
基于数据库表的动态存储扩展系统及方法与流程

1.本发明涉及计算机技术领域,具体为基于数据库表的动态存储扩展系统及方法。


背景技术:

2.在关系型数据库的存储软件系统中,数据的存储是根据表来存储的。这种数据存储结构是预先定义好表结构,然后后续对表进行增删改查。当字段不够用的时候,往往需要手动进行表结构的变更,然后修改软件代码逻辑,再部署上线;现有技术大都是在原关系型表的基础上进行增加表字段来实现扩展功能,并且对于一些枚举类和聚合类的数据,都是通过改软件代码的方式来实现,或者是通过多加几个关系型表的结构来实现。
3.上述的实现方法存在以下问题:一是数据库的表设计都是固定的字段,需要手动进行扩展,导致消耗时间长、耗费人力多、开发效率低;二是现有数据库表缺乏可扩展性,随着时间的累积,表的数量越来越多,软件系统会越来越复杂,再扩展时会产生额外的逻辑问题,并且会给后续的运维造成巨大的压力;三是对于一些特殊的数据,需要提供枚举和聚合类型的数据,而现有的技术需要通过修改软件代码来实现,该种方法过于复杂,维护成本极高。


技术实现要素:

4.本发明的目的在于提供基于数据库表的动态存储扩展系统及方法,以解决上述背景技术中提出的问题。
5.为实现上述目的,本发明提供如下技术方案:基于数据库表的动态存储扩展系统,包括客户端,所述客户端数据连接有服务器,服务器内设置有动态字段值表,动态字段值表数据连接有基本表、字典表、单表、可分组聚合表和动态字段表,且基本表与动态字段表建立数据连接,动态字段表数据连接有字典组表,字典组表分别与字典表、单表和可分组聚合表建立数据连接。
6.优选的,所述客户端内设置有数据表构建模块和新增动态字段模块。
7.优选的,所述数据表构建模块为编程软件。
8.优选的,所述新增动态字段模块包括信息选择模块和动态字段属性输入模块。
9.基于数据库表的动态存储扩展方法,包括步骤一,系统初始化;步骤二,选择基本表信息;步骤三,输入动态字段的属性;步骤四,填写动态扩展字段;步骤五,存储动态字段的数据;步骤六,调用动态字段的数据;其中上述步骤一中,通过数据表构建模块创建基本表、字典组表、字典表、单表、可分组聚合表、动态字段表和动态字段值表;其中上述步骤二中,完成步骤一中数据表的构建后,当需要对基本表进行扩展时,首先通过客户端进入新增动态字段模块,从而显示出增加动态字段的页面,该页面包含有基本表的信息,然后通过信息选择模块选择所要扩展的基本表,若该基本表还有类型的区分,则根据需要选择不同的类型来添加私有的动态字段,若不进行类型选择,则默认为公有
的动态字段;其中上述步骤三中,完成步骤二中的基本表的信息选择后,通过动态字段属性输入模块在增加动态字段的页面上输入动态字段的属性,完成输入后,动态字段表添加了数据;其中,动态字段的属性包含了字段名称、字段值和数据类型;其中上述步骤四中,完成步骤三中的动态字段的属性输入后,若需要给该基本表添加数据,则通过客户端向服务器发出请求,当服务器给客户端响应时,返回字段给客户端,该字段包含了基本表所带的字段和动态扩展的字段,客户端接收到返回字段后,填写动态扩展的字段;其中上述步骤五中,完成了步骤四中填写动态扩展的字段后,客户端将动态数据放入extdata,然后提交给服务器,服务器从客户端提交的数据中提取出extdata,经过解析处理后,将其存入动态字段值表中;其中上述步骤六中,当其他服务或者逻辑需要基本表信息时,将处理后的动态字段的数据封装好后返回基本表即可。
10.优选的,所述步骤三中,数据类型包括输入、上传图片、枚举、布尔值和日期,若所输入的数据类型为枚举,则动态字段的属性还需要包含是否可多选、数据源、是否必填、排序和默认值,以及根据基本表里的所选类型增加位置的控制。
11.优选的,所述数据源为字典组表,而字典组表的数据源为字典表、单表和可分组聚合表。
12.与现有技术相比,本发明的有益效果是:本发明通过引入动态字段表和动态字段值表,使系统具备动态扩展的能力,通过在动态字段表里添加数据,即可扩展基本表的字段,无需手动改写软件代码,也不会产生额外的逻辑问题,该方法减少了开发人力,减轻了运维压力,降低了系统复杂度,具有开发效率高、易于实现、可扩展性强的优点。
附图说明
13.图1为本发明的系统框图;图2为本发明的系统流程图;图3为本发明的方法流程图;图4为本发明的系统逻辑图;图中:1、客户端;10、数据表构建模块;11、新增动态字段模块;110、信息选择模块;111、动态字段属性输入模块;2、服务器;20、基本表;21、字典组表;22、字典表;23、单表;24、可分组聚合表;25、动态字段表;26、动态字段值表。
具体实施方式
14.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
15.请参阅图1,本发明提供的一种实施例:基于数据库表的动态存储扩展系统,包括客户端1,客户端1数据连接有服务器2,服务器2内设置有动态字段值表26,动态字段值表26
数据连接有基本表20、字典表22、单表23、可分组聚合表24和动态字段表25,且基本表20与动态字段表25建立数据连接,动态字段表25数据连接有字典组表21,字典组表21分别与字典表22、单表23和可分组聚合表24建立数据连接;客户端1内设置有数据表构建模块10和新增动态字段模块11;数据表构建模块10为编程软件;新增动态字段模块11包括信息选择模块110和动态字段属性输入模块111。
16.请参阅图2-4,本发明提供的一种实施例:基于数据库表的动态存储扩展方法,包括步骤一,系统初始化;步骤二,选择基本表信息;步骤三,输入动态字段的属性;步骤四,填写动态扩展字段;步骤五,存储动态字段的数据;步骤六,调用动态字段的数据;其中上述步骤一中,通过数据表构建模块10创建基本表20、字典组表21、字典表22、单表23、可分组聚合表24、动态字段表25和动态字段值表26;其中上述步骤二中,完成步骤一中数据表的构建后,当需要对基本表20进行扩展时,首先通过客户端1进入新增动态字段模块11,从而显示出增加动态字段的页面,该页面包含有基本表20的信息,然后通过信息选择模块110选择所要扩展的基本表20,若该基本表20还有类型的区分,则根据需要选择不同的类型来添加私有的动态字段,若不进行类型选择,则默认为公有的动态字段;其中上述步骤三中,完成步骤二中的基本表20的信息选择后,通过动态字段属性输入模块111在增加动态字段的页面上输入动态字段的属性,完成输入后,动态字段表25添加了数据;其中,动态字段的属性包含了字段名称、字段值和数据类型,数据类型包括输入、上传图片、枚举、布尔值和日期,若所输入的数据类型为枚举,则动态字段的属性还需要包含是否可多选、数据源、是否必填、排序和默认值,以及根据基本表20里的所选类型增加位置的控制;数据源为字典组表21,而字典组表21的数据源为字典表22、单表23和可分组聚合表24;其中上述步骤四中,完成步骤三中的动态字段的属性输入后,若需要给该基本表20添加数据,则通过客户端1向服务器2发出请求,当服务器2给客户端1响应时,返回字段给客户端1,该字段包含了基本表20所带的字段和动态扩展的字段,客户端1接收到返回字段后,填写动态扩展的字段;其中上述步骤五中,完成了步骤四中填写动态扩展的字段后,客户端1将动态数据放入extdata,然后提交给服务器2,服务器2从客户端1提交的数据中提取出extdata,经过解析处理后,将其存入动态字段值表26中;其中上述步骤六中,当其他服务或者逻辑需要基本表20信息时,将处理后的动态字段的数据封装好后返回基本表20即可。
17.基于上述,本发明的优点在于,该发明使用时,通过数据表构建模块10在服务器2内构建数据表,然后通过客户端1的新增动态字段模块11进入增加动态字段的页面,并通过页面内的信息选择模块110选择基本表20信息,通过动态字段属性输入模块111输入动态字段的属性,动态字段属性的数据源为字典组表21,字典组表21的数据源为字典表22、单表23和可分组聚合表24;完成在动态字段表25内增加动态字段的操作后,通过客户端1向服务器2发出添加数据的请求,服务器2返回字段给客户端1,客户端1填写动态扩展的字段,将动态数据提交给服务器2,服务器2解析处理后,将其存入动态字段值表26,以此完成基本表20的扩展;上述方法具有以下优点:一是不用在手动去扩展基本表20的字段;二是根据基本表20
的类型,可提供公共的或者私有的动态字段扩展;三是数据源的选择也不再是单一表的选择,而是提供了三种可选的数据源;四是动态字段也提供了五种类型的处理,同时,也添加了必填,多选,默认值等选项。
18.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1