一种将CIM模型到关系数据库映射建模的方法技术

技术编号:9990842 阅读:167 留言:0更新日期:2014-05-02 03:57
本发明专利技术提出了一种将CIM模型到关系数据库映射建模的方法,该方法实现了将CIM面向对象的模型与关系型数据库的结合。类之间的三种关系为:继承、关联和聚合。其中关联关系又分为零或一对一、一对多及多对多三种情况。该方法可以有效的将CIM模型用关系型数据库完全表达。

【技术实现步骤摘要】
【专利摘要】本专利技术提出了一种将CIM模型到关系数据库映射建模的方法,该方法实现了将CIM面向对象的模型与关系型数据库的结合。类之间的三种关系为:继承、关联和聚合。其中关联关系又分为零或一对一、一对多及多对多三种情况。该方法可以有效的将CIM模型用关系型数据库完全表达。【专利说明】一种将CIM模型到关系数据库映射建模的方法
本专利技术涉及CIM开发
,特别是涉及一种将CIM模型到关系数据库映射建模的方法。
技术介绍
CIM (Common information model,公共信息模型)是 IEC61970 的核心部分,它提供了 EMS信息的一个综合逻辑视图;定义了电力工业主要对象的公共类、属性及对象间的关系,用于电力工程、规划、管理、运行和财务等应用的开发和集成。为方便起见,CIM被划分为13个类包,290多个类。包括:域包、核心包、电线包、测量包、拓扑包、负荷包、储运损耗包、保护包、发电包、财政包、预测包和能量安排包、SCADA包等。各个EMS应用内部可以有各自的信息描述,但只要在应用程序(或构件)接口语义级上基于CIM,不同厂商开发的应用程序或不同系统的应用程序就可以以同样的方式访问公共数据,实现应用间的相互操作,提高应用程序之间的兼容性及系统本身的开放性。CM是以面向对象设计的观点来描述电力系统网络。首先,CM分析电力系统网络中资源设备特性及其必须的功能描述,将系统中的每个资源以类别(Class)来定义,并定义类别之间关系(Relation)如包含(Contain)、结合(Associate)及继承(Generalize)以及关系的多重性(Multiplicity)等。相关的类别被定义在一起称作包(Package)以方便审视。CIM模型的关系较为复杂,如果完全映射成关系数据库的表将会不可避免的生成很多关系表来表达复杂的CIM关系,使得数据库表数量增大。如果只是映射CIM的对象,而不管关系的映射,数据库便不能完整地遵循CIM模型,也就失去了标准的意义。根据工程经验和实验研究,影响数据库性能的一个很重要的因素是数据库中的大表(即记录最多表)。这些大表的记录往往是与现实相对应实体的实例;而关系表的记录是各个对象之间的关系实体,所以数据量是比较小的。数据库的管理很大程度上是对数据库的大表的管理。因此,在实现CIM到关系型数据库的映射时,应考虑两个方面的问题:一方面是面向对象模型与关系型数据库系统的矛盾;另一方面,现实的电力系统具体情况也必然会影响问题的解决方案。
技术实现思路
为了解决
技术介绍
中存在的技术问题,本专利技术提出了一种将CIM模型到关系数据库映射建模的方法,该方法可以有效的将CIM模型用关系型数据库完全表达。本专利技术提供一种将CM模型到关系数据库映射建模的方法,包括以下三部分: A、继承关系的实现:先将被子类继承的基类属性定义为一种对象类型,放入子类的表中,再将具体的子类映射为单个的数据库表,使得每个具体的子类映射的表都包含自身的属性和从积累继承来的属性; B、聚合关系的实现:先将整体类的基类属性定义为一种对象类型,放入整体类的表中,再将具体的部分类映射为单个的数据库表,使得整体类的表中包含了自身的属性和从不分类聚合来的属性; C、关联关系的实现:每个关联均具有目标类与源类两个角色,先将同一关联的目标类与源类的基类属性定义为不同的对象类型,放入源类的表中,再将不同关联的源类映射到目标类中形成单个的数据库表,同时将不同关联的目标类映射到源类中形成单个的数据库表,使得每个关联的角色具有多样性/汇聚性的属性。进一步地,继承关系的实现中抽象的被继承的基类不参与映射。进一步地,,关联关系的实现包括零对一、一对一、一对多及多对多的关联形式。所述零对一及一对一的关联形式通过将外键隐藏在零对一及一对一对应的表中的方式实现。所述一对多的关联形式通过把外键设置在多表中的方式实现。所述多对多的关联形式通过建立联系关系表的方式来实现。优选地,所述关联关系的实现中关联关系不需要命名。基于上述技术方案的公开,本专利技术提供的所述将CIM模型到关系数据库映射建模的方法有效可行,能够实现关系型数据库完全表达CIM模型。【专利附图】【附图说明】图1为本专利技术提供的一种将CIM模型到关系数据库映射建模的方法中继承关系的例图; 图2为本专利技术提供的一种将CIM模型到关系数据库映射建模的方法中聚合关系的例图; 图3为本专利技术提供的一种将CIM模型到关系数据库映射建模的方法中零对一及一对一关联关系的例图; 图4为本专利技术提供的一种将CIM模型到关系数据库映射建模的方法中一对多关联关系的例图。【具体实施方式】下面结合附图对本专利技术的实施例进行详述。请参阅图1至图4,本专利技术提供了一种将CM模型到关系数据库映射建模的方法,包括继承关系的实现、聚合关系的实现和关联关系的实现这三部分。继承关系的实现是先将被子类继承的基类属性定义为一种对象类型,放入子类的表中,再将具体的子类映射为单个的数据库表,使得每个具体的子类映射的表都包含自身的属性和从积累继承来的属性。且继承关系的实现中抽象的被继承的基类不参与映射。如图1,子类AcLineSegment不仅包含本身的属性阻抗及导纳等,还包含从父类Conductor继承下来的属性Length。在数据库结构中,可以在各个子类对应的表中分别增加一个域名ConductorID来表示对应到父类对象的ID,以此建立二者之间的继承关系。聚合关系的实现是先将整体类的基类属性定义为一种对象类型,放入整体类的表中,再将具体的部分类映射为单个的数据库表,使得整体类的表中包含了自身的属性和从不分类聚合来的属性。如图2, TopologicalNode 只能是一个 TopologicalIsland 的成员,而TopologicalIsland 可以包含任意数量的 TopologicalNode。关联关系的实现:每个关联均具有目标类与源类两个角色,先将同一关联的目标类与源类的基类属性定义为不同的对象类型,放入源类的表中,再将不同关联的源类映射到目标类中形成单个的数据库表,同时将不同关联的目标类映射到源类中形成单个的数据库表,使得每个关联的角色具有多样性/汇聚性的属性。关联关系的实现中关联关系不需要命名。关联关系的实现包括零对一、一对一、一对多及多对多的关联形式。所述零对一及一对一的关联形式通过将外键隐藏在零对一及一对一对应的表中的方式实现。如图3,—个AirCompressor类别对应零或一个CombustionTurbine类别。可以在CombustionTurbine中添加一个表示外键的字段来建立关系。所述一对多的关联形式通过把外键设置在多表中的方式实现。所述多对多的关联形式通过建立联系关系表的方式来实现。如图4,类 EquipmentContainer 和类 ConnectivityNode 是一对多关联。在类ConnectivityNode相应的多表里添加域ID做为外键。综上,本专利技术提供的所述将CIM模型到关系数据库映射建模的方法有效可行,能够实现关系型数据库完全表达CIM模型。以上所述,仅为本专利技术较佳的【具体实施方式】,但本专利技术的保护范围并不局限于此,任何熟悉本
的技术人员在本专利技术揭本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:卢京祥徐延波王晓梅滕春利王家武刘祥波罗迅刘长锋封常福
申请(专利权)人:国家电网公司国网山东省电力公司日照供电公司
类型:发明
国别省市:

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

1