CN106547756B - 数据库的创建方法及装置 - Google Patents

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

Info

Publication number
CN106547756B
CN106547756B CN201510595290.3A CN201510595290A CN106547756B CN 106547756 B CN106547756 B CN 106547756B CN 201510595290 A CN201510595290 A CN 201510595290A CN 106547756 B CN106547756 B CN 106547756B
Authority
CN
China
Prior art keywords
database
creating
script
original
creation
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
Application number
CN201510595290.3A
Other languages
English (en)
Other versions
CN106547756A (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 CN201510595290.3A priority Critical patent/CN106547756B/zh
Publication of CN106547756A publication Critical patent/CN106547756A/zh
Application granted granted Critical
Publication of CN106547756B publication Critical patent/CN106547756B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Abstract

本发明公开了一种数据库的创建方法及装置,涉及信息技术领域,可以在创建与原始数据库结构相同的数据库时,提高数据库的创建效率。所述方法包括:首先获取原始数据库的创建脚本;然后修改所述创建脚本中与所述原始数据库对应的属性信息;最后根据修改后的创建脚本,创建数据库。本发明适用于创建数据库。

Description

数据库的创建方法及装置
技术领域
本发明涉及信息技术领域,尤其涉及一种数据库的创建方法及装置。
背景技术
近些年来,随着信息技术的飞速发展,数据库技术越来越成熟。数据库可以认为是按照数据结构来组织、存储和管理数据的仓库,将相关数据存储在数据库中进行相应的管理。在基于数据库管理系统的实际生产环境下,通常需要创建与原始数据库结构相同的数据库,并且创建的数据库中要求不包含有原始数据库中的数据。例如,当需要将公司各部门的数据分别存储在每个部门对应的数据库中时,创建多个与原始数据库结构相同的数据库,得到的这些数据库中不包含有原始数据库中的内容,以便在每个数据库中添加每个部门相应的数据,方便公司进行管理。
目前在创建结构相同的数据库时,首先将预先存储的原始数据库进行备份,然后进行还原,当原始数据库中包含有数据时,在还原之后还需要将还原的数据进行删除,进而得到与原始数据库的结构相同的目标数据库。
然而,上述创建结构相同的数据库的过程中,数据库备份还原过程会耗费大量的时间,影响了数据库的创建效率,特别的是,当原始数据库中包含的数据很多时,数据库备份还原过程会耗费更多的时间,并且还需要删除大量的无用数据,造成数据库的创建效率较低。
发明内容
有鉴于此,本发明实施例提供一种数据库的创建方法及装置,主要目的在于可以在创建与原始数据库结构相同的数据库时,提高数据库的创建效率。
为达到上述目的,本发明主要提供如下技术方案:
依据本发明一方面,提供了一种数据库的创建方法,该方法包括:
获取原始数据库的创建脚本;
修改所述创建脚本中与所述原始数据库对应的属性信息;
根据修改后的创建脚本,创建数据库。
依据本发明另一方面,提供了一种数据库的创建装置,该装置包括:
获取单元,用于获取原始数据库的创建脚本;
修改单元,用于修改所述获取单元获取的创建脚本中与所述原始数据库对应的属性信息;
创建单元,用于根据所述修改单元修改后的创建脚本,创建数据库。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明实施例提供的一种数据库的创建方法及装置,首先获取原始数据库的创建脚本;然后修改所述创建脚本中与所述原始数据库对应的属性信息;最后根据修改后的创建脚本,创建数据库。与目前通过备份还原数据库的方式相比,本发明通过执行原始数据库的创建脚本,创建得到与原始数据库结构相同的数据库,简化了数据库的创建方式,节省了创建结构相同数据库所耗费的时间,创建生成的数据库中不包含有原始数据库中的数据,无需进行数据删除,提高了数据库的创建效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种数据库的创建方法流程示意图;
图2示出了本发明实施例提供的另一种数据库的创建方法流程示意图;
图3示出了本发明实施例提供的一种数据库的创建装置结构示意图;
图4示出了本发明实施例提供的另一种数据库的创建装置结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种数据库的创建方法,如图1所示,所述方法包括:
101、获取原始数据库的创建脚本。
其中,所述创建脚本可以为创建数据库的脚本,所述脚本是批处理文件的延伸,是一种纯文本保存的程序,通常计算机脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等。脚本通常以文本形式保存,例如,以ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)代码形式保存,可以由应用程序临时调用并执行。
对于本发明实施例,可以在接收到创建数据库的创建指令之后,获取所述创建指令对应的原始数据库,再获取所述原始数据库的创建脚本,其中,所述原始数据库可以预先保存在预置存储位置当中,所述预置存储位置具体可以根据实际需求进行配置。对于本发明实施例,需要创建的数据库可以是目标数据库,所述创建指令可以用于创建目标数据库,所述目标数据库可以在本地服务器中进行创建,也可以在目标服务器中进行创建,具体可以根据实际需求而定,本发明实施例不做限定。
需要说明的是,用户可以向数据库管理系统输入目标数据库的创建指令,进一步地,通过数据库管理系统创建目标数据库,所述数据库管理系统可以为SQL(StructuredQuery Language,结构化查询语言)server数据库、Oracle数据库、Mysql数据库等。
具体地,对于执行步骤101时,可以通过SQL server数据库管理对象API(Application Programming Interface,应用程序编程接口)提供的Script函数,获取得到原始数据库的创建脚本,所述创建脚本是和原始数据库高度耦合的。
102、修改所述创建脚本中与所述原始数据库对应的属性信息。
其中,所述属性信息可以包含有原始数据库对应的标识信息、SIZE键值对等。例如,原始数据库对应的标识信息可以为原始数据库对应的数据库名称、逻辑文件名称、物理文件名称等。
对于本发明实施例,可以通过预置修改函数,修改所述创建脚本中与所述原始数据库对应的属性信息,其中,所述预置修改函数可以通过开发语言平台编写,开发语言平台可以为.NEC平台,也可以为C(C语言,The C Programming Lauguage)、C#(C#,C SHARPProgramming Lauguage)、C++(C++语言,The C++Programming Language)、JAVA(JAVA编程语言,JAVA Programming Language)等开发语言平台,本发明实施例不作限定。
例如,将创建脚本中与原始数据库对应的SIZE键值对进行删除,进而避免由于原始数据库的创建脚本中包含的SIZE键值对不符合创建数据库的条件,导致在创建数据库时出现创建数据库失败的情况。
103、根据修改后的创建脚本,创建数据库。
对于本发明实施例,可以通过执行所述修改后的创建脚本,创建得到目标数据库,具体可以通过Sqlcmd命令行工具,执行所述修改后的创建脚本,创建得到目标数据库,在执行所述创建脚本的过程中,Sqlcmd命令行工具需要传入的参数包括:-U(登录名)、-P(密码)、-S(服务器)和-Q(执行SQL语句);如果所述创建脚本以文件形式保存,Sqlcmd命令行工具还可以执行所述创建脚本对应的文件。
本发明实施例提供的一种数据库的创建方法,首先获取原始数据库的创建脚本;然后修改所述创建脚本中与所述原始数据库对应的属性信息;最后根据修改后的创建脚本,创建数据库。与目前通过备份还原数据库的方式相比,本发明通过执行原始数据库的创建脚本,创建得到与原始数据库结构相同的数据库,简化了数据库的创建方式,节省了创建结构相同数据库所耗费的时间,创建生成的数据库中不包含有原始数据库中的数据,无需进行数据删除,提高了数据库的创建效率。
本发明实施例提供了另一种数据库的创建方法,如图2所示,所述方法包括:
201、获取原始数据库的创建脚本。
其中,所述创建脚本可以为创建数据库的脚本,所述脚本的概念描述可以参考所述步骤101中的相应描述,在此不再赘述。
对于本发明实施例,可以在接收到创建数据库的创建指令之后,获取所述创建指令对应的原始数据库,再获取所述原始数据库对应的创建脚本,其中,所述原始数据库可以预先保存在预置存储位置当中,对于预置存储位置具体可以按用户需求进行配置。对于本发明实施例,需要创建的数据库可以是目标数据库,所述创建指令可以用于创建目标数据库,所述目标数据库可以在目标服务器中进行创建,也可以在本地服务器中进行创建,具体可以根据实际需求而定,本发明实施例不做限定。
需要说明的是,用户可以向数据库管理系统输入目标数据库的创建指令,进一步地,通过数据库管理系统创建目标数据库,所述数据库管理系统可以为SQL server数据库、Oracle数据库、Mysql数据库等。具体地,对于执行步骤201时,可以通过SQL server数据库管理对象API提供的Script函数,获取得到原始数据库的创建脚本,所述创建脚本是和预先存储的原始数据库高度耦合的。
202、修改所述创建脚本中与所述原始数据库对应的属性信息。
其中,所述属性信息包括SIZE键值对以及所述原始数据库对应的数据库标识、逻辑文件标识、物理文件标识。
对于本发明实施例,可以通过预置修改函数,修改所述创建脚本中与所述原始数据库对应的属性信息,其中,所述预置修改函数可以通过开发语言平台编写,开发语言平台可以为.NEC平台,也可以为C、C#、C++、JAVA等开发语言平台,本发明实施例不作限定。
进一步地,所述步骤202具体可以包括:将所述创建脚本中的SIZE键值对删除。需要说明的是,当在目标服务器中,通过SQL server数据库创建数据库时,SQL server数据库需要用到目标服务器的MODEL(模型)数据库,并且需要数据库的创建脚本中的各个文件的SIZE值大于或等于MODEL数据库中设定的SIZE值,但是在一些场景下的原始数据库的创建脚本中包含的SIZE键值对有可能小于MODEL数据库中设定的SIZE值,会导致创建目标数据库时报出MODEL数据库相关的错误,进而会造成创建数据库失败。然而对于本发明实施例,通过将原始数据库的创建脚本中的SIZE键值对删除,然后再执行SIZE键值对删除后的创建脚本,生成的目标数据库对应的SIZE值会默认为MODEL数据库中设定的SIZE值,避免了在创建目标数据库的过程中出现报错情况,提高了创建目标数据库的成功率。
例如,在利用伪代码实现创建数据库的场景下,可以如下所示:
在删除创建脚本中的SIZE键值对之前的参数伪代码包括:
GREATE DATABASE{Target}ON PRIMARY
(NAME=N’Target’,FILENAME=N’D:Data\Target.mdf’,SIZE=2304KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB)
LOG ON
(NAME=N’Target_log’,FILENAME=N’D:Data\Target_log.LDF’,SIZE=576KB,MAXSIZE=2048GB,FILEGROWTH=10%)
GO
在删除创建脚本中的SIZE键值对之后的参数伪代码包括:
GREATE DATABASE{Target}ON PRIMARY
(NAME=N’Ta Target’,FILENAME=N’D:Data\Target.mdf’,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB)
LOG ON
(NAME=N’Target_log’,FILENAME=N’D:Data\Target_log.LDF’,MAXSIZE=2048GB,FILEGROWTH=10%)
GO
对比删除之前的参数伪代码和删除之后的参数伪代码,在删除之前的参数伪代码中存在SIZE=2304KB以及SIZE=576KB,在删除之后参数伪代码中不存在SIZE键值对,进而达到删除创建脚本中的SIZE键值对的目的。
进一步地,所述步骤203具体还可以包括:修改所述创建脚本中与所述原始数据库对应的数据库标识、逻辑文件标识、物理文件标识。具体地,可以通过预置字符串替换函数,将创建脚本中的GREATE DATABASE后的字符串更改为目标数据库标识,其中,所述预置字符串替换函数可以通过开发语言平台编写。
例如,在利用伪代码实现创建数据库的场景下,可以如下所示:
在更改目标数据库标识之前的参数伪代码包括:
GREATE DATABASE{Source}ON PRIMARY
(NAME=N’Source’,FILENAME=N’D:\Program Files\Microsoft SQL Server\MSSQL 10_50.MSSQLSERVER\MSSQL\DATA\Source.mdf’,SIZE=2304KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB)
LOG ON
(NAME=N’Source_log’,FILENAME=N’D:\Program Files\Microsoft SQLServer\MSSQL 10_50.MSSQLSERVER\MSSQL\DATA\Source_log.LDF’,SIZE=576KB,MAXSIZE=2048GB,FILEGROWTH=10%)
GO
在更改目标数据库标识之后的参数伪代码包括:
GREATE DATABASE{Target}ON PRIMARY
(NAME=N’Source’,FILENAME=N’D:\Program Files\Microsoft SQL Server\MSSQL 10_50.MSSQLSERVER\MSSQL\DATA\Source.mdf’,SIZE=2304KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB)
LOG ON
(NAME=N’Source_log’,FILENAME=N’D:\Program Files\Microsoft SQLServer\MSSQL 10_50.MSSQLSERVER\MSSQL\DATA\Source_log.LDF’,SIZE=576KB,MAXSIZE=2048GB,FILEGROWTH=10%)
GO
对比更改之前的参数伪代码和更改之后的参数伪代码,在更改之前的参数伪代码中GREATE DATABASE后的字符串为Source,在更改之后的参数伪代码中GREATE DATABASE后的字符串为Target,进而达到更改数据库标识的目的。
具体地,修改所述创建脚本中与所述原始数据库对应的标识信息的步骤具体还包括:通过预置字符串函数,依次调用创建脚本中数据库目录的每一对括号里的内容,其中,一个括号代表一个文件,并且每一个括号里的内容都是以键值对的形式存在的;通过预置字符串函数调取Key为Name的键值对,对应的Name值为原始数据库的逻辑文件标识,并调取Key为FILENAME的键值对,对应的FILENAME值为原始数据库文件的物理文件标识;通过预置字符串函数,将各个逻辑文件标识中的原始数据库名替换为目标数据库名,并且写入到Name的键值对中;通过预置路径解析函数,将各个物理文件标识解析得到目录标识和文件标识,将目录标识更替为目标数据库所配置的目录名;将文件标识中的原始数据库名替换为目标数据库名,最后将目录标识和文件标识合并生成新的物理文件标识,并写入到FILENAME键值对中。其中,所述预置路径解析函数可以通过开发语言平台编写。
例如,在利用伪代码实现创建数据库的场景下,可以如下所示:
在更改逻辑文件标识、物理文件标识之前的参数伪代码包括:
GREATE DATABASE{Target}ON PRIMARY
(NAME=N’Source’,FILENAME=N’D:\Program Files\Microsoft SQL Server\MSSQL 10_50.MSSQLSERVER\MSSQL\DATA\Source.mdf’,SIZE=2304KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB)
LOG ON
(NAME=N’Source_log’,FILENAME=N’D:\Program Files\Microsoft SQLServer\MSSQL 10_50.MSSQLSERVER\MSSQL\DATA\Source_log.LDF’,SIZE=576KB,MAXSIZE=2048GB,FILEGROWTH=10%)
GO
在更改逻辑文件标识、物理文件标识之后参数伪代码包括:
GREATE DATABASE{Target}ON PRIMARY
(NAME=N’Target’,FILENAME=N’D:\Data\Target.mdf’,SIZE=2304KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB)
LOG ON
(NAME=N’Target_log’,FILENAME=N’D:\Data\Target_log.LDF’,SIZE=576KB,MAXSIZE=2048GB,FILEGROWTH=10%)
GO
对比更改之前的参数伪代码和更改之后的参数伪代码,在更改之前的参数伪代码中逻辑文件名称为Source、物理文件标识为D:\Program Files\Microsoft SQL Server\MSSQL 10_50.MSSQLSERVER\MSSQL\DATA\Source,在更改之后的参数伪代码中逻辑文件名称为Target、物理文件标识为D:\Data\Target,进而达到更改逻辑文件标识、物理文件标识的目的。
203、根据修改后的创建脚本,创建数据库。
对于本发明实施例,可以通过执行所述修改后的创建脚本,创建得到目标数据库,具体可以通过Sqlcmd命令行工具,执行所述修改后的创建脚本,创建得到目标数据库,在执行所述创建脚本的过程中,Sqlcmd命令行工具需要传入的参数包括:-U(登录名)、-P(密码)、-S(服务器)和-Q(执行SQL语句);如果所述创建脚本以文件形式保存,Sqlcmd命令行工具还可以执行所述创建脚本对应的文件。
需要说明的是,可以通过修改创建脚本中与原始数据库对应的数据库标识、逻辑文件标识、物理文件标识,之后根据修改后的创建脚本,创建目标数据库,即执行修改后的创建脚本得到目标数据库,与目前通过备份还原数据库的方式相比,可以实现根据实际需求,配置生成的目标数据库参数,方便用户管理生成的目标数据库,可以提升用户体验。
进一步地,通过修改创建脚本中与原始数据库对应的目录标识,具体是通过预置路径解析函数,将获取的各个物理文件标识解析得到目录标识和文件标识,将目录标识更替为目标数据库所配置的目录名,与目前通过备份还原数据库的方式相比,可以实现灵活调整所创建的目标数据库的文件存储目录,使生成的目标数据库更加完善,方便用户管理生成的目标数据库。
204、判断创建得到的所述数据库是否为完整的数据库。
对于本发明实施例,所述步骤204具体可以包括:判断创建得到的所述数据库中的内容是否齐全,其中,内容具体包括数据表、视图、函数和存储过程等数据库对象,具体可以在通过执行初始化所述数据库的存储过程,该过程用于判断新创建的数据库的内容是否齐全;在判断出创建得到的所述数据库不是完整数据库的情况下,执行步骤205;在判断出创建得到的所述数据库是完整数据库的情况下,结束本实施例流程。
具体地,创建得到的所述数据库包括多个组成单元,判断创建得到的所述数据库中的内容是否齐全还可以包括:判断预设集合是否是目标集合的子集,其中,预设集合为标准数据库的多个组成单元构成的集合,目标集合为创建得到的所述数据库的多个组成单元构成的集合,其中,在判断出预设集合是目标集合的子集的情况下,确定创建得到的所述数据库为完整数据库。需要说明的是,标准数据库中的多个组成单元都应该是作为数据库必须具备的组成单元,因此创建得到的所述数据库中必须至少包含标准数据库中的多个组成单元,只有创建得到的所述数据库中的多个组成单元包括标准数据库中的多个组成单元的情况下,创建得到的所述数据库才是完整的数据库。
例如,标准数据库中包含3个组成单元,分别是单元1、单元2、单元3,通过创建脚本创建得到的目标数据库中包括5个组成单元,分别是单元1、单元2、单元3、单元4、单元5,判断目标数据库中的5个组成单元是否包含了标准数据库中的3个组成单元,当判断出目标数据库的5个组成单元包含了标准数据库中的3个组成单元时,确定目标数据库是完整的数据库,当标准数据库中存在一个组成单元没有被目标数据库中的5个组成单元所包含,则确定目标数据库不是完整的数据库。
205、若判断出创建得到的所述数据库不是完整的数据库,则获取原始数据库对象的创建脚本。
其中,数据库对象是数据库的组成部分,有表(Table)、索引(Index)、视图(View)、图表(Diagram)、缺省值(Default)、规则(Rule)、触发器(Trigger)、存储过程(StoredProcedure)、用户(User)等几种。
对于本发明实施例,可以通过SQL server数据库管理对象API提供的Transfer类函数,获取得到原始数据库对象的创建脚本。具体地,可以使用Transfer类中CopyAllDefaults方法获得创建数据的相关SQL脚本,需要确定包括:表、视图、存储过程、触发器和注释等数据库相关的信息。
206、根据所述原始数据库对象的创建脚本,在所述数据库中创建数据库对象。
对于本发明实施例,可以连接创建完的目标数据库,执行获取得到的原始数据库对象脚本,在目标数据库中创建得到目标数据库对象,可以进一步地,使生成的目标数据库更加完善,方便用户使用,提升了用户的体验。
可选地,在所述步骤201之前,可以包括:判断所述原始数据库是否为完整的数据库;若是,则获取所述原始数据库的创建脚本。进而在获取所述原始数据库的创建脚本之前,对原始数据库中的内容是否齐全进行预判,在判断出原始数据库为完整数据库的情况下,获取原始数据库的创建脚本,进而实现通过所述创建脚本进行目标数据库创建,创建得到的目标数据库中包含有原始数据库对应的完整数据库对象,从而可以使生成的目标数据库更加完善,提高了工作效果。
需要说明的是,本发明实施例在判断出所述原始数据库是完整的数据库的情况下,可以从步骤201开始执行,到步骤203结束本实施例流程,对应的判断所述原始数据库是否为完整的数据库的步骤可以参考所述步骤204中判断过程的相应描述,在此不再赘述。
对于本发明实施例具体应用场景可以如下所示,但不限于此,包括:
首先接收到创建目标数据库的创建指令,获取得到与创建指令对应的原始数据库,然后通过SQL server数据库管理对象API提供的Script函数,获取得到原始数据库的创建脚本,该创建脚本是和预先存储的原始数据库高度耦合的,需要修改一些属性信息,使其符合用户的需要。在创建脚本修改完毕后,通过Sqlcmd命令行工具,执行该修改后的创建脚本,创建得到目标数据库。然后判断得到的目标数据库是否为完整的数据库,如果是完整的数据库,实现了创建与原始数据库结构相同的目标数据库的目的;如果目标数据库不是完整的数据库,还要获取原始数据库对象的创建脚本,通过SQL server数据库管理对象API提供的Transfer类函数,获取得到原始数据库对象的创建脚本,如表、视图、存储过程、触发器和注释等数据库对象;连接创建完的目标数据库,执行获取得到的原始数据库对象脚本,在目标数据库中创建得到目标数据库对象,可以使生成的目标数据库更加完善,方便用户使用,提升了用户的体验。
在上述场景中,对于修改创建脚本中属性信息的步骤具体包括:通过预置字符串替换函数,将创建脚本中的GREATE DATABASE后原有的字符串Source更改为目标数据库标识Target;通过预置字符串函数,依次调用创建脚本中数据库目录的每一对括号里的内容,其中,一个括号代表一个文件,并且每一个括号里的内容都是以键值对的形式存在的;通过预置字符串函数调取Key为Name的键值对,对应的Name值为原始数据库的逻辑文件标识,并调取Key为FILENAME的键值对,对应的FILENAME值为原始数据库文件的物理文件标识;通过预置字符串函数,将各个逻辑文件标识中的原始数据库名Source替换为目标数据库名Target,并且写入到Name的键值对中;通过预置路径解析函数,将各个物理文件标识解析得到目录标识和文件标识,将目录标识D:\Program Files\Microsoft SQL Server\更替为目标数据库所配置的目录名D:\Data\,将文件标识中的原始数据库名Source替换为目标数据库名Target,最后将目录标识和文件标识合并生成新的物理文件标识,并写入到FILENAME键值对中。其中,该预置路径解析函数可以通过SQL语言开发语言平台编写。通过修改创建脚本中与原始数据库对应的数据库标识、逻辑文件标识、物理文件标识,进而可以实现根据实际需求,配置生成的目标数据库参数,通过修改创建脚本中与原始数据库对应的目录标识,可以实现灵活调整所创建的目标数据库的文件存储目录,方便用户管理生成的目标数据库。
在上述场景中,对于修改创建脚本中属性信息的步骤具体还包括:将所述创建脚本中的SIZE键值对删除。删除之后再执行创建脚本,创建生成的目标数据库对应的SIZE值会默认为MODEL数据库中设定的SIZE值,避免了在创建目标数据库的过程中出现报错情况,提高了创建目标数据库的成功率。
本发明实施例提供的另一种数据库的创建方法,首先获取原始数据库的创建脚本;然后修改所述创建脚本中与所述原始数据库对应的属性信息;最后根据修改后的创建脚本,创建数据库。与目前通过备份还原数据库的方式相比,本发明通过执行原始数据库的创建脚本,创建得到与原始数据库结构相同的数据库,简化了数据库的创建方式,节省了创建结构相同数据库所耗费的时间,创建生成的数据库中不包含有原始数据库中的数据,无需进行数据删除,提高了数据库的创建效率。
进一步地,作为图1所示方法的具体实现,本发明实施例提供了一种数据库的创建装置,如图3所示,所述装置包括:获取单元31、修改单元32、创建单元33。
所述获取单元31,可以用于获取原始数据库的创建脚本。
所述修改单元32,可以用于修改所述获取单元31获取的创建脚本中与所述原始数据库对应的属性信息。
所述创建单元33,可以用于根据所述修改单元32修改后的创建脚本,创建数据库。
需要说明的是,本发明实施例提供的一种数据库的创建装置所涉及各功能单元的其他相应描述,可以参考图1的对应描述,在此不再赘述。
本发明实施例提供的一种数据库的创建装置,首先获取原始数据库的创建脚本;然后修改所述创建脚本中与所述原始数据库对应的属性信息;最后根据修改后的创建脚本,创建数据库。与目前通过备份还原数据库的方式相比,本发明通过执行原始数据库的创建脚本,创建得到与原始数据库结构相同的数据库,简化了数据库的创建方式,节省了创建结构相同数据库所耗费的时间,创建生成的数据库中不包含有原始数据库中的数据,无需进行数据删除,提高了数据库的创建效率。
进一步地,作为图2所示方法的具体实现,本发明实施例提供了另一种数据库的创建装置,获取单元41、修改单元42、创建单元43。
所述获取单元41,可以用于获取原始数据库的创建脚本。
所述修改单元42,可以用于修改所述获取单元41获取的创建脚本中与所述原始数据库对应的属性信息。
所述创建单元43,可以用于根据所述修改单元42修改后的创建脚本,创建数据库。
可选地,所述属性信息可以包括SIZE键值对。
进一步地,所述修改单元包括:删除模块421。
所述删除模块421,可以用于将所述创建脚本中的SIZE键值对删除。
可选地,所述属性信息还可以包括所述原始数据库对应的数据库标识、逻辑文件标识、物理文件标识。
所述修改单元42,具体可以用于修改所述创建脚本中与所述原始数据库对应的数据库标识、逻辑文件标识、物理文件标识。
进一步地,所述装置还包括:判断单元44。
所述判断单元44,可以用于判断创建得到的所述数据库是否为完整的数据库。
所述获取单元41,还可以用于若所述判断单元44判断出所述数据库不是完整的数据库,则获取原始数据库对象的创建脚本。
所述创建单元43,还可以用于根据所述获取单元41获取的原始数据库对象的创建脚本,在所述数据库中创建数据库对象。
所述判断单元44,还可以用于判断所述原始数据库是否为完整的数据库。
所述获取单元41,具体可以用于若所述判断单元44判断出所述原始数据库是完整的数据库,则获取所述原始数据库的创建脚本。
需要说明的是,本发明实施例提供的另一种数据库的创建装置所涉及各功能单元的其他相应描述,可以参考图2的对应描述,在此不再赘述。
本发明实施例提供的另一种数据库的创建装置,首先获取原始数据库的创建脚本;然后修改所述创建脚本中与所述原始数据库对应的属性信息;最后根据修改后的创建脚本,创建数据库。与目前通过备份还原数据库的方式相比,本发明通过执行原始数据库的创建脚本,创建得到与原始数据库结构相同的数据库,简化了数据库的创建方式,节省了创建结构相同数据库所耗费的时间,创建生成的数据库中不包含有原始数据库中的数据,无需进行数据删除,提高了数据库的创建效率。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (8)

