1、安装PowerDesigner
版本: 16.5.0.3982 以下简称pd, 下载地址:http://pan.baidu.com/s/1c0yLit6 提取密码:prms
2、创建模型文件
打开pd,出现欢迎界面,点击“Create Model……”
选择Information-〉Physical Data,输入Model name,这里以数据库名字命名,目前主要使用MySQL,选择MySQL,点击OK,
即创建了模型文件。在pd界面中,左边是工程空间,中间是工作区,右侧是工具箱,这时我们可以先保存一下,默认扩展名.sws
在右侧工具箱我们看到Physical Diagram工具栏,点击第二个表格形状的图标,
在中间工作区任意处点击,即可看到一个空表格Table_1
在空表格上右键,找到Format...单击,
在弹出的对话框中,点击Shadow选项卡,选择Standard选项,单击确定,即可给表格设置阴影效果,其他效果,如Line Style,可以设置边框的线条颜色,Fill,可以设置表格填充的背景渐变等。
阴影效果如下图:
我们开始对表格进行编辑,Name里填写的名称是在pd中显示用的,实际在数据库中表名字以Code为准,下面添加字段也一样。
选择Columns选项卡,添加列名,字段类型,长度,P开头代表是主键,F开头代表是外键,M开头代表是字段不能为空。
在新建字段时设置了会员ID为主键,选择Key选项卡就可以看到,在这里还可以修改主键名称,
也可以在Key选项卡里添加唯一索引(或唯一约束),如用户名username字段值不能重名,点击属性图标,给它加上唯一约束,以UQ开头命名,在Columns选项卡中选择username字段,点击确定即可。
在Preview选项卡中,可以预览到SQL语句,协助检查一下有没有多余的设置或遗漏的设置,
设置字段的timestamp类型默认值
一般分别用于create_time和update_time两字段。
如上图,菜单位置:Database > Edit Current DBMS...,可以在这里添加默认值选项,也可以添加函数。
建立外键
新建会员类型表,点击工具箱中的Reference按钮,点击会员类型表,拖住不放,往会员表拉,会自动产生箭头连接线,表示出主外键关系。
导出数据表
选择Database-〉Generate Database...
选择保存目录,填写保存文件名,点击确定即可生成出MySQL语句,用这个文件可以直接创建数据表,但创建之前先要创建数据库。
如果以上办法还不能给字段加注释,按如下方法操作即可:
在 pdm 视图中,Database --> Edit Current DBMS,找到 MySql5.0 --> Script --> Objects --> Column --> Add。
将原来的内容:
%20:COLUMN% [%National%?national ]%DATATYPE%[%Unsigned%?unsigned][%ZeroFill%? zerofill][ [.O:[characterset][charset]] %CharSet%][.Z:[ %NOTNULL%][%IDENTITY%?auto_increment:[ default %DEFAULT%]][ comment %.q:@OBJTLABL%]]
修改成:
%20:COLUMN% [%National%?national ]%DATATYPE% [%Unsigned%?unsigned][%ZeroFill%? zerofill][ [.O:[characterset][charset]] %CharSet%][.Z:[ %NOTNULL%] [%IDENTITY%?auto_increment:[ default %DEFAULT%]][ comment %.q:COMMENT%]]
在windows下,安装目录的配置文件是只读的,所以以上修改没有写入到文件里,下次打开还得重新配置,解决办法是将安装目录下的Resource Files目录设置成可写。
在导出的sql文件里,添加mysql的字符集ENGINE和DEFAULT CHARACTER SET方法
工具栏-》database-》edit current DBMS 然后,选中:MYSQL50::Script\Objects\Table\Options
在options末尾添加:
ENGINE = %s : list = BDB | HEAP | ISAM | InnoDB | MERGE | MRG_MYISAM | MYISAM, default = InnoDB
DEFAULT CHARACTER SET = %s : list = utf8 | gbk, default = utf8
COLLATE = %s : list = utf8_bin | utf8_general_ci | gbk_bin | gbk_chinese_ci, default = utf8_general_ci
第一个:存储引擎
第二个:字符集
第三个:带bin是区分大小写,ci不区分
点击ok保存,回到工作区,双击某表,在:
Physicial Options中,可以看到刚刚添加的选项,这样就可以按照自己的方式来操作了。
常见问题
1、外键的命名规则是什么?
答:按 'FK_'+8位子表名+8位父表名+关联字段 规则,那么上面会员表和会员类型表的外键命名是: FK_membertype_member_meber_id
2、如何实现Name和code不自动相等?
答:设置tools--Gerneral options--->dialog---->name to code mirroring,去掉前面的勾即可。
3、字母缩写意思
PK 主键 Primary Key
FK 外键 Foreign key
AK 附键,普通索引
UK 唯一 Unique Key
CK 检查 Check Key