当前位置: 首页 > 专利查询>微软公司专利>正文

数据库对象脚本生成方法和系统技术方案

技术编号:2866459 阅读:210 留言:0更新日期:2012-04-11 18:40
在关系数据库中为不同复杂程度的对象生成脚本的方法包括从通过系统的单一或多个指向对象的指针生成一个分级对象树。在分级树的构成中将重复对象引用删除。从分级树中生成从属性列表。所述从属性列表代表一个对象的线性表,所述对象以其将被生成以满足相关限定的顺序排列。从从属性列表中生成一个脚本,所述从属性列表允许调度不同复杂程度的对象到目标数据库中。通过实例化从属性列表并且调用一个事先构建的对象脚本方法生成脚本。每一个阶段都能够单独操作。

【技术实现步骤摘要】

本专利技术通常涉及计算机数据库领域并且更加特别的涉及在关系数据库中为复杂对象自动生成脚本的领域。
技术介绍
结构化查询语言是美国国家标准学院(ANSI)用来与关系数据库进行通信的标准。SQL是关系数据库管理系统的标准语言。SQL语句被用来执行诸如从关系数据库中刷新数据或检索数据的任务。虽然很多数据库系统使用SQL,其中的很多数据库仍旧具有他们自己附加独有的扩展,所述扩展通常只能在其自己的系统中使用。但是,标准SQL命令,例如”Select”,”Insert”,”Update”,”Delete”,”Create”,”Drop”仍旧能够被用来实现获得人们希望从关系数据库中获得的事务。关系数据库通常被构造成包含行和列的表。行和列交点或交点单元的数据的条目通常与一系列对数据的限制保持一致,所述限制被用于定义交点单元所允许的数据类型。与这种数据条目相伴随的一个长期的问题是对那些人们希望放入数据库的大且复杂的对象缺少定义。对已使用的SQL数据类型的限制通常限制了那些能够被输入到关系数据库例如SQL中的数据的类型。一个大的对象,如果放入SQL数据库,将会使数据库处理变慢或者使用例如存储器和处理器时间的系统资源以获得一个或多个庞大又复杂的对象。脚本查询和在诸如SQL关系数据库中利用对象是既浪费时间又需要有较强的专业知识。这些脚本的作者为了在目标关系数据库中恰当地与正确的元数据一起用具体例子说明(instantiate)对象,必须知道与其他对象相关联的所述新且复杂对象的依赖关系。例如,这种脚本的专业知识可能会超出那些希望利用其关系数据库以追踪和查询与其企业(business)相关的复杂对象的一般用户的经验。另一方面,系统管理员可以利用脚本来帮助维护关系数据库。这些脚本动作需要时间和管理去准备和运行。目前,为涉及复杂对象的关系数据库自动生成脚本,并不是很容易实现的。于是,对那些希望被引用并对SQL数据库有所动作的对象需要有一个统一的标记(reference)。另外,对应用和系统维护的工作来说,需要一种生成脚本的机制以方便在诸如SQL关系数据库内配置对象。本专利技术提出了上述已经提到的需求并且利用多种系统、方法和技术解决了他们,所述多种系统、方法和技术不需要知道关系数据库元数据的复杂结构就能生成复杂的关联树和表并且修改他们以生成脚本。
技术实现思路
本专利技术包括关系数据库的一个脚本器(scripter),所述脚本器能够特别地应用于一个SQL数据库管理系统。多种独立的软件模块或多种功能的串连输入对象引用并输出脚本。本专利技术的一个示例性部分或模块从所传入的一个或多个对象引用(OBJECT REFRENCE)生成分级对象树。利用对象引用的复杂对象,可以使用统一资源名称表示。所述模块排除重复的对象标记并产生一个关联树。所述模块还能在树被建立及完成之后提供机会编辑所述树。另外的示例性模块或部分从用户或之前的模块输入一个等级关联树,并且生成一个从属性列表(dependency list)。从属性列表是一个线性表,所述线性表表达了为满足相关限制而利用的对象的生成顺序。这个模块还能在树被建立及完成之后提供编辑从属性列表的机会。另外的示例性模块或部分从从属性列表中生成脚本。所述从属性列表可以是用户生成的,或者他也可以是从前面的模块输入的。所述模块在从属性列表中例示(instantiate)对象,并且调用与对象相关的脚本方法。所述模块提供给用户或控制程序广泛的灵活性以当脚本正被产生及完成之后编辑脚本。附图说明前面的专利技术概述,以及后面对较佳实施例的详细描述,当与附图相结合阅读时将被更好的理解。为了阐述本专利技术的目的,在图中示出了本专利技术的示例性结构;但是本专利技术不应限于所述的特定方法及其中所公开的手段。图1是显示了本专利技术能够被实施的一个方面的示例性计算环境的方块图;图2描述了本专利技术能够被实施的一个方面示例性、全面的流程图;图3描述了与本专利技术第一模块或状态相适应的示例性流程图;图4描述了与本专利技术第二模块或状态相适应的示例性流程图;图5描述了与本专利技术第三模块或状态相适应的示例性流程图; 图6描述了本专利技术一个实现的示例性静态结构图。具体实施例方式概述本专利技术提供了在关系数据库中为多种复杂对象自动生成脚本。提供了一些技术,其中从属性列表被输入到处理中并且反应了多种对象间关系的从属性列表或分级树能够被产生。从属性列表或分级树可以然后被输入到处理的其他部分,其中分级树被处理成一个有序的从属性列表。从属性列表之后可以被处理成一个能够用来配置在一个特定目标关系数据库中的关系数据库对象的脚本。本专利技术的多种状态和模块可以被分别执行或以串连顺序执行。示范性计算装置图1和下述讨论,将用来提供一个对本专利技术所实施的合适的计算环境的简要的总的描述。然而,应该明白,可以预料到各种计算对象和手持式、便携式和其他计算装置,能够结合本专利技术一起使用。因此,虽然在下面描述了一种通用计算机,但其并不限于一个例子,并且本专利技术还可以用其他计算装置来实施,诸如具有网络/总线互操作性和交互性的客户端。因此,本专利技术可以在一种网络主机服务的环境中实施,其中牵涉到很少或最小的客户端资源,例如,一种客户装置仅仅起到网络/总线接口的作用的网络环境,诸如一个置于设备中的对象,或者其他计算装置和对象。其实,根据本专利技术,无论数据存于何处或者对哪个数据进行检索,都是合意的、或合适的操作环境。虽然不是必需的,本专利技术可以通过一个操作系统来实施,以供装置或对象的服务的开发者使用,和/或可以包括在根据本专利技术操作的应用软件中。在计算机可执行指令的通常情况下,软件可被描述成,诸如程序模块,其可由一个或多个诸如客户端工作站、服务器或其他装置这样的计算机执行。通常,程序模块包括例行程序、程序、对象、组成部分(component),数据结构等,执行特定任务或实施特定的抽象数据类型。典型地,可以如在各种实施例中所描述的那样,合并或分散程序模块的功能。而且,本领域中的技术人员将会意识到,本专利技术可以用其他计算机配置来实施。适于本专利技术使用的其他公知的计算系统、环境、和/或配置包括,但不限于,个人计算机(PC)、自动柜员机、服务器计算机、手持式或膝上型装置、多处理器系统、基于微处理器的系统、可编程的客户设备、网络PC、仪表、照明器材、环境控制元件、小型计算机、大型计算机等等。本专利技术还可以在分布式计算环境中实施,其中所述任务由远程处理装置来执行,该远程处理装置经由通信网络/总线或其他传输介质而被连接。在分布式计算环境中,程序模块可以存放于包括存储器存储装置的本地和远程计算机存储介质上、和可以轮流起服务器节点作用的客户端节点。图1,如此示出了一个能实施本专利技术的适于计算系统环境100的例子,虽然如上所阐明的,计算系统环境100只是适于计算系统的一个例子,并不是想要暗示关于本专利技术的功能或使用的范围。也不应把计算环境100解释成对关于任一示例性操作环境100中所示出的部件或其组合的具备依赖性和相关要求。参照图1,用于实施本专利技术的一个示例性系统,包括一个作为计算机系统110的通用计算装置。计算机系统110的部件包括,但是不限于,一个处理器单元120、一个系统存储器130、和一个各种系统部件的系统总线121,其中该总线包括把系统存储器连至处理器单元120。所本文档来自技高网
...

【技术保护点】
一种在关系数据库中为至少一个对象引用生成脚本的方法,所述方法包括:接收关系数据库中将被脚本化的至少一个对象引用;侦测所述至少一个对象引用的关系从属性;构建一个包括所述至少一个对象引用的分级对象树;基于侦测到的 关系从属性从分级对象树中派生出一个从属性列表;并且响应从属性列表生成一个脚本。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:D松金M沃里斯
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1