如何用Powerdesigner的PDM生成数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用Powerdesigner的PDM生成数据库相关的知识,希望对你有一定的参考价值。

工具:

Sybase PowerDesigner 15.1

Microsoft SQL Server 2005

第一步概要设计:

打开PowerDesigner软件,设计“概念数据模型”(ConceptualData Model):

点击workspace 右键---》New—>Conceptual DataModel,

弹出如下界面:

设计表、表结构:

在设计属性(字段)的时候,三个字母(M、P、D)分别表示:

M:是否为空;(√表示不允许为空)

P:是否为主键;

D:是否在该软件的视图中显示

第二步:物理设计

将“概念数据模型”设计的表转换为“物理数据模型”(PhysicalData Model),实际上是从“概要设计”转换为“详细设计”,即对表的具体实现。

将概要设计模板转换为物理设计

选择“Tools”-->“Generate Physical DataModel…”即可。

然后选择你的DBMS.

点击“确定”按钮以后,就产生了对应“SQL Server 2005”数据库的表、属性、关系的具体实现。

这时就会有一个物理设计的模板出现,将你在概要设计时的实体都转换成具体的表。

第三步:在SQL Server2005中手动创建数据库(也可以用SQL创建库,pd可以将我们的表设计都转换成SQL)

需手动在SQL SERVER2005中创建您的数据!如:“Students“,此过程省略…

第四步:在数据源ODBC中配置用户数据源

第五步:在SQL Server2005中自动创建表结构

首先:根据“物理数据模型”(Physical Data Model)自动建立相应的SQL语句:

其次:执行其创建的SQL语句文件,将数据表结构自动创建到SQL Server 2005数据库中:

完成以上步骤后,刷新SQL Server 2005数据,将会看到你所创建的相关表结构。

参考技术A 1.确认当前Powerdesigner设置的dbms是否正确,即是否是我们要生成的数据库类型,我在这里使用的是sqlserver2000:
Powerdesigner->数据库->更改当前dbms,选择您的数据库类型。
2.配置Powerdesigner与数据源的连接
Powerdesigner->数据库->配置连接->用户dsn(或系统dsn)->选择、添加您的数据源
3.连接
Powerdesigner->数据库->连接->设置好您刚才建立的dsn确定。
OK,设置好连接后我们就可以将pdm生成sql语句了。
4.数据库生成
Powerdesigner->数据库->生成数据库->配置好(默认就可以)后选择确定就好了。
拿到sql脚本语句,大家都知道应当如何做了吧,放到sql查询分析器里执行吧。
参考技术B pdm做好后,最终是要将其转化为数据库实体的。这里pdm想必大家都知道是什么文件,对的,英文是physiyc data model 也就是物理数据模型。
1.确认当前Powerdesigner设置的dbms是否正确,即是否是我们要生成的数据库类型,我在这里使用的是sqlserver2000:
Powerdesigner->数据库->更改当前dbms,选择您的数据库类型。
2.配置Powerdesigner与数据源的连接
Powerdesigner->数据库->配置连接->用户dsn(或系统dsn)->选择、添加您的数据源
3.连接
Powerdesigner->数据库->连接->设置好您刚才建立的dsn确定。
OK,设置好连接后我们就可以将pdm生成sql语句了。
4.数据库生成
Powerdesigner->数据库->生成数据库->配置好(默认就可以)后选择确定就好了。
拿到sql脚本语句,大家都知道应当如何做了吧,放到sql查询分析器里执行吧。本回答被提问者和网友采纳
参考技术C

根据PDM创建的模型生成数据库的步骤:

1:Database菜单下change current DBMS

2:将上面的模型修改为你想要声称的数据库类型,如SqlServer2005

3:建立数据源连接sqlserver数据库

4:Database菜单下generate database



Powerdesigner数据库反向生成PDM显示中文

Tools->Execute Commands->Edit/Runscript…

执行以下脚本,在Powerdesigner从数据库反向生成PDM时,NAME显示中文。

 

Option Explicit

ValidationMode = True

InteractiveMode = im_Batch

Dim mdl ‘ the current model

‘ get the current active model

Set mdl = ActiveModel

If (mdl Is Nothing) Then

MsgBox "There is no current  Model"

ElseIf Not mdl.IsKindOf(PdPDM.cls_Model)  Then

MsgBox "The current model is not an Physical  Data model."

Else

ProcessFolder mdl

End If

‘ This routine copy name into code for  each table, each column and each view

‘ of the current folder

Private sub ProcessFolder(folder)

Dim Tab ‘running table

for each Tab in folder.tables

if not tab.isShortcut then

if tab.comment ="" then

else

tab.name=tab.name+"("+tab.comment+")"

on error resume next

end if

Dim col ‘ running column

for each col in tab.columns

if col.comment="" then

‘ MsgBox "表"+tab.name+"列"+col.name +"没有comment"

else

col.name=col.name+"("+col.comment+")"

on error resume next

end if

next

end if

next

Dim view ‘running view

for each view in folder.Views

if not view.isShortcut then

if view.comment="" then

MsgBox "视图"+view.name  +"没有comment"

else

view.name=view.name+"("+view.comment+")"

on error resume next

end if

end if

next

‘ go into the sub-packages

Dim f ‘ running folder

For Each f In folder.Packages

if not f.IsShortcut then

ProcessFolder f

end if

Next

end sub


以上是关于如何用Powerdesigner的PDM生成数据库的主要内容,如果未能解决你的问题,请参考以下文章

Powerdesigner数据库反向生成PDM显示中文

利用PowerDesigner逆向工程导出PDM模型及生成文档

PowerDesigner 中SQL文件数据库表反向生成PDM

PowerDesigner生成pdm(适用Mysql)

PowerDesigner通过SQL语句生成PDM文件并将name和comment进行互相转换

powerdesigner怎样把pdm模型转成数据库表