PowerDesigner使用教程|使用方法

PowerDesigner安装方法: http://dev.firnow.com/course/3_program/java/javajs/20090908/174375.html

安装完这2个软件了,接着就开始使用吧,还是和以前一样,先提出需求,再做实例,因为我们之所以使用它们,肯定是因为它们能巧妙的解决某种问题,不然我们干嘛花那么多时间和硬盘空间安装它们.

好,我们现在的需求是:希望当接到一个新的工程项目时,程序员只需要根据项目需求,设计出数据库的结构(表,表的字段,表间关系),之后只要按一个按键,就能立刻得到基于该数据库的所有分层架构代码文件.也就是说,我们希望能在不敲一行代码的情况下获取所有我们想要的代码!而这就是这2个软件能做到的事情,也是我们安装它们的目的.

好了,角色已经介绍完了,接着看看它们是如何演绎这场精彩的演出的吧:

首先我们需要创建一个测试数据库,为了简单,我们在这个数据库中只创建一个Student表和一个Major表.其表结构和关系如下所示.

看看怎样用PowerDesigner快速的创建出这个数据库吧.

1.现在开始使用PowerDesigner创建数据库,首先运行程序,进入主界面:

2.File—New Model—Physical Data Model—Physical Diagram—Model name 设置为test,DBMS属性设置为Microsoft SQL Server 2005:

3.首先用表格工具创建一个表格模板:

4.双击表格模板,设置属性,我们首先设置Major表:

5.设置好表名,点击Columns标签,设置字段属性,设置如图所示:

6.因为MajorID字段我们要设置为自动增长,所以要设置它的高级属性,选择MajorID字段,点击属性按钮,在General面板中勾选上Identity复选框:

7.确定后我们再创建一个Student表,字段设置如图所示:

8.接着是为Student创建一个MajorID外键,使用PowerDesigner可以很轻松的完成这个工作,选择关系设置工具,在Student表上按住左键不放,拖拽至Major表,便可为Student表添加一个MajorID的外键:

9.哈哈,现在测试表已经设置好了,接着设置一下我们要生成的数据库吧,这些表都将被创建到该数据库中,我们在设计面板空白处右键—Properties,在弹出的属性设置对话框设置如下:

10好了,在此我们对新数据库的设置已经完成,但是在SQL中还是空空如也啊,我们要怎么把这边设计好的结构移植到SQLServer 2005中呢?执行操作:Database—Generate Database,设置好存储过程导出目录和文件名,点击确定即可:

11.到你的导出目录,就可以看见导出的数据库创建存储过程了,打开SQL,执行一下,你就会看到数据库被神奇的创建好了:

12.好了,数据库的准备工作做好了,下一篇我们就将使用该数据库结合CodeSmith自动批量生成代码啦~

上述实践中生成的源代码:

SQL.sql

/*==============================================================*/

/* Database name:  PD_test                                      */

/* DBMS name:      Microsoft SQL Server 2005                    */

/* Created on:     2010/6/13 星期日 17:27:17                       */

/*==============================================================*/





drop database PD_test

go



/*==============================================================*/

/* Database: PD_test                                            */

/*==============================================================*/

create database PD_test

go



use PD_test

go



/*==============================================================*/

/* Table: Major                                                 */

/*==============================================================*/

create table Major (

MajorID              int identity,

Name                 nvarchar(20)         not null,

Remark               nvarchar(Max)        null,

constraint PK_MAJOR primary key (MajorID)

)

go



/*==============================================================*/

/* Table: Student                                               */

/*==============================================================*/

create table Student (

StudentID            nvarchar(20)         not null,

MajorID              int null,

Name                 nvarchar(20)         not null,

Sex                  bit not null,

Age                  int null,

Remark               nvarchar(Max)        null,

constraint PK_STUDENT primary key (StudentID)

)

go



alter table Student

add constraint FK_STUDENT_REFERENCE_MAJOR foreign key (MajorID)

references Major (MajorID)

go

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术小黑屋

自定义Octopress404页面

刚刚在Octopress实现了自定义的404页面。参考别人的文章写的,很容易实现,谁知发现写完后,感觉自己掉进了一个坑,然后又爬了出来,所以,有必要自己写出来一...

501
来自专栏繁花云

2016-11-30-初识Thinkphp

由于第一次使用,先选择了thinkphp3.2.3(毕竟5才刚出,文档也不多).

670
来自专栏漫漫全栈路

修改Visual Studio类模板添加版权注释信息

在开发过程中,经常需要给类或接口与添加public修饰符和一些相关的注释信息,这个工作是机械而枯燥的,而这个简单的需求可以通过修改VS自带类模板来实现的。 打...

3404
来自专栏哲学驱动设计

Rafy 领域实体框架演示(2) - 新功能展示

本文的演示需要先完成上一篇文章中的演示:《Rafy 领域实体框架示例(1) - 转换传统三层应用程序》。在完成改造传统的三层系统之后,本文将讲解使用 Rafy ...

1758
来自专栏hotqin888的专栏

beego利用casbin进行权限管理——第二节 策略存储

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

542
来自专栏hotqin888的专栏

beego利用casbin进行权限管理——第五节 策略更新(续)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

561
来自专栏GopherCoder

专栏:015:重构“你要的实战篇"

1073
来自专栏数据库

mybatis 框架实战,实现数据库的增删改查

温馨提示:本问阅读需要4分钟,建议收藏后阅读! 好的各位小伙伴 今天我们来做一个实战 实现数据库的增删改查 先来熟悉一个ORM的概念 ORM (OBJECT-R...

1768
来自专栏freesan44

Injection for Xcode 高效Xcode编译调试插件

对于iOS开发者来说,XCode有个另人十分难耐的特性——编译时长的问题。也许工作的时候你能够为自己找到一个闲下来喝杯咖啡的正当的借口,然而,多次的调试编译过程...

571
来自专栏PPV课数据科学社区

Android数据库高手秘籍(三)——使用LitePal升级表

在上一篇文章中,我们学习了LitePal的基本用法,体验了使用框架来进行创建表操作的便利。然而大家都知道,创建表只是数据库操作中最基本的一步而已,我们在一开始创...

3419

扫描关注云+社区