一、创建"概念数据模型"-CDM(Conceptual Data Model)
(1)打开PowerDesigner,点击File(文件)->New(新建)
(2)选择Conceptual Data Model,并修改Model name(模型名).
(3)在Palette工具栏中点击Entity(实体)工具,并在工作区中建立Entity
(4)双击一个Entity.在弹出的Entity Properties中输入Name,Code.其中Name是在显示时使用的名称,而Code是在代码中使用的名称.
注:修改name的内容,code也跟着变化,如何让code不随着name变化,Name和Code 的右侧都有一个按钮“=”,如果需要不同步的话,把这个按钮弹起来就可以了。
Tools(工具)->General Options(常规)->Dialog(对话)->Name to Code Mirroring(名字编码映射) 去掉
(5)点击Attributes(属性),建立相应的属性:Name:显示名称,Code:代码名称,Data Type:数据类型,Length:数据长度,Precision:数据精度,M:必须的,P:主键,D:显示.
注:允许字段同名,.默认不允许有相同字段
Tools-->model options-->model settings(模型设置)-->Data Item(数据选项)-->unique code去勾则可
(6)选中主键列,点击工具列中的Create Identifier(标识符)按钮.
(7)输入Name及Code,因为是主键列,所以选中Primary identifier.
(8)建关系: 点击工具栏中的关系工具,在学生表Entity上点击并拖至成绩表Entity.
双击关系-->name关系描述/code约束名-->Detail(细节): 一对一,一对多, 多对多,多对一
(9)建约束:双击字段名-->Standard checks(标准检查)可设置最大值|最小值|默认值-->additional Checks(附加检查):可手写check约束
(10)检查是否有错 Tools-->check model
注:删除未改名的字段,不然报错
二、根据CDM生成"物理数据模型"-PDM(Physical Data Model)
1.Tools-->generate physical(产生物理模型)-->选择数据库类型,例sql server 2000
注:a.不能改文件夹,必须是DBMS文件夹中
2.主外键设置:双击关系-->joins(连接)选择各表的主外键字段
3.建标识列:双击字段名 -->Genral-->identity前面加勾
三、为特定DBMS创建数据库的SQL语句。
Data base-->generate database(产生数据库)-->Director选择文件生成的位置
注:(1)可以通过修改模板(Database-Edit Current DataBase)改变脚本的格式。例如:
Script-Objects-Column-Add的Value中开头增加一行“--%COLNNAME%”以便在脚本中显示列的中英文对照
(2)由pdm生成建表脚本时,字段超过15字符就发生错误(oracle)
打开PDM后Database-->Edit Current-->DBMS -script-objects-column-maxlen,把value值调大(原为 30),比如改成60。出现表或其它对象的长度也有这种错误都可以选择对应的objects照此种方法更改!
(3)执行sql语句时,需先建数据库,因为该工具生成的脚本建表不建库。
且脚本用的修改表,执行两次就OK了
四、利用已现有模块导出数据字典文件
(1)”数据字典模板”,并将它复制到安装目录的Resource Files\Report Templates文件夹中
(2)右击"PDM"-->新增-->report(报表)-->新建-->ReportName报表名,language语言(选择Simplified Chinese简体中文),report template报表模块(选择数据字典模板)-->编辑或直接使用使用该模板
(3)选择report工具栏中-->Generate Html生成HTML字典| Generate RTF生成DOC字典
注:修改报表模板中一些术语的定义
即文件:C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages\Chinese.xrl
Tools-Resources-Report Languages-选择Chinese-单击Properties或双击目标
修改某些对象的名称:Object Attributes\Physical Data Model(物理数据模型)\Column\
ForeignKey:外键
Mandatory:为空
Primary:主键
Table:表
用查找替换,把“表格”替换成“表”
修改显示的内容为别的:Values Mapping\Lists\Standard,添加TRUE的转化列为是,FALSE的转化列为空
另外Report-Title Page里可以设置标题信息
五、根据已存在的数据库反向生成PDM,CDM及创建数据库的SQL脚本。
DataBase -->reverse Engineer DataBase(反转数据库) --> Using an ODBC data source
注:需要配置数据源。问:如何反向MYsql
如果报以下错误的解决方案:
Unable to list the users.
[Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句
SQLSTATE = 37000
解决方案:修改语法检查规范
步骤一:选择菜单栏中的Database -> Change Current DBMS ,给DBMS选择SQL Server2005。
步骤二:重新配置ODBC连接,取消"更改默认的数据库为"选择。
步骤三:从PD里选择File -> Reverse Engineer -> Database
步骤四:选择数据库,选择表,OK,大功造成。