正在加载图片...
用最广泛、技术最成熟的数据库管理系统大 聚合关系是一种特殊的关联关系.聚合 都是关系型的。因此,如何将CIM模型与关 说明了类之间的关系是整体与部分的关系。 系型数据库更好地结合起来,是实现电力 作为自身的一个属性包含进来。在关系库里 软件标准化工作的首要问题。 映射聚合关系的方法是在整体类对应的表 CIM模型的关系较为复杂,如果完全映 里添加“部分”类作为新的域 射成关系数据库的表将会不可避免的生成 3.3.4简单关联 很多关系表来表达复杂的CIM关系,使得 简单关联是类在概念上的一种联系。CIM 数据库表数量增大。如果只是映射CIM的对 里简单关联有3种表现形式。 象,而不管关系的映射,数据库便不能完整 (1)零或一对一(和一对一) 地遵循CIM模型,也就失去了标准的意义。 零或一对一关联映射成数据库的表.只 根据工程经验和实验研究,影响数据库性 需将外键隐藏在零或一对一的“零或一”表 能的一个很重要的因素是数据库中的大表 中。一对一关联,将外键隐藏在一对一的任 (即记录最多表)。这些大表的记录往往是 意一张表中。 与现实相对应实体的实例:而关系表的记 (2)一对多 录是各个对象之间的关系实体,所以数据 一对多映射方法是将外键隐藏在多表 量是比较小的。数据库的管理很大程度上是 中。 对数据库的大表的管理。因此,本文的映射 (3)多对多 方法,是基于这样一条原则:关系的映射 多对多的映射方法是用一个单独的表来 尽可能采用设立外键的方法;另外在不影 实现多对多关联。关联的主键是每个类的主 响数据库性能的情况下,可以考虑建立一 键的合并。 些必要的关系表,确保映射的关系型数据库 完全表达CIM模型的各种关系,以及随 4.总结与体会 IEC61970标准升级的可扩展性。 本文首先介绍了面向对象数据库的特点 3.3.1表示方法 及发展历程和应用现状,与目前广泛应用的 本文采用Rational Rose工具和UML来 关系型数据库进行了比较。并提出数据接口 表达映射过程。Rational Rose用同样的符 问题。 号来表达类和数据库的表。数据库名与类名 之后提出的解决方法是:利用某种映射 相对,域和属性相对。由于CIM模型只规定 将CIM模型完全表达为关系型数据库。这个 了对象的属性,而没有规定方法:数据库 方法的优点是,数据库完全遵循IEC61970 的表也不包含方法,所以,本文隐去了类 标准,开放性直接达到了数据库。缺点也很 符号表达方法的部分。对于没有必要显示属 明显,而且由于CIM里虚类的存在,也会在 性的类,为了方便,本文也隐去了属性, 关系数据库里对应地产生一些虚表,加上关 单用一个矩形来表示。 系表的外键较多,使得程序员对数据库的操 3.3.2泛化 作会比较麻烦,而且效率也较低。为了得到 在映射关系之前,首先将CIM模型中的 完整的数据,可能需要查几张表。 所有类,分别按表名对应类名,域名对应 在本文完成的过程中,我接触了许多之 本身属性(Native Attributes,与继承属 前从未涉及过的知识。这些知识的缺失给我 性(Inherited Attributes)相对应),全 制造了很多困难,也让我看到了自己学习的 部一一映射成数据库表。关系通过外键和专 不足。最终通过文献的阅读,以及同组同学 门的关系表来实现。泛化关系是用来表达一 的帮助,完成本文。这个过程对我今后的学 个相对通用的类和一个相对专门的类之间 习甚至工作都显得尤其珍贵。 的关系。相对专门的类可以继承相对通用的 最后,感谢刘东老师在本学期内讲授的 类的属性,包含更多的信息。 丰富的电力系统知识,并给我们提供了非常 3.3.3聚合 好的教学体验,以及新颖而注重素质的教学用最广泛、技术最成熟的数据库管理系统大 都是关系型的。因此, 如何将CIM 模型与关 系型数据库更好地结合起来, 是实现电力 软件标准化工作的首要问题。 CIM 模型的关系较为复杂, 如果完全映 射成关系数据库的表将会不可避免的生成 很多关系表来表达复杂的CIM 关系, 使得 数据库表数量增大。如果只是映射CIM 的对 象, 而不管关系的映射,数据库便不能完整 地遵循CIM 模型, 也就失去了标准的意义。 根据工程经验和实验研究, 影响数据库性 能的一个很重要的因素是数据库中的大表 ( 即记录最多表) 。这些大表的记录往往是 与现实相对应实体的实例; 而关系表的记 录是各个对象之间的关系实体, 所以数据 量是比较小的。数据库的管理很大程度上是 对数据库的大表的管理。因此, 本文的映射 方法, 是基于这样一条原则: 关系的映射 尽可能采用设立外键的方法; 另外在不影 响数据库性能的情况下, 可以考虑建立一 些必要的关系表,确保映射的关系型数据库 完全表达CIM 模型的各种关系, 以及随 IEC61970 标准升级的可扩展性。 3.3.1表示方法 本文采用Rational Rose 工具和UML 来 表达映射过程。Rational Rose 用同样的符 号来表达类和数据库的表。数据库名与类名 相对, 域和属性相对。由于CIM 模型只规定 了对象的属性, 而没有规定方法; 数据库 的表也不包含方法, 所以, 本文隐去了类 符号表达方法的部分。对于没有必要显示属 性的类, 为了方便, 本文也隐去了属性, 单用一个矩形来表示。 3.3.2泛化 在映射关系之前, 首先将CIM 模型中的 所有类, 分别按表名对应类名, 域名对应 本身属性( Native Attributes, 与继承属 性( Inherited Attributes ) 相对应) , 全 部一一映射成数据库表。关系通过外键和专 门的关系表来实现。泛化关系是用来表达一 个相对通用的类和一个相对专门的类之间 的关系。相对专门的类可以继承相对通用的 类的属性, 包含更多的信息。 3.3.3聚合 聚合关系是一种特殊的关联关系, 聚合 说明了类之间的关系是整体与部分的关系。 作为自身的一个属性包含进来。在关系库里 映射聚合关系的方法是在整体类对应的表 里添加“部分”类作为新的域 3.3.4简单关联 简单关联是类在概念上的一种联系。CIM 里简单关联有3种表现形式。 (1)零或一对一( 和一对一) 零或一对一关联映射成数据库的表, 只 需将外键隐藏在零或一对一的“零或一”表 中。一对一关联,将外键隐藏在一对一的任 意一张表中。 (2)一对多 一对多映射方法是将外键隐藏在多表 中。 (3)多对多 多对多的映射方法是用一个单独的表来 实现多对多关联。关联的主键是每个类的主 键的合并。 4.总结与体会 本文首先介绍了面向对象数据库的特点 及发展历程和应用现状,与目前广泛应用的 关系型数据库进行了比较。并提出数据接口 问题。 之后提出的解决方法是: 利用某种映射 将CIM 模型完全表达为关系型数据库。这个 方法的优点是,数据库完全遵循IEC61970 标准,开放性直接达到了数据库。缺点也很 明显,而且由于CIM 里虚类的存在,也会在 关系数据库里对应地产生一些虚表,加上关 系表的外键较多,使得程序员对数据库的操 作会比较麻烦, 而且效率也较低。为了得到 完整的数据, 可能需要查几张表。 在本文完成的过程中,我接触了许多之 前从未涉及过的知识。这些知识的缺失给我 制造了很多困难,也让我看到了自己学习的 不足。最终通过文献的阅读,以及同组同学 的帮助,完成本文。这个过程对我今后的学 习甚至工作都显得尤其珍贵。 最后,感谢刘东老师在本学期内讲授的 丰富的电力系统知识,并给我们提供了非常 好的教学体验,以及新颖而注重素质的教学
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有