一种根据数据库结构生成实体元数据模型的方法

文档序号:6403229阅读:320来源:国知局

专利名称::一种根据数据库结构生成实体元数据模型的方法
技术领域
:本发明涉及一种根据数据库结构生成实体元数据模型的方法。
背景技术
:随着信息技术的发展,一批信息系统,如客户关系管理系统、自动办公系统、资金管理系统等被开发出来,对提高管理效率起到了重要的作用。但是在这些系统的开发和后续的扩展过程中存在很多长期无法解决的难题,最突出的问题就是设计与实现不一致。大多数的信息系统没有分离的定义模型。软件开发虽然有建模过程,但是很多模型公公在开发者脑中闪现,然后就消失了。开发人员经常使用单独代码的方法,依靠他们编写的代码表示他们正在建立的系统模型。他们所做的任何“建模”都是以嵌入在代码中的编辑的抽象形式进行的,这些方式是通过程序库和对象库和对象层次的机制进行管理的,系统的可重用性差。随着软件工程学的发展,越来越多的系统在开发的时候开始注意开发前的系统建模过程,而且开发人员会按着最初的设计模型进行开发。软件的需求是一直在变的,客户会源源不断地要求提供各种新的功能,开发人员对付这些新需求的手段就是修改代码。随着时间的推移,系统不断地被修改,设计模型和代码之间的距离就越来越远。修改设计模型并不会对系统有任何影响,直接修改代码就可以达到目的,所以很少有人去做设计模型与代码的同步工作。即使我们修改了设计模型,这样的工作是否有效也值得怀疑,因为我们还不会不断地修改代码,难道我们要花更多的时间去不断修改设计模型吗?OMG在2001年7月发布了模型驱动体系结构(Model-DrivenArchitecture,MDA),确定了以模型驱动体系结构代替对象管理体系结构(OMA)作为对象管理联盟未来的发展方向。MDA通过使用软件工程方法和工具,为分析、理解、设计、实现、维护、发展以及集成原有信息系统提供了方法。元数据(MetaData)是MDA中非常重要的概念。它通过统一的、平台无关的、规范的方法对数据的模式特征进行描述,通过一个模型结构来表达通用的信息,它集设计模型、开发模型与运行模型为一体。
发明内容本发明设计了一种根据数据库结构生成实体元数据模型的方法,其发明目的在于通过已有的数据库结构,构建出基本的实体元数据模型,元数据模型在数据库结构中不能对应上的属性设置成常用的默认值。为了解决上述存在的技术问题,本发明采用了以下方案:一种根据数据库结构生成实体元数据模型的方法,包括以下步骤:步骤1、判断数据库类型,选择读取数据库结构的具体实现;步骤2、读取数据库结构:根据不同关系性数据库产品,编写不同的查询SQL实现此功能;步骤3、根据规则转换数据:规则包括表名与实体名的映射,一般常用数据库设计方法会将表名全部大写不同单词间以下划线分隔,而实体名使用单词首字母大写后续字母小写的方式命名,根据此规则将表名首先按下划线拆分成不同单词,然后再将单词首字母大写及其他字母小写进行转换生成实体名;字段名称转换成实体属性规则同表名转换成实体名的规则。字段类型映射规则,将数据库中的字段类型映射成高级语言中的String类型;步骤4、序列化实体元数据:提供两种序列化模型,一种将实体元数据保存成XML文件格式,另一种将实体元数据保存到数据库中。进一步,步骤4中同时提供两种序列化方式的互转操作。该根据数据库结构生成实体元数据模型的方法具有以下有益效果:本发明通过以上步骤,在开发基于实体元数据的项目软件时,只要先做好了数据库设计,我们将很快能过创建出项目的实体元数据模型,从而加快项目进度,提高项目质量。图1:本发明根据数据库结构生成实体元数据模型的方法步骤流程图。具体实施例方式下面结合图1,对本发明做进一步说明:以常用的Oracle数据库的数据结构生成实体元数据为例来说明本发明应用:在oracle的USER_TABLES系统视图中过滤出要使用的数据库表的相关信息,执行SQL语句selecttable_name,commentsfromuser_tab_comments可以取到表名及表的注释信息做为实体元数据中的关联表名,及注释,并将表名以下划线拆分为单词,首字母大写生成实体名称。执行SQL语句Selectt.table_nameastableName,t.column_nameascolumnName,11.data_typeasdataType,11.data_length,11.data_precsionasdataPrecsion,data—scaleasdataScale,nullable,data—defaultasdataDefault,t.commentsasdescriptionfromuser—col—commentst,user_tab_columns11wheret.column—name=tLcolumn—nameandt.table—name=tl.table—nameandt.table_name=orderbytl.column_idasc可以取到字段名称、字段类型、字段长度、字段精度、字段小数位数、是否可以为空、默认值等信息。执行转换规则,将字段类型转换成高级语言的数据类型如:varchartoString,将字段长度、字段精度、字段小数位数、是否可以为空等数据转换为元数据模型中的实体属性校验模型。将内存中组织好的实体模型,进行序列化,写入数据库或XML文件。经过以上步骤后生成了实体元数据模型,以供项目后序开发的使用。上面结合附图对本发明进行了示例性的描述,显然本发明的实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围内。权利要求1.一种根据数据库结构生成实体元数据模型的方法,包括以下步骤:步骤1、判断数据库类型,选择读取数据库结构的具体实现;步骤2、读取数据库结构:根据不同关系性数据库产品,编写不同的查询SQL实现此功能;步骤3、根据规则转换数据:规则包括表名与实体名的映射,一般常用数据库设计方法会将表名全部大写不同单词间以下划线分隔,而实体名使用单词首字母大写后续字母小写的方式命名,根据此规则将表名首先按下划线拆分成不同单词,然后再将单词首字母大写及其他字母小写进行转换生成实体名;字段名称转换成实体属性规则同表名转换成实体名的规则,字段类型映射规则,将数据库中的字段类型映射成高级语言中的String类型;步骤4、序列化实体元数据:提供两种序列化模型,一种将实体元数据保存成XML文件格式,另一种将实体元数据保存到数据库中。2.根据权利要求1所述根据数据库结构生成实体元数据模型的方法,其特征在于:步骤4中同时提供两种序列化方式的互转操作。全文摘要本发明涉及一种根据数据库结构生成实体元数据模型的方法,包括以下步骤步骤1、判断数据库类型,步骤2、读取数据库结构,步骤3、根据规则转换数据,步骤4、序列化实体元数据。本发明通过以上步骤,在开发基于实体元数据的项目软件时,只要先做好了数据库设计,我们将很快能过创建出项目的实体元数据模型,从而加快项目进度,提高项目质量。文档编号G06F17/30GK103246753SQ20131020933公开日2013年8月14日申请日期2013年5月30日优先权日2013年5月30日发明者张锴,魏博通,高大明,杜永春申请人:安徽皖通科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1