如何用Powerdesigner的PDM生成数据库

如何用Powerdesigner的PDM生成数据库,第1张

工具:

Sybase PowerDesigner 15.1

Microsoft SQL Server 2005

第一步概要设计:

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

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

d出如下界面:

设计表、表结构:

在设计属性(字段)的时候,三个字母(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数据,将会看到你所创建的相关表结构。

1.确认当前Powerdesigner设置的dbms是否正确,即是否是我们要生成的数据库类型,我在这里使用的是sqlserver2000:

Powerdesigner->数据库->更改当前dbms,选择您的数据库类型。

2.配置Powerdesigner与数据源的连接

Powerdesigner->数据库->配置连接->用户dsn(或系统dsn)->选择、添加您的数据源

3.连接

Powerdesigner->数据库->连接->设置好您刚才建立的dsn确定。

OK,设置好连接后我们就可以将pdm生成sql语句了。

4.数据库生成

Powerdesigner->数据库->生成数据库->配置好(默认就可以)后选择确定就好了。

拿到sql脚本语句,大家都知道应当如何做了吧,放到sql查询分析器里执行吧。

在powerBuilder中新建一个Physical Data Model,在其中新建一个用户表,信息如下图所示:

此时的SQL语句可从其中的Preview视图中得到,如下图所示:

这个时候生成的sql语句是没有注释的,而且sql语句可能也不是适合自己所对应的数据库语言。此时可以通过以下方法来生成注释并且选择所需的数据库语言。

1、为sql生成注释, *** 作如下,我用的是PowerDesigner12.5,在其中选择Tools----》Excute commands-----》Edit/Run Script打开的窗口中添加以下信息

'****************************************************************************** '* File: name2comment.vbs '* Purpose: Database generation cannot use object names anymore ' in version 7 and above. ' It always uses the object codes. '' In case the object codes are not aligned with your ' object names in your model, this script will copy ' the object Name onto the object Comment for ' the Tables and Columns. ''* Title: '* Version: 1.0 '* Company: Sybase Inc. '******************************************************************************

Option ExplicitValidationMode = TrueInteractiveMode = im_Batch

Dim mdl ' the current model

' get the current active model Set mdl = ActiveModel If (mdl Is Nothing) ThenMsgBox "There is no current Model "ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) ThenMsgBox "The current model is not an Physical Data model. "Else ProcessFolder mdl End If

' This routine copy name into comment 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 '把表明作为表注释,其实不用这么做 tab.comment = tab.name Dim col ' running column for each col in tab.columns '把列name和comment合并为commentcol.comment= col.name nextend ifnext

Dim view 'running view for each view in folder.Views if not view.isShortcut then view.comment = view.name end ifnext

' go into the sub-packages Dim f ' running folder For Each f In folder.Packages if not f.IsShortcut then ProcessFolder f end ifNextend sub

点击run后,可以看到刚刚的preview视图窗口中已经如下图所示

2、更换数据库sql语句。

选择Database---》change current DBMS,在DBMS中选择对应的数据库,如Microsoft SQL Server 2005,点击确定后,然后选择Database---》Generate Database选项,在d出的窗口中选择生成sql文件的保存路径,点击确定,则可看到生成的sql语言完全是按照sqlserver2005的标准。如下图所示:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7088706.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-01
下一篇 2023-04-01

发表评论

登录后才能评论

评论列表(0条)

保存