如何用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 中SQL文件数据库表反向生成PDM