cdm 图片 转_powerdesign中将cdm转化为pdm

本文介绍了如何在PowerDesigner中将CDM(概念数据模型)转换为PDM(物理数据模型),并分享了数据库建模的最佳实践,包括主键的设置、命名规范、继承关系的处理、关联关系的建立等,以及在转换过程中需要注意的事项。
摘要由CSDN通过智能技术生成

powerdesign

中将

cdm

转化为

pdm

然后转

powerdesign

中将

cdm

转化为

pdm

然后转

为数据库表

2011-01-10

22

39 PowerDesigner

是一款非常优秀的数据库建模工具,熟练的

使用该工具进行数据库建模,对软件系统的分析和设计有很大的帮助。

PowerDesigner

中有

几种模型可以创建,不过最常见的是概念模型

CDM(Conceptual

Data

Model)

和物理模型

PDM(Physical

Data

Model)

。毕竟

PowerDesigner

在数据库建模方面有很强大的功能。概念

模型不针对任何具体的数据库语法,

而以一种抽象的数据库为模型进行设计,

物理模型则通

常需要指定某一种具体的数据库,

在物理模型的设计中,

数据库语法将根据该具体的数据库

进行设计和定义。下面说说具体在使用

PowerDesigner

时需要我们留意的地方:

1.

建议所有

数据表中应该含有一个主键

ID

,这个

ID

没有特别的意义,只是用来唯一区别于每一条记

录的,

且它也应该只能有这种作用,

不应该含有其他作用。虽然在有些表中,表中的某一字

段我们能保证其是唯一的,但是我认为还是应该加上这样一个主键

ID

。这样做的好处是可

以使我们在做表与表之间的关系时,比较明显易懂。这个

ID

应该设为这个表的主键,且该

字段名可以命名为:

"

表名

_ID"

这样的名字,这样在做关系时,是非常明显的区别于不同的

表的主键,

另一方面这样做的好处是在用

PD

从概念模型转化为物理模型时,

一些关联关系

之间命名产生冲突

(

如果你将所有表的主键命名相同的话

)

另外再说一点,

这个与

PD

无关,

就是在做数据库表设计时,主键建议都采用同一种数据类型和长度,这样有好处。

2.

每个表

的主键的存在会在表

(

实体

)

属性的

Identifiers

中产生对应的记录,该记录会与表的主键进行

关联,

但我们需要改变一下该记录的默认

Name

Code

,建议以表名加字段名加

_PK

命名

之。比如表名为

dept

,则该值中

name

Code

值为

dept_ID_PK

,从这个意思上可以看出

来,该

PK

指的是

dept

表中的

ID

字段为主键。

3.

两个实体之间存在关系时,在

CDM

中,

是不需要在实体的表中创建单独的字段来存储对方的主键的。在概念模型转化为物理模型

时,

PowerDesigner

会自动添加对应的对方的主键字段名作为本表中的外键字段。这也是

在前面的第一条中,为何在实体的主键上建议命名方式为表名加字段名的原因。

4.

继承关系

中,

CDM

转化为

PDM

时,

子表和父表都会生成对应的表,

且父表中的所有字段都会

在子表中存在,

且你表的主键会同时成为子表的主键之一。

个人觉得实体之间的继承关系目

前在数据库设计上的使用意义不大,而

PD

在做这样的关系,主要是出于基于面向对象方

面的因素的考虑。建议少用或者不使用该关系。

5.Association(

注意不是

Association

Link)

要用于描述两个及以上的实体间关联关系的。和

relationship

最大的区别在于

Association

会单独生成一张表,且会存储相关实体的所有主键,从某种角度来说,它更

(

)

是一个关联

关系表。所以我们也可以通过

relationship

来实现,只需要新添加一个实体来进行多个实体

之间的关联即可。

Association

Link

是用来进行

Association

与其他实体

Entity

之间的关联

的,类似于

RelationShip

的功能,只是这个用于

Association

Entity

之间的联系,而

RelationShip

应用于

Entity

之间。

6.

CDM

转化为

PDM

很简单,在

tools

中,选择

Generate physical Data Model…

,选择你需要转化的数据库类型即可。此时

PD

会将对应的

关系以及数据类型转化为特定的物理模型中使用的数据库类型,

建议你改变一下你转换的物

理模型的名字,

不要用默认的。

7.

当我们添加或者修改字体中的字段属性时,

默认情况下

name

code

是同步的,也就是说修改

name

的时候,

code

也跟着变化,这个令人很烦,可以通

过下面的步骤将其去掉:

Tools-General Options-Dialog-Name to Code Mirroring

。将

Name to

Code Mirroring

默认的选中去掉,使其不选中,即可。

8.

在生成某一具体的物理模型下对应

的数据库脚本时,

我们可以插入自己的数据库脚本,

这样可以一并生成,

这通常在初始化数

据库和加入较详细的注释时很有用。

这个操作只能在物理模型中进行,

因为概念模型不针对

某一具体数据库,

而物理模型中加入脚本是针对具体数据库进行的。

添加自己的脚本的方法

是:双击选中物理模型中的你需要添加自已脚本的表,在左下角中点击

more

,选中其中的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值