一种基于分类-属性-值的数据库构造方法和构造系统技术方案

技术编号:15022587 阅读:36 留言:0更新日期:2017-04-05 00:16
本发明专利技术一实施例提出一种基于分类-属性-值的数据库构造方法和系统,该构造方法包括:在数据库中建立分类,所述分类为树形结构,所述分类的路径确定唯一对象集合;在每一所述分类中建立多个属性;以及在每一所述分类中建立多个配置项,在每一个所述配置项中生成对应于每一个所述属性的输入项。本发明专利技术提出的基于分类-属性-值的数据库构造方法和系统,让表结构随需求变更而变更的成本尽可能小,维护效率提高,最终实现该系统的长期工作,适应高速迭代开发。

【技术实现步骤摘要】

本专利技术涉及数据库领域,尤其涉及一种数据库构造方法。
技术介绍
在传统系统开发中,开发人员须要先精准的确定关系型数据库表结构,在其上做代码开发,而需求不断发生追加和改变,在该系统的后续维护开发时,开发人员不得不面临繁琐的表结构变更,和随之而来的大量的代码编写和回归测试,维护系统效率会持续降低,直至该系统被放弃,用新系统取代,重新开始上述的循环。因此,需要开发一种新的数据库构造方法和系统,让表结构随需求变更而变更的成本尽可能小,维护效率提高,最终实现该系统的长期工作,适应高速迭代开发。
技术实现思路
本专利技术目的在于提出一种将原来固定的二维表结构再分解成更小的原子项,通过对原子项的元数据解释和组合,实现操纵表格变更的基于分类-属性-值的数据库构造方法和系统。为了解决上述问题,本专利技术一实施例提出一种基于分类-属性-值的数据库构造方法,包括:在数据库中建立分类,所述分类为树形结构,所述分类的路径确定唯一对象集合;在每一所述分类中建立多个属性;以及在每一所述分类中建立多个配置项,在每一个所述配置项中生成对应于每一个所述属性的输入项。在一实施例中,所述方法还包括:建立快照,当任一所述输入项发生改变,所述快照用于存储变更前的所述输入项。在一实施例中,对应于每一个属性的所述输入项是通过人工添加生成或由脚本生成。在一实施例中,所述数据库为关系型数据库或非关系型数据库。在一实施例中,所述分类包括至少一个父分类和所述至少一个父分类下的多个子分类,所述多个子分类继承所述至少一个父分类的特性。在一实施例中,所述方法还包括:在其中一个所述分类中添加属性,所述添加的属性的约束复用所述分类中已定义的多个约束的至少一部分,或者所述添加的属性复用所述分类中已定义的多个属性的至少一部分。在一实施例中,所述已定义的多个约束来源于人工自定义约束、所述数据库中的属性池中的约束、通过接口从所述数据库的外部调用的约束和/或数据字典。本专利技术另一实施例提出一种基于分类-属性-值的数据库构造系统,包括:分类建立模块,用于在数据库中建立分类,所述分类为树形结构,所述分类的路径确定唯一对象集合;属性建立模块,用于在每一所述分类中建立多个属性;以及配置项建立模块,用于在每一所述分类中建立多个配置项,在每一个所述配置项中生成对应于每一个所述属性的输入项。在一实施例中,所述系统还包括:快照建立模块,用于建立快照,当任一所述输入项发生改变,所述快照用于存储变更前的所述输入项。在一实施例中,对应于每一个属性的所述输入项是通过人工添加生成或由脚本生成。在一实施例中,所述数据库为关系型数据库或非关系型数据库。在一实施例中,所述分类包括至少一个父分类和所述至少一个父分类下的多个子分类,所述多个子分类继承所述至少一个父分类的特性。在一实施例中,所述系统还包括:属性添加模块,用于在其中一个所述分类中添加属性,所述添加的属性的约束复用所述分类中已定义的多个约束的至少一部分,或者所述添加的属性复用所述分类中已定义的多个属性的至少一部分。在一实施例中,所述已定义的多个约束来源于人工自定义约束、所述数据库中的属性池中的约束、通过接口从所述数据库的外部调用的约束和/或数据字典。本专利技术提出的基于分类-属性-值的数据库构造方法和系统,让表结构随需求变更而变更的成本尽可能小,维护效率提高,最终实现该系统的长期工作,适应高速迭代开发。附图说明图1所示为本专利技术一实施例的基于分类-属性-值的数据库构造方法的流程图。图2所示为本专利技术一实施例的分类树的示意图。图3所示为本专利技术一实施例的基于分类-属性-值的数据库的框图。图4所示为本专利技术一实施例的属性的示意图。图5所示为本专利技术一实施例的配置项的示意图。图6所示为本专利技术一实施例的基于分类-属性-值的数据库构造系统的方框图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。本专利技术的核心构思之一,在于将现有常用的数据库中固定的二维表结构再分解成更小的原子项,通过对原子项的元数据解释和组合,实现操纵表格变更。下表1所示为本专利技术一实施例的传统关系型表结构定义和本专利技术关系结构定义的对照表,用以对比现有技术,对本专利技术公开的基于分类-属性-值的数据库构造方法进行解释。传统关系型表结构定义本专利技术关系结构定义表分类字段属性记录配置项表内一条记录中某个字段的值指定分类下一个配置项的某个属性的值表1如上表所示,本专利技术关系结构中的“分类”可以类比于传统关系型表结构的“表”;本专利技术关系结构中的“属性”可以类比于传统关系型表结构中的“字段”,本专利技术关系结构中的“配置项”可以类比于传统关系型表结构中的“记录”;本专利技术关系结构中的指定分类下一个配置项的某个属性的值(配置项内容)可以类比于传统关系型表结构中的表内一条记录中某个字段的值。图1所示为本专利技术一实施例的基于分类-属性-值的数据库构造方法的流程图,如图1所述,该数据库构造方法可以包括如下步骤:S01,在数据库中建立分类,所述分类为树形结构,所述分类的路径确定唯一对象集合;分类,也称为分类树(ClassTree):对含有相同属性的数据一种区分方式,可以视为一个集合名称,成树形结构,子分类继承父分类的特性,分类树路径确定唯一对象集合。图2所示为本专利技术一实施例中的分类树的示意图,如图2所示,举例来说,分类树路径“/MaintenanceSource/PhysicalDevice/HOST”确定物理机数据集合的存放地址。因此在步骤S01中,可以在数据库中建立分类,并且后续可以根据分类树的路径检索到该唯一的对象集合。另外,在一优选实施例中,该数据库中建立的分类可以包括至少一个父分类和至少一个父分类下的多个子分类,多个子分类继承父分类的特性。例如,图3中所示的数据库中可以包括多个父分类,每个父分类下属多个子分类,每个子分类包括属性1至属性N。数据库中的父分类可以是多个,每一个父分类下可以有至少一个子分类,每一个子分类分别继承父分类的特性。之后,执行步骤S02,在每一所述分类中建立多个属性;属性(Property):挂载在分类之上,对指定分类的某种特性的说明,可以指定输入的约束条件,来维护数据的完整性。相同属性可以挂载在不同的分类上,即定义好的属性可以被开发人员复用,所以存在属性池的概念。图4所示为本专利技术一实施例的属性的示意图,如图4所示,在这一实施例中,英文名为“IpAddress”,中文为“IP地址”,启用标识为“启用”,必输标识为“非必输”,可编辑标识为“可编辑”,公有标识为“私有”均为该条数据的属性。在步骤S02中,开发人员可以事先定义属性中的一个或多个约束,例如属性池中的各属性对应的各约束,在建立属性的步骤中,可以复用属性池中定义好的约束本文档来自技高网...

