PowerDesigner简易使用教程
- 格式:ppt
- 大小:8.16 MB
- 文档页数:45
PowerDesigner使用说明书一、正向工程(从概念模型到物理模型)1、新建概念模型(CDM),打开powerdesigner,选择File->New Model,出现New Model窗口,如图1所示:图1(1) Conceptual Data:创建概念模型(2) Logical Data:创建逻辑模型(3) Physical Data:创建物理模型2、假设创建概念模型,选择Categories->Information->Conceptual Data;然后在下面的Model name 处填入概念模型的名称。
点击OK。
在左侧的浏览器中出现新建的概念模型My_Conceptual_Data_1,如图2所示:双击My_Conceptual_Data_1下的子目录Diagram_1,打开编辑区,如图3所示:图3常用的工具有以下几种::用于创建包;:用于创建实体。
:用于创建视图。
:用于连接。
实体之间的参照关系。
:用于创建存储过程。
:用于创建文件。
如创建Student表,拖动一个实体类到编辑区(拖动方法:鼠标左单击实体类图标,鼠标的箭头会变成实体类图标的样子,然后在编辑区左单击,会出现一个默认名称为Entity_1的实体类,然后右击鼠标释放实体类工具,不然左单击鼠标会一直添加实体类)。
效果如图4所示:双击这个实体类或者右击选择Properties,出现Enity Properties窗口,如图5所示:图5在General选项中有个Name,是实体类的名称,此处填写Student。
然后选择Attributes选项,其中包含了字段名、字段类型、类型的长度、主键的设置等信息,如图6所示:设计好之后,点击确定。
同理建立course表,完成之后效果如图7所示:图73、建立连接选择左单击连接符,然后再左单击一个实体类不放,拖到另一个实体类上,右击鼠标释放关系,双击Relationship_1,出现Relationship Properties窗口,如图9所示:在General选项中填入关系名,点击Cardinalities,出现窗口如图10所示,从图中可以看出,其中包含了众多重要的信息,请按实际项目要求进行设置即可。
PowerDesigner的基本操作-图文第2章PowerDeigner的基本操作完美的模型源于娴熟的技巧。
因此,熟悉建模环境,掌握模型设计基本操作至关重要。
本章将从安装PowerDeigner及其相关工具软件开始,详细叙述PowerDeigner建模环境,以及模型设计基本操作方法。
2.1安装PowerDeigner及相关工具软件利用PowerDeigner进行软件分析建模,必须正确安装PowerDeigner 产品。
PowerDeigner采用模块化的结构组织其建模产品,这为购买和扩展提供了极大的灵活性,读者可根据实际需要选择。
购买不同的PowerDeigner产品,包含的模块不同,安装界面中的内容也略有不同。
2.1.1软硬件环境要求安装PowerDeigner之前,需首先确认安装的软硬件环境要求,然后根据实际需求选择安装相关软件。
1.安装PowerDeigner15的系统要求1.5GHz的处理器。
1GBRAM。
SVGA或更高分辨率的图形适配器和兼容的彩色显示器。
CD-ROW驱动器。
500MB以上磁盘空间(用于安装PowerDeigner核心模块)。
MicrooftWindow某P、MicrooftWindowServer或MicrooftWindowVita。
2.需要安装的软件MicrooftSQLServer等等,可根据需要选择安装。
MicrooftOffice产品。
除此之外,可根据实际需求选择安装不同的辅助软件。
例如:利用PowerDeigner建立物理数据模型的多维图时,应安装一种联机分析处理(OLAP)产品,可以选择SybaeASIQ、MicrooftSQLServerAnlyiServiee 等;利用PowerDeigner导入Viio图形时,除安装PowerDeigner15中附带的Viio插件外,还需安装Viio2003或2007产品做支持。
2.1.2安装步骤运行PowerDeigner15.e某e文件,打开安装向导欢迎界面口该界面显示了安装的产品及版本信息。
PowerDesigner设计数据库使用步骤及规范使用PowerDesigner可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。
它可以制作多种数据模型,也能对团队设计模型进行控制。
还可以与许多流行的软件开发工具,例如PowerBuilder、Delphi、VB等相配合使系统设计更优化并缩短开发时间。
并不是每个设计都需要用到PD,对于比较大型的项目,它是很好的,对于短平快类型的项目,例如时间要求一周左右的系统,没有必要使用,直接维护数据库即可,对于表的数量超过10个的系统,建议使用PD进行设计和交流。
1.创建概念数据模型(CDM)1.1创建CDM步骤选择文件 建立新模型,弹出如图所示对话框,选择ConceptualDataModel 模型(即概念数据模型),单击OK,即确认创建。
双击资源浏览窗口中新创建的CDM 名称图标,打开CDM 模型属性窗口,进行相关属性信息设置。
如下图:1.2对象命名通用规范以下三种规范属于基本规范,适用于本文所有数据库对象命名规范。
1、长度规范:凡是需要命名的对象其标识符均不能超过3个英文单词长度(30个字符),也即:Oracle中的表名、字段名,函数名,过程名,触发器名,序列名,视图名的长度均不能超过3个英文单词长度(30个字符);2、构成规范:数据库各种名称必须以字母开头,但严禁使用SYS开头;名称只能含有字母,数字和下划线“_”三类字符,“_”用于间隔名称中的各语义字段;不要使用DUAL作表名;3、大小写规范:构成Oracle数据库中的各种名称(表明,字段名,过程名,视图名等等)的所有字符,必须使用大写,也就是不能在脚本中,对任何名称添加双引号“”来设定字符的大小写形式,只要不采用“”限制,Oracle自动会将各名称转化成大写。
2.进行ER设计的准备工作2.1实体命名不相同检查PowerDesigner默认不能存在相同名称的实体属性,这也是考虑到可能产生的一些如主键外键等名称冲突问题,但当进行实际数据库设计时,可能会多次使用相同数据项(DataItem)便于理解各实体。
第一步,新建一个model
第二步选择一个概念模型
第三步,重命名模型名称
第四步,新建一张表
第五步,新建表和字段
第六步,转成物理模型,选择默认的确定即可
这里要注意选择符合自己的数据库类型,这里选了MySQL5.0 如果需求有变更,比如新增字段,则循环第五步和第六表即可
第七步:转成sql脚本文件
第八步,选中相应的模型,进行保存
保存时ctrl+s默认保留的是物理模型,这里会提示你是否还需要保存概念模型,选择是即可,会保存出两个文件
.cdm 概念模型
.pdm物理模型
如果刚刚安装软件,弹出提示要连接打印机什么的,本机电脑启动下面的服务。
PowerDesigner逻辑模型操作手册导读:本文是针对使用PowerDesigner软件进行逻辑模型设计的操作手册,旨在帮助读者更好地掌握PowerDesigner软件的逻辑模型设计功能。
1. 逻辑模型概述1.1 逻辑模型的定义逻辑模型是数据库设计中的一个重要环节,它描述了数据库中数据的结构、关联、约束等信息,是数据库设计的基础。
1.2 PowerDesigner逻辑模型的作用PowerDesigner是一款功能强大的数据库建模工具,它能够帮助用户快速、精确地进行逻辑模型设计,提高数据库设计的效率和质量。
2. PowerDesigner逻辑模型的基本操作2.1 新建逻辑模型在PowerDesigner中,用户可以通过“文件”->“新建”->“逻辑模型”来新建一个逻辑模型文件,并选择所需的数据库类型。
2.2 添加实体在新建的逻辑模型中,用户可以通过“模型”->“新建”->“实体”来添加一个实体,并输入实体的名称、描述等信息。
2.3 添加属性在实体中,用户可以通过“编辑”->“新建”->“属性”来添加实体的属性,并设置属性的数据类型、长度、约束等信息。
2.4 建立实体之间的关系在PowerDesigner中,用户可以通过“编辑”->“新建”->“关系”来建立实体之间的关系,并设置关系的类型、角色、约束等信息。
3. PowerDesigner逻辑模型的高级操作3.1 使用逻辑视图逻辑视图是PowerDesigner中的一个重要功能,它能够帮助用户更直观地查看和编辑逻辑模型。
3.2 使用逆向工程PowerDesigner支持逆向工程功能,用户可以通过逆向工程将已有的数据库结构反向导入到PowerDesigner中,从而进行进一步的数据库设计。
3.3 使用生成脚本PowerDesigner提供了生成DDL脚本的功能,用户可以通过选择目标数据库类型和选项,快速生成数据库的建表脚本。
点击物理数据模型,填写模型名、数据库版本:点击ok,如果不⼩⼼选错了,也不要紧,可以在Database选项卡中重新编辑。
接下来将产⽣模型名称、表的⼯具栏:⼯具栏可以建表:填写表名称:Columns编辑表选中右键>属性可以添加序列:给序列命名:给序列定义:查看序列⽣成:⽣成序列的sql语句显⽰如下:可以点击表再添加个字段(项⽬经理Id):可以看⼀下表结构:再建⼀个项⽬经理表:项⽬经理表字段:现在有两个表了:此时点击reference,可以建⽴两个表间,相同字段的主外键关系(带fk的都是从表):此时双击箭头可以对reference进⾏编辑:此时就可以保存了,可以ctrl+s,即可另存为pdm⽂件:保存于桌⾯即可接着可以根据模型来⽣成sql语句:选择在桌⾯⽣成sql即可:可以看到桌⾯上⽣成了sql⽂件:打开crebas.sql/*==============================================================*/ /* DBMS name: ORACLE Version 10g *//* Created on: 2020/4/6 4:00:38 *//*==============================================================*/ -- Type package declarationcreate or replace package PDTypesasTYPE ref_cursor IS REF CURSOR;end;-- Integrity package declarationcreate or replace package IntegrityPackage ASprocedure InitNestLevel;function GetNestLevel return number;procedure NextNestLevel;procedure PreviousNestLevel;end IntegrityPackage;/-- Integrity package definitioncreate or replace package body IntegrityPackage ASNestLevel number;-- Procedure to initialize the trigger nest levelprocedure InitNestLevel isbeginNestLevel := 0;end;-- Function to return the trigger nest levelfunction GetNestLevel return number isbeginif NestLevel is null thenNestLevel := 0;end if;return(NestLevel);end;-- Procedure to increase the trigger nest levelprocedure NextNestLevel isbeginif NestLevel is null thenNestLevel := 0;end if;NestLevel := NestLevel + 1;end;-- Procedure to decrease the trigger nest levelprocedure PreviousNestLevel isbeginNestLevel := NestLevel - 1;end;end IntegrityPackage;/drop trigger "CompoundDeleteTrigger_coder"/drop trigger "CompoundUpdateTrigger_coder"/drop trigger "tib_coder"/drop trigger "CompoundInsertTrigger_coder"/alter table "coder"drop constraint FK_CODER_REFERENCE_PRO_MAN/drop table "coder" cascade constraints/drop table "pro_man" cascade constraints/drop sequence "Sequence_2"/drop sequence "Sequence_3"/drop sequence "coder_seq"/create sequence "Sequence_2"/create sequence "Sequence_3"/create sequence "coder_seq"increment by 1start with 1maxvalue 999minvalue 1cache 20//*==============================================================*/ /* Table: "coder" *//*==============================================================*/ create table "coder" ("cId" NUMBER(10) not null,"cname" varchar2(20),"pmId" number(10),constraint PK_CODER primary key ("cId"))//*==============================================================*/ /* Table: "pro_man" *//*==============================================================*/ create table "pro_man" ("pmId" number(10) not null,"pmName" varchar2(20),constraint PK_PRO_MAN primary key ("pmId"))/alter table "coder"add constraint FK_CODER_REFERENCE_PRO_MAN foreign key ("pmId")references "pro_man" ("pmId")/create trigger "CompoundDeleteTrigger_coder" before deleteon "coder"for each rowdeclareintegrity_error exception;errno integer;errmsg char(200);dummy integer;found boolean;begin-- Errors handlingexceptionwhen integrity_error thenraise_application_error(errno, errmsg);end;/create trigger "CompoundUpdateTrigger_coder" before update of "cId","pmId"on "coder"for each rowdeclareintegrity_error exception;errno integer;errmsg char(200);dummy integer;found boolean;seq NUMBER;beginseq := IntegrityPackage.GetNestLevel;-- Errors handlingexceptionwhen integrity_error thenraise_application_error(errno, errmsg);end;/create trigger "tib_coder" before inserton "coder"for each rowdeclareintegrity_error exception;errno integer;errmsg char(200);dummy integer;found boolean;begin-- Column ""cId"" uses sequence coder_seqselect coder_seq.NEXTVAL INTO :new."cId"from dual;-- Errors handlingexceptionwhen integrity_error thenraise_application_error(errno, errmsg);end;/create trigger "CompoundInsertTrigger_coder" before insert on "coder"for each rowdeclareintegrity_error exception;errno integer;errmsg char(200);dummy integer;found boolean;begin-- Column ""cId"" uses sequence coder_seqselect coder_seq.NEXTVAL INTO :new."cId"from dual;-- Errors handlingexceptionwhen integrity_error thenraise_application_error(errno, errmsg);end;/接着就是反转的过程:命名模型,然后选择要反转的数据库版本:点击Using a data source,然后点击右侧数据库⼩图标:接着点configure(配置数据源):点击Add Data Source:选择系统数据源:接着选Oracle in OraDb10g_home1(其实这⼀步是⾃动检测你的数据库版本,所以只有⼀个10g)点完成:接着需要填:如果忘记了,可以登⼀下数据库:完善数据源和服务信息、⽤户id:数据源名⾃⼰起、TNS Service Name会⾃动匹配出服务名选择即可(就是数据库名),scott是⽤户名。
PowerDesigner的使用1.用PowerDesigner建表(图 1-1)A.安装好Power Designer软件,并打开如图1-1.(图 1-2)B.右键Workspace --->New --->Physical Data Model 会跳出如上图 1-2 的框点击确定后界面会变成如图 1-3 所示。
(图1-3)C.单击选中右上方Palette框中的table图案(鼠标移到图案上就会有提示),然后在空白处单击就会出现一个table样子的小框如图 1-4 所示.(图 1-4)D.右键图1-4 ,然后单击Columns,会弹出图1-5的框.在这里填写一些表的字段等信息,填好后点击应用,再点确定按钮则表就会变成如图1-6的样子(图1-6)(图1-5)E.当你两张表有外健关联时,可以用Palette框中的Reference图案表示,具体请看图所示,比如还有一张表Table_2,如图1-7.(图1-7)F.假如table_2中的班级编号是table_1中编号的外键,则可以选中Reference图案,单击table_1,并拖动鼠标到table_2,并双击出现的虚线,弹出一个框,如图1-8所示,根据两张表的关系,填入相应的值,单击应用和确定(图1-8)2.与数据库连接,将数据库中的表导入PowerDesignerA.要想将数据库中的表导入PowerDesigner首先得连接数据库,连接数据库的操作如下。
B.单击菜单栏上的File ---> Reverse Engineer --> Database 弹出如图2-1的框。
(图2-1)C.在图2-1中的DBMS栏中选择你用的数据库(我用的是oracle,选ORACLE Veision 10g)点击确定,弹出如图2-2的框,选中Using a data source ,并单击文本框右边的数据库图标,弹出图2-3的框.(图2-2)(图2-3)D.单击Configure...,弹出图2-4 的框.(图2-4)E.单击图2-4中的数据库图标,弹出图2-5的框.选中用户数据源,单击下一步.(图2-5)F.弹出图2-6的框,选中Microsoft ODBC for Oracle 单击下一步.(图2-6)G.弹出图2-7的框,单击完成。
使用步骤:1.新建Conceptual Data Model文件,概念数据模型(CDM)。
2.工具(tool)里面生成…功能的第二项,或者ctrl+G生成物理数据模型(PDM文件后缀,我们常见的表的型式)。
3./数据库/生成数据库,或者ctrl+G生成sql脚本。
过程1中的技巧:a.同一个字段不能重复的写,如果要重复的使用该字段,该字段在拥有这个字段的表中应该是主键,其他要拥有该字段的表可以与该表建立多对一的关系,如此生成PDM后,该字段会自动的作为外键添加到需要的表中。
b.如果一个实体(表)没有一个自己的主键(作为其主键的是外键),则该实体应该写为“联合连接”(多对多关系)。
c.“关系”默认为一对多关系,在画一个关系的时候,出发点为一方,终点为多方。
d.设不了主键的原因:如果一个字段在多个表中出现则设不了,请删除在他表中多余重复的同名字段。
e.即使删除了表,曾经保存实体或关系时产生的字段仍然会存在,以便于在另外的地方引用时输入字段名,保存即可看到该字段已经设定好类型了,因此应该事先计划好字段(可以打开浏览器Data Items,找到并删除之)。
f.过程2中常见的报错:a.注意PDM生成选项中,DBMS请选择对应的类型,如选择Microsoft SQL Server 2000,否则生成的脚本出错,运行不了;注意不要点击下拉框右边的改变文件夹路径的设置,若改了请改回,否则会找不到选项。
b.Undefined data type 为未定义数据类型错误。
c.Existence of identifiers “实体”没有自己的主键,却有一个或多个外键,若与多个外键连接则该“实体”应该为“关系”,否则该有主键的主键。
d.原先和有主键的表建立了关系后,删除了关系而没有及时的删除主键表中的[标识符]信息(主键表的最末行有identifier_1 <pi>)e.Existence of referencef.Existence of relationship 与外界没有关系。