正在加载图片...
第4期 翁芳芳等:CIM模型与关系模型的一种映射方法的探讨 23 拥有Native Attributes,.Inherited Attributes,.还 ConnectivityNode 会将类Transformer Winding和类Heat Ex changer 0...n +ConnectivityNodes 作为自身的一个属性包含进来。 +Memberof EquipeentContainer EquipoentContainer 在关系库里,映射聚合关系的方法是在“整 体”类对应的表里添加“部分”类作为新的域。以 CoanectivityNode EquipnentContainer 电线包(w ires package)为例,如图3,在“整体” ◆connectivityNodeID equipnentContainerID 类Po werTransformer对应的表里添加两个域: equipmentContainerID Transformer W inding和Heat Ex changer。 图5一对多关联关系映射过程 PowerTransforaer 射,这是为了避免生成过多的关系表,影响查询效 TransformerVindingHeatExchanger 率。但是,对于简单关联中的多对多关联,却采用 2 了建立关系表的方法实现映射,原因是建立关系表 PowerTransformer Trarsformerfinding HeatExchanger asforerindingtasforeridingeatExchangerID 能更加清晰地反映对象之间的关系,而且更重要的 eatExchanger ◆insulationKY ,,, 是数据的冗余度将会大大减小。 多对多的映射方法是用一个单独的表来实现多 图3聚合关系映射过程 对多关联。关联的主键是每个类的主键的合并。以 44简单关联 核心包(Core Package)为例,如图6,类Power 简单关联是类在概念上的一种联系。CIM里 System Resource和类Company是多对多的关系。 简单关联有3种表现形式。 表Association是表Pow erSystemResource和表Cor 441零或一对一(和一对一) pany派生出来的关系表,其中包括两个域Power- 零或一对一关联映射成数据库的表,只需将外 System ResourcelD CompanyID,PowerSystemRe 键隐藏在零或一对一的“零或一”表中。一对一关 sourcelD和CompanyID共同构成主键)。 联,将外键隐藏在一对一的任意一张表中。以生产 PomerSystenResource 包为例(product package)如图4,AirCompressor +Operates_PSRs 对应零或一个CombustionT urbine。.在表Combus peBCompanies Company☐ tionTurbine里添加一个域即AirCompressorID。 CombustionTurbine] PoverSystemResource Company Association 0..1 +0 rives AirCan即essor powerSystemResourceID conpanyID ◆companyID +DrivenBy_CoabustionTurbine ◆companyType powerSystemResourceID AirCoupressor 图6多对多关联关系映射过程 CombustionTurbine AirCompressor ◆combustionTurbine[D ◆airCompressorI⑩ airCompressorRating 5结论与展望 ◆ambientlemp 本文研究的映射方法是:用关系型数据库完全 图4“零或一”对一关联关系映射过程 表达CIM模型。这个方法的优点是,数据库完全 442一对多 遵循IEC61970标准,开放性直接达到了数据库; 一对多映射方法是将外键隐藏在多表中。以拓 缺点也很明显,而且由于CM里虚类的存在,也 扑包为例,如图5,类Equipment Container和类 会在关系数据库里对应地产生一些虚表,加上关系 ConnectivityNode是一对多关联。在类Connectivi 表的外键较多,使得程序员对数据库的操作会比较 ty Node相应的“多表”里添加域EquipmentCorr 麻烦,而且效率也较低。为了得到完整的数据,可 tainerID做为外键即可实现。 能需要查几张表。实际上,软件开发不仅包括数据 443多对多 库设计,同时还包括应用程序的设计。要真正地实 ©杏齐大务数情况下采思了外键的方法来实现睞山1现数据共烹,A导入景出数据的过程方法标准化1燕拥有 Native Attributes, Inherited Attributes, 还 会将类 Tr ansformerWinding 和类 HeatEx chang er 作为自身的一个属性包含进来。 在关系库里, 映射聚合关系的方法是在  整 体 类对应的表里添加  部分 类作为新的域。以 电线包( w ir es packag e) 为例, 如图 3, 在  整体 类 Pow erT ransformer 对应 的表 里添 加两个 域: TransformerW inding 和 HeatEx chang er。 图 3 聚合关系映射过程 4 4 简单关联 简单关联是类在概念上的一种联系。CIM 里 简单关联有 3 种表现形式。 4 4 1 零或一对一( 和一对一) 零或一对一关联映射成数据库的表, 只需将外 键隐藏在零或一对一的  零或一 表中。一对一关 联, 将外键隐藏在一对一的任意一张表中。以生产 包为例( product package) 如图 4, A irCompr essor 对应零或一个 CombustionT urbine。在表 Combus tionT urbine 里添加一个域即 AirCompresso rID。 图 4 零或一 对一关联关系映射过程 4 4 2 一对多 一对多映射方法是将外键隐藏在多表中。以拓 扑包为例, 如图 5, 类 EquipmentCo ntainer 和类 Co nnectivityNode 是一对多关联。在类 Connectiv i tyNode 相应的  多表 里添加域 EquipmentCon tainerID 做为外键即可实现。 4 4 3 多对多 本文大多数情况下采用了外键的方法来实现映 图 5 一对多关联关系映射过程 射, 这是为了避免生成过多的关系表, 影响查询效 率。但是, 对于简单关联中的多对多关联, 却采用 了建立关系表的方法实现映射, 原因是建立关系表 能更加清晰地反映对象之间的关系, 而且更重要的 是数据的冗余度将会大大减小。 多对多的映射方法是用一个单独的表来实现多 对多关联。关联的主键是每个类的主键的合并。以 核心包 ( Co re Packag e) 为例, 如图 6, 类 Pow er Sy stemReso urce 和类 Company 是多对多的关系。 表Asso ciation 是表Pow erSystemResource 和表Com pany 派生出来的关系表, 其中包括两个域 Power SystemResourceID 和 CompanyID, PowerSystemRe sourceID 和 CompanyID 共同构成主键[7] 。 图 6 多对多关联关系映射过程 5 结论与展望 本文研究的映射方法是: 用关系型数据库完全 表达 CIM 模型。这个方法的优点是, 数据库完全 遵循 IEC61970 标准, 开放性直接达到了数据库; 缺点也很明显, 而且由于 CIM 里虚类的存在, 也 会在关系数据库里对应地产生一些虚表, 加上关系 表的外键较多, 使得程序员对数据库的操作会比较 麻烦, 而且效率也较低。为了得到完整的数据, 可 能需要查几张表。实际上, 软件开发不仅包括数据 库设计, 同时还包括应用程序的设计。要真正地实 现数据共享, 导入导出数据的过程方法标准化, 并 第 4 期 翁芳芳等: CIM 模型与关系模型的一种映射方法的探讨 23
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有