CN108763341B - 电子装置、自动化建表方法及存储介质 - Google Patents
电子装置、自动化建表方法及存储介质 Download PDFInfo
- Publication number
- CN108763341B CN108763341B CN201810457266.7A CN201810457266A CN108763341B CN 108763341 B CN108763341 B CN 108763341B CN 201810457266 A CN201810457266 A CN 201810457266A CN 108763341 B CN108763341 B CN 108763341B
- Authority
- CN
- China
- Prior art keywords
- field
- building
- length threshold
- primary key
- fields
- 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.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种电子装置、自动化建表方法及存储介质,首先从接收到的建表指令中,获取用户所需的建表信息,所述建表信息包括表的字段,表的名称,以及表的类型;然后比较所述表的字段与预定义的第一字段长度阈值的大小;若所述表的字段小于或等于所述第一字段长度阈值,则根据预先存储的表的类型与建表模板之间的映射关系,确定与建表信息中的表的类型相匹配的建表模板;再将建表信息中表的字段、表的名称、以及表的类型分别代入所述相匹配的建表模板,自动完成建表。提高建表效率的同时降低了出错风险。
Description
技术领域
本发明涉及数据库及操作***建表领域,尤其涉及一种电子装置、自动化建表方法及存储介质。
背景技术
在数据库中,表(TABLE)是数据库中用来存储数据的对象,是有结构的数据的集合,是整个数据库***的基础。在操作***中,创建表是指在存储管理中,***会为每个进程建立一张映射表。通常,创建表主要是为了实现虚拟地址和实地址之间的转换,即地址变换和检查存储空间的使用情况。例如,在基本分页存储管理方式中,创建表是页表;在基本分段存储管理方式中,创建表是段表。
目前,创建表主要依靠相关专业人员手动编写建表语句,以及手动编写建表过程中对应的实体类代码,存在建表效率低下,且容易出错的问题。
发明内容
有鉴于此,本发明提出一种电子装置、自动化建表方法及存储介质,能够在提高建表效率的情况下,降低出错率。
首先,为实现上述目的,本发明提出一种电子装置,所述电子装置包括存储器、及与所述存储器连接的处理器,所述处理器用于执行所述存储器上存储的自动化建表程序,所述自动化建表程序被所述处理器执行时实现如下步骤:
A10、从接收到的建表指令中,获取用户所需的建表信息,所述建表信息包括表的字段、表的名称、以及表的类型;
A20、比较所述表的字段与预定义的第一字段长度阈值的大小;
A30、若所述表的字段小于或等于所述第一字段长度阈值,则根据预先存储的表的类型与建表模板之间的映射关系,确定与建表信息中的表的类型相匹配的建表模板;
A40、将建表信息中表的字段、表的名称、以及表的类型分别代入所述相匹配的建表模板,自动完成建表。
优选地,所述步骤A30还包括如下步骤:
若所述表的字段大于所述第一字段长度阈值,则向预先确定的终端发送修改建表字段长度的指令。
优选地,所述建表信息还包括主键;所述步骤A20还包括如下步骤:
比较所述主键的长度与预定义的第二字段长度阈值之间的大小。
优选地,所述步骤A30可替换为如下步骤:
若所述主键的长度小于或者等于所述第二字段长度阈值,且若所述表的字段小于或等于所述第一字段长度阈值,则根据预先存储的表的类型与建表模板之间的映射关系,确定与建表信息中的表的类型相匹配的建表模板。
若所述主键的长度大于所述第二字段长度阈值,或者,若所述表的字段大于所述第一字段长度阈值,则向预先确定的终端发送修改所述主键的长度的指令。
优选地,所述建表信息还包括索引,所述索引用于对数据库表中一列或多列的值进行排序。
此外,本申请还提出一种自动化建表方法,所述方法包括如下步骤:
S100、从接收到的建表指令中,获取用户所需的建表信息,所述建表信息包括表的字段、表的名称、以及表的类型;
S200、比较所述表的字段与预定义的第一字段长度阈值的大小;
S300、若所述表的字段小于或等于所述第一字段长度阈值,则根据预先存储的表的类型与建表模板之间的映射关系,确定与建表信息中的表的类型相匹配的建表模板;
S400、将建表信息中表的字段、表的名称、以及表的类型分别代入所述相匹配的建表模板,自动完成建表。
优选地,所述步骤S300还包括如下步骤:
若所述表的字段大于所述第一字段长度阈值,则向预先确定的终端发送修改建表字段长度的指令。
优选地,所述建表信息还包括主键;所述步骤S200还包括如下步骤:
比较所述主键的长度与预定义的第二字段长度阈值之间的大小。
优选地,所述步骤S300可替换为如下步骤:
若所述主键的长度小于或者等于所述第二字段长度阈值,且若所述表的字段小于或等于所述第一字段长度阈值,则根据预先存储的表的类型与建表模板之间的映射关系,确定与建表信息中的表的类型相匹配的建表模板。
若所述主键的长度大于所述第二字段长度阈值,或者,若所述表的字段大于所述第一字段长度阈值,则向预先确定的终端发送修改所述主键的长度的指令。
此外,一种计算机可读存储介质,所述计算机可读存储介质存储有自动化建表程序,所述自动化建表程序可被至少一个处理器执行,以使所述至少一个处理器执行如上所述的自动化建表方法的步骤。
相较于现有技术,本发明所提出的电子装置、自动化建表方法及存储介质,首先从接收到的建表指令中,获取用户所需的建表信息,所述建表信息包括表的字段,表的名称,以及表的类型;然后比较所述表的字段与预定义的第一字段长度阈值的大小;若所述表的字段小于或等于所述第一字段长度阈值,则根据预先存储的表的类型与建表模板之间的映射关系,确定与建表信息中的表的类型相匹配的建表模板;再将建表信息中表的字段、表的名称、以及表的类型分别代入所述相匹配的建表模板,自动完成建表。提高建表效率的同时降低了出错风险。
附图说明
图1是本发明提出的电子装置一可选的硬件架构的示意图;
图2是本发明电子装置一实施例中自动化建表程序的程序模块示意图;
图3是本发明自动化建表方法较佳实施例的实施流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明提出的电子装置一可选的硬件架构示意图。本实施例中,电子装置10可包括,但不仅限于,可通过通信总线14相互通信连接存储器11、处理器12、网络接口13。需要指出的是,图1仅示出了具有组件11-14的电子装置10,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,存储器11至少包括一种类型的计算机可读存储介质,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器11可以是电子装置10的内部存储单元,例如电子装置10的硬盘或内存。在另一些实施例中,存储器11也可以是电子装置10的外包存储设备,例如电子装置10上配备的插接式硬盘,智能存储卡(SmartMedia Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。当然,存储器11还可以既包括电子装置10的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于电子装置10的操作***和各类应用软件,例如自动化建表程序等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。处理器12通常用于控制电子装置10的总体操作。本实施例中,处理器12用于运行存储器11中存储的程序代码或者处理数据,例如运行的自动化建表程序等。
网络接口13可包括无线网络接口或有线网络接口,网络接口13通常用于在电子装置10与其他电子设备之间建立通信连接。
通信总线14用于实现组件11-13之间的通信连接。
图1仅示出了具有组件11-14以及自动化建表程序的电子装置10,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,电子装置10还可以包括用户接口(图1中未示出),用户接口可以包括显示器、输入单元比如键盘,其中,用户接口还可以包括标准的有线接口、无线接口等。
可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED触摸器等。进一步地,显示器也可称为显示屏或显示单元,用于显示在电子装置10中处理信息以及用于显示可视化的用户界面。
在一实施例中,存储器11中存储的自动化建表程序被处理器12执行时,实现如下操作:
A10、从接收到的建表指令中,获取用户所需的建表信息,其中,建表信息包括表的字段、表的名称、以及表的类型。
具体地,用户在需要建表时,可以通过预先生成的建表操作界面发送建表指令。其中,预先生成的建表操作界面包括第一输入框,第一选择项,以及第二选择项;
具体地,第一输入框用于供用户根据所建表的类型及作用选择输入表的字段、表的名称、表的类型等;具体地,表的字段指的是用来存放数据的一个列名;比如一个班级有3个学生(小张,小李,小王),若班级代表的是表的名称,那么他们的名字就是字段,表里有3个字段,然后各个字段名称后面分别对应有各自的属性,例如你给他们分别几个苹果,则苹果以及苹果的个数就相当于是字段的属性,字段的属性就相当于存放在字段里数据的属性;
表的名称可以根据开发项目的需要由开发者自行定义,而常用的表的类型包括页表、段表、文件分配表、文件存储空间中的表等。
其中,页表指的是在分页***中,允许将进程的各个页离散地存储在内存不同的物理块中,但***应能保证进程的正确运行,即能在内存中找到每个页面所对应的物理块。为此,***又为每个进程建立了一张页面映像表,简称页表。段表指的是在分段式存储管理***中,为每个分段分配一个连续的分区,而进程中的各个段可以离散地移入内存中不同的分区中。为使程序能正常运行,亦即,能使程序从物理内存中找出每个逻辑段所对应的位置,应像分页***那样,在***中为每个进程建立一张段映射表,简称“段表” 。文件分配表指的是DOS用于记录磁盘中各文件存放位置的一种工具。一个文件通常以簇为单位存放在磁盘中。文件的FAT中含有若干表项,每一表项都记录了其后继簇的位置,这样,只要从文件目录表中找到一个文件的首簇的地址,顺着FAT各个表项所形成的链进行跟踪,就可以读出整个的文件。FAT是提供在磁盘上找到一个文件的唯一手段,也是病毒最爱潜伏的地方,DOS生成并保持两份FAT,以防止其中一份遭到破坏。
第一选择框用于供用户选择是否输入主键,并在用户选择是之后,生成第二输入框;需要说明的是,数据库中,主键虽然不是必须的,但是通常都会为每个表设置一个主键,这是由于主键能够保证实体的完整性,以及加快数据库的操作速度;在表中添加新记录时,数据库会自动检查新记录的主键值,不允许该值与其他记录的主键值重复,以及数据库自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。具体地,主键包括单主键和复合主键,主键是表结构的一部分,只有设置了主键的表结构才是完整的表结构。在通常建表的过程中,需要确定主键,且单主键指的是一个列,复合主键指的是多列的组合,不管是单主键还是复合主键,其值都需要能唯一地标识表中的每一行,通过主键可强制表的实体完整性。当创建或更改表时可通过定义PRIMARY KEY约束来创建主键。一个表只能有一个PRIMARY KEY约束,且PRIMARYKEY约束中的列不能接受空值。因此,当第一输入框中输入的字段能够唯一地标识表中的每一行时,该字段可以作为主键。
进一步地,主键约束(PRIMARY KEY)指的是主键的功能以及属性,例如主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键;主键是不可能(或很难)更新;主键列上没有任何两行具有相同值(即重复值),不允许空(NULL);主键可作外键等均可以叫做主键约束。
第二选择项用于供用户选择所述主键的约束是否为空,并在用户选择否之后,生成第三输入框,供用户输入约束。
优选地,用户的建表信息包括表的字段、名称、类型;可以理解地,在用户选择输入主键以及主键的约束的情况下,用户的建表信息还包括主键及主键的约束。
A20、比较表的字段与预定义的第一字段长度阈值的大小;
优选地,若用户的建表信息还包括主键及主键的约束,则还需要比较主键的长度与预定义的第二字段长度阈值之间的大小。
进一步地,若需要建立的表的字段大于预定义的第一字段长度阈值,则向预先确定的终端发送修改建表字段长度的指令。
优选地,在一些开发过程中,建表的信息还包括索引,索引是对数据库表中一列或多列的值进行排序的一种结构,只有当经常查询索引列中的数据时,才需要在表上创建索引,使用索引可快速访问数据库表中的特定信息。索引占用磁盘空间,并且降低添加、删除和更新行的速度。当然索引也具有查询速度快的优点,因此在选择是否使用索引时需要结合具体情况而定。比如:一个学生表(t_stu )有1000条数据,给该学生表的id列建个主键和索引,若需要查询id=1000的这条信息,如果没有索引,就需要一条一条的比对查找,***运行1000次才可能找到,若是创建了索引,你查询id=1000的这条信息,***只运行一次就找到了。因此,索引的创建需要用户根据表的实际长度来决定。若确定需要建立索引,通常索引可以建在主键上,也可以建在其他外键上,而索引建在主键上就是唯一索引,但是唯一索引不一定建在主键上。
A30、若所述表的字段小于或等于所述第一字段长度阈值,则根据预先存储的表的类型与建表模板之间的映射关系,确定与建表信息中的表的类型相匹配的建表模板;
进一步地,在其他一些实施例中,若建表信息还包括主键,则需要比较主键的长度与预定义的第二字段长度阈值之间的大小,若所述主键的长度小于或者等于所述第二字段长度阈值,且若所述表的字段小于或等于所述第一字段长度阈值,则根据预先存储的表的类型与建表模板之间的映射关系,确定与建表信息中的表的类型相匹配的建表模板。
若所述主键的长度大于所述第二字段长度阈值,或者,若所述表的字段大于所述第一字段长度阈值,则向预先确定的终端发送修改所述主键的长度的指令。
可以理解的是,同一类别的表具有相同的建表模板,而建表模板中通常除了常用的建表语句之外,需要确定建表的字段、主键,在有索引的情况下,还需要确定建表的索引。
A40、将建表信息中表的字段、表的名称、以及表的类型分别代入所述相匹配的建表模板,自动完成建表。
需要说的是,自动完成建表之后,会生成两个文件,一个是数据库sql语句,另一个是java实体类代码。Sql语句包含创建表名称,创建表的主键,约束,索引,授权等内容;java实体类包含对应的属性和方法。
由上述实施例可知,本发明提出的电子装置,通过首先从接收到的建表指令中,获取用户所需的建表信息,所述建表信息包括表的字段,表的名称,以及表的类型;然后比较所述表的字段与预定义的第一字段长度阈值的大小;若所述表的字段小于或等于所述第一字段长度阈值,则根据预先存储的表的类型与建表模板之间的映射关系,确定与建表信息中的表的类型相匹配的建表模板;再将建表信息中表的字段、表的名称、以及表的类型分别代入所述相匹配的建表模板,自动完成建表。提高建表效率的同时降低了出错风险。
进一步需要说明的是,本发明的自动化建表程序依据其各部分所实现的功能不同,可用具有相同功能的程序模块进行描述。请参阅图2所示,是本发明电子装置一实施例中自动化建表程序的程序模块示意图。本实施例中,自动化建表程序依据其各部分所实现的功能的不同,可以被分割成获取模块201、比较模块202、确定模块203、建表模块204。由上面的描述可知,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述自动化建表程序在电子装置10中的执行过程。所述模块201-204所实现的功能或操作步骤均与上文类似,此处不再详述,示例性地,例如其中:
获取模块201用于从接收到的建表指令中,获取用户所需的建表信息,所述建表信息包括表的字段、表的名称、以及表的类型;
比较模块202用于比较所述表的字段与预定义的第一字段长度阈值的大小;
确定模块203用于在若所述表的字段小于或等于所述第一字段长度阈值,则根据预先存储的表的类型与建表模板之间的映射关系,确定与建表信息中的表的类型相匹配的建表模板;
建表模块204用于将建表信息中表的字段、表的名称、以及表的类型分别代入所述相匹配的建表模板,自动完成建表。
此外,本发明还提出一种自动化建表方法,请参阅图3所示,所述自动化建表方法包括如下步骤:
S100、从接收到的建表指令中,获取用户所需的建表信息,其中,建表信息包括表的字段、表的名称、以及表的类型。
具体地,用户在需要建表时,可以通过预先生成的建表操作界面发送建表指令。其中,预先生成的建表操作界面包括第一输入框,第一选择项,以及第二选择项;
具体地,第一输入框用于供用户根据所建表的类型及作用选择输入表的字段、表的名称、表的类型等;具体地,表的字段指的是用来存放数据的一个列名;比如一个班级有3个学生(小张,小李,小王),若班级代表的是表的名称,那么他们的名字就是字段,表里有3个字段,然后各个字段名称后面分别对应有各自的属性,例如你给他们分别几个苹果,则苹果以及苹果的个数就相当于是字段的属性,字段的属性就相当于存放在字段里数据的属性;
表的名称可以根据开发项目的需要由开发者自行定义,而常用的表的类型包括页表、段表、文件分配表、文件存储空间中的表等。
其中,页表指的是在分页***中,允许将进程的各个页离散地存储在内存不同的物理块中,但***应能保证进程的正确运行,即能在内存中找到每个页面所对应的物理块。为此,***又为每个进程建立了一张页面映像表,简称页表。段表指的是在分段式存储管理***中,为每个分段分配一个连续的分区,而进程中的各个段可以离散地移入内存中不同的分区中。为使程序能正常运行,亦即,能使程序从物理内存中找出每个逻辑段所对应的位置,应像分页***那样,在***中为每个进程建立一张段映射表,简称“段表” 。文件分配表指的是DOS用于记录磁盘中各文件存放位置的一种工具。一个文件通常以簇为单位存放在磁盘中。文件的FAT中含有若干表项,每一表项都记录了其后继簇的位置,这样,只要从文件目录表中找到一个文件的首簇的地址,顺着FAT各个表项所形成的链进行跟踪,就可以读出整个的文件。FAT是提供在磁盘上找到一个文件的唯一手段,也是病毒最爱潜伏的地方,DOS生成并保持两份FAT,以防止其中一份遭到破坏。
第一选择框用于供用户选择是否输入主键,并在用户选择是之后,生成第二输入框;需要说明的是,数据库中,主键虽然不是必须的,但是通常都会为每个表设置一个主键,这是由于主键能够保证实体的完整性,以及加快数据库的操作速度;在表中添加新记录时,数据库会自动检查新记录的主键值,不允许该值与其他记录的主键值重复,以及数据库自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。具体地,主键包括单主键和复合主键,主键是表结构的一部分,只有设置了主键的表结构才是完整的表结构。在通常建表的过程中,需要确定主键,且单主键指的是一个列,复合主键指的是多列的组合,不管是单主键还是复合主键,其值都需要能唯一地标识表中的每一行,通过主键可强制表的实体完整性。当创建或更改表时可通过定义PRIMARYKEY约束来创建主键。一个表只能有一个PRIMARY KEY约束,且PRIMARY KEY约束中的列不能接受空值。因此,当第一输入框中输入的字段能够唯一地标识表中的每一行时,该字段可以作为主键。
进一步地,主键约束(PRIMARY KEY)指的是主键的功能以及属性,例如主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键;主键是不可能(或很难)更新;主键列上没有任何两行具有相同值(即重复值),不允许空(NULL);主键可作外键等均可以叫做主键约束。
第二选择项用于供用户选择所述主键的约束是否为空,并在用户选择否之后,生成第三输入框,供用户输入约束。
优选地,用户的建表信息包括表的字段、名称、类型;可以理解地,在用户选择输入主键以及主键的约束的情况下,用户的建表信息还包括主键及主键的约束。
S200、比较表的字段与预定义的第一字段长度阈值的大小;
优选地,若用户的建表信息还包括主键及主键的约束,则还需要比较主键的长度与预定义的第二字段长度阈值之间的大小。
进一步地,若需要建立的表的字段大于预定义的第一字段长度阈值,则向预先确定的终端发送修改建表字段长度的指令。
优选地,在一些开发过程中,建表的信息还包括索引,索引是对数据库表中一列或多列的值进行排序的一种结构,只有当经常查询索引列中的数据时,才需要在表上创建索引,使用索引可快速访问数据库表中的特定信息。索引占用磁盘空间,并且降低添加、删除和更新行的速度。当然索引也具有查询速度快的优点,因此在选择是否使用索引时需要结合具体情况而定。比如:一个学生表(t_stu )有1000条数据,给该学生表的id列建个主键和索引,若需要查询id=1000的这条信息,如果没有索引,就需要一条一条的比对查找,***运行1000次才可能找到,若是创建了索引,你查询id=1000的这条信息,***只运行一次就找到了。因此,索引的创建需要用户根据表的实际长度来决定。若确定需要建立索引,通常索引可以建在主键上,也可以建在其他外键上,而索引建在主键上就是唯一索引,但是唯一索引不一定建在主键上。
S300、若所述表的字段小于或等于所述第一字段长度阈值,则根据预先存储的表的类型与建表模板之间的映射关系,确定与建表信息中的表的类型相匹配的建表模板;
进一步地,在其他一些实施例中,若建表信息还包括主键,则需要比较主键的长度与预定义的第二字段长度阈值之间的大小,若所述主键的长度小于或者等于所述第二字段长度阈值,且若所述表的字段小于或等于所述第一字段长度阈值,则根据预先存储的表的类型与建表模板之间的映射关系,确定与建表信息中的表的类型相匹配的建表模板。
若所述主键的长度大于所述第二字段长度阈值,或者,若所述表的字段大于所述第一字段长度阈值,则向预先确定的终端发送修改所述主键的长度的指令。
可以理解的是,同一类别的表具有相同的建表模板,而建表模板中通常除了常用的建表语句之外,需要确定建表的字段、主键,在有索引的情况下,还需要确定建表的索引。
S400、将建表信息中表的字段、表的名称、以及表的类型分别代入所述相匹配的建表模板,自动完成建表。
需要说的是,自动完成建表之后,会生成两个文件,一个是数据库sql语句,另一个是java实体类代码。Sql语句包含创建表名称,创建表的主键,约束,索引,授权等内容;java实体类包含对应的属性和方法。
由上述实施例可知,本发明提出的自动化建表方法,通过首先从接收到的建表指令中,获取用户所需的建表信息,所述建表信息包括表的字段,表的名称,以及表的类型;然后比较所述表的字段与预定义的第一字段长度阈值的大小;若所述表的字段小于或等于所述第一字段长度阈值,则根据预先存储的表的类型与建表模板之间的映射关系,确定与建表信息中的表的类型相匹配的建表模板;再将建表信息中表的字段、表的名称、以及表的类型分别代入所述相匹配的建表模板,自动完成建表。提高建表效率的同时降低了出错风险。
此外,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有自动化建表程序,所述自动化建表程序被处理器执行时实现如下操作:
从接收到的建表指令中,获取用户所需的建表信息,所述建表信息包括表的字段、表的名称、以及表的类型;
比较所述表的字段与预定义的第一字段长度阈值的大小;
若所述表的字段小于或等于所述第一字段长度阈值,则根据预先存储的表的类型与建表模板之间的映射关系,确定与建表信息中的表的类型相匹配的建表模板;
将建表信息中表的字段、表的名称、以及表的类型分别代入所述相匹配的建表模板,自动完成建表。
本发明计算机可读存储介质具体实施方式与上述电子装置以及自动化建表方法各实施例基本相同,在此不作累述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种电子装置,其特征在于,所述电子装置包括存储器、及与所述存储器连接的处理器,所述处理器用于执行所述存储器上存储的自动化建表程序,所述自动化建表程序被所述处理器执行时实现如下步骤:
A10、从接收到的建表指令中,获取用户所需的建表信息以及用户输入的主键,所述建表信息包括表的字段、表的名称、以及表的类型;
A20、比较所述表的字段与预定义的第一字段长度阈值的大小,并比较主键的长度与预定义的第二字段长度阈值之间的大小;
A30、若所述表的字段小于或等于所述第一字段长度阈值,且所述主键的长度小于或等于所述第二字段长度阈值,则根据预先存储的表的类型与建表模板之间的映射关系,确定与建表信息中的表的类型相匹配的建表模板;
A40、将建表信息中表的字段、表的名称、以及表的类型分别代入所述相匹配的建表模板,自动完成建表。
2.如权利要求1所述的电子装置,其特征在于,所述步骤A30还包括如下步骤:
若所述表的字段大于所述第一字段长度阈值,则向预先确定的终端发送修改建表字段长度的指令。
3.如权利要求1所述的电子装置,其特征在于,所述步骤A30还包括如下步骤:
若所述主键的长度大于所述第二字段长度阈值,或者,若所述表的字段大于所述第一字段长度阈值,则向预先确定的终端发送修改所述主键的长度的指令。
4.如权利要求1-3任一项所述的电子装置,其特征在于,所述建表信息还包括索引,所述索引用于对数据库表中一列或多列的值进行排序。
5.一种自动化建表方法,其特征在于,所述方法包括如下步骤:
S100、从接收到的建表指令中,获取用户所需的建表信息以及用户输入的主键,所述建表信息包括表的字段、表的名称、以及表的类型;
S200、比较所述表的字段与预定义的第一字段长度阈值的大小,并比较主键的长度与预定义的第二字段长度阈值之间的大小;
S300、若所述表的字段小于或等于所述第一字段长度阈值,且所述主键的长度小于或等于所述第二字段长度阈值,则根据预先存储的表的类型与建表模板之间的映射关系,确定与建表信息中的表的类型相匹配的建表模板;
S400、将建表信息中表的字段、表的名称、以及表的类型分别代入所述相匹配的建表模板,自动完成建表。
6.如权利要求5所述的自动化建表方法,其特征在于,所述步骤S300还包括如下步骤:
若所述表的字段大于所述第一字段长度阈值,则向预先确定的终端发送修改建表字段长度的指令。
7.如权利要求5所述的自动化建表方法,其特征在于,所述步骤S300还包括如下步骤:
若所述主键的长度大于所述第二字段长度阈值,或者,若所述表的字段大于所述第一字段长度阈值,则向预先确定的终端发送修改所述主键的长度的指令。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有自动化建表程序,所述自动化建表程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求5-7中任一项所述的自动化建表方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810457266.7A CN108763341B (zh) | 2018-05-14 | 2018-05-14 | 电子装置、自动化建表方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810457266.7A CN108763341B (zh) | 2018-05-14 | 2018-05-14 | 电子装置、自动化建表方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108763341A CN108763341A (zh) | 2018-11-06 |
CN108763341B true CN108763341B (zh) | 2023-07-25 |
Family
ID=64006782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810457266.7A Active CN108763341B (zh) | 2018-05-14 | 2018-05-14 | 电子装置、自动化建表方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108763341B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532273A (zh) * | 2019-08-30 | 2019-12-03 | 北京明略软件***有限公司 | 数据表的处理方法及装置、存储介质、电子装置 |
CN110851520A (zh) * | 2019-11-19 | 2020-02-28 | 中国银行股份有限公司 | 数据加载方法及*** |
CN111191430B (zh) * | 2019-12-27 | 2023-02-14 | 中国平安财产保险股份有限公司 | 自动建表方法、装置、计算机设备和存储介质 |
CN112558952A (zh) * | 2020-12-16 | 2021-03-26 | 中国平安人寿保险股份有限公司 | 程序语句生成方法、装置、计算机设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7801886B1 (en) * | 2006-10-10 | 2010-09-21 | Intuit Inc. | Method and apparatus for performing database operations involving custom fields |
CN101957747A (zh) * | 2009-07-17 | 2011-01-26 | 浙江省公众信息产业有限公司 | 一种自定义表单的方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103135976B (zh) * | 2011-11-30 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 代码自动生成方法及装置 |
JP2013148953A (ja) * | 2012-01-17 | 2013-08-01 | Toshiba Corp | プログラムテンプレート自動生成プログラムおよびプログラムテンプレート自動生成装置 |
CN103995908A (zh) * | 2014-06-17 | 2014-08-20 | 山东中创软件工程股份有限公司 | 一种数据导入方法及装置 |
CN107766132B (zh) * | 2017-06-25 | 2019-03-15 | 平安科技(深圳)有限公司 | 多任务调度方法、应用服务器及计算机可读存储介质 |
-
2018
- 2018-05-14 CN CN201810457266.7A patent/CN108763341B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7801886B1 (en) * | 2006-10-10 | 2010-09-21 | Intuit Inc. | Method and apparatus for performing database operations involving custom fields |
CN101957747A (zh) * | 2009-07-17 | 2011-01-26 | 浙江省公众信息产业有限公司 | 一种自定义表单的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108763341A (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763341B (zh) | 电子装置、自动化建表方法及存储介质 | |
CN108388599B (zh) | 电子装置、数据迁移及调用方法及存储介质 | |
CN111400308B (zh) | 缓存数据的处理方法、电子装置及可读存储介质 | |
CN110795455A (zh) | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 | |
WO2020211236A1 (zh) | 基于b+树的读写冲突解决方法、装置及存储介质 | |
CN107679056B (zh) | 生成sql语句的方法、电子装置及可读存储介质 | |
CN110837366A (zh) | 一种表单生成方法、电子装置及计算机可读存储介质 | |
WO2019085463A1 (zh) | 部门需求的推荐方法、应用服务器及计算机可读存储介质 | |
CN111143368A (zh) | 一种关系型数据库数据对比方法及*** | |
WO2019071898A1 (zh) | 电子装置、数据库查询脚本生成方法及存储介质 | |
CN112860737B (zh) | 数据查询方法、装置、电子设备及可读存储介质 | |
CN110309496B (zh) | 数据汇总方法、电子装置及计算机可读存储介质 | |
CN111723077A (zh) | 数据字典维护方法、装置及计算机设备 | |
CN111159183A (zh) | 报表生成方法、电子装置及计算机可读存储介质 | |
CN114201615A (zh) | 基于数据快照的科研数据变动回顾方法及服务器 | |
CN115409008A (zh) | 图表生成方法、装置、电子设备及可读存储介质 | |
CN114610959B (zh) | 数据处理方法、装置、设备及存储介质 | |
US11556519B2 (en) | Ensuring integrity of records in a not only structured query language database | |
CN111858581A (zh) | 一种分页查询的方法、装置、存储介质和电子设备 | |
US9092472B1 (en) | Data merge based on logical segregation | |
CN112685078A (zh) | 接口文档生成与查询方法、装置及计算机可读存储介质 | |
CN113157890A (zh) | 智能问答方法、装置、电子设备及可读存储介质 | |
CN116438603A (zh) | 用于将基因组数据存储在包括信息元数据结构的文件结构中的方法和*** | |
CN113342822A (zh) | 基于多类型数据库的数据查询方法、装置、电子设备及介质 | |
US7996366B1 (en) | Method and system for identifying stale directories |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |