从关系数据库中获取面向对象模型的装置及方法制造方法及图纸

技术编号:2836717 阅读:235 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种从关系数据库中获取面向对象模型的装置及方法,该装置包括:关系数据库接口模块、与所述关系数据库接口模块连接的转换模块及与所述转换模块连接的面向对象模型接口模块。该方法包括:输入关系数据库中的表信息;解析所述表信息,获取类名信息、属性信息,以及相应的关系类型和角色信息,并输出所述类名信息、属性信息,以及相应的关系类型和角色信息。本发明专利技术在关系数据库和面向对象模型之间建立一个中间层,通过这个中间层,根据数据库中的信息生成面向对象模型。

【技术实现步骤摘要】

本专利技术涉及一种,特别是一种通过提取关系数据库中的类信息将关系数据库中的表转换为面向对象的类的装置及方法。
技术介绍
目前,广泛使用面向对象的设计方法和思维来设计和进行业务建模,而用关系数据库进行存储。面向对象设计的机制和关系数据库中所采用的关系模型不同,造成了面向对象设计和关系数据库设计之间的不匹配。面向对象设计基于如耦合、聚合、封装等理论,而关系模型基于数学原理,二者基于不同的理论基础。对象模型侧重于使用包含数据和行为的对象来构建应用程序;关系模型则主要针对于数据的存储。当为访问数据寻找一种合适的方法时,这种不匹配就成为了主要矛盾使用对象模型,常常通过对象之间的关系来进行访问;而关系理论则通过表的连接、行列的复制来实施数据的存取。这种基本的不同使两种机制的结合并不理想。目前解决面向对象模型和关系数据库访问的方法包括将对象映像到某种持久机制并且对关系数据库结构的简单改动并不影响面向对象代码的一个的持久层。该方法较好的解决了从面向对象模型向关系数据库映射的问题,但是,如果从关系数据库出发,根据关系数据库的结构构架成面向对象模型,该方法就无能为力了。
技术实现思路
本专利技术的目的是针对上述现有技术的不足,提供一种,在关系数据库和面向对象模型之间建立一个中间层,该中间层具有翻译和解释符合特定规格的数据库的功能,通过这个中间层,根据数据库中的信息生成面向对象模型。为实现上述目的,本专利技术提出了一种从关系数据库中获取面向对象模型的装置,该装置包括关系数据库接口模块,该关系数据库接口模块用于输入关系数据库中的表信息;转换模块,该转换模块与所述关系数据库接口模块连接,用于将所述表信息转换为面向对象模型中的类信息;面向对象模型接口模块,该面向对象模型接口模块连接所述转换模块,用于输出所述类信息。本专利技术还提出了一种从关系数据库中获取面向对象模型的方法,其中包括以下步骤步骤1、输入关系数据库中的表信息;步骤2、解析所述表信息中的表名及字段名信息,获取类名信息和属性信息;步骤3、根据所述类名信息建立类层次关系,并输出所述类层次关系及属性信息;步骤4、解析所述表信息中的外键信息,获取所述外键信息中的关系类型和角色信息,并输出所述关系类型和角色信息;步骤5、结束。本专利技术在关系数据库和面向对象模型之间建立一个中间层,通过该中间层的解释和转换,可以将关系数据库中的表转换为面向对象模型。本专利技术通过建立一个中间层,实现了从关系数据库到面向对象模型之间的解释和转换。因为关系数据库建立的基础是关系模型,而面向对象模型建立的基础是基于面向对象方法。由于两者基于不同的数学模型,两者无法直接进行转换。就好比一个只会说中文的人和一个只会说英语的人无法进行交流一样,这时就需要有一个翻译来完成两种语言之间的转换任务。而本专利技术描述的中间层就扮演了相当于翻译的角色,使关系数据库和面向对象模型之间可以互通。下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。附图说明图1为本专利技术从关系数据库中获取面向对象模型的装置的较佳实施例的结构示意图;图2为本专利技术从关系数据库中获取面向对象模型的装置中关系数据库接口模块的较佳实施方式的结构示意图;图3为本专利技术从关系数据库中获取面向对象模型的装置中转换模块的较佳实施方式的结构示意图;图4为本专利技术从关系数据库中获取面向对象模型的装置中面向对象模型接口模块的较佳实施方式的结构示意图;图5为本专利技术从关系数据库中获取面向对象模型的方法的较佳实施例的流程图;图6为图5中对类型标识符进行判断的较佳实施方式的流程图;图7为图5或图6中对类层次需要判断的较佳实施方式的流程图。具体实施例方式图1为本专利技术从关系数据库中获取面向对象模型的装置的较佳实施例的结构示意图,关系数据库接口模块B1用于输入关系数据库A中的表信息;转换模块B2与所述关系数据库接口模块B1连接,用于将所述表信息转换为面向对象模型中的类信息;面向对象模型接口模块B3连接所述转换模块B2,用于输出所述类信息,得到面向对象模型C。如图1所示,由关系数据库接口模块输入关系数据库中的表信息,然后通过转换模块将表信息转换为面向对象模型的类信息,再将类信息通过面向对象模型接口模块输出,从而获得了面向对象模型C。对于关系数据库接口模块,本专利技术提供了较佳的实施方式,如图2所示,与关系数据库A连接的关系数据库接口模块B1的结构为表名信息输入模块B11与所述转换模块B2连接,用于输入所述表信息中的表名信息;字段信息输入模块B12与所述转换模块B2连接,用于输入所述表信息中的字段信息;外键信息输入模块B13与所述转换模块B2连接,用于输入所述表信息中的外键信息。对于转换模块,本专利技术提供了较佳的实施方式,如图3所示,与关系数据库接口模块B1连接的转换模块B2的结构为表名信息转换模块B21与所述面向对象模型接口模块B3连接,用于将所述表信息中的表名信息转换为所述类信息;字段信息转换模块B22与所述面向对象模型接口模块B3连接,用于将与所述表信息中的字段信息转换为所述类信息中的类的属性信息;外键信息转换模块B23与所述面向对象模型接口模块B3连接,用于将所述表信息中的外键信息转换为所述类信息中的关系信息。对于面向对象模型接口模块,本专利技术提供了较佳的实施方式,如图4所示,与转换模块B2连接的面向对象模型接口模块B3的结构为类信息输出模块B31与所述转换模块B2连接,用于输出所述类信息;类属性信息输出模块B32与所述转换模块B2连接,用于输出所述类信息中的类的属性信息;类关系信息输出模块B33与所述转换模块B2连接,用于输出所述类信息中的类之间的关系信息。本专利技术中,关系数据库中的表名包含有类型标识符、类名标识符、类型名等信息,其间用户分隔符隔开。其中类型标识符可以为类表标识符、多值属性表标识符、多对多关系表标识符等信息。若表名中包含的类型标识符为多值属性表标识符,则表名中还包含有属性名标识符及属性名等信息;若表名中的类型标识符为多对多关系表标识符,则表名中还包含有不止一个的类名标识符和类型名。关系数据库中的字段名包含有属性名标识符和属性名等信息;对于包含有类层次的表,其字段的字段名还包含有类名标识符和类名等信息。关系数据库中的外键名包含有外键标识符、关系类型名、角色名标识符以及角色名等信息。图5为本专利技术从关系数据库中获取面向对象模型的方法的较佳实施例的流程图,具体执行以下步骤步骤101、输入关系数据库中的表信息。本专利技术为此步骤提供的较佳的实施方式为,从关系数据库接口模块输入关系数据库中的表信息;步骤102、解析所述表信息中的表名信息及字段名信息,获取类名信息及属性信息。本专利技术为此步骤提供的较佳的实施方式为,从转换模块解析所述表信息中的表名信息及字段名信息,获取类名信息及属性信息。假设表信息中的表名为ClsTbl_Class_Student,字段名为Class_Student-Class_CollegeStudent_Attr_Degree,则转换模块根据类名标识符Class以及类名分隔符“-”获取父类类名Student和子类类名CollegeStudent,以及根据属性名标识符Attr获取属性名Degree。步骤103根据所述类名信息建立类层次关系,并输出所述类层次关系及属性信息。本专利技术为本文档来自技高网...

