数据表的数据插入方法和装置制造方法

文档序号:6521479阅读:330来源:国知局
数据表的数据插入方法和装置制造方法
【专利摘要】本发明公开了一种数据表的数据插入方法和装置。其中,数据表的数据插入方法包括:接收数据插入指令,数据插入指令用于向数据表中插入数据,数据表为带有外键约束的数据表;获取数据表的外键信息;获取外键信息对应的禁用指令;通过外键信息对应的禁用指令禁用数据表的外键约束;以及基于数据插入指令在执行禁用之后的数据表中插入数据。通过本发明,达到了减小数据插入时间的效果。
【专利说明】数据表的数据插入方法和装置
【技术领域】
[0001]本发明涉及数据库领域,具体而言,涉及一种数据表的数据插入方法和装置。
【背景技术】
[0002]在数据库表的设计中,为了实现表之间数据的完整性,可以为列添加主键约束和外键约束,主键约束用于限定该列内容不能重复,且不能为空,外键约束用于限定该列值必须在所关联主键列的值中存在。通过主键约束和外键约束实现两个数据表之间相关联。当在带有外键约束的数据表中插入数据时,由于数据表带有外键约束,使得在执行数据插入操作时会去访问外键所引用的表,从而导致数据插入时间过长,消耗中央处理器(CPU)和内存的资源。
[0003]针对现有技术中在带有外键约束的数据表中数据插入时间过长的问题,目前尚未提出有效的解决方案。

【发明内容】

[0004]本发明的主要目的在于提供一种数据表的数据插入方法和装置,以解决现有技术中在带有外键约束的数据表中数据插入时间过长的问题。
[0005]为了实现上述目的,根据本发明的一个方面,提供了 一种数据表的数据插入方法。根据本发明的数据表的数据插入方法包括:接收数据插入指令,数据插入指令用于向数据表中插入数据,数据表为带有外键约束的数据表;获取数据表的外键信息;获取外键信息对应的禁用指令;通过外键信息对应的禁用指令禁用数据表的外键约束;以及基于数据插入指令在执行禁用之后的数据表中插入数据。
[0006]进一步地,获取数据表的外键信息包括:获取数据库系统的系统表,系统表为包含有数据库系统中外键信息的表;以及从系统表查找数据表的外键信息。
[0007]进一步地,获取数据表的外键信息包括:获取数据表的外键信息表,外键信息表包括多个外键信息,通过外键信息的禁用指令禁用数据表的外键约束包括:通过外键信息对应的禁用指令同时禁用外键信息表中所有外键信息的外键约束;或者通过外键信息对应的禁用指令依次禁用外键信息表中外键信息的外键约束。
[0008]进一步地,在基于数据插入指令在执行禁用之后的数据表中插入数据之后,数据插入方法还包括:获取外键信息对应的启用指令;以及通过外键信息对应的启用指令启用数据表的外键约束。
[0009]进一步地,通过外键信息对应的启用指令启用数据表的外键约束包括:通过外键信息对应的启用指令同时启用外键信息表中所有外键信息的外键约束;或者通过外键信息对应的启用指令依次启用外键信息表中外键信息的外键约束。
[0010]为了实现上述目的,根据本发明的另一方面,提供了一种数据表的数据插入装置。根据本发明的数据表的数据插入装置包括:接收单元,用于接收数据插入指令,数据插入指令用于向数据表中插入数据,数据表为带有外键约束的数据表;第一获取单元,用于获取数据表的外键信息;第二获取单元,用于获取外键信息对应的禁用指令;禁用单元,用于通过外键信息对应的禁用指令禁用数据表的外键约束;以及插入单元,用于基于数据插入指令在执行禁用之后的数据表中插入数据。
[0011]进一步地,第一获取单元包括:第一获取模块,用于获取数据库系统的系统表,系统表为包含有数据库系统中外键信息的表;以及查找模块,用于从系统表查找数据表的外键信息。
[0012]进一步地,第一获取单元包括:第二获取模块,用于获取数据表的外键信息表,夕卜键信息表包括多个外键信息,禁用单元包括:禁用模块,用于通过外键信息对应的禁用指令同时禁用外键信息表中所有外键信息的外键约束,或者用于通过外键信息对应的禁用指令依次禁用外键信息表中外键信息的外键约束。
[0013]进一步地,数据插入装置还包括:第三获取单元,用于在基于数据插入指令在执行禁用之后的数据表中插入数据之后,获取外键信息对应的启用指令;以及启用单元,用于通过外键信息对应的启用指令启用数据表的外键约束。
[0014]进一步地,启用单元包括:启用模块,用于通过外键信息对应的启用指令同时启用外键信息表中所有外键信息的外键约束,或者用于通过外键信息对应的启用指令依次启用外键信息表中外键信息的外键约束。
[0015]通过本发明,采用数据表的数据插入方法,通过在禁用带有外键约束的数据表的外接约束之后,再向数据表中插入数据,从而不需要在插入数据时访问外键索引用的表,而直接向数据表中插入数据,简化了数据插入的过程,减小数据插入的时间,解决了现有技术中在带有外键约束的数据表中数据插入时间过长的问题,进而达到了减小数据插入时间的效果。
【专利附图】

