• 欢迎访问年轻的斯基网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏年轻的斯基吧

5分钟搞明白PowerDesigner设计CDM类继承关系

建站知识 liam 6个月前 (03-25) 112次浏览 0个评论 扫描二维码

>

5分钟搞明白PowerDesigner设计CDM类继承关系,在项目开发中,先行设计数据库常使用PowerDesigner这个工具软件,一般先分析业务系统中的模型对象(可以理解为面象对象中的类【Class】)设计为CDM,即概念数据模型(Conceptual Data Model,CDM)。

5分钟搞明白PowerDesigner设计CDM类继承关系,在项目开发中,需要明白 PowerDesigner 类继承关系,先行设计数据库常使用PowerDesigner这个工具软件,一般先分析业务系统中的模型对象(可以理解为面象对象中的类【Class】)设计为CDM,即概念数据模型(Conceptual Data Model,CDM)。所以,我们可以建立继承关系,类似面象对象中的继承关系,最终在转换成PDM时,生成数据库表时,会将父对象(CDM)映射成子表的属性,但是,怎么做呢?

怎样建立CDM?

阅读导航 展开

在设计数据库中,需要明白CDM,PDM之间的关系,如果你实在理解不了的话,可以将CDM理解为面象对象中的类,而PDM则就是数据库表的设计(和特定数据库无关)。

在 PowerDesigner 中如何建立CDM呢?操作很简单,打开PowerDesigner,按如下图所示操作即可:

5分钟搞明白PowerDesigner设计CDM类继承关系
怎样建立CDM

CDM类继承关系

先明白一下CDM中的继承实现方式:

  1. Concrete Table Inheritance(具体表继承)
  2. Single Table Inheritance(单表继承)
  3. Class Table Inheritance (类表继承)

通常CDM采用实体-联系图(Entity-Relation Graph,E-R图)来表示(“实体”和“联系”的概念)。目前,E-R图示CDM最流行的一种表达方式。

5分钟搞明白PowerDesigner设计CDM类继承关系
E-R图示

比如,下面的图示中,定义了基础对象,业务基础对象,基础对象是整个数据库表中,都必须拥有的字段(属性),而业务基础对象是指所有的业务模块,即最终和业务相关的表都拥有的属性(字段)。

5分钟搞明白PowerDesigner设计CDM类继承关系

怎样建立继承关系?

设计好父模型后,如上图中绿色基础对象所示,有两个对象,分别是:班级对象,业务基础对象 直接从基础对象继承,它们之间的带 Inheritance 文字的连接就表示是继承关系。可以在工具栏里面直接拖过来。如下图所示:

5分钟搞明白PowerDesigner设计CDM类继承关系
继承关系

是否生成父对象的PDM(表)

建立继承关系时,需要注意的是,如果你要将【基础对象】映射到数据库成为一张表的话,需要通过双击 带 Inheritance 文字 设置Generation,其中有两个选项,分别是生成父对象,生成子对象(Children),在生成子对象里面还有2个选项,表示继承所有属性,只继承主键,不同的勾选方式会在映射成PDM时(即生成数据库表)有一点区别。如下图所示:

5分钟搞明白PowerDesigner设计CDM类继承关系

怎样生成PDM?即映射成数据库表

PDM就是最终的数据库模型设计,当然只里和最终数据库体现是一致的,你可以选择生成SQL Server或者Mysql,又或者 Oracle的模型,看你项目中使用的是什么数据库。

操作方式是直接按快捷键:Ctrl+G键,弹出如下图所示:

5分钟搞明白PowerDesigner设计CDM类继承关系

可以在上面设置数据库,选择生成哪些模型等等。可以自行研究下,这里很简单。接下来点击确定即可,如果出错会有这个提示,根据提示解决了即可。

5分钟搞明白PowerDesigner设计CDM类继承关系
生成PDM出错

下面是已经生成的PDM,或者表,是有父对象的,如下图所示:

5分钟搞明白PowerDesigner设计CDM类继承关系

子对象入学考试包含了基础对象和业务对象的属性,如下图所示:

5分钟搞明白PowerDesigner设计CDM类继承关系

不生成基础对象,只需要设置下继承关系即可,如下图所示:

5分钟搞明白PowerDesigner设计CDM类继承关系

再一次生成的效果,就是我们期望的最终数据库表了,如下图所示:

5分钟搞明白PowerDesigner设计CDM类继承关系

合理使用继承关系,可以让设计数据库更方便,让子模型更加的关注业务属性,避免每个模型都去复制相同的属性,还有可能复制遗漏。

本站最新优惠

年轻的斯基 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:5分钟搞明白PowerDesigner设计CDM类继承关系
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址