一、下载PowerDesigner,用google去网上搜,然后下载下来。
二、安装PowerDesigner.安装很简单,双击可执行exe文件,按照提示点下一步,期间可更改安装路径,如有需要则更改安装路径。
三、使用PowerDesigner进行数据库设计。
双击打开PowerDesigner,工作界面如下图:
(1)新建一个概念模型。设计概念模型
点击选中左侧的Workspace,对其点击右键,选择new->ConceptualDataMode
在弹出的对话框中给新建的概念模型命名。这里命名为ConceptualDataModel_blog
点击确定后,出现如下的概念模型设计界面。
这里将以一个简单的博客系统数据库设计为例,这里涉及到四个表,分别是博文表,博文分类表,用户表,博文评论表,因为每个表都会用的一个id字段,而PowerDesigner的默认配置是不允许重复的,所以要先更改一下设置,让它允许重复。如图,点击菜单栏的Tools,然后点击下拉的Model Options.如图:
在弹出的对话框中去掉,Relationship和DataItem下的Unique Code的勾。如图
点击OK,设置完成,回到了概念模型设计界面。
这里的表映射到概念模型中对应的是实体。在右侧浮动的工具条,选中Entity图标,并拖动到中间的工作区然后单击左键即可,如图。
拖动到工作区后,如下图
由于这里博客系统涉及到的表共有四个,所以一共要拖四个Entity到工作区。如图。
双击任意一个Entity,如Entity1,弹出如下对话框。
这里先设计博文表blog.将entity1的名字改为Entity_blog,如下图
接着点击对话框上面的Attributs选项,设置实体的属性。如图
博文的第一个属性是id,数据类型为整型。在第一行中的Name列写id, code列会自动填充为id
双击Data Type列,出现如图所示
点击 ,弹出如下对话框。用于选择数据类型,这里选择Integer,如图
选择数据类型后,点OK。
因为id是主键,所以这里选中P,这时M自动也选中,M表示永恒的。如图。
id设置好之后设置其他属性,设置如下图。
点击应用,然后点击确定后,主设计界面变为如图
类似的设计其他表对应的实体。
博文类别表对应的实体:Entity_category.设计如下图所示
博文评论表对应的实体,Entity_comment,设计如下图所示
用户表对应的实体,Entity_users,设计如下图所示
四个都设计好后,如图所示:
接下来,设计实体之间的关系:
Entity_blog和Entity_category,这两个实体之间存在多对一的关系。一个博文类别可以对应着多篇博文。
Entity_comment和Entity_blog,这两个实体之间存在多对一的关系。一篇博文可以对应着多个评论。
Entity_blog和Entity_users,这两个实体之间存在多对一的关系,多篇博文可以属于一个博客用户(博主)
Entity_comment和Entity_users没有关系。
Entity_comment和Entity_category没有关系。
点击,右侧浮动工具条的relationship图标。如图
然后在主工作区中连接有关系的实体,这里分别连接Entity_blog和Entity_category、Entity_comment和Entity_blog、Entity_blog和Entity_users。如图
然后点击Poniter用于回到选择状态,接着双击relationship1.弹出如下对话框,用以设置实体Entity_blog和Entity_users关系
这里可以给实体关系命名,也可保持默认命名。点击 ,在出现的对话框中设置实体关系。
这里博文与用户是多对一关系,设置如图所示。
点击应用,然后点击确定。类似的设置其他关系。设置完后如图
到这里概念模型设计完成。
点击File->Save保存概念模型。
(2)将设计好的概念模型转化为物理模型。
在上面的基础上,点击菜单栏的Tools->Generate Physical Data Model。如图
弹出如下对话框,在DBMS中下拉选择要转换成的数据库类型,这里使用SQL Server2005.如下图
选择数据库后,点击应用,然后点击确定。出现如下界面。
可以发现,这时生成了具体数据库对应的数据类型,而且可以发现概念设计中的多对一实体关系,在这里被转化成在“多方”添加了一个属性。这里更改一下多方增加的属性名。更改后如下图
到这里概念模型转化为物理模型完成。
(3)生成sql语句。
点菜单栏的Database->Generate Database,如图。
弹出的对话框如下图:
在弹出的对话框中,
,设置生成的SQL文件的存放位置,
,设置生成的SQL文件的文件名。
用记事本或其他编辑器,查看一下生成的sql语句。这里用UtraEdit如图:
生成的sql语句有点小问题。就是表名为Entity_blog,与开始概念设计时的实体名相同,可以在生成的sql文件中直接修改,或下次用PowerDesigner进行概念设计时,给Entity取名时,直接取名为blog即可。
OK,我的PowerDesigner使用经历。接下来就可以用sql语句生成具体的数据表。