1.一种数据库的创建方法,其特征在于,包括:
获取原始数据库的创建脚本;
修改所述创建脚本中与所述原始数据库对应的属性信息;
根据修改后的创建脚本,创建数据库,其中,创建的数据库的结构与所述原始数据库的结构相同;
在创建数据库之后,所述方法还包括:
判断创建得到的所述数据库是否为完整的数据库;
若否,则获取原始数据库对象的创建脚本;
根据所述原始数据库对象的创建脚本,在所述数据库中创建数据库对象;
所述获取原始数据库的创建脚本之前,所述方法还包括:
判断所述原始数据库是否为完整的数据库;
所述获取原始数据库的创建脚本包括:
若是,则获取所述原始数据库的创建脚本。
2.根据权利要求1所述的数据库的创建方法,其特征在于,所述属性信息包括SIZE键值对,所述修改所述创建脚本中与所述原始数据库对应的属性信息包括:
将所述创建脚本中的SIZE键值对删除。
3.根据权利要求2所述的数据库的创建方法,其特征在于,所述属性信息还包括所述原始数据库对应的数据库标识、逻辑文件标识、物理文件标识,所述修改所述创建脚本中与所述原始数据库对应的属性信息包括:
修改所述创建脚本中与所述原始数据库对应的数据库标识、逻辑文件标识、物理文件标识。
4.一种数据库的创建装置,其特征在于,包括:
获取单元,用于获取原始数据库的创建脚本;
修改单元,用于修改所述获取单元获取的创建脚本中与所述原始数据库对应的属性信息;
创建单元,用于根据所述修改单元修改后的创建脚本,创建数据库,其中,创建的数据库的结构与所述原始数据库的结构相同;
所述装置还包括:判断单元;
所述判断单元,用于判断创建得到的所述数据库是否为完整的数据库;
所述获取单元,还用于若所述判断单元判断出所述数据库不是完整的数据库,则获取原始数据库对象的创建脚本;
所述创建单元,还用于根据所述获取单元获取的原始数据库对象的创建脚本,在所述数据库中创建数据库对象;
所述判断单元,还用于判断所述原始数据库是否为完整的数据库;
所述获取单元,具体用于若所述判断单元判断出所述原始数据库是完整的数据库,则获取所述原始数据库的创建脚本。
5.根据权利要求4所述的数据库的创建装置,其特征在于,所述属性信息包括SIZE键值对,所述修改单元包括:
删除模块,用于将所述创建脚本中的SIZE键值对删除。
6.根据权利要求5所述的数据库的创建装置,其特征在于,所述属性信息还包括所述原始数据库对应的数据库标识、逻辑文件标识、物理文件标识,
所述修改单元,具体用于修改所述创建脚本中与所述原始数据库对应的数据库标识、逻辑文件标识、物理文件标识。
7.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,
在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求3中任意一项所述的数据库的创建方法。
8.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至权利要求3中任意一项所述的数据库的创建方法。
CN201510595290.3A 2015-09-17 2015-09-17 数据库的创建方法及装置 Active CN106547756B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510595290.3A CN106547756B (zh) 2015-09-17 2015-09-17 数据库的创建方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510595290.3A CN106547756B (zh) 2015-09-17 2015-09-17 数据库的创建方法及装置

