引言 在数据库的开发设计中,PowerDesiger(PD)是一个较为常用的UML工具。PowerDesiger为各类数据模型提供了直观的符号表示,不仅使设计人员能更方便、更快捷地使非计算机专业技术人员展示数据库设计和应用系统设计,使系统设计人员与使用系统的业务人员更易于相互理解和交流,同时也使项目组内的交流更为直观、准确,更便于协调工作,从而加速系统的设计和开发过程。PowerDesiger设计完成后的数据库可直接生成SQL语句。
使用ODBC连接MySQL 准备工作 PowerDesigner本身是32位的程序(特别重要),故不管在32位或者64位操作系统中,都需要安装32位的MySQL Connector /ODBC。
MySQL Connector /ODBC下载地址:https://dev.mysql.com/downloads/connector/odbc/
连接数据库
安装完ODBC之后,打开PowerDesigner,新建一个Model,File—>New Model
选择工具栏中的Database—> Update Model from Database,如下图
打开配置对话框,选择[Using a data source],点击输入框后的图标
配置ODBC数据源
说明:这里提供了ANSI和Unicode两种字符集版本的Driver,Unicode提供更丰富的字符集,一般推荐使用Unicode 。
点击完成,配置连接信息。
1 2 3 4 5 6 7 8 9 说明: Data Source Name:指定当前配置的ODBC数据源名称,可随意填写。 Description:指定ODBC数据源的描述信息,可根据用途随意填写。 TCP/IP Server:采用TCP/IP协议连接服务器,如果是本地填写localhost或者127.0.0.1(根据实际MySQL用户情况选择),如果是远程服务器则填写相应IP地址即可。 Port:默认3306,根据实际MySQL的端口设置填写。 lNamed Pipe:命名管道方式连接,只适用于widows下的本地连接。连接性能比TCP/IP方式更高,更安全。请按照MySQL的配置文件my.ini中的socket参数指定的值填写,如果没有设置则默认为MySQL(但是目前为止这种方式我还没有测试成功)。 User:数据库用户名。 Password:数据库密码。 Database:数据库中的database。
信息输入完之后可以选择Test测试配置是否正确,点击OK就结束了配置。
到这里已经可以连接数据库了。
设计数据库 如果在已有的数据库上需要设计和修改,先取消所有表,再选择需要设计或修改的数据库,选择表,点击ok。
连接后的UML如下,可以新建和修改表
同时可对表进行主外键设计,现在主外键已经很少用到了。
双击表之间的连接线,点击Joins
点击【确定】按钮,即可如我们所愿:
生成建表语句 点击Database—>Generate Database
点击【确定】按钮之后,可以在桌面上找到shiro.sql这样的一个文件,打开,即可看到建表语句:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 drop table if exists shiro.u_permission;drop table if exists shiro.u_role;drop table if exists shiro.u_role_permission;drop table if exists shiro.u_user;drop table if exists shiro.u_user_role;create user shiro;create table shiro.u_permission( id bigint (20 ) not null auto_increment, url national varchar (256 ) comment 'url地址' , name national varchar (64 ) comment 'url描述' , primary key (id) ); create table shiro.u_role( id bigint (20 ) not null auto_increment, name national varchar (32 ) comment '角色名称' , type national varchar (10 ) comment '角色类型' , primary key (id) ); create table shiro.u_role_permission( rid bigint (20 ) comment '角色ID' , pid bigint (20 ) comment '权限ID' ); create table shiro.u_user( id bigint (20 ) not null auto_increment, nickname national varchar (20 ) comment '用户昵称' , email national varchar (128 ) comment '邮箱|登录帐号' , pswd national varchar (32 ) comment '密码' , create_time datetime comment '创建时间' , last_login_time datetime comment '最后登录时间' , status bigint (1 ) default 1 comment '1:有效,0:禁止登录' , primary key (id) ); create table shiro.u_user_role( uid bigint (20 ) comment '用户ID' , rid bigint (20 ) comment '角色ID' ); alter table shiro.u_user_role add constraint FK_Reference_1 foreign key (uid) references shiro.u_user (id) on delete restrict on update restrict;
得到SQL语句后可直接导入到数据库。由此我们设计数据库已经完成。
总结 这里只是简单介绍了PowerDesigner进行数据库模型设计,自动生成SQL语句等功能。PowerDesigner还有很多技巧和功能在摸索中。