关闭

使用 Power Designer 设计数据库并生成脚本

标签: 数据库sqlserversqldatabasedomain脚本
2940人阅读 评论(0) 收藏 举报
分类:

如果你只要建立物理模型(通俗一点就是画数据库表),你可以
在建立工程后,new--physical data model。然后可以开始画表了。

画表:

画表是注意,双击表的图标进入属性页面,在这里name是在powerdesigner里
显示的名称,只是为了方便你看,跟数据库没关系的。code是在数据库的编码,
在general里有comment,这个是在数据库的comment。在columns这个tab标签页里,
我们可以编辑表的列。注意,每一行的name也是在powerdesigner里显示的名称,
这个只是方便你看的,跟数据库没关系。code就不用说了就是数据库里的字段编码。
那comment怎么不见,我们双击最左边行号,这时弹出这个属性的详细属性编辑页面。
在这里可以看到comment(这里该有其他的一些设置,不是很重要,自己看看吧).
(还有一种方法可以在column页面直接看comment,这就需要我们定制column显示的内容,
在这个标签页上面有一排图标,比如插入一行等,其中有一个小漏斗似的图标customize
 coulumns and filter,点击进入勾选我们想显示的属性即可,找到comment勾上就行了)

画关联:

在tools--display references中,在format--references可以设置
外键关联的线的样式(曲线,颜色等)。同样你也知道在这里还可以设置
表,视图等在powerdesigner中显示的样式。

在话外键关联式,在工具里选择references,例如A表中的b_id字段是b表的
外键,那就从a表开始画箭头到b表。画好后,可以双击这条线弹出属性页面,
name,code也是powerdesigner显示为了方便你看的,在数据库,这个关联的名称在
integrity这个标签页可以看到并可编辑。我们也可以到priview这个标签页看看实际的
sql语句。
注意:在priview你看到的是实际要生成的sql语句。


数据库报表;

画好数据库表盒视图以后,我们保存。这时保存的是*.pdm格式的文件,这是powerdesigner
默认的文件格式。如果我们要方便别人看我们设计的数据库结构,最好导出报表而不是
这样保存为pdm文件,因为别人还得去安装powerdesigner软件。

点击report--generate report弹出导出报表页面。
这里选择默认的full physical report(所有物理报表),
generate html(选择这个最后生成的是html格式,用浏览器就可
打开看了;选择generate rtf最后生成的是rtf格式的文件,用word
可以打开看),下面还要写报表的名称和导出路径,这个不用说了,
有一点大家要注意,在laguage下拉列表要选simplified chinese(
简体中文),否则生成的文件有中文就会有乱码。

 

 

 


现在可以把画好的设计生成数据库了,
首先我们要设置生成脚本的引号,因为
PD生成Oracle数据库建表SQL时,默认会给表名和字段名加上双引号。
解决方法:
把Database→EditCurrentDBMS→General→Script→Sql→Format→CaseSensitivityUsingQuote设置为NO即可

在dastabase菜单中选择generate database,选择目录和文件名称,点确定即可。
到刚才的目录下找到生成的sql文件,打开plsql,
这里还不能直接运行,因为有一些sql语句会报错,drop语句,视图语句。
drop是因为还没建表或视图所以报错;视图是因为我们在powerdesigner里没定义,
所以报错,把这些注释掉。

 

 

 

 

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&---  power designer 使用 -----&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&


PowerDesigner去掉SQL脚本中的双引号
◇问题描述:
PD生成Oracle数据库建表SQL时,默认会给表名和字段名加上双引号,怎样能去掉SQL脚本中的双引号呢?
◇解决方法:
把Database→EditCurrentDBMS→General→Script→Sql→Format→CaseSensitivityUsingQuote设置为NO即可

 

PowerDesigner中设置Entity的默认字体
◇问题描述:
创建Entity时,如果PD默认字体不适合自己的个人习惯,每次创建了一个实体后都要修改实体的字体,非常麻烦,是否有只修改一次一劳永逸的方法呢?
◇解决方法:
Tools→DisplayPreferences...→Format→Entity→Modity...→Font→进行相应修改并保存设置→SetAsDefault

取消name和code联动
在修改name的时候,code的值将跟着变动,很不方便。修改方法:PowerDesign中的选项菜单里修改,在[Tool]-->[General Options]->[Dialog]->[Operating modes]->[Name to Code mirroring],这里默认是让名称和代码同步,将前面的复选框去掉就行了。


&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

修改建表脚本生成规则。
如果每个表格都有相同的字段,可以如下修改:
Database -> Edit Current DBMS 展开 Script -> Object -> Table -> Create 见右下的Value值,可以直接修改如下:

/* tablename: %TNAME% */
create table [%QUALIFIER%]%TABLE% (
   %TABLDEFN%
   ts                   char(19)             null default convert(char(19),getdate(),20),
   dr                   smallint             null default 0
)
[%OPTIONS%]

其中的 ts、dr 两列会在生成SQL脚本的时候自动的插入每个表格中,其中的%TNAME% 变量是给每个表格的SQL添加一个该表的Name值注释。

 

PowerDesigner生成SQL语句时不使用Domain
◇问题描述:
如果在PD中使用了Domain,生成SQLServer的数据库SQL的脚本中会使用与Domain对应的自定义数据类型,而不会使用SQLServer自己的数据类型,怎样能让PD生成SQL语句时使用SQLServer自己的数据库类型,而不是Domain对应的自定义数据类型呢?
◇解决方法:
把Database→EditCurrentDBMS→General→Script→Objects→Domain→Enable设置为NO即可

 

PowerDesigner中设置Entity自动调整尺寸大小
◇问题描述:
当给Entity添加了字段或其他修改时,Entiry的显示尺寸大小不会自动调整,怎样解决呢?
◇解决方法:
在Entity上点击右键→单击Format...菜单项→选择size标签页→勾选Autoadjusttotext即可


PowerDesigner中设置表格属性preview
◇问题描述:
点击表格属性preview生成的sql语句要怎么修改个,怎样解决呢?
◇解决方法:
在选择的table上点击右键→单击properties...菜单项→选择physicaloptions就可以设置,设置完再点击左下角的applyto
在preview选项里面最上面的工具栏,点击showgenerationoptions可以设置其它生产sql语法的格式。

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1283144次
    • 积分:15235
    • 等级:
    • 排名:第781名
    • 原创:320篇
    • 转载:247篇
    • 译文:0篇
    • 评论:106条
    最新评论