Publications (2)

Publication Number Publication Date
CN106547756A CN106547756A (zh) 2017-03-29
CN106547756B true CN106547756B (zh) 2021-02-12

Family

ID=58362853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510595290.3A Active CN106547756B (zh) 2015-09-17 2015-09-17 数据库的创建方法及装置

Country Status (1)

Country Link
CN (1) CN106547756B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112530523A (zh) * 2019-09-18 2021-03-19 智慧芽信息科技(苏州)有限公司 数据库构建方法、文件检索方法以及装置
CN113448942B (zh) * 2020-03-27 2022-07-22 阿里巴巴集团控股有限公司 数据库访问方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577012A (zh) * 2009-06-17 2009-11-11 重庆大学 基于Web的虚拟植物可视化系统及虚拟植物构建方法
CN103856969A (zh) * 2014-03-28 2014-06-11 大唐移动通信设备有限公司 网元特性参数的统计方法、装置及系统
CN104408118B (zh) * 2014-11-25 2019-05-31 北京国双科技有限公司 数据库的创建方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100461692C (zh) * 2005-11-28 2009-02-11 华为技术有限公司 网络设备配置系统和方法
CN101324890A (zh) * 2008-07-25 2008-12-17 上海群视信息科技有限公司 一种互联网文内关键字广告的生成和投放方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577012A (zh) * 2009-06-17 2009-11-11 重庆大学 基于Web的虚拟植物可视化系统及虚拟植物构建方法
CN103856969A (zh) * 2014-03-28 2014-06-11 大唐移动通信设备有限公司 网元特性参数的统计方法、装置及系统
CN104408118B (zh) * 2014-11-25 2019-05-31 北京国双科技有限公司 数据库的创建方法和装置

