CN105302814A - 一种存储多个自定义字段的方法和*** - Google Patents
一种存储多个自定义字段的方法和*** Download PDFInfo
- Publication number
- CN105302814A CN105302814A CN201410276834.5A CN201410276834A CN105302814A CN 105302814 A CN105302814 A CN 105302814A CN 201410276834 A CN201410276834 A CN 201410276834A CN 105302814 A CN105302814 A CN 105302814A
- Authority
- CN
- China
- Prior art keywords
- data
- data type
- type
- rows
- user
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种存储多个自定义字段的方法和***,该方法包括:定义具有N个数据列的数据库表和表结构信息;将设计用户的自定义数据字段名称和指定数据类型作为参数值传递至映射函数;根据映射规则,为设计用户定义第一数据字段名称和第一数据类型,以及为设计用户定义第二数据字段名称和第二数据类型。本发明数据记录对应正确的数据类型,进行数据处理时不需要经过格式转换;方便使用者快速查询数据,无需遍历所有数据,查询效率高,适用数据量大的数据查询;增加了设计用户自定义字段的灵活性,可以从无到有全部自行设计表单、网页或应用,随需而变。
Description
技术领域
本发明涉及数据处理领域存储自定义字段技术,特别涉及一种存储多个自定义字段的方法和***。
背景技术
科学技术的发展推动了用户需求的多样化,用户在使用软件的过程中逐渐意识到通用的***无法满足其个性化的业务需求。于是用户开始考虑使用定制化的软件,软件开发商通过需求分析,将用户需求与软件特性结合起来设计出更贴近用户的应用软件。但是,如果用户业务频繁变动或者新增需求,定制软件往往需要根据需求频繁改动,一方面增加了用户的资金成本,用户可能会采取其他软件配合使用的方式,这无疑背离了定制软件的初衷;另一方面,用户反馈需求、开发及调试软件需要一定的时间,影响用户的业务处理方式。
对于软件需求经常变化的情况,现有的做法主要有:
动态修改表,***新字段,该做法在表结构简单的情况可以实现,如果数据量非常大且表经常变动,那么通过动态修改表的方式性能非常差;
使用纵表,纵表中添加一条记录,就可以添加一个字段,但是在执行数据查询时针对纵表的查询语句比较复杂且查询效率不高,同样不适用数据量大的情况;
预留字段,在设计表的时候固定预留出一定数量的空白字段让用户在需要时自行设计,但是预留字段有可能永远都不会用到,或者不够用,到头来还是面临增加字段的问题;且标准实体和字段部分无法改动;
申请号为200580009510.4的“多租户数据库***中为多个租户存储自定义字段的方法和***”的发明专利,该发明提出了在固定物理数据库模式中容纳诸如动态表和列等可变模式数据的方法,多租户自定义字段被存储在对象数据结构内的单个字段中,且该单个字段可对每一租户包含不同的数据类型。解决用户向数据库***添加除标准应用配备的标准实体和字段以外他们自己的自定义数据。但是,在该方法中,不同用户数据字段的数据值存储到单个数据列中,尤其是数据类型不相同的情况下,在查询时需要经过格式转换的步骤,降低了查询的效率。
因此,期望存在一种方法,他们既可以实现用户根据业务需求自定义字段内容,又能兼顾数据存取性能。
发明内容
针对目前存在的问题,本发明提供了一种存储多个自定义字段的方法和***,实现预先定义包含固定数量数据类型的数据列,且在可定义的数据列数量达到阀值时动态新增或消息提醒,由设计用户自行设定。
本发明提供了一种存储多个自定义字段的方法,包括:
定义具有N个数据列的数据库表和表结构信息,所述数据库表N个数据列的数据类型的种类包括{Χ1,Χ2,…,Χm},且每种数据类型的数据列数量为{Y1,Y2,…,Ym},即Y1+Y2+…+Ym=N,其中,数据类型的种类互异,1≤m≤N;
将设计用户的自定义数据字段名称和指定数据类型作为参数值传递至映射函数;
根据映射规则,为设计用户定义第一数据字段名称和第一数据类型,以及为设计用户定义第二数据字段名称和第二数据类型,所述映射规则包括:
根据第一数据类型,在表结构信息中查找到对应的数据类型Xi的数据列信息,其中1≤i≤m;
根据第二数据类型,在表结构信息中查找到对应的数据类型Xj的数据列信息,其中1≤j≤m;
i≠j时,第一数据类型不同于第二数据类型,将第一数据字段名称存储至Xi在表结构信息中对应的数据列,将第二数据字段名称存储至Xj在表结构信息中对应的数据列;
i=j时,第一数据类型和第二数据类型相同,将第一数据字段名称和第二数据字段名称依次存储至Xi在表结构信息中对应的数据列。
其中,数据字段即自定义字段。由于不同的程序语言有不同的特点,定义数据类型名称时会有或多或少的差异,故发明内容中采用X来标识便于领域内技术人员理解,可以使用任何可区别的符号替代,并不局限于该表达方式。同样,数据列的数量N,数据类型对应的数据列的数量Y,其中N,Y均为正整数,且N大于1,该定义步骤中N、Y的数值优选由设计用户根据业务特点自行设定,也可以是N由***决定,Y由设计用户根据业务特点设定。
表结构信息包括设计表ID(Identity)、自定义字段名称、数据类型、对应数据列编号。表结构信息的存在方式包括:作为数据库***对象,作为外部资源文件。设计用户设计的第一数据类型和第二数据类型可以是相同的数据类型,也可以是不同的数据类型,定义其他自定义字段数据类型的时候同样适用。
优选的,还包括检测可自定义数据类型Xi,Xj的数据列数量是否达到阀值条件,如果达到则触发预警机制。
进一步优选的,所述阀值条件是指可自定义数据类型的数据列数量达到某一限值,或者,没有对应的可自定义的数据类型。
进一步优选的,所述预警机制包括:
按照预先设定的每次可增加的数据列数量,动态新增达到阀值的数据类型的数据列数量,或者,向设计用户发出提醒消息。
对于达到阀值条件的数据类型的数据列数量,较优地采用动态增加一定数量该类型的数据列;或者向设计用户发出提醒,提示还能再自定义几个该数据类型的数据字段,或者达到限值无法完成自定义字段。
优选的,还包括根据表结构信息反映的映射关系为使用者在数据库表存取数据记录。使用者通过使用设计的自定义内容,进行数据记录的操作,包括增加数据、删除数据、修改数据、查询数据。
本发明提供了一种存储多个自定义字段的***,包括:
预处理模块,用于定义具有N个数据列的数据库表和表结构信息,所述数据库表N个数据列的数据类型的种类包括{Χ1,Χ2,…,Χm},且每种数据类型的数据列数量为{Y1,Y2,…,Ym},即Y1+Y2+…+Ym=N,其中,数据类型的种类互异,1≤m≤N;
设计模块,用于设计用户自定义数据字段名称和指定数据类型;
映射模块,用于将设计用户的自定义数据字段名称和指定数据类型作为参数值传递至映射函数;
定义模块,用于根据映射规则,为设计用户定义第一数据字段名称和第一数据类型,以及为设计用户定义第二数据字段名称和第二数据类型,所述映射规则包括:
根据第一数据类型,在表结构信息中查找到对应的数据类型Xi的数据列信息,其中1≤i≤m;
根据第二数据类型,在表结构信息中查找到对应的数据类型Xj的数据列信息,其中1≤j≤m;
i≠j时,第一数据类型不同于第二数据类型,将第一数据字段名称存储至Xi在表结构信息中对应的数据列,将第二数据字段名称存储至Xj在表结构信息中对应的数据列;
i=j时,第一数据类型和第二数据类型相同,将第一数据字段名称和第二数据字段名称依次存储至Xi在表结构信息中对应的数据列。
优选的,还包括检测模块,用于检测可自定义数据类型Xi,Xj的数据列数量是否达到阀值条件,如果达到则触发预警机制。阀值条件和预警机制需在执行检测模块前预先设定,可在预定义模块提前设定或者在设计模块设定。
进一步优选的,所述阀值条件是指可自定义数据类型的数据列数量达到某一限值,或者,没有对应的可自定义的数据类型。
进一步优选的,所述预警机制包括:
按照预先设定的每次可增加的数据列数量,动态新增达到阀值的数据类型的数据列数量,或者,向设计用户发出提醒消息。
优选的,还包括数据存取模块,根据表结构信息反映的映射关系为使用者在数据库表存取数据记录。使用者通过使用设计用户设计的自定义内容,进行数据记录的操作,包括增加数据、删除数据、修改数据、查询数据。
本发明技术方案带来的有益效果是:数据记录对应正确的数据类型,进行数据处理时不需要经过格式转换;方便使用者快速查询数据,无需遍历所有数据,查询效率高,适用数据量大的数据查询;增加了设计用户自定义字段的灵活性,可以从无到有全部自行设计表单、网页或应用,随需而变。
附图说明
图1是本发明实施例提供的一种存储多个自定义字段的方法的流程图;
图2a是本发明实施例提供的存储多个自定义字段的方法示例一;
图2b是本发明实施例提供的存储多个自定义字段的方法示例二;
图3a是本发明实施例提供的表示为表结构信息的示例;
图3b是本发明实施例提供的表示为表结构信息的具体示例;
图4是本发明实施例提供的自定义字段设计完成后存取数据具体示例;
图5是本发明实施例提供的***结构图;
图6a是本发明实施例提供的一种存储多个自定义字段的***的方块图一;
图6b是本发明实施例提供的一种存储多个自定义字段的***的方块图二。
具体实施方式
为了使本发明所提到的一种存储多个自定义字段的方法和***及其优点更加清楚明确,以下参照附图对本发明进行更进一步的详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1是本发明实施例提供的一种存储多个自定义字段的方法的流程图,如图1所示,该方法包括:
步骤101,定义具有N个数据列的数据库表和表结构信息。
其中,设计用户或***定义时需考虑一人定义供单人使用和一人定义供多人使用的情况。一人定义供单人使用指设计用户为一人,使用者也是一人,定义和使用的可以是同一人,也可以是不同人;一人定义供多人使用指设计用户为一人,使用者为多人,较优的,设计用户需考虑定义使用者ID(Identity),将不同的使用者区分开来。
表结构信息作为数据库***对象时优选是存放在数据库表中;表结构信息作为外部资源文件时优选是xml格式、txt格式、ini格式的文件类型。
步骤102,将设计用户的自定义字段名称和指定数据类型作为参数值传递至映射函数。
将设计用户前端自定义的字段名称和指定的数据类型作为参数值传递至映射函数进行映射处理。
步骤103,检测可自定义数据类型的数据列数量是否达到阀值条件。
采用检测步骤,优选的设计用户在自定义时需提前设定可定义的数据类型对应的数据列数量的阀值,各种数据类型的阀值可以是相同的,例如可定义的数据类型{字符型,数值型,日期型,图片型,长文本型}的数据列数量阀值为{2,2,2,2,2}或{0,0,0,0,0},也可以是根据数据类型的使用频度设置不同的阀值,例如可定义的数据类型{字符型,数值型,日期型,图片型,长文本型}的数据列数量阀值为{5,5,2,2,1}。可定义数据类型的数据列数量达到阀值时,即满足条件“是”,执行步骤104;否则满足条件“否”,执行步骤105。
步骤104,触发预警机制。
可定义数据类型的数据列数量达到阀值时,触发预警机制。对于达到阀值的数据类型较优的采用动态增加一定数量的数据列,或者对使用者发出消息提醒,或者两者结合的形式。使用过程中再次达到阀值时再次触发预警机制。
阀值条件和预警机制的设定也可以是***设定的,较优的采用设计用户自行设定的方式。
步骤105,根据映射规则,为设计用户定义字段名称和数据类型。
根据设计用户自定义字段的数据类型,在表结构信息中查找到对应的数据列的信息,包括可定义的数据列数量及其对应的列号。设计用户自定义多个字段,数据类型包括相同数据类型和不同数据类型,根据映射规则,依次存储自定义字段名称至对应的数据列。
步骤103和步骤104为优选步骤,由设计用户自行决定是否采用这两个步骤。
图2a是本发明实施例提供的存储多个自定义字段的方法示例一,如图所示,在数据库中初始化定义具有160列数据列的数据库表T200,该数据列也被称为自定义数据列、自定义字段列、自定义字段,包括:50列数据类型为字符型的数据列201,列编号从C1到C50;50列数据类型为数值型的数据列202,列编号从C51到C100;30列数据类型为日期型的数据列203,列编号从C101到C130;20列数据类型为图片型的数据列204,列编号从C131到C150;10列数据类型为长文本型的数据列205,列编号从C151到C160。该实施例根据数据类型的使用频度不同,将常用的数据类型在初始化时多定义一定数量,将不常用的数据类型在初始化时少定义一定数量。
另外,设计用户自定义时并不局限于图2a所提到的数据类型,设计用户可以增加或减少数据类型的种类;设计用户自定义时也可根据实际业务类型对数据类型的数据列数量进行调整;设计用户也可以对编号方式进行调整,例如字符型列编号A1-A50,数值型列编号B1-B50,日期型列编号C1-C30,图片型列编号D1-D20,长文本型列编号E1-E10。所有的数据列在使用之前都为空,不占用任何物理空间。如果设计用户删除某个已定义过的字段,检测该字段是否单独存在,如果单独存在,直接删除数据记录和数据列,如果存在关联,则需先删除关联数据记录,再执行删除数据列操作;或者只执行清空数据记录的操作,数据列可重用。
图3a是本发明实施例提供的表示为表结构信息的示例,如图3a所示,表结构信息T300包括T_ID(设计表ID(Identity))301、FIELD_NAME(自定义字段名称)302、DATA_TYPE(数据类型)303、COL_NUM(对应数据列编号)304、F_MARKER(字段标记)305。
本实施例表结构信息中包括F_MARKER(字段标记)为了区分设计过程中多个自定义字段名称相同的情况,为进一步优选形式。为了便于说明,表结构信息在本实施例中表现为表的形式,但并不局限于该种形式,也可以是其他类型的文件。如果有多个使用者,则设计用户需在表结构信息中增加字段USER_ID(使用者ID(Identity)),更深一步考虑,如果多个使用者之间有层级关系,则须考虑加入权限设置。
以表1员工表(T1)中自定义字段为具体例子,结合图2a和图3a,对自定义多个字段进行更进一步的说明。
表1员工表(T1)
字段名称 | 数据类型 | 字段名称 | 数据类型 |
工号(ID)* | 字符型 | 姓名 | 字符型 |
性别 | 字符型 | 照片 | 图片型 |
身份证号码 | 字符型 | 部门 | 字符型 |
职位 | 字符型 | 基本工资 | 数值型 |
职位工资 | 数值型 | 基础奖金 | 数值型 |
入职日期 | 日期型 | 离职日期 | 日期型 |
第一数据字段名称为“工号(ID)”,“*”表示必填项,每个员工的工号ID(Identity)都为唯一编号。第一数据类型为字符型,根据映射规则,在图3a提供的表结构信息进行查找,可定义的DATA_TYPE为字符型的COL_NUM为C1,…,C50,将“工号(ID)”存储在C1对应的FIELD_NAME下面,F_MARKER值为m1;第二数据字段名称为“姓名”,第二数据类型为字符型,根据映射规则,在图3a提供的表结构信息进行查找,可定义的DATA_TYPE为字符型的COL_NUM为C2,…,C50,将“姓名”存储在C2对应的FIELD_NAME下面,F_MARKER值为m2;第三数据字段名称为“性别”,第三数据类型为字符型,根据映射规则,在图3a提供的表结构信息进行查找,可定义的DATA_TYPE为字符型的COL_NUM为C3,…,C50,将“性别”存储在C3对应的FIELD_NAME下面,F_MARKER值为m3;第四数据字段名称为“照片”,第四数据类型为图片型,根据映射规则,在图3a提供的表结构信息进行查找,可定义的DATA_TYPE为图片型的COL_NUM为C131,…,C150,将“照片”存储在C131对应的FIELD_NAME下面,F_MARKER值为m4。其他字段信息按照相同的规则依次存储在表结构信息中,员工表(T1)存储后的情况如图3b所示,图3b是本发明实施例提供的表示为表结构信息的具体示例。
图2b是本发明实施例提供的存储多个自定义字段的方法示例二,如图所示,在数据库中初始化定义160列数据列的数据库表T200',包括:50列数据类型为字符型的数据列201,列编号从C1到C50;50列数据类型为数值型的数据列202,列编号从C51到C100;30列数据类型为日期型的数据列203,列编号从C101到C130;20列数据类型为图片型的数据列204,列编号从C131到C150;10列数据类型为长文本型的数据列205,列编号从C151到C160。与图2a不同的是,图2b含有动态增加的10列数据类型为字符型的数据列206,结合表2进行更进一步的说明。
表2阀值条件
数据类型 | 阀值条件值 | 动态扩展量 |
字符型 | 2 | 10 |
数值型 | 2 | 10 |
日期型 | 2 | 5 |
图片型 | 2 | 5 |
长文本型 | 2 | 3 |
本实施例对所有数据类型采用统一的阀值条件,即当可自定义的数据类型的数据列数量小于等于2时触发预警机制,对于字符型每次可动态扩展10个字符型的数据列;对于数值型每次可动态扩展10个数值型的数据列;对于日期型每次可动态扩展5个日期型数据列;对于图片型每次可动态扩展5个图片型的数据列;对于长文本型每次可动态扩展3个长文本型数据列。通过图2b可以理解,字符型201可自定义的数据列数量达到阀值条件,触发预警机制,故动态扩展10个字符型的数据列。设计用户也可根据实际业务情况调整阀值条件,包括阀值条件值和动态扩展的数据列数量。
图4是本发明实施例提供的自定义字段设计完成后存取数据具体示例,结合图3b,如图所示,使用者采用设计用户的设计内容录入四条数据的数据库表T400,其中数据列C1为必填项,工号(ID)必填,其他数据列内容为非必填项。可对某些数据列进行验证以进一步优化性能,例如对数据列C4中的身份证号码进行位数验证,对数据列C101,C102日期录入进行限制等。本实施例未对使用者信息进行区分,在多个用户使用该设计存取数据时,设计用户需考虑增加使用者ID(Identity),对不同的使用者的数据记录进行管理。
对于图4提供的实施例中的数据,如果选中某条数据进行删除,优选情况下先检查该数据是否是和其他数据关联,如果关联则不能删除,或者对使用者发出消息提醒由使用者决定是否继续删除;如果只用到某列数据,则仅查询该列数据,其他不相关的数据无需遍历,例如,提取员工身份证号码,在表结构信息中查询到身份证号码对应的数据列编号为C4,执行SQL查询语句“selectC4fromT1”即可在数据库中查找到所有的身份证号码数据:“123456789”,“321587468”,“456123897”,“582369741”。
图5是本发明实施例提供的***结构图,如图所示,该实施例由设计端52,网络54,服务器56,使用端58构成。设计端52可以是台式机、笔记本、pad、智能手机、PDA,另外设计端52的数量并不局限于单个,多个设计用户可共同设计一张表单、一个网页、或一个应用;网络54可以是局域网,仅供某一区域内的使用者访问和使用,也可以是广域网,向使用者提供访问端口,实现远距离访问。特殊情况下,设计用户仅通过设计端52进行自定义设计,然后在设计端52供使用者使用,不对外分享;服务器56存储设计用户的设计内容,鉴于对数据存储的要求不同,该服务器可以是内部服务器,由设计用户自己或者组织进行维护。也可以是第三方单独提供的云端服务器,第三方与众多用户合作,独立运营。该服务器还可对使用者存取数据进行记录;使用端58优选情况下多于一个,且可以是台式机、笔记本、pad、智能手机、PDA,使用端的使用者无法更改设计内容。
图6a是本发明实施例提供的一种存储多个自定义字段的***的方块图一,如图所示,该***包括预处理模块62,设计模块64,映射模块66,定义模块68。预处理模块62用于定义具有N个数据列的数据库表和表结构信息,其中N的数值可由设计用户根据业务特点设定,也可以是***固定的值;设计模块64用于设计用户自定义数据字段名称和指定数据类型,同时将设计用户自定义的数据字段名称和指定的数据类型作为参数值传递至映射模块66进行映射;映射模块66是自定义内容实现转换的桥梁;根据映射规则,在定义模块68将设计用户自定义的数据字段名称和指定的数据类型在表结构信息中存储到对应的数据列。
图6b是本发明实施例提供的一种存储多个自定义字段的***的方块图二,如图所示,该***包括预处理模块62,设计模块64,映射模块66,检测模块67,定义模块68,数据存取模块69,其中,预处理模块62包括预定义数据库表和表结构信息单元621,预设阀值和预警方式单元622。与图6a不同在于,本实施例同时增加了检测模块67和数据存取模块69,检测模块67用于检测可自定义数据类型的数据列数量是否达到阀值条件,如果达到则触发预警机制。为实现预警机制,相应的在预处理模块62中增加了预设阀值和预警方式单元622以使检测模块67可顺利工作。
预处理模块62包括预定义数据库表和表结构信息单元621,预设阀值和预警方式单元622。预定义数据库表和表结构信息单元621用于定义具有N个数据列的数据库表和表结构信息,为N个数据列分配数据类型,优选方式为常用的数据类型可分配较多的数据列数量,不常用的数据类型分配较少的数据列数量。N由***预设或设计用户设定,数据列数量优选的由设计用户设定;预设阀值和预警方式单元622,优选的由设计用户操作该单元,设计用户自行设定阀值的数值,即可定义的数据类型的数据列数量达到某一限值,预警方式包括自动扩展达到阀值的数据列数量,或者向设计用户发出消息提醒。
设计模块64,用于设计用户自定义数据字段名称和指定数据类型,用户通过设计模块64完成自定义字段内容的界面设计。
映射模块66用于将设计用户自定义的数据字段名称和指定的数据类型作为参数值传递至映射函数。
检测模块67用于检测映射模块66传递的自定义数据字段名称和指定的数据类型对应的数据列数量是否达到阀值条件,如果达到则触发预警机制,启动预警。
定义模块68用于为设计用户定义的数据字段名称和对应数据类型在表结构信息中和数据库表建立联系,依次将数据字段名称存储至表结构信息中相应数据类型对应的数据列。
数据存取模块69,用于使用者在数据库表存取数据,包括增加数据、删除数据、修改数据、查询数据。
结合图5,图6a和图6b所述的***有以下几种使用方式:可以安装在图5所示的设计端52,由使用者直接在设计端52使用,设计端52和使用端58重叠,或者使用端58的使用者使用URL(UniformResourceLocator:统一资源***)通过网络54访问设计端52;可以安装在服务器56,使用端58的使用者使用URL(UniformResourceLocator:统一资源***)通过网络54访问服务器56,由服务器56统一管理使用者的数据记录;将数据记录安装在使用端58,由使用者自行管理其数据记录。
以上所述是对本发明的较佳的具体实施方式,本技术领域人员应当理解,所述实施方式并非限定本发明的保护范围。在不脱离本发明的精神实质和原则下,在细节方面可以进行变化或者修改,均应涵盖在本发明的权利要求范围之内。
Claims (10)
1.一种存储多个自定义字段的方法,其特征在于,包括:
定义具有N个数据列的数据库表和表结构信息,所述数据库表N个数据列的数据类型的种类包括{Χ1,Χ2,…,Χm},且每种数据类型的数据列数量为{Y1,Y2,…,Ym},即Y1+Y2+…+Ym=N,其中,数据类型的种类互异,1≤m≤N;
将设计用户的自定义数据字段名称和指定数据类型作为参数值传递至映射函数;
根据映射规则,为设计用户定义第一数据字段名称和第一数据类型,以及为设计用户定义第二数据字段名称和第二数据类型,所述映射规则包括:
根据第一数据类型,在表结构信息中查找到对应的数据类型Xi的数据列信息,其中1≤i≤m;
根据第二数据类型,在表结构信息中查找到对应的数据类型Xj的数据列信息,其中1≤j≤m;
i≠j时,第一数据类型不同于第二数据类型,将第一数据字段名称存储至Xi在表结构信息中对应的数据列,将第二数据字段名称存储至Xj在表结构信息中对应的数据列;
i=j时,第一数据类型和第二数据类型相同,将第一数据字段名称和第二数据字段名称依次存储至Xi在表结构信息中对应的数据列。
2.如权利要求1所述的方法,其特征在于,还包括检测可自定义数据类型Xi,Xj的数据列数量是否达到阀值条件,如果达到则触发预警机制。
3.如权利要求2所述的方法,其特征在于,所述阀值条件是指可自定义数据类型的数据列数量达到某一限值,或者,没有对应的可自定义的数据类型。
4.如权利要求2所述的方法,其特征在于,所述预警机制包括:
按照预先设定的每次可增加的数据列数量,动态新增达到阀值的数据类型的数据列数量,或者,向设计用户发出提醒消息。
5.如权利要求1至4任一项所述的方法,其特征在于,还包括根据表结构信息反映的映射关系为使用者在数据库表存取数据。
6.一种存储多个自定义字段的***,其特征在于,包括:
预处理模块,用于定义具有N个数据列的数据库表和表结构信息,所述数据库表N个数据列的数据类型的种类包括{Χ1,Χ2,…,Χm},且每种数据类型的数据列数量为{Y1,Y2,…,Ym},即Y1+Y2+…+Ym=N,其中,数据类型的种类互异,m≤N;
设计模块,用于设计用户自定义数据字段名称和指定数据类型;
映射模块,用于将设计用户的自定义数据字段名称和指定数据类型作为参数值传递至映射函数;
定义模块,用于根据映射规则,为设计用户定义第一数据字段名称和第一数据类型,以及为设计用户定义第二数据字段名称和第二数据类型,所述映射规则包括:
根据第一数据类型,在表结构信息中查找到对应的数据类型Xi的数据列信息,其中1≤i≤m;
根据第二数据类型,在表结构信息中查找到对应的数据类型Xj的数据列信息,其中1≤j≤m;
i≠j时,第一数据类型不同于第二数据类型,将第一数据字段名称存储至Xi在表结构信息中对应的数据列,将第二数据字段名称存储至Xj在表结构信息中对应的数据列;
i=j时,第一数据类型和第二数据类型相同,将第一数据字段名称和第二数据字段名称依次存储至Xi在表结构信息中对应的数据列。
7.如权利要求6所述的***,其特征在于,还包括检测模块,用于检测可自定义数据类型Xi,Xj的数据列数量是否达到阀值条件,如果达到则触发预警机制。
8.如权利要求7所述的***,其特征在于,所述阀值条件是指可自定义数据类型的数据列数量达到某一限值,或者,没有对应的可自定义的数据类型。
9.如权利要求7所述的***,其特征在于,所述预警机制包括:
按照预先设定的每次可增加的数据列数量,动态新增达到阀值的数据类型的数据列数量,或者,向设计用户发出提醒消息。
10.如权利要求5至9任一项所述的***,其特征在于,还包括数据存取模块,根据表结构信息反映的映射关系为使用者在数据库表存取数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410276834.5A CN105302814A (zh) | 2014-06-20 | 2014-06-20 | 一种存储多个自定义字段的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410276834.5A CN105302814A (zh) | 2014-06-20 | 2014-06-20 | 一种存储多个自定义字段的方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105302814A true CN105302814A (zh) | 2016-02-03 |
Family
ID=55200090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410276834.5A Pending CN105302814A (zh) | 2014-06-20 | 2014-06-20 | 一种存储多个自定义字段的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105302814A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528810A (zh) * | 2016-11-18 | 2017-03-22 | 党玉龙 | 一种融合异构数据便于快速大数据分析的方法 |
CN110069486A (zh) * | 2017-09-27 | 2019-07-30 | 北京国双科技有限公司 | 一种存储自定义参数的方法及装置 |
CN110417863A (zh) * | 2019-06-27 | 2019-11-05 | 华为技术有限公司 | 生成身份识别码的方法和装置、身份认证的方法和装置 |
CN111061742A (zh) * | 2019-12-25 | 2020-04-24 | 北京数起科技有限公司 | 用于标记数据的方法、装置及其服务*** |
CN112835886A (zh) * | 2019-11-25 | 2021-05-25 | 浙江大搜车软件技术有限公司 | 数据表字段添加方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101120337A (zh) * | 2004-04-02 | 2008-02-06 | 易享信息技术(上海)有限公司 | 多租户数据库***中的自定义实体和字段 |
CN101739453A (zh) * | 2009-12-17 | 2010-06-16 | 中国电力科学研究院 | 一种对数据库表进行条件查询的方法及装置 |
CN101763283A (zh) * | 2010-01-26 | 2010-06-30 | 上海交通大学 | 网格环境下的补偿事务自动产生方法 |
CN102004953A (zh) * | 2010-11-09 | 2011-04-06 | 浪潮集团山东通用软件有限公司 | 多维度全面预算的实现方法 |
CN102779040A (zh) * | 2012-06-21 | 2012-11-14 | 东莞市微模式软件有限公司 | 一种生成自定义表单的方法和装置 |
CN103077185A (zh) * | 2012-12-18 | 2013-05-01 | 厦门雅迅网络股份有限公司 | 一种基于对象的自定义扩展信息的方法 |
CN103164323A (zh) * | 2011-12-09 | 2013-06-19 | 深圳市腾讯计算机***有限公司 | 数据自动生成方法以及数据自动生成*** |
CN103631570A (zh) * | 2012-08-21 | 2014-03-12 | 镇江雅迅软件有限责任公司 | 一种表单自定义方法 |
-
2014
- 2014-06-20 CN CN201410276834.5A patent/CN105302814A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101120337A (zh) * | 2004-04-02 | 2008-02-06 | 易享信息技术(上海)有限公司 | 多租户数据库***中的自定义实体和字段 |
CN101777057A (zh) * | 2004-04-02 | 2010-07-14 | 易享信息技术(上海)有限公司 | 多租户数据库***中为多个租户存储自定义字段的方法和*** |
CN101739453A (zh) * | 2009-12-17 | 2010-06-16 | 中国电力科学研究院 | 一种对数据库表进行条件查询的方法及装置 |
CN101763283A (zh) * | 2010-01-26 | 2010-06-30 | 上海交通大学 | 网格环境下的补偿事务自动产生方法 |
CN102004953A (zh) * | 2010-11-09 | 2011-04-06 | 浪潮集团山东通用软件有限公司 | 多维度全面预算的实现方法 |
CN103164323A (zh) * | 2011-12-09 | 2013-06-19 | 深圳市腾讯计算机***有限公司 | 数据自动生成方法以及数据自动生成*** |
CN102779040A (zh) * | 2012-06-21 | 2012-11-14 | 东莞市微模式软件有限公司 | 一种生成自定义表单的方法和装置 |
CN103631570A (zh) * | 2012-08-21 | 2014-03-12 | 镇江雅迅软件有限责任公司 | 一种表单自定义方法 |
CN103077185A (zh) * | 2012-12-18 | 2013-05-01 | 厦门雅迅网络股份有限公司 | 一种基于对象的自定义扩展信息的方法 |
Non-Patent Citations (1)
Title |
---|
李洪波: "多租户环境下的数据存储模式和映射机制研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528810A (zh) * | 2016-11-18 | 2017-03-22 | 党玉龙 | 一种融合异构数据便于快速大数据分析的方法 |
CN110069486A (zh) * | 2017-09-27 | 2019-07-30 | 北京国双科技有限公司 | 一种存储自定义参数的方法及装置 |
CN110417863A (zh) * | 2019-06-27 | 2019-11-05 | 华为技术有限公司 | 生成身份识别码的方法和装置、身份认证的方法和装置 |
CN110417863B (zh) * | 2019-06-27 | 2021-01-29 | 华为技术有限公司 | 生成身份识别码的方法和装置、身份认证的方法和装置 |
CN112835886A (zh) * | 2019-11-25 | 2021-05-25 | 浙江大搜车软件技术有限公司 | 数据表字段添加方法和装置 |
CN111061742A (zh) * | 2019-12-25 | 2020-04-24 | 北京数起科技有限公司 | 用于标记数据的方法、装置及其服务*** |
CN111061742B (zh) * | 2019-12-25 | 2021-01-12 | 北京数起科技有限公司 | 用于标记数据的方法、装置及其服务*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107402988B (zh) | 一种分布式NewSQL数据库***和半结构化数据查询方法 | |
US11615142B2 (en) | Mapping and query service between object oriented programming objects and deep key-value data stores | |
US20230334030A1 (en) | System and method for slowly changing dimension and metadata versioning in a multidimensional database environment | |
CN101876983B (zh) | 数据库分区方法与*** | |
US11263212B1 (en) | Dynamic partition selection | |
CN105302814A (zh) | 一种存储多个自定义字段的方法和*** | |
CN107229718B (zh) | 处理报表数据的方法和装置 | |
US20150363435A1 (en) | Declarative Virtual Data Model Management | |
US8631032B2 (en) | Mechanisms to persist hierarchical object relations | |
CN105488574A (zh) | 一种基于移动设备的可回收废品收集*** | |
US10762068B2 (en) | Virtual columns to expose row specific details for query execution in column store databases | |
CN107103011B (zh) | 终端数据搜索的实现方法和装置 | |
US20190026386A1 (en) | Method and apparatus for converting from a source database system to a destination database system | |
CN102591960A (zh) | 农业经济电子地图数据服务接口方法 | |
CN104714974A (zh) | 一种查询语句解析与再处理的方法和装置 | |
CN104317964A (zh) | 一种基于iBatis的对象关系映射方法及*** | |
CN103559243A (zh) | 一种在移动设备中基于标签搜索用户的方法及*** | |
CN112905600A (zh) | 数据查询方法、装置和存储介质及电子设备 | |
US11023465B2 (en) | Cross-asset data modeling in multi-asset databases | |
CN102103611A (zh) | 一种信息存储、或读取的方法及装置 | |
Mondal et al. | Efficient indexing of top-k entities in systems of engagement with extensions for geo-tagged entities | |
US20180075006A1 (en) | System and method for logical identification of differences between spreadsheets | |
Lee et al. | Supporting efficient distributed skyline computation using skyline views | |
CN110457341B (zh) | 数据聚合方法、装置、计算机设备及存储介质 | |
CN108363722B (zh) | 一种煤矿数据存储方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160203 |