CN104408118A - 数据库的创建方法和装置 - Google Patents

数据库的创建方法和装置 Download PDF

Info

Publication number
CN104408118A
CN104408118A CN201410691563.XA CN201410691563A CN104408118A CN 104408118 A CN104408118 A CN 104408118A CN 201410691563 A CN201410691563 A CN 201410691563A CN 104408118 A CN104408118 A CN 104408118A
Authority
CN
China
Prior art keywords
database
template
establishment
script
template database
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.)
Granted
Application number
CN201410691563.XA
Other languages
English (en)
Other versions
CN104408118B (zh
Inventor
张运
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201410691563.XA priority Critical patent/CN104408118B/zh
Publication of CN104408118A publication Critical patent/CN104408118A/zh
Application granted granted Critical
Publication of CN104408118B publication Critical patent/CN104408118B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据库的创建方法和装置。其中,数据库的创建方法包括:在接收到请求指令的情况下调用预先存储的模板数据库,其中,请求指令用于请求创建目标数据库;根据模板数据库生成模板数据库的创建脚本;按照请求指令修改模板数据库的创建脚本,得到目标数据库的创建脚本;以及执行目标数据库的创建脚本,生成目标数据库。通过本发明,解决了现有技术中数据库的创建比较繁琐耗时的问题,进而达到了简化数据库创建方式、提高数据库创建效率的效果。

Description

数据库的创建方法和装置
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据库的创建方法和装置。
背景技术
在进行数据分析过程中,通常需要用到关系型数据库,一般而言,数据库包括数据表、视图、函数、触发器和存储过程。其中,数据表和视图用于保存和管理数据;函数用于查询和保存过程中的数据计算;触发器和存储过程用于初始化数据、校验和保存。
以上几部分是保证数据库能够正常工作的必要组成部分,但是以上几部分的创建过程比较繁琐和麻烦,如果对每一个数据库都创建一次的话,将是不可估量的工作,无论是人工手动创建方式,还是通过技术人员编写创建数据库脚本的方式进行数据库的创建都是一项既耗时又容易出错的工作。
针对相关技术中数据库的创建比较繁琐耗时的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种数据库的创建方法和装置,以解决现有技术中数据库的创建比较繁琐耗时的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种数据库的创建方法。
根据本发明的数据库的创建方法包括:在接收到请求指令的情况下调用预先存储的模板数据库,其中,所述请求指令用于请求创建目标数据库;根据所述模板数据库生成所述模板数据库的创建脚本;按照所述请求指令修改所述模板数据库的创建脚本,得到所述目标数据库的创建脚本;以及执行所述目标数据库的创建脚本,生成所述目标数据库。
进一步地,在调用预先存储的模板数据库之后,并且在根据所述模板数据库生成所述模板数据库的创建脚本之前,所述创建方法还包括:判断所述模板数据库是否为完整数据库,其中,在判断出所述模板数据库为完整数据库的情况下,根据所述模板数据库生成所述模板数据库的创建脚本。
进一步地,所述模板数据库包括多个组成单元,判断所述模板数据库是否为完整数据库包括:判断预设集合是否是模板集合的子集,其中,所述预设集合为标准数据库的多个组成单元构成的集合,所述模板集合为所述模板数据库的多个组成单元构成的集合,其中,在判断出所述预设集合是所述模板集合的子集的情况下,确定所述模板数据库为完整数据库。
进一步地,按照所述请求指令修改所述模板数据库的创建脚本包括:获取响应所述请求指令中的第一数据库标识,并获取所述模板数据库的创建脚本中的第二数据库标识;以及将所述第二数据库标识替换为所述第一数据库标识。
进一步地,所述目标数据库包括多个组成单元,在执行所述目标数据库的创建脚本,生成所述目标数据库之后,所述创建方法还包括:判断预设集合是否是目标集合的子集,其中,所述预设集合为标准数据库的多个组成单元构成的集合,所述目标集合为所述目标数据库的多个组成单元构成的集合;在判断出所述预设集合是所述目标集合的子集的情况下,存储所述目标数据库。
为了实现上述目的,根据本发明的另一方面,提供了一种数据库的创建装置。
根据本发明的数据库的创建装置包括:调用单元,用于在接收到请求指令的情况下调用预先存储的模板数据库,其中,所述请求指令用于请求创建目标数据库;生成单元,用于根据所述模板数据库生成所述模板数据库的创建脚本;修改单元,用于按照所述请求指令修改所述模板数据库的创建脚本,得到所述目标数据库的创建脚本;以及执行单元,用于执行所述目标数据库的创建脚本,生成所述目标数据库。
进一步地,所述创建装置还包括:第一判断单元,用于在所述调用单元调用预先存储的模板数据库之后,并且在所述生成单元根据所述模板数据库生成所述模板数据库的创建脚本之前,判断所述模板数据库是否为完整数据库,其中,在判断出所述模板数据库为完整数据库的情况下,所述生成单元根据所述模板数据库生成所述模板数据库的创建脚本。
进一步地,所述模板数据库包括多个组成单元,所述第一判断单元包括:判断模块,用于判断预设集合是否是模板集合的子集,其中,所述预设集合为标准数据库的多个组成单元构成的集合,所述模板集合为所述模板数据库的多个组成单元构成的集合,其中,在判断出所述预设集合是所述模板集合的子集的情况下,确定所述模板数据库为完整数据库。
进一步地,所述修改单元包括:获取模块,用于获取响应所述请求指令中的第一数据库标识,并获取所述模板数据库的创建脚本中的第二数据库标识;以及替换模块,用于将所述第二数据库标识替换为所述第一数据库标识。
进一步地,所述目标数据库包括多个组成单元,所述创建装置还包括:第二判断单元,用于在所述执行单元执行所述目标数据库的创建脚本,生成所述目标数据库之后,判断预设集合是否是目标集合的子集,其中,所述预设集合为标准数据库的多个组成单元构成的集合,所述目标集合为所述目标数据库的多个组成单元构成的集合;存储单元,用于在判断出所述预设集合是所述目标集合的子集的情况下,存储所述目标数据库。
通过本发明,采用在接收到请求指令的情况下调用预先存储的模板数据库,其中,所述请求指令用于请求创建目标数据库;根据所述模板数据库生成所述模板数据库的创建脚本;按照所述请求指令修改所述模板数据库的创建脚本,得到所述目标数据库的创建脚本;以及执行所述目标数据库的创建脚本,生成所述目标数据库。通过预设存储模板数据库,在接收到请求指令的情况下,根据请求指令修改模板数据库的创建脚本,得到用于创建目标数据库的创建脚本,进而执行目标数据库的创建脚本生成目标数据库,实现了基于模板数据库将复杂的数据库创造操作修改成为一键式操作,整个创建过程只需对模板数据库进行调用和修改即可,解决了现有技术中数据库的创建比较繁琐耗时的问题,进而达到了简化数据库创建方式、提高数据库创建效率的效果。并且,此种基于模板数据库创建数据库的方式,由于只进行创建脚本的修改,而无需重新添加创建组件,能够避免由于添加创建组件所带来的数据库不稳定的弊端,进而达到了提高数据库稳定性的效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的数据库的创建方法的流程图;
图2是根据本发明实施例的数据库的创建方法获取到的模板数据库的创建脚本的示意图;
图3是根据本发明优选实施例的数据库的创建方法的流程图;以及
图4是根据本发明实施例的数据库的创建装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,可以提供了一种可以用于实施本申请装置实施例的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例,提供了一种数据库的创建方法,图1是根据本发明实施例的数据库的创建方法的流程图,如图1所示,该方法包括如下的步骤S102至步骤S108:
S102:在接收到请求指令的情况下调用预先存储的模板数据库,其中,请求指令用于请求创建目标数据库,即,接收到请求创建目标数据库的指令后,会将预先存储的模板数据库调取出来。例如,请求指令可以为新建配置文件,接收新建配置文件的请求指令后,会将预先存储的关于新建配置文件的模板数据库调取出来。
S104:根据模板数据库生成模板数据库的创建脚本,其中,模板数据库的创建脚本可以采用模板数据库提供的Transfer类进行生成,具体地,可以使用Transfer类中CopyAllDefaults方法获得创建数据的相关SQL脚本,需要确定包括:表、视图、存储过程、触发器和注释等数据库相关的信息。
S106:按照请求指令修改模板数据库的创建脚本,得到目标数据库的创建脚本,其中,请求指令主要包括名称、所属地区和时间区等信息,名称、所属地区和时间区等信息就是新建配置文件的模板数据库的创建脚本中需要修改的属性,按照接收到的请求指令对数据库的创建脚本中需要进行修改的属性进行修改,修改后会得到目标数据库的创建脚本。图2是根据本发明实施例的数据库的创建方法获取到的模板数据库的创建脚本的示意图,如图2所示,按照请求指令修改模板数据库的创建脚本主要是对模板数据库的创建脚本的属性信息进行修改,图2中示意性示出了对脚本中的配置文件地区和配置文件时区进行修改,修改后的目标数据库的创建脚本中,配置文件地区(相当于所属地区)是中国、配置文件时区(相当于时间区)是+08:00。
S108:执行目标数据库的创建脚本,生成目标数据库,具体可以采用sqlcmd的方式(即命令行的方式)执行目标数据库的创建脚本,在使用sqlcmd工具对生成的SQL脚本执行过程中,sqlcmd命令需要传入的参数包括:-U(登录名)、-P(密码)、-S(服务器)和-Q(执行SQL语句);对于以文件方式保存的目标数据库的创建脚本,sqlcmd工具还可以执行文件,执行例如:sqlcmd-S myServer\instanceName-i C:\myScript.sql。
在本发明实施例中,通过预设存储模板数据库,在接收到请求指令的情况下,根据请求指令修改模板数据库的创建脚本,得到用于创建目标数据库的创建脚本,进而执行目标数据库的创建脚本生成目标数据库,实现了基于模板数据库将复杂的数据库创造操作修改成为一键式操作,整个创建过程只需对模板数据库进行调用和修改即可,解决了现有技术中数据库的创建比较繁琐耗时的问题,进而达到了简化数据库创建方式、提高数据库创建效率的效果。并且,此种基于模板数据库创建数据库的方式,由于只进行创建脚本的修改,而无需重新添加创建组件,能够避免由于添加创建组件所带来的数据库不稳定的弊端,进而达到了提高数据库稳定性的效果。
优选地,在调用预先存储的模板数据库之后,并且在根据模板数据库生成模板数据库的创建脚本之前,本发明实施例所提供的数据库的创建方法还包括:判断模板数据库是否为完整数据库,即,判断模板数据库中所需内容是否齐全,所需内容具体包括数据表、视图、函数和存储过程等;在判断出模板数据库为完整数据库的情况下,根据模板数据库生成模板数据库的创建脚本。
在本发明实施例中,通过判断模板数据库是否是完整的数据库,只有模板数据库是完整的数据库的情况下,才生成模板数据库的创建脚本,提高了创建目标数据库的成功的概率,达到了提高工作效率的效果。
具体地,模板数据库包括多个组成单元,判断模板数据库是否为完整数据库包括:判断预设集合是否是模板集合的子集,其中,预设集合为标准数据库的多个组成单元构成的集合,模板集合为模板数据库的多个组成单元构成的集合,其中,在判断出预设集合是模板集合的子集的情况下,确定模板数据库为完整数据库。
因为标准数据库中的多个组成单元都应该是作为数据库必须具备的组成单元,所以模板数据库中必须至少包含标准数据库中的多个组成单元,只有模板数据库中的多个组成单元包括标准数据库中的多个组成单元的情况下,模板数据库才是完整的数据库。例如:标准数据库中包含5个组成单元,分别是组合单元1、组合单元2、组合单元3、组合单元4和组合单元5,模板数据库中包括9个组成单元,分别是组合单元1、组合单元2、组合单元3、组合单元4、组合单元5、组合单元6、组合单元7、组合单元8和组合单元9,判断模板数据库中的9个组成单元是否包含了标准数据库中的5个组成单元,在判断出模板数据库的9个组成单元包含了标准数据库中的5个组成单元的情况下,说明模板数据库是完成数据库,反之,只要标准数据库中的5个组成单元有一个没被模板数据库中的9个组成单元包含,则模板数据库不是完成的数据库。
具体地,在本发明实施例所提供的数据库的创建方法中,按照请求指令修改模板数据库的创建脚本包括步骤1-1至步骤1-2:
步骤1-1:获取响应请求指令中的第一数据库标识,并获取模板数据库的创建脚本中的第二数据库标识,第一数据库标识是要生成的目标数据库的名称,每个目标数据库的名称都应该是不同的,第二数据库标识是模板数据库的创建脚本的名称。在本发明实施例中,数据库标识可以是ProfileID,该ProfileID可以采用Profile表主键自动增长的方式进行获得和保存。
步骤1-2:将第二数据库标识替换为第一数据库标识,将涉及模板数据库的创建脚本的名称的地方都修改为要生成的目标数据库的名称。
进一步地,在获取模板数据库的创建脚本中的第二数据库标识之前,还可以先判断模板数据库的创建脚本中是否包括数据库标识,在判断出模板数据库的创建脚本中包括数据库标识的情况下,执行上述步骤1-1至步骤1-2,得到目标数据库的创建脚本。如果判断出模板数据库的创建脚本中不包括数据库标识,则可以直接将第一数据库标识添加到目标数据库的创建脚本中,得到目标数据库的创建脚本。实现了在模板数据库不具有数据库标识的情况下,得到目标数据库。
具体地,目标数据库包括多个组成单元,在执行目标数据库的创建脚本,生成目标数据库之后,本发明实施例所提供的数据库的创建方法还包括:判断预设集合是否是目标集合的子集,其中,预设集合为标准数据库的多个组成单元构成的集合,目标集合为目标数据库的多个组成单元构成的集合,即,生成目标数据库之后,判断目标数据库中的多个组成单元是否包含了标准数据库的多个组成单元;在判断出预设集合是目标集合的子集的情况下,存储目标数据库,也就是在判断出目标数据库中的多个组成单元包含了标准数据库的多个组成单元情况下,存储目标数据库。
图3是根据本发明优选实施例的数据库的创建方法的流程图,如图3所示,该方法包括如下的步骤S302至步骤S314:
S302:检索Global数据库,获得一个新的Profile ID。接收用户请求新建数据库的指令后,会检索Global数据库,然后获得一个新的Profile ID,Profile ID采用Profile表主键自动增长的方式进行获得和保存,每个Profile ID都是唯一的,用于区分不同数据库,用户只需要填写Profile的名称、所属地区和时区等简单信息。Global数据库用于记录已经创建的所有数据库和数据库中每个数据对应的客户的信息的内容。
S304:确定模板数据库,即,调用模板数据库,在本步骤中可以采用结构化查询语言(Structured Query Language,简称SQL)检查,确定模板数据库是否存在,在确定模板数据库存在的情况下,调用该模板数据库,并可以进一步检测模板数据库中所需内容是否齐全,其中包括:数据表、视图、函数和存储过程等。
S306:根据模板数据库生成创建数据库的SQL脚本,此处生成的SQL创建脚本是采用数据库提供的Transfer类进行生成的,表、索引、函数、触发器和存储过程甚至描述信息和权限信息都是SQL脚本中必须生成的内容,即,对模板数据库的创建脚本进行获取。
S308:用之前确定的Profile ID替换生成的SQL脚本,获得创建新数据库所需的SQL脚本。即,按照请求指令对模板数据库的创建脚本进行修改,得到所需创建的目标数据库的创建脚本。具体地,可以通过读取模板数据库的SQL脚本,对其中涉及到数据库名称的地方替换成含有Profile ID的新数据库创建脚本,得到创建新数据库所需的SQL脚本。
S310:执行创建新数据库的SQL脚本,相当于步骤S108中执行目标数据库的创建脚本,也是可以采用sqlcmd的方式(即命令行的方式)执行,同样,在使用sqlcmd工具对生成的SQL脚本执行过程中,sqlcmd命令需要传入的参数包括:-U(登录名)、-P(密码)、-S(服务器)和-Q(执行SQL语句);对于以文件方式保存的目标数据库的创建脚本,sqlcmd工具还可以执行文件,执行例如:sqlcmd-S myServer\instanceName-i C:\myScript.sql。
S312:判断是否执行成功,具体地,判断是否执行成功包括两方面,一方面是获得新生成的数据库连接,根据该数据库连接判断新生成的数据库是否生成成功;另一方面是执行初始化数据库存储过程,该过程用于判断新生成的数据库的内容是否齐全。在判断出新生成的数据库生成成功,并且内容齐全的情况下执行步骤S314;若判断出新生成的数据库生成失败或者内容不齐全的情况下结束本流程。
S314:更新Global数据库,将新生成的数据库信息记录到Global数据库中后,对Global数据库进行更新。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述数据库的创建方法的数据库的创建装置,该创建装置主要用于执行本发明实施例上述内容所提供的创建方法,以下对本发明实施例所提供的数据库的创建装置做具体介绍:
根据本发明实施例,提供了一种数据库的创建装置,图4是根据本发明实施例的数据库的创建装置的示意图,如图4所示,该装置主要包括调用单元10、生成单元20、修改单元30和执行单元40,其中:
调用单元10用于在接收到请求指令的情况下调用预先存储的模板数据库,其中,请求指令用于请求创建目标数据库,即,接收到请求创建目标数据库的指令后,会将预先存储的模板数据库调取出来。例如,请求指令可以为新建配置文件,接收新建配置文件的请求指令后,会将预先存储的关于新建配置文件的模板数据库调取出来。
生成单元20用于根据模板数据库生成模板数据库的创建脚本,其中,模板数据库的创建脚本可以采用模板数据库提供的Transfer类进行生成,具体地,可以使用Transfer类中CopyAllDefaults方法获得创建数据的相关SQL脚本,需要确定包括:表、视图、存储过程、触发器和注释等数据库相关的信息。
修改单元30用于按照请求指令修改模板数据库的创建脚本,得到目标数据库的创建脚本,其中,请求指令主要包括名称、所属地区和时间区等信息,名称、所属地区和时间区等信息就是新建配置文件的模板数据库的创建脚本中需要修改的属性,按照接收到的请求指令对数据库的创建脚本中需要进行修改的属性进行修改,修改后会得到目标数据库的创建脚本。图2是根据本发明实施例的数据库的创建方法获取到的模板数据库的创建脚本的示意图,如图2所示,按照请求指令修改模板数据库的创建脚本主要是对模板数据库的创建脚本的属性信息进行修改,图2中示意性示出了对脚本中的配置文件地区和配置文件时区进行修改,修改后的目标数据库的创建脚本中,配置文件地区(相当于所属地区)是中国、配置文件时区(相当于时间区)是+08:00。
执行单元40用于执行目标数据库的创建脚本,生成目标数据库,具体可以采用sqlcmd的方式(即命令行的方式)执行目标数据库的创建脚本,在使用sqlcmd工具对生成的SQL脚本执行过程中,sqlcmd命令需要传入的参数包括:-U(登录名)、-P(密码)、-S(服务器)和-Q(执行SQL语句);对于以文件方式保存的目标数据库的创建脚本,sqlcmd工具还可以执行文件,执行例如:sqlcmd-S myServer\instanceName-iC:\myScript.sql。
在本发明实施例中,通过预设存储模板数据库,在接收到请求指令的情况下,根据请求指令修改模板数据库的创建脚本,得到用于创建目标数据库的创建脚本,进而执行目标数据库的创建脚本生成目标数据库,实现了基于模板数据库将复杂的数据库创造操作修改成为一键式操作,整个创建过程只需对模板数据库进行调用和修改即可,解决了现有技术中数据库的创建比较繁琐耗时的问题,进而达到了简化数据库创建方式、提高数据库创建效率的效果。并且,此种基于模板数据库创建数据库的方式,由于只进行创建脚本的修改,而无需重新添加创建组件,能够避免由于添加创建组件所带来的数据库不稳定的弊端,进而达到了提高数据库稳定性的效果。
优选地,本发明实施例所提供的数据库的创建装置还包括第一判断单元,用于在调用单元调用预先存储的模板数据库之后,并且在生成单元20根据模板数据库生成模板数据库的创建脚本之前,判断模板数据库是否为完整数据库,即,判断模板数据库中所需内容是否齐全,所需内容具体包括数据表、视图、函数和存储过程等;在判断出模板数据库为完整数据库的情况下,生成单元20根据模板数据库生成模板数据库的创建脚本。
在本发明实施例中,通过判断模板数据库是否是完整的数据库,只有模板数据库是完整的数据库的情况下,才生成模板数据库的创建脚本,提高了创建目标数据库的成功的概率,达到了提高工作效率的效果。
具体地,模板数据库包括多个组成单元,在本发明实施例所提供的数据库的创建装置中的第一判断单元包括判断模块,用于判断预设集合是否是模板集合的子集,其中,预设集合为标准数据库的多个组成单元构成的集合,模板集合为模板数据库的多个组成单元构成的集合,其中,在判断出预设集合是模板集合的子集的情况下,确定模板数据库为完整数据库。
因为标准数据库中的多个组成单元都应该是作为数据库必须具备的组成单元,所以模板数据库中必须至少包含标准数据库中的多个组成单元,只有模板数据库中的多个组成单元包括标准数据库中的多个组成单元的情况下,模板数据库才是完整的数据库。例如:标准数据库中包含5个组成单元,分别是组合单元1、组合单元2、组合单元3、组合单元4和组合单元5,模板数据库中包括9个组成单元,分别是组合单元1、组合单元2、组合单元3、组合单元4、组合单元5、组合单元6、组合单元7、组合单元8和组合单元9,判断模板数据库中的9个组成单元是否包含了标准数据库中的5个组成单元,在判断出模板数据库的9个组成单元包含了标准数据库中的5个组成单元的情况下,说明模板数据库是完成数据库,反之,只要标准数据库中的5个组成单元有一个没被模板数据库中的9个组成单元包含,则模板数据库不是完成的数据库。
具体地,修改单元30包括获取模块和替换模块,其中,获取模块用于获取响应请求指令中的第一数据库标识,并获取模板数据库的创建脚本中的第二数据库标识,第一数据库标识是要生成的目标数据库的名称,每个目标数据库的名称都应该是不同的,第二数据库标识是模板数据库的创建脚本的名称。在本发明实施例中,数据库标识可以是ProfileID,该ProfileID可以采用Profile表主键自动增长的方式进行获得和保存。替换模块用于将第二数据库标识替换为第一数据库标识,将涉及模板数据库的创建脚本的名称的地方都修改为要生成的目标数据库的名称。
进一步地,在获取模板数据库的创建脚本中的第二数据库标识之前,修改单元30还可以先通过修改单元30所包括的判断模块,来判断模板数据库的创建脚本中是否包括数据库标识,在判断出模板数据库的创建脚本中包括数据库标识的情况下,获取模块和替换模块执行相应的功能,得到目标数据库的创建脚本。如果判断出模板数据库的创建脚本中不包括数据库标识,则可以直接将第一数据库标识添加到目标数据库的创建脚本中,得到目标数据库的创建脚本。实现了在模板数据库不具有数据库标识的情况下,得到目标数据库。
具体地,目标数据库包括多个组成单元,本发明实施例所提供的数据库的创建装置还包括第二判断单元和存储单元,其中:
第二判断单元用于在执行单元执行目标数据库的创建脚本,生成目标数据库之后,判断预设集合是否是目标集合的子集,其中,预设集合为标准数据库的多个组成单元构成的集合,目标集合为目标数据库的多个组成单元构成的集合,即,生成目标数据库之后,判断目标数据库中的多个组成单元是否包含了标准数据库的多个组成单元。
存储单元用于在判断出预设集合是目标集合的子集的情况下,存储目标数据库,也就是在判断出目标数据库中的多个组成单元包含了标准数据库的多个组成单元情况下,存储目标数据库。
从以上的描述中,可以看出,本发明解决了现有技术中数据库的创建比较繁琐耗时的问题,进而达到了简化数据库创建方式、提高数据库创建效率的效果。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种数据库的创建方法,其特征在于,包括:
在接收到请求指令的情况下调用预先存储的模板数据库,其中,所述请求指令用于请求创建目标数据库;
根据所述模板数据库生成所述模板数据库的创建脚本;
按照所述请求指令修改所述模板数据库的创建脚本,得到所述目标数据库的创建脚本;以及
执行所述目标数据库的创建脚本,生成所述目标数据库。
2.根据权利要求1所述的创建方法,其特征在于,在调用预先存储的模板数据库之后,并且在根据所述模板数据库生成所述模板数据库的创建脚本之前,所述创建方法还包括:
判断所述模板数据库是否为完整数据库,
其中,在判断出所述模板数据库为完整数据库的情况下,根据所述模板数据库生成所述模板数据库的创建脚本。
3.根据权利要求2所述的创建方法,其特征在于,所述模板数据库包括多个组成单元,判断所述模板数据库是否为完整数据库包括:
判断预设集合是否是模板集合的子集,其中,所述预设集合为标准数据库的多个组成单元构成的集合,所述模板集合为所述模板数据库的多个组成单元构成的集合,
其中,在判断出所述预设集合是所述模板集合的子集的情况下,确定所述模板数据库为完整数据库。
4.根据权利要求1所述的创建方法,其特征在于,按照所述请求指令修改所述模板数据库的创建脚本包括:
获取响应所述请求指令中的第一数据库标识,并获取所述模板数据库的创建脚本中的第二数据库标识;以及
将所述第二数据库标识替换为所述第一数据库标识。
5.根据权利要求1所述的创建方法,其特征在于,所述目标数据库包括多个组成单元,在执行所述目标数据库的创建脚本,生成所述目标数据库之后,所述创建方法还包括:
判断预设集合是否是目标集合的子集,其中,所述预设集合为标准数据库的多个组成单元构成的集合,所述目标集合为所述目标数据库的多个组成单元构成的集合;
在判断出所述预设集合是所述目标集合的子集的情况下,存储所述目标数据库。
6.一种数据库的创建装置,其特征在于,包括:
调用单元,用于在接收到请求指令的情况下调用预先存储的模板数据库,其中,所述请求指令用于请求创建目标数据库;
生成单元,用于根据所述模板数据库生成所述模板数据库的创建脚本;
修改单元,用于按照所述请求指令修改所述模板数据库的创建脚本,得到所述目标数据库的创建脚本;以及
执行单元,用于执行所述目标数据库的创建脚本,生成所述目标数据库。
7.根据权利要求6所述的创建装置,其特征在于,所述创建装置还包括:
第一判断单元,用于在所述调用单元调用预先存储的模板数据库之后,并且在所述生成单元根据所述模板数据库生成所述模板数据库的创建脚本之前,判断所述模板数据库是否为完整数据库,
其中,在判断出所述模板数据库为完整数据库的情况下,所述生成单元根据所述模板数据库生成所述模板数据库的创建脚本。
8.根据权利要求7所述的创建装置,其特征在于,所述模板数据库包括多个组成单元,所述第一判断单元包括:
判断模块,用于判断预设集合是否是模板集合的子集,其中,所述预设集合为标准数据库的多个组成单元构成的集合,所述模板集合为所述模板数据库的多个组成单元构成的集合,
其中,在判断出所述预设集合是所述模板集合的子集的情况下,确定所述模板数据库为完整数据库。
9.根据权利要求6所述的创建装置,其特征在于,所述修改单元包括:
获取模块,用于获取响应所述请求指令中的第一数据库标识,并获取所述模板数据库的创建脚本中的第二数据库标识;以及
替换模块,用于将所述第二数据库标识替换为所述第一数据库标识。
10.根据权利要求6所述的创建装置,其特征在于,所述目标数据库包括多个组成单元,所述创建装置还包括:
第二判断单元,用于在所述执行单元执行所述目标数据库的创建脚本,生成所述目标数据库之后,判断预设集合是否是目标集合的子集,其中,所述预设集合为标准数据库的多个组成单元构成的集合,所述目标集合为所述目标数据库的多个组成单元构成的集合;
存储单元,用于在判断出所述预设集合是所述目标集合的子集的情况下,存储所述目标数据库。
CN201410691563.XA 2014-11-25 2014-11-25 数据库的创建方法和装置 Active CN104408118B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410691563.XA CN104408118B (zh) 2014-11-25 2014-11-25 数据库的创建方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410691563.XA CN104408118B (zh) 2014-11-25 2014-11-25 数据库的创建方法和装置

Publications (2)

Publication Number Publication Date
CN104408118A true CN104408118A (zh) 2015-03-11
CN104408118B CN104408118B (zh) 2019-05-31

Family

ID=52645749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410691563.XA Active CN104408118B (zh) 2014-11-25 2014-11-25 数据库的创建方法和装置

Country Status (1)

Country Link
CN (1) CN104408118B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326380A (zh) * 2016-08-15 2017-01-11 北京和兑科技有限公司 一种商品云数据库的创建方法及装置
CN106547763A (zh) * 2015-09-18 2017-03-29 北京国双科技有限公司 数据库的创建方法及装置
CN107247812A (zh) * 2017-07-25 2017-10-13 郑州云海信息技术有限公司 一种数据库的生成方法及生成装置
CN108959385A (zh) * 2018-05-31 2018-12-07 康键信息技术(深圳)有限公司 数据库部署方法、装置、计算机设备和存储介质
CN109492014A (zh) * 2018-12-26 2019-03-19 广州市诚毅科技软件开发有限公司 一种数据库模型包创建方法、装置及设备
CN113220691A (zh) * 2021-05-31 2021-08-06 北京互金新融科技有限公司 数据库的库表创建方法及库表创建装置、电子设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106547756B (zh) * 2015-09-17 2021-02-12 北京国双科技有限公司 数据库的创建方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101995860A (zh) * 2009-08-11 2011-03-30 费希尔-罗斯蒙特系统公司 使用模板的系统配置
CN102651029A (zh) * 2012-04-06 2012-08-29 中国科学院上海应用物理研究所 一种物理关系数据库系统的建立方法
CN102663103A (zh) * 2012-04-13 2012-09-12 北京工业大学 可配置的自动化生成数据库和数据访问的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101995860A (zh) * 2009-08-11 2011-03-30 费希尔-罗斯蒙特系统公司 使用模板的系统配置
CN102651029A (zh) * 2012-04-06 2012-08-29 中国科学院上海应用物理研究所 一种物理关系数据库系统的建立方法
CN102663103A (zh) * 2012-04-13 2012-09-12 北京工业大学 可配置的自动化生成数据库和数据访问的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
唐远新 等: "《Oracle数据库实用教程(第二版)》", 30 June 2009 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106547763A (zh) * 2015-09-18 2017-03-29 北京国双科技有限公司 数据库的创建方法及装置
CN106326380A (zh) * 2016-08-15 2017-01-11 北京和兑科技有限公司 一种商品云数据库的创建方法及装置
CN107247812A (zh) * 2017-07-25 2017-10-13 郑州云海信息技术有限公司 一种数据库的生成方法及生成装置
CN107247812B (zh) * 2017-07-25 2021-01-15 苏州浪潮智能科技有限公司 一种数据库的生成方法及生成装置
CN108959385A (zh) * 2018-05-31 2018-12-07 康键信息技术(深圳)有限公司 数据库部署方法、装置、计算机设备和存储介质
CN108959385B (zh) * 2018-05-31 2024-02-06 康键信息技术(深圳)有限公司 数据库部署方法、装置、计算机设备和存储介质
CN109492014A (zh) * 2018-12-26 2019-03-19 广州市诚毅科技软件开发有限公司 一种数据库模型包创建方法、装置及设备
CN113220691A (zh) * 2021-05-31 2021-08-06 北京互金新融科技有限公司 数据库的库表创建方法及库表创建装置、电子设备
CN113220691B (zh) * 2021-05-31 2024-02-06 北京互金新融科技有限公司 数据库的库表创建方法及库表创建装置、电子设备

Also Published As

Publication number Publication date
CN104408118B (zh) 2019-05-31

Similar Documents

Publication Publication Date Title
CN104408118A (zh) 数据库的创建方法和装置
CN109118353B (zh) 风控模型的数据处理方法和装置
TW201439792A (zh) 資料庫訪問系統及方法
CN105447151A (zh) 访问分布式数据库的方法、数据源代理装置及应用服务器
CN112925757A (zh) 一种追踪智能设备操作日志的方法、设备、存储介质
CN111047434B (zh) 一种操作记录生成方法、装置、计算机设备和存储介质
CN106990974B (zh) 一种app应用更新方法、装置及电子设备
CN108737487B (zh) 数据同步方法和装置、存储介质及电子装置
CN111737228B (zh) 数据库的分库分表方法及装置
CN113722345A (zh) 映射关系的展示方法和装置、电子设备、存储介质
CN105988785A (zh) 一种rpc服务开发方法及装置
US10003492B2 (en) Systems and methods for managing data related to network elements from multiple sources
CN117093556A (zh) 日志分类方法、装置、计算机设备及计算机可读存储介质
CN105227599A (zh) Web应用的识别方法和装置
CN115757174A (zh) 一种数据库的差异检测方法及装置
CN115578096A (zh) 区块链并行交易方法、装置、设备和存储介质
CN115391188A (zh) 一种场景测试用例生成方法、装置、设备及存储介质
US20190147082A1 (en) Reporting and data governance management
CN110222105B (zh) 数据汇总处理方法及装置
CN113704120A (zh) 数据传输方法、装置、设备及存储介质
CN106254575A (zh) 一种确定用户标识的方法和装置
CN112231377A (zh) 数据映射方法、系统、装置、服务器和存储介质
CN112199092A (zh) 应用的开发方法、装置及电子设备
CN110750727A (zh) 数据处理方法、装置、系统和计算机可读存储介质
CN109933573B (zh) 数据库业务更新方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing

Applicant before: Beijing Guoshuang Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant