CN113094356A - 数据库表的设计方法、装置、可读存储介质及电子设备 - Google Patents
数据库表的设计方法、装置、可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN113094356A CN113094356A CN202110395348.5A CN202110395348A CN113094356A CN 113094356 A CN113094356 A CN 113094356A CN 202110395348 A CN202110395348 A CN 202110395348A CN 113094356 A CN113094356 A CN 113094356A
- Authority
- CN
- China
- Prior art keywords
- field
- database table
- added
- type
- string format
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000013461 design Methods 0.000 title claims abstract description 20
- 238000004364 calculation method Methods 0.000 claims abstract description 54
- 230000004044 response Effects 0.000 claims abstract description 15
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 9
- 230000037430 deletion Effects 0.000 claims description 9
- 238000012216 screening Methods 0.000 claims description 4
- 230000002776 aggregation Effects 0.000 claims description 3
- 238000004220 aggregation Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000366 juvenile effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种数据库表的设计方法、装置、可读存储介质及电子设备,以减小数据库表占用的存储空间,降低添加字段的复杂度。设计方法包括:响应于接收到添加字段请求,确定待添加字段的类型,所述类型包括计算类型和非计算类型;若所述待添加字段的类型为所述非计算类型,则使用字符串格式将所述待添加字段添加至除java对象以及sql查询语句以外的第一数据库表中,以在所述第一数据库表中以所述字符串格式存储所述待添加字段。
Description
技术领域
本公开涉及计算机技术领域,具体地,涉及一种数据库表的设计方法、装置、可读存储介质及电子设备。
背景技术
在业务开发过程中,数据库表是数据库中最基础的一个元素,是其他对象的基础。数据库中的数据要持久化并实现增加、删除、修改、查询都需要数据库表。通常情况下,要在一个数据库中创建很多数据库表,并且需要实现该表的增加、删除、修改、列表查询功能。
每当已有的需求发生变化时,例如,新增一个查询条件或者新增一个展示型字段时,数据库表结构基本上都要添加字段,因为原有的数据库表结构不满足需求。与此同时很多之前因为某些需求添加的字段处于废弃状态,但秉着安全的原则,字段往往是不会被删除的,所以数据库表中的字段会越来越多,导致数据库表占用的存储空间越来越大,使得数据库表不容易维护。
发明内容
本公开的目的是提供一种数据库表的设计方法、装置、可读存储介质及电子设备,以减小数据库表占用的存储空间,降低添加字段的复杂度。
为了实现上述目的,本公开第一方面提供一种数据库表的设计方法,包括:
响应于接收到添加字段请求,确定待添加字段的类型,所述类型包括计算类型和非计算类型;
若所述待添加字段的类型为所述非计算类型,则使用字符串格式将所述待添加字段添加至除java对象以及sql查询语句以外的第一数据库表中,以在所述第一数据库表中以所述字符串格式存储所述待添加字段。
可选地,所述第一数据库表中以所述字符串格式存储的第一目标字段为与所述第一数据库表关联的第二数据库表中的字段;所述方法还包括:
响应于接收到针对所述第一目标字段的查询请求,则采用单表查询方式进行查询。
可选地,所述方法还包括:
响应于接收到针对所述第一数据库表中以所述字符串格式存储的字段的更新请求,则确定待更新字段是否存在与所述第一数据库表关联的第三数据库表的标识;
若存在所述第三数据库表的标识,则根据所述第三数据库表的标识确定在所述第三数据库表中所述待更新字段的当前内容;
利用所述第三数据库表中的当前内容,对所述第一数据库表中的所述待更新字段的内容进行更新,以使所述待更新字段在所述第一数据库表中的内容与其在所述第三数据库表中的当前内容一致。
可选地,所述方法还包括:
在检测到所述第一数据库表中以所述字符串格式存储的字段在所述第三数据库表中的内容发生变化时,生成所述更新请求。
可选地,所述方法还包括:
在所述第一数据库表中的以所述字符串格式存储的字段中,确定待删除的第二目标字段;以及
删除所述第二目标字段,并释放所述第二目标字段对应的存储空间。
可选地,所述确定待删除的第二目标字段,包括:
统计所述第一数据库表中的以所述字符串格式存储的各字段最近一次被使用的时刻,根据每一所述字段最近一次被使用的时刻与当前时刻,确定待删除的第二目标字段;或者
响应于接收到用户输入的字段删除请求,将所述字段删除请求中包括的字段确定为待删除的第二目标字段。
可选地,所述计算类型的字段包括以下中的至少一者:与筛选操作相关的字段、与排序操作相关的字段、与聚合操作相关的字段、以及以所述字符串格式存储的字段对应的标识。
可选地,所述方法还包括:
若所述待添加字段的类型为所述计算类型,则使用单值格式将所述待添加字段添加至所述第一数据库表中。
可选地,所述字符串格式为JSON格式。
本公开第二方面提供一种数据库表的设计装置,包括:
第一确定模块,用于响应于接收到添加字段请求,确定待添加字段的类型,所述类型包括计算类型和非计算类型;
第一添加模块,用于若所述待添加字段的类型为所述非计算类型,则使用字符串格式将所述待添加字段添加至除java对象以及sql查询语句以外的第一数据库表中,以在所述第一数据库表中以所述字符串格式存储所述待添加字段。
本公开第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所提供的所述方法的步骤。
本公开第四方面提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所提供的所述方法的步骤。
通过上述技术方案,在确定待添加字段的类型为非计算类型时,使用字符串格式将待添加字段添加至第一数据库表中,如此,相较于相关技术中采用单值格式存储字段的方式,可以有效减少数据库表的存储空间,进而便于数据库表的维护。此外,采用字符串格式存储待添加字段时,只需将该字段添加至第一数据库表中,无需在java对象和sql查询语句中添加相应的字段,如此,降低了添加字段的复杂度,提高了添加字段的效率。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种数据库表的设计方法的流程图。
图2是根据一示例性实施例示出的一种课程产品查询页面中的计算类型字段和非计算类型字段的示意图。
图3是根据一示例性实施例示出的一种数据库表的示意图。
图4是根据一示例性实施例示出的另一种数据库表的示意图。
图5是根据一示例性实施例示出的另一种数据库表的示意图。
图6是根据一示例性实施例示出的一种数据库表的设计装置的框图。
图7是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
在技术开发过程中,最大的痛点就是变更数据库表结构,因为这意味着之前设计的数据库表不合理。在发生数据库表结构变更的时候,会产生一连串的变更,增加开发人员的工作量。例如,新增一个数据库字段,以目前比较典型的spring mvc+spring+mybatis开发框架来说,采用单值格式存储该字段,一方面会使得程序中与数据库表中对应的java对象、对应的sql查询语句也要增加字段,导致增加字段的过程较为繁琐,另一方面,数据库表中的字段越来越多,导致数据库表占用的存储空间越来越大,不容易维护。
鉴于此,本公开提供一种数据库表的设计方法、装置、可读存储介质及电子设备,一方面可以减小数据库表占用的存储空间,便于数据库表的维护,另一方面还可以降低添加字段的复杂度。
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1是根据一示例性实施例示出的一种数据库表的设计方法的流程图。如图1所示,该方法可以包括以下步骤。
在步骤101中,响应于接收到添加字段请求,确定待添加字段的类型,类型包括计算类型和非计算类型。
在本公开中,计算类型的字段是指在使用时需要进行计算处理的字段。例如,作为筛选条件的字段、作为查询条件的字段、参与排序的字段等等。在使用这些字段时,后台需要对这些字段进行一定的处理,之后返回筛选、查询、或者排序后的数据。此外,考虑字段对应的标识是唯一的,在对字段进行更新时,无需对该字段对应的标识进行更新,即,在对以字符串格式存储的字段进行更新时,其对应的标识无需更新,因此,以字符串格式存储的字段对应的标识可以不用字符串格式存储,即,计算类型的字段还可以是以字符串格式存储的字段对应的标识。因此,在本公开中,计算类型的字段包括以下中的至少一者:与筛选操作相关的字段、与排序操作相关的字段、与聚合操作相关的字段、以及以字符串格式存储的字段对应的标识。
其中,与筛选操作相关的字段在sql查询语句中会出现在where的后面起到过滤作用。如果该字段以JSON格式存储,目前的mysql也是支持查询的,但是查询性能较差,如果想提升性能,可以通过虚拟列的方式添加索引,这样,会导致整体操作起来较为繁琐。因此,与筛选操作相关的字段通常也不采用字符串格式存储。
与聚合操作相关的字段比较典型的是group by操作。如果是在分页的前提下再进行group by操作,由于可以选择在内存进行,以JSON格式存储也是可行的。如果是在全表范围内进行,则不能以字符串格式存储。
非计算类型的字段是指在使用时无需进行计算处理的字段。例如,展示型字段,在使用该字段时,直接将数据展示出来即可,后台无需对待展示的数据进行处理,即,此类非计算类型的字段并不会影响数据库表的性能。
示例图,图2是根据一示例性实施例示出的一种课程产品查询页面中的计算类型字段和非计算类型字段的示意图。在图2中,位于查询条件区域内的字段的类型属于计算类型,即,在使用该区域内的字段时,后台需要进行查询计算处理后,才能得到查询后的数据。位于展示列区域内的字段的类型属于非计算类型,即,在使用该区域内的字段时后台直接将待展示的数据展示出来即可,无需进行计算处理。
在一种可能的方式中,针对待设计的数据库表所属的业务,将该业务中可能使用到的字段预先分为非计算类型字段和计算类型字段。例如,分别构建非计算类型字段列表和计算类型字段列表,并将非计算类型字段存储在非计算类型字段列表中,将计算类型字段存储在计算类型字段列表中。这样,在接收到添加字段请求时,确定待添加字段位于上述哪个列表中,若位于非计算类型字段列表中,则确定待添加字段的类型为非计算类型,若位于计算类型字段列表中,则确定待添加字段的类型为计算类型。
在步骤102中,若待添加字段的类型为非计算类型,则使用字符串格式将待添加字段添加至除java对象以及sql查询语句以外的第一数据库表中,以在第一数据库表中以字符串格式存储待添加字段。
为了避免将所有添加的字段均以单值格式存储所导致的数据库表中字段较多、数据库表占用的存储空间较大不便于维护的弊端,在本公开中,可以将不需要计算处理的非计算类型的字段以字符串格式存储。其中,该字符串格式为JSON格式。
值得说明的是,在数据库表中以字符串格式存储字段时,数据库表中存储的字段数量不会增加,仅是以字符串格式存储的字段对应的字符串变长,如此,不会增加数据库表的存储空间,易于数据库的维护。
示例地,图3是根据一示例性实施例示出的一种数据库表的示意图。图4是根据一示例性实施例示出的另一种数据库表的示意图。在图3所示的数据库表中,采用单值格式存储字段,所存储的字段数量为4。在图4所示的数据库表中,“student_name”和“student_code”采用JSON格式存储,数据库表中存储的字段数量为3,只是字段“student_json”对应的字符串变长。值得说明的是,相较于字段数量的增加,字符串长度变长对数据库表的存储空间影响较小,因此,以字符串格式存储待添加字段,可以有效减少数据库表的存储空间,便于数据库表的维护。
此外,在以字符串格式存储字段时只需要将字段添加至数据库表(为了便于后续区分,此处的数据库表称为第一数据库表)中,无需在java对象和sql查询语句中添加对应的字段,如此,可以有效降低添加字段的操作,提高添加字段的效率。
采用上述技术方案,在确定待添加字段的类型为非计算类型时,使用字符串格式将待添加字段添加至第一数据库表中,如此,相较于相关技术中采用单值格式存储字段的方式,可以有效减少数据库表的存储空间,进而便于数据库表的维护。此外,采用字符串格式存储待添加字段时,只需将该字段添加至第一数据库表中,无需在java对象和sql查询语句中添加相应的字段,如此,降低了添加字段的复杂度,提高了添加字段的效率。
如果待添加字段的类型为计算类型,即,使用该字段时后台需要进行计算处理,此时,为了确保数据库表的性能问题,可以采用单值格式将待添加字段添加至第一数据库表中。如此,在减少数据库表的存储空间的基础上,还可以尽可能的提高数据库表的性能。
在实际应用中,可能会遇到新的功能需求,例如,在预设班级、工作台业务的开发过程中,这两个业务都有班级业务相关字段的需求,需要查询班级业务中班级所属的标准部门、开课日期、最少发薪部门等。相关技术中,在开发预设班级、工作台业务时,通常的设计方案是只在新的业务对应的数据库表中冗余班级的唯一识别标识,在需要查询该班级所属的标准部门、开课日期、最少发薪部门时,首先,根据新的业务对应的数据库表中冗余的班级的标识,确定出班级对应的数据库,之后,在该班级对应的数据库表中查询相应字段对应的数据。即,在新的业务中查询班级业务中的相关字段时,需要关联查询班级对应的数据库,也即是说,需要连表查询。如此,导致查询的速度较慢,效率较差。
因此,在一种实施例中,在为新的业务设计第一数据库表时,可以按照图1所示的数据库表的设计方法进行设计。在该实施例中,由于可以采用字符串格式存储非计算类型的字段,使得第一数据库表的存储空间较小,因此,可以在第一数据库表中可以完整地冗余新的业务需要的所有字段。即,在第一数据库表中以字符串格式存储的第一目标字段为与第一数据库表关联的第二数据库表中的字段,如此,在查询过程中,在接收到针对第一目标字段的查询请求时,可以采用单表查询方式进行查询,即,在第一数据库表中直接查询第一目标字段,无需关联到第二目标数据表从第二数据库表中查询,有效提升了查询效率。
此外,在按照图1所示的方法生成数据库表之后,还可以对该数据库表中的字段进行更新,其中,针对以单值格式存储的字段可以参照现有技术中数据库表中字段的更新方式进行更新,本公开对此不作具体限定。下面将详细介绍针对第一数据库表中以字符串格式存储的字段的更新方式。
在本公开中,针对第一数据库表中以字符串格式存储的字段的更新方式的过程如下:
(1)响应于接收到针对第一数据库表中以字符串格式存储的字段的更新请求,则确定待更新字段是否存在与第一数据库表关联的第三数据库表的标识。
在对以字符串格式存储的字段的内容进行更新时,可以根据第一数据库表对应的业务对数据的容忍度设定更新方式。示例地,如果第一数据库表对应的业务对数据的容忍度较高,可以采用异步更新的方式,如果第一数据库表对应的业务对数据的容忍度较低,可以采用实时更新的方式。本公开对此不作具体限定。
在一种可能的方式中,可以实时或周期性的检测第一数据库表中以字符串格式存储的字段在第三数据库表中的内容是否发生变化,如果发生变化,则生成针对第一数据库表中以字符串格式存储的字段的更新请求。
在另一种可能的方式中,当接收到针对第一数据库表中以字符串格式存储的字段的查询请求时,确定该字段在第一数据库表中的内容是否与第一数据库表关联的第三数据库表中的内容一致,若一致则无需更新,若不一致,则生成针对该字段的更新请求。
在本公开中,可以预先设置以字符串格式存储的每一字段是否存在与第一数据库表关联的第三数据库表的标识。示例地,假设预先设置以字符串格式存储的字段“student_json”不存在与第一数据库表关联的第三数据库表的标识,以字符串格式存储的字段“class_json”存在与第一数据库表关联的第三数据库表的标识,且第三数据库表的标识为“1”。这样,如果待更新字段为以字符串格式存储的字段“student_json”,则确定该待更新字段不存在与第一数据库表关联的第三数据库表的标识。如果待更新字段为以字符串格式存储的字段“class_json”,则确定该待更新字段存在与第一数据库表关联的第三数据库表的标识。
值得说明的是,如上所述,以字符串格式存储的字段对应的标识通常以单值格式存储,即,所生成的第一数据库表的示意图如图5所示。
(2)若存在第三数据库表的标识,则根据第三数据库表的标识确定在第三数据库表中待更新字段的当前内容。
(3)利用第三数据库表中的当前内容,对第一数据库表中的待更新字段的内容进行更新,以使待更新字段在第一数据库表中的内容与其在第三数据库表中的当前内容一致。
示例地,假设待更新字段为图5所示的第一数据库表中的字段“class_json”,则首先根据第三数据库表的标识确定出第三数据库表,并确定待更新字段在第三数据库表中的当前内容。例如,确定第三数据库表中的“class_name”、“current_count”、“audit”的当前内容分别为“少儿青云班VIP”、“5”、“已审核”,则将图5所示的第一数据库表中的字段“class_json”的内容由{“class_name”:“少儿青云班VIP”、“current_count”:“0”、“audit”:“已审核”}更新为{“class_name”:“少儿青云班VIP”、“current_count”:“5”、“audit”:“已审核”},以使待更新字段在第一数据库表中的内容与其在第三数据库表中的当前内容一致,确保待更新字段在第一数据库表中的内容的准确度。
值得说明的是,上述仅示出了对待更新字段的内容中的某一个属性(例如,current_count)的属性值进行更新,在实际应用中,还可以对待更新字段的内容中的属性进行更新。例如,将图5所示的第一数据库表中的字段“class_json”的内容由{“class_name”:“少儿青云班VIP”、“current_count”:“0”、“audit”:“已审核”}更新为{“class_name”:“少儿青云班VIP”、“student_code”:“STU001、STU002”、“audit”:“已审核”}。本公开对更新的具体内容并不作限制。
此外,在本公开中,当以字符串格式存储的字段随着业务的发展不再使用时,可以不再维护,以节省数据库表的空间。例如,可以将不再使用的字段删除。
示例地,首先,在第一数据库表中的以字符串格式存储的字段中,确定待删除的第二目标字段。
其中,确定待删除的第二目标字段的方式可以包括但不限于以下两种方式:在第一种方式中,可以将最近一段时间内没有使用过的以字符串格式存储的字段确定为待删除的第二目标字段。示例地,统计第一数据库表中的以字符串格式存储的各字段最近一次被使用的时刻,根据每一字段最近一次被使用的时刻与当前时刻,确定待删除的第二目标字段。例如,可以将最近一次被使用的时刻与当前时刻的差值大于预设数值的字段确定为最近一段时间内没有使用过的字段,即,将该字段确定为待删除的第二目标字段。
在第二种方式中,由用户自定义待删除的第二目标字段。例如,响应于接收到用户输入的字段删除请求,将字段删除请求中包括的字段确定为待删除的第二目标字段。
之后,删除第二目标字段,并释放第二目标字段对应的存储空间。
在按照上述任一方式确定出待删除的第二目标字段之后,可以直接在第一数据库表中删除该第二目标字段,同时,还可以释放第二目标字段对应的存储空间。
示例地,假设待删除的第二目标字段为图5所示的字段“class_name”,则可以直接将图5所示的第一数据库表中的“class_name”:“少儿青云班VIP”删除,并释放“class_name”:“少儿青云班VIP”对应的存储空间。其中,该第二目标字段对应的存储空间可以被其他的字段,例如“current_count”:“0”和“audit”:“已审核”占用。
采用上述技术方案,以字符串格式存储的字段可以直接被删除,并释放删除的字段对应的存储空间,并且,所释放的存储空间可以被其他字段使用,如此,提高了存储空间的利用率。
基于同一发明构思,本公开还提供一种数据库表的设计装置。图6是根据一示例性实施例示出的一种数据库表的设计装置的框图。如图6所示,该数据库表的设计装置600可以包括:
第一确定模块601,用于响应于接收到添加字段请求,确定待添加字段的类型,所述类型包括计算类型和非计算类型;
第一添加模块602,用于若所述待添加字段的类型为所述非计算类型,则使用字符串格式将所述待添加字段添加至除java对象以及sql查询语句以外的第一数据库表中,以在所述第一数据库表中以所述字符串格式存储所述待添加字段。
可选地,所述第一数据库表中以所述字符串格式存储的第一目标字段为与所述第一数据库表关联的第二数据库表中的字段;所述装置还包括:
查询模块,用于响应于接收到针对所述第一目标字段的查询请求,则采用单表查询方式进行查询。
可选地,所述装置还包括:
第二确定模块,用于响应于接收到针对所述第一数据库表中以所述字符串格式存储的字段的更新请求,则确定待更新字段是否存在与所述第一数据库表关联的第三数据库表的标识;
第三确定模块,用于若存在所述第三数据库表的标识,则根据所述第三数据库表的标识确定在所述第三数据库表中所述待更新字段的当前内容;
更新模块,用于利用所述第三数据库表中的当前内容,对所述第一数据库表中的所述待更新字段的内容进行更新,以使所述待更新字段在所述第一数据库表中的内容与其在所述第三数据库表中的当前内容一致。
可选地,所述装置还包括:
生成模块,用于在检测到所述第一数据库表中以所述字符串格式存储的字段在所述第三数据库表中的内容发生变化时,生成所述更新请求。
可选地,所述装置还包括:
第四确定模块,用于在所述第一数据库表中的以所述字符串格式存储的字段中,确定待删除的第二目标字段;以及
删除模块,用于删除所述第二目标字段,并释放所述第二目标字段对应的存储空间。
可选地,所述第四确定模块用于:统计所述第一数据库表中的以所述字符串格式存储的各字段最近一次被使用的时刻,根据每一所述字段最近一次被使用的时刻与当前时刻,确定待删除的第二目标字段;或者
响应于接收到用户输入的字段删除请求,将所述字段删除请求中包括的字段确定为待删除的第二目标字段。
可选地,所述装置还包括:
第二添加模块,用于若所述待添加字段的类型为所述计算类型,则使用单值格式将所述待添加字段添加至所述第一数据库表中。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种电子设备的框图。如图7所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的数据库表的设计方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的数据库表的设计方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的数据库表的设计方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的数据库表的设计方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的数据库表的设计方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (12)
1.一种数据库表的设计方法,其特征在于,包括:
响应于接收到添加字段请求,确定待添加字段的类型,所述类型包括计算类型和非计算类型;
若所述待添加字段的类型为所述非计算类型,则使用字符串格式将所述待添加字段添加至除java对象以及sql查询语句以外的第一数据库表中,以在所述第一数据库表中以所述字符串格式存储所述待添加字段。
2.根据权利要求1所述的设计方法,其特征在于,所述第一数据库表中以所述字符串格式存储的第一目标字段为与所述第一数据库表关联的第二数据库表中的字段;所述方法还包括:
响应于接收到针对所述第一目标字段的查询请求,则采用单表查询方式进行查询。
3.根据权利要求1所述的设计方法,其特征在于,所述方法还包括:
响应于接收到针对所述第一数据库表中以所述字符串格式存储的字段的更新请求,则确定待更新字段是否存在与所述第一数据库表关联的第三数据库表的标识;
若存在所述第三数据库表的标识,则根据所述第三数据库表的标识确定在所述第三数据库表中所述待更新字段的当前内容;
利用所述第三数据库表中的当前内容,对所述第一数据库表中的所述待更新字段的内容进行更新,以使所述待更新字段在所述第一数据库表中的内容与其在所述第三数据库表中的当前内容一致。
4.根据权利要求3所述的设计方法,其特征在于,所述方法还包括:
在检测到所述第一数据库表中以所述字符串格式存储的字段在所述第三数据库表中的内容发生变化时,生成所述更新请求。
5.根据权利要求1所述的设计方法,其特征在于,所述方法还包括:
在所述第一数据库表中的以所述字符串格式存储的字段中,确定待删除的第二目标字段;以及
删除所述第二目标字段,并释放所述第二目标字段对应的存储空间。
6.根据权利要求5所述的设计方法,其特征在于,所述确定待删除的第二目标字段,包括:
统计所述第一数据库表中的以所述字符串格式存储的各字段最近一次被使用的时刻,根据每一所述字段最近一次被使用的时刻与当前时刻,确定待删除的第二目标字段;或者
响应于接收到用户输入的字段删除请求,将所述字段删除请求中包括的字段确定为待删除的第二目标字段。
7.根据权利要求1-6中任一项所述的设计方法,其特征在于,所述计算类型的字段包括以下中的至少一者:与筛选操作相关的字段、与排序操作相关的字段、与聚合操作相关的字段、以及以所述字符串格式存储的字段对应的标识。
8.根据权利要求1-6中任一项所述的设计方法,其特征在于,所述方法还包括:
若所述待添加字段的类型为所述计算类型,则使用单值格式将所述待添加字段添加至所述第一数据库表中。
9.根据权利要求1-6中任一项所述的设计方法,其特征在于,所述字符串格式为JSON格式。
10.一种数据库表的设计装置,其特征在于,包括:
第一确定模块,用于响应于接收到添加字段请求,确定待添加字段的类型,所述类型包括计算类型和非计算类型;
第一添加模块,用于若所述待添加字段的类型为所述非计算类型,则使用字符串格式将所述待添加字段添加至除java对象以及sql查询语句以外的第一数据库表中,以在所述第一数据库表中以所述字符串格式存储所述待添加字段。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-9中任一项所述方法的步骤。
12.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110395348.5A CN113094356A (zh) | 2021-04-13 | 2021-04-13 | 数据库表的设计方法、装置、可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110395348.5A CN113094356A (zh) | 2021-04-13 | 2021-04-13 | 数据库表的设计方法、装置、可读存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113094356A true CN113094356A (zh) | 2021-07-09 |
Family
ID=76676769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110395348.5A Pending CN113094356A (zh) | 2021-04-13 | 2021-04-13 | 数据库表的设计方法、装置、可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113094356A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109639465A (zh) * | 2018-11-27 | 2019-04-16 | 平安科技(深圳)有限公司 | 基于云平台的告警信息存储方法和装置 |
CN109783555A (zh) * | 2018-12-13 | 2019-05-21 | 东软集团股份有限公司 | 表单模板存储方法、装置、存储介质及电子设备 |
CN110147413A (zh) * | 2019-04-26 | 2019-08-20 | 平安科技(深圳)有限公司 | 数据存储方法、数据查询方法、装置、设备及存储介质 |
CN111459978A (zh) * | 2020-03-20 | 2020-07-28 | 平安国际智慧城市科技股份有限公司 | 查询方法、装置、计算机设备和存储介质 |
CN111488371A (zh) * | 2020-04-07 | 2020-08-04 | 中国人民财产保险股份有限公司 | 一种数据查询方法和装置 |
-
2021
- 2021-04-13 CN CN202110395348.5A patent/CN113094356A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109639465A (zh) * | 2018-11-27 | 2019-04-16 | 平安科技(深圳)有限公司 | 基于云平台的告警信息存储方法和装置 |
CN109783555A (zh) * | 2018-12-13 | 2019-05-21 | 东软集团股份有限公司 | 表单模板存储方法、装置、存储介质及电子设备 |
CN110147413A (zh) * | 2019-04-26 | 2019-08-20 | 平安科技(深圳)有限公司 | 数据存储方法、数据查询方法、装置、设备及存储介质 |
CN111459978A (zh) * | 2020-03-20 | 2020-07-28 | 平安国际智慧城市科技股份有限公司 | 查询方法、装置、计算机设备和存储介质 |
CN111488371A (zh) * | 2020-04-07 | 2020-08-04 | 中国人民财产保险股份有限公司 | 一种数据查询方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108519914B (zh) | 大数据计算方法、系统和计算机设备 | |
JP6234601B2 (ja) | マルチラウンドセッションインタラクション方法、システム及びコンピュータ装置 | |
US10078654B2 (en) | Data logging framework | |
CN109491989B (zh) | 数据处理方法及装置、电子设备、存储介质 | |
US10346381B2 (en) | Atomic update operations in a data storage system | |
CN103678494A (zh) | 客户端同步服务端数据的方法及装置 | |
CN113094370B (zh) | 数据索引构建方法、装置、存储介质及电子设备 | |
CN110781183B (zh) | Hive数据库中增量数据的处理方法、装置以及计算机设备 | |
CN111625552B (zh) | 数据收集方法、装置、设备和可读存储介质 | |
CN113051446A (zh) | 拓扑关系查询方法、装置、电子设备和介质 | |
CN111143382A (zh) | 数据处理方法、系统和计算机可读存储介质 | |
CN114547076A (zh) | 数据处理方法和数据处理系统 | |
US20210191921A1 (en) | Method, apparatus, device and storage medium for data aggregation | |
CN112416991A (zh) | 一种数据处理方法、装置以及存储介质 | |
CN111611268A (zh) | 政务服务的搜索处理方法及装置 | |
CN111581183A (zh) | 一种基于数据模型进行数据迁移方法及装置 | |
CN113190517B (zh) | 数据集成方法、装置、电子设备和计算机可读介质 | |
CN113094356A (zh) | 数据库表的设计方法、装置、可读存储介质及电子设备 | |
CN113111239A (zh) | 一种通用数据库操作方法、装置及其存储介质 | |
CN112182093A (zh) | 数据存储方法、装置、设备及计算机可读存储介质 | |
CN110032615B (zh) | 一种基于规则库实现gis空间数据在线统计的方法 | |
CN110727666A (zh) | 面向工业互联网平台的缓存组件、方法、设备及存储介质 | |
CN111352963A (zh) | 一种数据统计方法及装置 | |
CN112486979B (zh) | 数据处理方法、装置和系统、电子设备以及计算机可读存储介质 | |
CN112084204B (zh) | 浏览数据处理方法、装置、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |