专利名称:一种数据库扩展方法及装置的制作方法
技术领域:
本发明涉及数据库技术,特别是涉及一种数据库扩展方法及装置。
背景技术:
在业务应用中,很多数据库应用系统都不能根据应用功能的变化而动态修改数据库,即不支持数据库结构的动态扩充或修改。这是因为系统开发人员在设计数据库时,是按照用户(系统使用者)的应用需求来设计数据库结构的,应用系统在开发完成并投入使用后,用户就不能轻易进行数据库结构的修改,即数据库应用系统能够实现的功能是固定的。如果用户需要增加新的应用功能或修改原功能,则需要由相应的开发人员来增加或修改源代码,并对其进行编译、测试等一系列过程,才能满足用户的需求,而用户自己是无法更改数据库系统的结构的。
例如,在财务应用中需要进行项目的核算,如核算支出费用、核算公司收益,等等。在不同的公司财务管理中,核算项目往往不是固定不变的,而是根据不同的应用场景设置不同的核算项目。但是,用于财务管理的数据库应用系统一般只能提供几个较普遍的预设核算项目,因此不能满足不同用户的需求。
目前的解决办法是用户通知系统开发或维护人员,由他们进入系统的源代码进行增加或修改等操作,实现数据库结构的改变。这种方式的缺点是必须由专业人员来实现,增加了用户和开发方对数据库应用系统的维护工作量和维护成本,系统的灵活性非常低,不能满足用户多元化的需求。
发明内容
本发明所要解决的技术问题是提供一种数据库扩展方法及装置,以解决目前的数据库应用系统通过修改源代码来扩展应用功能,带来维护工作量大、维护成本高、系统不灵活的问题。
为解决上述技术问题,根据本发明提供的具体实施例,本发明公开了以下技术方案 一种数据库扩展方法,包括 创建扩展数据表,该扩展数据表用于记录扩展数据的结构描述; 创建用户交互接口,用户通过该接口对扩展数据表进行编辑; 通过所述接口,所述扩展数据表接收用户设置的扩展数据的结构描述; 根据所述扩展数据的结构描述,在数据库中建立新的数据表; 接收用户输入的扩展数据,并保存在所述新的数据表中,完成数据库数据的扩展。
其中,按照以下步骤建立新的数据表所述扩展数据的结构描述包括扩展数据的名称和属性,所述扩展数据表分为扩展数据管理表和扩展数据属性表;将扩展数据的名称及对应的物理表名保存在扩展数据管理表,将扩展数据的属性及对应的物理字段名保存在扩展数据属性表;在数据库中构建扩展数据管理表中指定的物理表,并在该物理表中增加扩展数据属性表中指定的物理字段。
其中,所述扩展数据的结构描述还包括扩展数据属性的子属性,数据库根据所述子属性来设置物理表中的字段。
所述方法还包括通过将所述扩展数据管理表与扩展数据属性表相关联,获取扩展数据的名称和属性,并显示给用户供浏览或编辑扩展数据。
一种数据库扩展方法,包括 创建扩展数据表,该扩展数据表用于记录扩展数据的结构描述; 创建用户交互接口,用户通过该接口对扩展数据表进行编辑; 通过所述接口,所述扩展数据表接收用户设置的扩展数据的结构描述; 根据所述扩展数据的结构描述,查找数据库中对应的原数据表,并对查找到的原数据表结构进行删除或修改操作。
一种数据库扩展装置,包括 扩展数据管理单元,用于创建扩展数据表,该扩展数据表用于记录扩展数据的结构描述;接收用户设置的扩展数据的结构描述,并添加到扩展数据表中; 数据库管理单元,用于根据所述扩展数据表中扩展数据的结构描述,在数据库中建立新的数据表;并接收用户输入的扩展数据,保存到所述新的数据表中; 界面操作单元,用于提供用户与数据库的交互接口,用户通过该接口对扩展数据表进行编辑。
其中,所述扩展数据管理单元还可根据用户设置对扩展数据表中的结构描述进行删除或修改操作;相应的,所述数据库管理单元还可对原数据表结构进行删除或修改操作,并对数据表中的扩展数据进行增、删、改操作。
其中,所述扩展数据的结构描述包括扩展数据的名称和属性,所述扩展数据管理单元将扩展数据表分为扩展数据管理表和扩展数据属性表,其中扩展数据管理表用于保存扩展数据的名称及对应的物理表名,扩展数据属性表用于保存扩展数据的属性及对应的物理字段名。
其中,所述数据库管理单元在建立数据表时,根据扩展数据管理表构建指定的物理表,并根据扩展数据属性表在该物理表中增加指定的物理字段。
其中,所述扩展数据属性表可为多个。
其中,所述界面操作单元通过将扩展数据管理表与扩展数据属性表相关联,获取扩展数据的名称、属性以及扩展数据,并显示给用户供浏览或编辑扩展数据。
根据本发明提供的具体实施例,本发明公开了以下技术效果 本发明实现了数据库应用系统的动态修改,首先由开发人员在设计数据库应用系统时,创建扩展数据表来动态管理数据库中的数据表,并创建用户(即系统使用者)直接访问该扩展数据表的操作界面(即接口),用户通过该操作界面可以像访问数据库中的数据表一样,动态向扩展数据表中增加、删除或修改表记录,而每一条表记录为扩展数据的结构描述(即数据表的名称、字段等)。当用户向扩展数据表添加一条记录时,系统会根据该记录的结构描述在数据库中新建一张数据表,用户向该数据表中输入扩展数据,即完成数据库结构的动态扩展;相应的,用户也可以通过操作扩展数据表来删除数据库中的数据表,或者修改数据表结构(如修改字段)。
通过上述方法,用户可以根据应用功能的变化,在系统中动态扩展或修改数据库结构,而不需要系统开发人员通过修改源代码来完成,增加了系统的灵活性,大大减少了系统的维护量。而且,系统还提供统一界面供用户操作,便于用户管理。
图1是本发明所述一种数据库扩展方法实施例的步骤流程图; 图2是本发明所述一种数据库扩展装置实施例的结构框图。
具体实施例方式 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。
为解决业务系统中数据库结构不能根据应用功能动态修改的问题,本发明面向应用中较常使用的关系型数据库,提供了一种数据库扩展方法,下面将举例说明。
仍以财务系统中的核算项目为例,假设有个科目为“应付账款”,某业务单位需要进行应付账款操作的核算项目有供应商、子工厂等,而一般的财务系统只预设了供应商一个核算项目,即只建立了对应供应商的数据表。这样,就需要再添加一个核算项目,即向数据库中增加对应子工厂的数据表,所述对应子工厂的数据表即称为扩展数据。
现有技术是通过开发人员修改源代码来实现,而本发明提供了一种用户(即系统使用者)可直接操作的方法。本发明的实现基于以下思想对于数据库应用系统中原有的数据表,如供应商表,是开发人员在设计数据库时根据应用需求创建的,表的结构(如包含哪些字段等)已经固定,用户无法修改;但是,用户可以对表中的记录(即表中对应各个字段存储的具体数据)直接进行编辑,如增加、删除或修改一条记录等操作。本发明利用用户可直接编辑数据表的原理,在设计数据库应用系统时建立扩展数据表,表中的每条记录是对数据库中的数据表结构的描述,系统对扩展数据表的操作视为对数据库结构的操作,如增加、删除数据库中的数据表或修改表结构等。这样,用户通过编辑该扩展数据表,就可以动态修改数据库了。
参照图1,是所述一种数据库扩展方法实施例的步骤流程图。
步骤11,开发人员在设计数据库应用系统时,创建扩展数据表,用来管理数据库中的数据表。该扩展数据表记录了扩展数据的结构描述,即数据库中的数据表结构的描述,每条记录对应一张数据表。
其中,所述扩展数据的结构描述主要包括扩展数据的名称、属性等信息。参照上例中,扩展数据是对应子工厂进行应付账款的核算项目,其名称为“子工厂一厂”,属性包括“地址、负责人、联系方式、开户行、账号”等信息。扩展数据的结构描述还包括对应扩展数据的数据表在数据库中的物理表名称和物理字段名等信息。扩展数据表中并不存储具体的扩展数据,扩展数据将存储在数据库的数据表中。
优选的,扩展数据的结构描述还可以包括扩展数据属性的子属性信息,包括该属性的数据大小、数据类型、名称以及其他延伸子属性等,用于设置物理字段时使用。
本实施例优选的,为便于系统管理,将所述扩展数据表分成两种表来创建,一种称为扩展数据管理表,另一种称为扩展数据属性表。将扩展数据的名称和对应的物理表名等信息记录在扩展数据管理表中,将扩展数据的属性和对应的物理字段名等信息记录在扩展数据属性表中,并建立他们之间的关联关系。本实施例中,两张表通过每条记录的ID号进行关联,当然也可以建立其他关联方式。
步骤12,开发人员创建用户交互接口,并提供统一的操作界面供用户直接访问所述扩展数据表。通过该操作界面,用户能够直接对扩展数据管理表和扩展数据属性表进行编辑,向表中添加记录,或者删除、修改其中的记录。因此,用户对扩展数据表的操作就如同用户访问数据库数据表一样方便。
上述扩展数据表以及与用户的接口都是在开发系统时完成的,即在原来的系统中增加一个可动态扩展数据库数据的功能。下面步骤是系统使用者(即用户)在使用该系统时如何动态扩展数据的说明,其中,步骤130-160为用户向数据库中添加数据表的操作步骤,步骤131-151为用户对数据库中的数据表结构进行修改或删除的操作步骤。
(1)用户向数据库中添加数据表的操作 步骤130,用户通过上述统一的操作界面,设置扩展数据及其属性,或子属性; 步骤140,数据库应用系统接收用户设置,将其作为扩展数据表的一条新记录。此时,系统将用户对扩展数据表的操作视为对数据库结构的操作,因此会执行以下操作根据扩展数据的名称,按一定的命名规则(比如以前缀+序列号的方式,如t_Item_3002)在数据库中添加新表;根据扩展数据的属性及其子属性信息,在该表中也按一定的命名规则建立相应类型的字段(如F201、F202等); 步骤150,系统将扩展数据的名称及对应的物理表名(如t_Item_3002)作为一条新记录添加到扩展数据管理表,将扩展数据的属性及对应的物理字段(如F201、F202等)也作为一条新记录添加到扩展数据属性表中; 步骤160,系统关联扩展数据管理表和扩展数据属性表,根据扩展数据名称与物理表名的对应关系,可以在数据库中查找到相应的数据表;根据属性与物理字段的对应关系,可以获知每个物理字段表示的实际意义。然后,系统将所述数据表及其属性信息显示在界面上供用户浏览或编辑,用户可以向该数据表中添加记录,即对应各个属性字段输入具体的扩展数据,系统将所述扩展数据作为数据表中的一条条记录保存,并通过统一的界面显示。
(2)用户对数据库中的数据表进行修改或删除的操作 步骤131,用户通过操作界面设置要删除的数据表名,或者设置要修改的数据表属性; 步骤141,系统根据用户设置的数据表名,查找扩展数据管理表,并依据对应的物理表名到数据库中查找相应的数据表; 步骤151,如果用户操作是删除此表,则系统将此表从数据库中删除,并将相应的结构描述从扩展数据管理表和扩展数据属性表中删除;如果用户操作是修改此表的结构,则系统将对表结构进行修改,如添加字段等,并对扩展数据管理表和扩展数据属性表中的相应记录进行修改; 步骤161,如果是修改操作,则将修改结果显示在界面上,即将修改后的表结构显示。
步骤17,经过上述对数据库中表结构的动态修改操作后,系统将相应的数据表在界面上显示,用户通过该界面可以浏览到数据表中的详细内容,并对具体的扩展数据进行增加、删除、修改或查询等操作。
综上所述,用户通过统一的操作界面,即可完成数据扩展功能,而不需要系统开发或维护人员修改源代码实现,减少了系统的维护量。
下面以扩展核算项目为例进行说明 原扩展数据管理表的内容如下 表1 原扩展数据属性表的内容如下 表2 添加核算项目后的扩展数据管理表的内容如下 表3 添加核算项目后的扩展数据属性表的内容如下 表4 将表3和表4关联后,对应子工厂的核算项目数据表及表内容显示如下 表5 上述表1-表5的变化过程清楚说明了本发明实施例所述的数据库扩展方法,针对该方法,本发明还提供了一种数据库扩展装置的实施例。
参照图2,是所述数据库扩展装置实施例的结构框图。所述装置主要包括扩展数据管理单元201,数据库管理单元202和界面操作单元203。
所述扩展数据管理单元201用于对数据库中的数据表结构进行动态修改,通过创建扩展数据表来记录扩展数据的结构描述,当向该表中添加一条记录时,即在数据库中添加了一张数据表;当修改或删除该表中的记录时,即修改或删除了数据库中的相应数据表结构。例如,通过扩展数据管理单元201向数据库中添加一个对应子工厂的核算项目,或者删除原供应商数据表,或者可以修改供应商数据表中的字段或字段属性等信息。
本实施例优选的,扩展数据管理单元201创建两种表来表示扩展数据表,一种是扩展数据管理表,用于存放扩展数据的名称和对应的在数据库中的物理表名等信息;另一种是扩展数据属性表,用于存放扩展数据的属性和对应的物理字段名等信息,可以建立一张或多张来管理扩展数据的属性。扩展数据管理单元201将所述两种表关联起来,根据扩展数据管理表可以从数据库中找到对应扩展数据名的物理表,根据扩展数据属性表可以获知该物理表中的每个字段表示的实际意义。
数据库管理单元202用于对数据中的数据表进行管理,通过获取扩展数据表中的信息,对数据库进行相应操作。例如,扩展数据表中添加一条结构描述信息,则数据库管理单元202根据扩展数据管理表建立表中指定的物理表,并根据扩展数据属性表建立该物理表的各个字段,然后将用户输入的具体扩展数据添加到该数据表中。或者,扩展数据表中的记录被修改或删除,则扩展数据管理单元201触发数据库管理单元202对相应的数据表进行结构修改或删除操作。
数据库管理单元202不仅可以对数据库中的表结构进行动态操作,还可以对数据库数据表中的具体内容进行编辑操作,通过扩展数据表中记录的物理表信息从数据库中获取数据表,然后对其中的记录进行增、删、改等操作。
所述界面操作单元203是用户与数据库的交互接口,为用户提供了统一的操作界面,供用户设置扩展数据及其属性,并可显示用户设置的数据表及扩展数据,用户对数据库的动态操作都可以通过该界面浏览或查询。一方面,该操作界面为用户提供了设置扩展数据及其属性,并将设置结果显示的界面,即能够显示扩展数据表结构供浏览或编辑;另一方面,该操作界面还提供了显示数据表内容的界面,通过该界面用户可以查看到数据表中的详细记录,并对记录进行增、删、改等编辑操作。总之,用户通过该操作界面,能够直接对数据库结构进行动态修改,而不需要系统开发人员通过修改源代码来完成,增加了系统的灵活性,大大减少了系统的维护量。
图2所示装置中未详述的部分可以参见图1所示方法的相关部分,为了篇幅考虑,在此不再详述。
以上对本发明所提供的一种数据库扩展方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种数据库扩展方法,其特征在于,包括
创建扩展数据表,该扩展数据表用于记录扩展数据的结构描述;
创建用户交互接口,用户通过该接口对扩展数据表进行编辑;
通过所述接口,所述扩展数据表接收用户设置的扩展数据的结构描述;
根据所述扩展数据的结构描述,在数据库中建立新的数据表;
接收用户输入的扩展数据,并保存在所述新的数据表中,完成数据库数据的扩展。
2.根据权利要求1所述的方法,其特征在于,按照以下步骤建立新的数据表
所述扩展数据的结构描述包括扩展数据的名称和属性,所述扩展数据表分为扩展数据管理表和扩展数据属性表;
将扩展数据的名称及对应的物理表名保存在扩展数据管理表,将扩展数据的属性及对应的物理字段名保存在扩展数据属性表;
在数据库中构建扩展数据管理表中指定的物理表,并在该物理表中增加扩展数据属性表中指定的物理字段。
3.根据权利要求2所述的方法,其特征在于所述扩展数据的结构描述还包括扩展数据属性的子属性,数据库根据所述子属性来设置物理表中的字段。
4.根据权利要求2所述的方法,其特征在于,还包括通过将所述扩展数据管理表与扩展数据属性表相关联,获取扩展数据的名称和属性,并显示给用户供浏览或编辑扩展数据。
5.一种数据库扩展方法,其特征在于,包括
创建扩展数据表,该扩展数据表用于记录扩展数据的结构描述;
创建用户交互接口,用户通过该接口对扩展数据表进行编辑;
通过所述接口,所述扩展数据表接收用户设置的扩展数据的结构描述;
根据所述扩展数据的结构描述,查找数据库中对应的原数据表,并对查找到的原数据表结构进行删除或修改操作。
6.一种数据库扩展装置,其特征在于,包括
扩展数据管理单元,用于创建扩展数据表,该扩展数据表用于记录扩展数据的结构描述;接收用户设置的扩展数据的结构描述,并添加到扩展数据表中;
数据库管理单元,用于根据所述扩展数据表中扩展数据的结构描述,在数据库中建立新的数据表;并接收用户输入的扩展数据,保存到所述新的数据表中;
界面操作单元,用于提供用户与数据库的交互接口,用户通过该接口对扩展数据表进行编辑。
7.根据权利要求6所述的装置,其特征在于所述扩展数据管理单元还可根据用户设置对扩展数据表中的结构描述进行删除或修改操作;相应的,所述数据库管理单元还可对原数据表结构进行删除或修改操作,并对数据表中的扩展数据进行增、删、改操作。
8.根据权利要求6所述的装置,其特征在于所述扩展数据的结构描述包括扩展数据的名称和属性,所述扩展数据管理单元将扩展数据表分为扩展数据管理表和扩展数据属性表,其中扩展数据管理表用于保存扩展数据的名称及对应的物理表名,扩展数据属性表用于保存扩展数据的属性及对应的物理字段名。
9.根据权利要求8所述的装置,其特征在于所述数据库管理单元在建立数据表时,根据扩展数据管理表构建指定的物理表,并根据扩展数据属性表在该物理表中增加指定的物理字段。
10.根据权利要求8所述的装置,其特征在于所述扩展数据属性表可为多个。
11.根据权利要求8所述的装置,其特征在于所述界面操作单元通过将扩展数据管理表与扩展数据属性表相关联,获取扩展数据的名称、属性以及扩展数据,并显示给用户供浏览或编辑扩展数据。
全文摘要
本发明公开了一种数据库扩展方法及装置,解决目前的数据库应用系统通过修改源代码来扩展应用功能,带来维护工作量大、维护成本高、系统不灵活的问题。所述方法包括创建扩展数据表,该扩展数据表用于记录扩展数据的结构描述;创建用户交互接口,用户通过该接口对扩展数据表进行编辑;通过所述接口,所述扩展数据表接收用户设置的扩展数据的结构描述;根据所述扩展数据的结构描述,在数据库中建立新的数据表;接收用户输入的扩展数据,并保存在所述新的数据表中,完成数据库数据的扩展。通过上述方法,用户可以根据应用功能的变化,直接在系统中动态扩展或修改数据库结构,增加了系统的灵活性,大大减少了系统的维护量。
文档编号G06F17/30GK101105813SQ20071014542
公开日2008年1月16日 申请日期2007年9月11日 优先权日2007年9月11日
发明者邱长毓 申请人:金蝶软件(中国)有限公司