【附图说明】
[0016]构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0017]图1是根据本发明第一实施例的数据表的数据插入装置的结构示意图;
[0018]图2是根据本发明第二实施例的数据表的数据插入装置的结构示意图;
[0019]图3是根据本发明第三实施例的数据表的数据插入装置的结构示意图;
[0020]图4是根据本发明第一实施例的数据表的数据插入方法的流程图;
[0021]图5是根据本发明第二实施例的数据表的数据插入方法的流程图;
[0022]图6是根据本发明第三实施例的数据表的数据插入方法的流程图;以及
[0023]图7是根据本发明第四实施例的数据表的数据插入方法的流程图。
【具体实施方式】
[0024]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0025]为了使本【技术领域】的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0026]需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0027]本发明实施例提供了 一种数据表的数据插入装置,该装置可以通过计算机设备实现其功能。
[0028]图1是根据本发明第一实施例的数据表的数据插入装置的结构示意图。如图1所示,该数据表的数据插入装置包括:接收单元10、第一获取单元20、第二获取单元30、禁用单元40和插入单元50。
[0029]接收单元10用于接收数据插入指令,数据插入指令用于向数据表中插入数据,数据表为带有外键约束的数据表。
[0030]数据插入指令为向数据表中插入数据的指令,其中数据表可以是带有外键约束的数据表,可以是数据库中的任意一个带有外键约束的表。接收数据插入指令,可以通过数据插入指令向数据表中插入数据。
[0031]第一获取单元20用于获取数据表的外键信息。
[0032]在接受数据插入指令之后,可以是从数据库中获取需要插入数据的数据表,再以该数据表作为基础,获取与该数据表对应的外键信息。外键信息对应有外键约束功能,其中外键约束用于限定对应的列值必须存在于所关联的主键列中的值中,当数据表包含多个外键信息时,获取数据表所有的外键信息,也即是获取数据表对应的外键信息表。其中,外键信息可以是通过在数据库系统提供的系统表中查找带有外键约束的数据表所对应的外键信息表,系统表是数据库系统公开的用于帮助查询数据库对象基础数据的对象。通过查询系统表获取数据表对应的外键信息。
[0033]第二获取单元30用于获取外键信息对应的禁用指令。
[0034]禁用指令用于禁用外键约束,该禁用指令可以是用于禁用一个外键约束的指令,也可以是同时禁用所有外键约束的指令。外键信息对应的禁用指令用于禁用外键信息对应的数据表的外键约束,获取该禁用指令以便于禁用数据表的外键约束。
[0035]禁用单元40用于通过外键信息对应的禁用指令禁用数据表的外键约束。
[0036]在获取外键信息对应的禁用指令之后,可以通过外键信息对应的禁用指令禁用相应的数据表中的外键约束。当数据表只有一个外键时,可以获取该外键的外键信息,采用禁用一个外键约束的指令禁用该外键的外键约束;当数据表有多个外键时,通过获取数据表的外键信息表,可以采用禁用一个外键约束的指令逐一禁用外键信息表对应的外键约束,或者采用同时禁用所有外键约束的指令禁用外键信息表对应的所有外键约束。
[0037]插入单元50用于基于数据插入指令在执行禁用之后的数据表中插入数据。
[0038]在通过外键信息对应的禁用指令禁用数据表的外键约束之后,可以是基于接收到数据插入指令向带有外键约束的数据表中插入数据。由于此时向带有外键约束的数据表中插入数据,数据表的外键约束已经被禁用,因此,在向数据表中插入数据时,不需要访问外键所引用的表,从而优化了数据插入过程,直接向数据表中插入数据。
[0039]根据本发明实施例,通过在禁用带有外键约束的数据表的外接约束之后,再向数据表中插入数据,从而不需要在插入数据时访问外键索引用的表,而直接向数据表中插入数据,简化了数据插入的过程,减小数据插入的时间,解决了现有技术中在带有外键约束的数据表中数据插入时间过长的问题,进而达到了减小数据插入时间的效果。
[0040]图2是根据本发明第二实施例的数据表的数据插入装置的结构示意图。该实施例的数据表的数据插入装置可以作为上述实施例的数据表的数据插入装置的一种优选实施方式。如图2所示,该数据表的数据插入装置包括:接收单元10、第一获取单元20、第二获取单元30、禁用单元40和插入单元50,其中,第一获取单元20包括:第一获取模块201和查找模块202。第二获取单元30、禁用单元40和插入单元50与图1所示的第二获取单元30、禁用单元40和插入单元50功能相同,这里不作赘述。
[0041]第一获取模块201用于获取数据库系统的系统表,系统表为包含有数据库系统中外键信息的表。
[0042]系统表是数据库系统公开的用于帮助查询数据库对象基础数据的对象,从基础数据中可以查找到数据库中的所有外键信息。获取数据库系统的系统表,以便于从通过查询相应的数据库系统的系统表以获取外键信息表。
[0043]查找模块202用于从系统表查找数据表的外键信息。
[0044]从系统表查找到需要插入数据的数据表的外键信息,从而获取该外键信息,并将该外键信息返回,以便于禁用数据表的外键约束。
[0045]图3是根据本发明第三实施例的数据表的数据插入装置的结构示意图。该实施例的数据表的数据插入装置可以作为上述实施例的数据表的数据插入装置的一种优选实施方式。如图3所示,该数据表的数据插入装置包括:接收单元10、第一获取单元20、第二获取单元30、禁用单元40和插入单元50,其中,第一获取单元20包括第二获取模块203,禁用单元40包括禁用模块401。接收单元10、第二获取单元30和插入单元50与图1所示的接收单元10、第二获取单元30和插入单元50功能相同,这里不作赘述
[0046]第二获取模块203用于获取数据表的外键信息表,外键信息表包括多个外键信肩、O
[0047]数据库表可以包含有多个外键,获取数据表的外键信息表,可以是获取数据表所有外键的信息列表,在获取所有外键信息之后,通过禁用所有外键约束,从而达到减小数据插入时的内存占用和CPU的消耗。
[0048]禁用模块401用于通过外键信息对应的禁用指令同时禁用外键信息表中所有外键信息的外键约束。
[0049]在获取了外键信息对应的禁用指令之后,通过该禁用指令同时禁用外键信息表中所有的外键约束,从而达到对数据表的外键约束的禁用一步到位,避免逐一对外键约束进行禁用导致耗时过长的问题。
[0050]禁用模块401还可以用于通过外键信息对应的禁用指令依次禁用外键信息表中外键信息的外键约束。
[0051]获取外键信息对应的禁用指令之后,通过禁用指令对外键约束进行逐一禁用,从而避免遗漏一些外键,而导致外键约束的禁用不完全。
[0052]优选地,数据插入装置还包括:第三获取单元和启用单元。
[0053]第三获取单元用于在基于数据插入指令在执行禁用之后的数据表中插入数据之后,获取外键信息对应的启用指令。
[0054]在向数据表中插入数据之后,获取外键信息对应的启用指令,该启用指令用于启用外键信息对应的外键约束,获取该启用指令以便于在插入数据之后,重新启用外键约束。
[0055]启用单元用于通过外键信息对应的启用指令启用数据表的外键约束。
[0056]在获取外键信息对应的启用指令之后,通过该启用指令启用数据表的外键约束。启用数据表的外键约束可以是同时启用数据表的所有的外键约束,也可以是一次启用数据表的每一个外键约束。
[0057]优选地,启用单兀包括启用t旲块。
[0058]启用模块用于通过外键信息对应的启用指令同时启用外键信息表中所有外键信息的外键约束。
[0059]通过启用指令启用数据表所有的外键约束,使得数据表的外键约束启用过程一步到位,从而进一步减小外键约束启用过程的时间。
[0060]启用模块还可以用于通过外键信息对应的启用指令依次启用外键信息表中外键信息的外键约束。
[0061]依次启用外键信息表中外键信息的外键约束与上述实施例中的一次禁用数据表的外键约束相对应。通过启用指令,一次启用数据表的每一个外键约束,从而能够使得每一个禁用的外键约束能够重新启用,避免遗漏一些外键约束。
[0062]本发明实施例还提供了一种数据表的数据插入方法。该方法运行在计算机设备上。需要说明的是,本发明实施例的数据表的数据插入方法可以通过本发明实施例所提供的数据表的数据插入装置来执行,本发明实施例的数据表的数据插入装置也可以用于执行本发明实施例所提供的数据表的数据插入方法。
[0063]图4是根据本发明第一实施例的数据表的数据插入方法的流程图。如图4所示,该数据表的数据插入方法包括步骤如下:
[0064]步骤S101,接收数据插入指令,数据插入指令用于向数据表中插入数据,数据表为带有外键约束的数据表。
[0065]数据插入指令为向数据表中插入数据的指令,其中数据表可以是带有外键约束的数据表,可以是数据库中的任意一个带有外键约束的表。接收数据插入指令,可以通过数据插入指令向数据表中插入数据。
[0066]步骤S102,获取数据表的外键信息。
[0067]在接受数据插入指令之后,可以是从数据库中获取需要插入数据的数据表,再以该数据表作为基础,获取与该数据表对应的外键信息。外键信息对应有外键约束功能,其中外键约束用于限定对应的列值必须存在于所关联的主键列中的值中,当数据表包含多个外键信息时,获取数据表所有的外键信息,也即是获取数据表对应的外键信息表。其中,外键信息可以是通过在数据库系统提供的系统表中查找带有外键约束的数据表所对应的外键信息表,系统表是数据库系统公开的用于帮助查询数据库对象基础数据的对象。通过查询系统表获取数据表对应的外键信息。[0068]步骤S103,获取外键信息对应的禁用指令。
[0069]禁用指令用于禁用外键约束,该禁用指令可以是用于禁用一个外键约束的指令,也可以是同时禁用所有外键约束的指令。外键信息对应的禁用指令用于禁用外键信息对应的数据表的外键约束,获取该禁用指令以便于禁用数据表的外键约束。
[0070]步骤S104,通过外键信息对应的禁用指令禁用数据表的外键约束。
[0071]在获取外键信息对应的禁用指令之后,可以通过外键信息对应的禁用指令禁用相应的数据表中的外键约束。当数据表只有一个外键时,可以获取该外键的外键信息,采用禁用一个外键约束的指令禁用该外键的外键约束;当数据表有多个外键时,通过获取数据表的外键信息表,可以采用禁用一个外键约束的指令逐一禁用外键信息表对应的外键约束,或者采用同时禁用所有外键约束的指令禁用外键信息表对应的所有外键约束。
[0072]步骤S105,基于数据插入指令在执行禁用之后的数据表中插入数据。
[0073]在通过外键信息对应的禁用指令禁用数据表的外键约束之后,可以是基于接收到数据插入指令向带有外键约束的数据表中插入数据。由于此时向带有外键约束的数据表中插入数据,数据表的外键约束已经被禁用,因此,在向数据表中插入数据时,不需要访问外键所引用的表,从而优化了数据插入过程,直接向数据表中插入数据。
[0074]根据本发明实施例,通过在禁用带有外键约束的数据表的外接约束之后,再向数据表中插入数据,从而不需要在插入数据时访问外键索引用的表,而直接向数据表中插入数据,简化了数据插入的过程,减小数据插入的时间,解决了现有技术中在带有外键约束的数据表中数据插入时间过长的问题,进而达到了减小数据插入时间的效果。
[0075]图5是根据本发明第二实施例的数据表的数据插入方法的流程图。该实施例的数据表的数据插入方法可以是上述实施例的数据表的数据插入方法的一种优选实施方式。如图5所示,该数据表的数据插入方法包括步骤如下:
[0076]步骤S201,接收数据插入指令,数据插入指令用于向数据表中插入数据,数据表为带有外键约束的数据表。
[0077]数据插入指令为向数据表中插入数据的指令,其中数据表可以是带有外键约束的数据表,可以是数据库中的任意一个带有外键约束的表。接收数据插入指令,可以通过数据插入指令向数据表中插入数据。
[0078]步骤S202,获取数据库系统的系统表,系统表为包含有数据库系统中外键信息的表。
[0079]系统表是数据库系统公开的用于帮助查询数据库对象基础数据的对象,从基础数据中可以查找到数据库中的所有外键信息。获取数据库系统的系统表,以便于从通过查询相应的数据库系统的系统表以获取外键信息表。
[0080]步骤S203,从系统表查找数据表的外键信息。
[0081]从系统表查找到需要插入数据的数据表的外键信息,从而获取该外键信息,并将该外键信息返回,以便于禁用数据表的外键约束。
[0082]步骤S204,获取外键信息对应的禁用指令。
[0083]禁用指令用于禁用外键约束,该禁用指令可以是用于禁用一个外键约束的指令,也可以是同时禁用所有外键约束的指令。外键信息对应的禁用指令用于禁用外键信息对应的数据表的外键约束,获取该禁用指令以便于禁用数据表的外键约束。[0084]步骤S205,通过外键信息对应的禁用指令禁用数据表的外键约束。
[0085]在获取外键信息对应的禁用指令之后,可以通过外键信息对应的禁用指令禁用相应的数据表中的外键约束。当数据表只有一个外键时,可以获取该外键的外键信息,采用禁用一个外键约束的指令禁用该外键的外键约束;当数据表有多个外键时,通过获取数据表的外键信息表,可以采用禁用一个外键约束的指令逐一禁用外键信息表对应的外键约束,或者采用同时禁用所有外键约束的指令禁用外键信息表对应的所有外键约束。
[0086]步骤S206,基于数据插入指令在执行禁用之后的数据表中插入数据。
[0087]在通过外键信息对应的禁用指令禁用数据表的外键约束之后,可以是基于接收到数据插入指令向带有外键约束的数据表中插入数据。由于此时向带有外键约束的数据表中插入数据,数据表的外键约束已经被禁用,因此,在向数据表中插入数据时,不需要访问外键所引用的表,从而优化了数据插入过程,直接向数据表中插入数据。
[0088]图6是根据本发明第三实施例的数据表的数据插入方法的流程图。该实施例的数据表的数据插入方法可以是上述实施例的数据表的数据插入方法的一种优选实施方式。如图6所示,该数据表的数据插入方法包括步骤如下:
[0089]步骤S301,接收数据插入指令,数据插入指令用于向数据表中插入数据,数据表为带有外键约束的数据表。
[0090]数据插入指令为向数据表中插入数据的指令,其中数据表可以是带有外键约束的数据表,可以是数据库中的任意一个带有外键约束的表。接收数据插入指令,可以通过数据插入指令向数据表中插入数据。
[0091]步骤S302,获取数据表的外键信息表,外键信息表包括多个外键信息。
[0092]数据库表可以包含有多个外键,获取数据表的外键信息表,可以是获取数据表所有外键的信息列表,在获取所有外键信息之后,通过禁用所有外键约束,从而达到减小数据插入时的内存占用和CPU的消耗。
[0093]步骤S303,获取外键信息对应的禁用指令。
[0094]禁用指令用于禁用外键约束,该禁用指令可以是用于禁用一个外键约束的指令,也可以是同时禁用所有外键约束的指令。外键信息对应的禁用指令用于禁用外键信息对应的数据表的外键约束,获取该禁用指令以便于禁用数据表的外键约束。
[0095]步骤S304,通过外键信息对应的禁用指令依次禁用外键信息表中外键信息的外键约束。
[0096]获取外键信息对应的禁用指令之后,通过禁用指令对外键约束进行逐一禁用,从而避免遗漏一些外键,而导致外键约束的禁用不完全。
[0097]可选地,步骤S304还可以是通过外键信息对应的禁用指令同时禁用外键信息表中所有外键信息的外键约束。
[0098]在获取了外键信息对应的禁用指令之后,通过该禁用指令同时禁用外键信息表中所有的外键约束,从而达到对数据表的外键约束的禁用一步到位,避免逐一对外键约束进行禁用导致耗时过长的问题。
[0099]步骤S305,基于数据插入指令在执行禁用之后的数据表中插入数据。
[0100]在通过外键信息对应的禁用指令禁用数据表的外键约束之后,可以是基于接收到数据插入指令向带有外键约束的数据表中插入数据。由于此时向带有外键约束的数据表中插入数据,数据表的外键约束已经被禁用,因此,在向数据表中插入数据时,不需要访问外键所引用的表,从而优化了数据插入过程,直接向数据表中插入数据。
[0101]图7是根据本发明第四实施例的数据表的数据插入方法的流程图。该实施例的数据表的数据插入方法可以是上述实施例的数据表的数据插入方法的一种优选实施方式。如图7所示,该数据表的数据插入方法包括步骤如下:
[0102]步骤S401,接收数据插入指令,数据插入指令用于向数据表中插入数据,数据表为带有外键约束的数据表。
[0103]数据插入指令为向数据表中插入数据的指令,其中数据表可以是带有外键约束的数据表,可以是数据库中的任意一个带有外键约束的表。接收数据插入指令,可以通过数据插入指令向数据表中插入数据。
[0104]步骤S402,获取数据表的外键信息。
[0105]在接受数据插入指令之后,可以是从数据库中获取需要插入数据的数据表,再以该数据表作为基础,获取与该数据表对应的外键信息。外键信息对应有外键约束功能,其中外键约束用于限定对应的列值必须存在于所关联的主键列中的值中,当数据表包含多个外键信息时,获取数据表所有的外键信息,也即是获取数据表对应的外键信息表。其中,外键信息可以是通过在数据库系统提供的系统表中查找带有外键约束的数据表所对应的外键信息表,系统表是数据库系统公开的用于帮助查询数据库对象基础数据的对象。通过查询系统表获取数据表对应的外键信息。
[0106]步骤S403,获取外键信息对应的禁用指令。
[0107]禁用指令用于禁用外键约束,该禁用指令可以是用于禁用一个外键约束的指令,也可以是同时禁用所有外键约束的指令。外键信息对应的禁用指令用于禁用外键信息对应的数据表的外键约束,获取该禁用指令以便于禁用数据表的外键约束。
[0108]步骤S404,通过外键信息对应的禁用指令禁用数据表的外键约束。
[0109]在获取外键信息对应的禁用指令之后,可以通过外键信息对应的禁用指令禁用相应的数据表中的外键约束。当数据表只有一个外键时,可以获取该外键的外键信息,采用禁用一个外键约束的指令禁用该外键的外键约束;当数据表有多个外键时,通过获取数据表的外键信息表,可以采用禁用一个外键约束的指令逐一禁用外键信息表对应的外键约束,或者采用同时禁用所有外键约束的指令禁用外键信息表对应的所有外键约束。
[0110]步骤S405,基于数据插入指令在执行禁用之后的数据表中插入数据。
[0111]在通过外键信息对应的禁用指令禁用数据表的外键约束之后,可以是基于接收到数据插入指令向带有外键约束的数据表中插入数据。由于此时向带有外键约束的数据表中插入数据,数据表的外键约束已经被禁用,因此,在向数据表中插入数据时,不需要访问外键所引用的表,从而优化了数据插入过程,直接向数据表中插入数据。
[0112]步骤S406,获取外键信息对应的启用指令。
[0113]在向数据表中插入数据之后,获取外键信息对应的启用指令,该启用指令用于启用外键信息对应的外键约束,获取该启用指令以便于在插入数据之后,重新启用外键约束。
[0114]步骤S407,通过外键信息对应的启用指令启用数据表的外键约束。
[0115]在获取外键信息对应的启用指令之后,通过该启用指令启用数据表的外键约束。启用数据表的外键约束可以是同时启用数据表的所有的外键约束,也可以是一次启用数据表的每一个外键约束。
[0116]通过本发明实施例,在向数据表插入数据之后,再启用数据表的外键约束,从而使得数据表既可以是使用外键约束功能,有不影响数据插入的性能。
[0117]优选地,步骤S407可以是通过外键信息对应的启用指令依次启用外键信息表中外键信息的外键约束。
[0118]依次启用外键信息表中外键信息的外键约束与上述实施例中的一次禁用数据表的外键约束相对应。通过启用指令,一次启用数据表的每一个外键约束,从而能够使得每一个禁用的外键约束能够重新启用,避免遗漏一些外键约束。
[0119]可选地,步骤S407还可以是通过外键信息对应的启用指令同时启用外键信息表中所有外键信息的外键约束。
[0120]通过启用指令启用数据表所有的外键约束,使得数据表的外键约束启用过程一步到位,从而进一步减小外键约束启用过程的时间。
[0121]需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0122]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0123]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种数据表的数据插入方法,其特征在于,包括: 接收数据插入指令,所述数据插入指令用于向数据表中插入数据,所述数据表为带有外键约束的数据表; 获取所述数据表的外键信息; 获取所述外键信息对应的禁用指令; 通过所述外键信息对应的禁用指令禁用所述数据表的外键约束;以及 基于所述数据插入指令在执行禁用之后的所述数据表中插入数据。
2.根据权利要求1所述的数据表的数据插入方法,其特征在于,获取所述数据表的外键信息包括: 获取数据库系统的系统表,所述系统表为包含有所述数据库系统中所述外键信息的表;以及 从所述系统表查找所述数据表的外键信息。
3.根据权利要求1所述的数据表的数据插入方法,其特征在于, 获取所述数据表的外键信息包括:获取所述数据表的外键信息表,所述外键信息表包括多个外键信息, 通过所述外键信息的禁用指令禁用所述数据表的外键约束包括:通过所述外键信息对应的禁用指令同时禁用所述外键信息表中所有外键信息的外键约束;或者通过所述外键信息对应的禁用指令依次禁用所述外键信息表中外键信息的外键约束。
4.根据权利要求3所述的数据表的数据插入方法,其特征在于,在基于所述数据插入指令在执行禁用之后的所述数据表中插入数据之后,所述数据插入方法还包括: 获取所述外键信息对应的启用指令;以及 通过所述外键信息对应的启用指令启用所述数据表的外键约束。
5.根据权利要求4所述的数据表的数据插入方法,其特征在于,通过所述外键信息对应的启用指令启用所述数据表的外键约束包括: 通过所述外键信息对应的启用指令同时启用所述外键信息表中所有外键信息的外键约束;或者 通过所述外键信息对应的启用指令依次启用所述外键信息表中外键信息的外键约束。
6.一种数据表的数据插入装置,其特征在于,包括: 接收单元,用于接收数据插入指令,所述数据插入指令用于向数据表中插入数据,所述数据表为带有外键约束的数据表; 第一获取单元,用于获取所述数据表的外键信息; 第二获取单元,用于获取所述外键信息对应的禁用指令; 禁用单元,用于通过所述外键信息对应的禁用指令禁用所述数据表的外键约束;以及 插入单元,用于基于所述数据插入指令在执行禁用之后的所述数据表中插入数据。
7.根据权利要求6所述的数据表的数据插入装置,其特征在于,所述第一获取单元包括: 第一获取模块,用于获取数据库系统的系统表,所述系统表为包含有所述数据库系统中所述外键信息的表;以及 查找模块,用于从所述系统表查找所述数据表的外键信息。
8.根据权利要求7所述的数据表的数据插入装置,其特征在于, 所述第一获取单元包括:第二获取模块,用于获取所述数据表的外键信息表,所述外键信息表包括多个外键信息, 所述禁用单元包括:禁用模块,用于通过所述外键信息对应的禁用指令同时禁用所述外键信息表中所有外键信息的外键约束,或者用于通过所述外键信息对应的禁用指令依次禁用所述外键信息表中外键信息的外键约束。
9.根据权利要求8所述的数据表的数据插入装置,其特征在于,所述数据插入装置还包括: 第三获取单元,用于在基于所述数据插入指令在执行禁用之后的所述数据表中插入数据之后,获取所述外键信息对应的启用指令;以及 启用单元,用于通过所述外键信息对应的启用指令启用所述数据表的外键约束。
10.根据权利要求9所述的数据表的数据插入装置,其特征在于,所述启用单元包括: 启用模块,用于通过所述外键信息对应的启用指令同时启用所述外键信息表中所有外键信息的外键约束,或者用 于通过所述外键信息对应的启用指令依次启用所述外键信息表中外键信息的外键约束。
【文档编号】G06F17/30GK103605782SQ201310629536
【公开日】2014年2月26日 申请日期:2013年11月29日 优先权日:2013年11月29日
【发明者】樊在阔, 杨基彬, 洪超 申请人:北京国双科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1