Also Published As

Publication number Publication date
CN106547756A (zh) 2017-03-29

Similar Documents

Publication Publication Date Title
CN108572996B (zh) 数据库表结构的同步方法、装置、电子设备和存储介质
US8442951B1 (en) Processing archive content based on hierarchical classification levels
CN111737227B (zh) 数据修改方法及系统
WO2012034440A1 (zh) 一种数据库升级脚本的生成方法和装置
CN104794048A (zh) 一种ui自动化测试方法和系统
CN110597821B (zh) 数据仓库表结构变更方法及装置
CN106547756B (zh) 数据库的创建方法及装置
CN110688305B (zh) 测试环境同步方法、装置、介质、电子设备
CN105373631A (zh) 基于SQLSever的数据库结构自动升级方法
WO2019026171A1 (ja) ストレージシステムの管理システム
CN108664255B (zh) 一种软件升级方法及装置
WO2014055438A1 (en) Reference data segmentation from single to multiple tables
CN107451202B (zh) 一种数据访问方法及设备
CN110968569B (zh) 数据库的管理方法、数据库的管理装置及存储介质
KR20150123603A (ko) 데이터베이스 관리 방법 및 데이터베이스 관리 시스템
CN110555185A (zh) 基于pc客户端的页面定制方法及系统
CN109358807A (zh) 一种目标cli的查询方法、查询系统及相关装置
CN114064674A (zh) 数据同步方法、装置、计算机设备、存储介质和产品
CN114553859A (zh) 一种bmc配置管理方法、装置、电子设备及存储介质
CN109977104B (zh) 数据管理方法及装置
CN112765158A (zh) 一种数据库的数据修改方法、装置及存储介质
CN105069078A (zh) 一种处理增量索引合并失败的方法及装置
CN112860376A (zh) 一种快照链的制作方法、装置、电子设备及存储介质
CN113626409B (zh) 一种测试资料处理方法、装置、设备及存储介质
CN116302206B (zh) 一种基于MQ的presto数据源热加载方法

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
CB02 Change of applicant information
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.

GR01 Patent grant
GR01 Patent grant