【技术保护点】
一种从关系数据库中获取面向对象模型的装置,其特征在于包括:关系数据库接口模块,该关系数据库接口模块用于输入关系数据库中的表信息;转换模块,该转换模块与所述关系数据库接口模块连接,用于将所述表信息转换为面向对象模型中的类信息; 面向对象模型接口模块,该面向对象模型接口模块连接所述转换模块,用于输出所述类信息。

【技术特征摘要】
1.一种从关系数据库中获取面向对象模型的装置,其特征在于包括关系数据库接口模块,该关系数据库接口模块用于输入关系数据库中的表信息;转换模块,该转换模块与所述关系数据库接口模块连接,用于将所述表信息转换为面向对象模型中的类信息;面向对象模型接口模块,该面向对象模型接口模块连接所述转换模块,用于输出所述类信息。2.根据权利要求1所述的从关系数据库中获取面向对象模型的装置,其特征在于所述关系数据库接口模块包括表名信息输入模块,该表名信息输入模块与所述转换模块连接,用于输入所述表信息中的表名信息;字段信息获取模块,该字段信息输入模块与所述转换模块连接,用于输入所述表信息中的字段信息;外键信息获取模块,该外键信息输入模块与所述转换模块连接,用于输入所述表信息中的外键信息。3.根据权利要求1或2所述的从关系数据库中获取面向对象模型的装置,其特征在于所述转换模块包括表名信息转换模块,该表名信息转换模块与所述面向对象模型接口模块连接,用于将所述表信息中的表名信息转换为所述类信息;字段信息转换模块,该字段信息转换模块与所述面向对象模型接口模块连接,用于将与所述表信息中的字段信息转换为所述类信息中的类的属性信息;外键信息转换模块,该外键信息转换模块与所述面向对象模型接口模块连接,用于将所述表信息中的外键信息转换为所述类信息中的关系信息。4.根据权利要求1或2所述的从关系数据库中获取面向对象模型的装置,其特征在于所述面向对象模型接口模块包括类信息输出模块,该类信息输出模块与所述转换模块连接,用于输出所述类信息;类属性信息输出模块,该类属...

【专利技术属性】
技术研发人员:李智斌张翼赵贵玉方明
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

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

1