【技术保护点】
一种基于分类‑属性‑值的数据库构造方法,其特征在于,包括:在数据库中建立分类,所述分类为树形结构,所述分类的路径确定唯一对象集合;在每一所述分类中建立多个属性;以及在每一所述分类中建立多个配置项,在每一个所述配置项中生成对应于每一个所述属性的输入项。

【技术特征摘要】
1.一种基于分类-属性-值的数据库构造方法,其特征在于,包括:
在数据库中建立分类,所述分类为树形结构,所述分类的路径确定唯一
对象集合;
在每一所述分类中建立多个属性;以及
在每一所述分类中建立多个配置项,在每一个所述配置项中生成对应于
每一个所述属性的输入项。
2.如权利要求1所述的数据库构造方法,其特征在于,所述方法还包括:
建立快照,当任一所述输入项发生改变,所述快照用于存储变更前的所
述输入项。
3.如权利要求1所述的数据库构造方法,其特征在于,对应于每一个属
性的所述输入项是通过人工添加生成或由脚本生成。
4.如权利要求1所述的数据库构造方法,其特征在于,所述数据库为
关系型数据库或非关系型数据库。
5.如权利要求1所述的数据库构造方法,其特征在于,所述分类包括至
少一个父分类和所述至少一个父分类下的多个子分类,所述多个子分类继承
所述至少一个父分类的特性。
6.如权利要求1所述的数据库构造方法,其特征在于,所述方法还包括:
在其中一个所述分类中添加属性,所述添加的属性的约束复用所述分类
中已定义的多个约束的至少一部分,或者所述添加的属性复用所述分类中已
定义的多个属性的至少一部分。
7.如权利要求6所述的数据库构造方法,其特征在于,所述已定义的多
个约束来源于人工自定义约束、所述数据库中的属性池中的约束、通过接口
从所述数据库的外部调用的约束和/或数据字典。
8.一种基于分类-属性-值的数据库构造系统,其特征在于,...

【专利技术属性】
技术研发人员:陈庆
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京;11

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

1