powerdesigner的有表关系的建立实线
powerdesigner表关系梳理

《PowerDesigner表关系梳理》1. 引言在信息化建设中,数据库设计是至关重要的一环。
而PowerDesigner 作为一款专业的建模工具,可以帮助我们实现数据库设计的可视化和高效性。
在数据库设计的过程中,表关系梳理是一个极为重要的环节,它关乎着数据库的结构完整性和性能优化。
本文将针对PowerDesigner表关系梳理展开深入讨论,以帮助读者全面理解并灵活应用这一技术。
2. PowerDesigner表关系梳理的概念解读在数据库设计中,表关系梳理是指对数据库中各个表之间的关系进行全面的梳理和分析,包括主外键关系、联接关系等。
PowerDesigner作为一款专业的数据库建模工具,具有强大的可视化功能,可以帮助我们清晰地呈现表之间的关系,并进行精细的调整和优化。
通过PowerDesigner的表关系梳理功能,我们可以实现对数据库结构的深入理解和灵活设计。
3. PowerDesigner表关系梳理的操作步骤在PowerDesigner中进行表关系梳理,通常需要以下几个基本步骤:3.1. 导入数据库模型:在PowerDesigner中导入待梳理的数据库模型,包括各个表的结构和关系。
3.2. 分析表之间的关系:通过PowerDesigner的可视化界面,对各个表之间的主外键关系、联接关系进行全面的分析和梳理。
3.3. 进行关系优化:根据实际业务需求和数据库性能要求,对表之间的关系进行精细的调整和优化,以实现数据库结构的完整性和性能的最大化。
4. PowerDesigner表关系梳理的价值和意义表关系梳理是数据库设计过程中极为关键的一环。
而PowerDesigner 作为一款专业的建模工具,其表关系梳理功能具有重要的价值和意义:4.1. 实现数据库结构的清晰呈现:通过PowerDesigner的可视化界面,我们可以清晰地呈现数据库中各个表之间的关系,从而更好地理解数据库的结构和设计思路。
4.2. 提高数据库设计效率:PowerDesigner提供了丰富的功能和工具,可以帮助我们高效地进行表关系梳理和优化,从而提高数据库设计的效率和质量。
powerdesign 使用说明

用pd建数据库的一般过程为:概念数据模型(Conceptual Data Model编写为CDM)—>物理数据模型(Physical Data Model编写为PDM)—>数据库(Database)一、,建立概念模型,这里我们主要做的是建立实体和实体间的联系。
(注意:在建立概念模型的时候我们并不能直接建立外键约束关系,外键约束是在把CDM 转换成PDM时系统根据实体间的联系生成的)建立概念模型的过程如下:1、右键点击,左侧Browser里的workspace然后依次选择new->Conceptual Data Model2、在弹出的对话框中点“确定”按钮3、在左侧Browser里右键点击刚才建立的概念数据模型(ConceptualDataModel),然后选择rename可以对其重命名,这里我们起名为student。
4、建立实体,有两种方法:一是右键点击Browser里的概念模型然后依次选择new->Entity;二是在右侧Pelette面板里选实体符号来创建。
5、实体属性的设置:name和code:name是显示的名称在同一实体(Entity)内不允许重,在不同的实体(Entity)允许重复,它在CMD转换在PMD后会变成字段名;code是CMD里的数据项,实体名等的标识符,不允许重复。
(小提示,在默认情况下code是与name保持一致的,即两者间有一个改变的时候,别外一个也会跟着改变,而我们有很多时候需要在不两的两个实体间建立相同的属性名,这时候默认设置对于我们的设计来说是很不方便,这时候我可以这样做,点击菜单栏上的Tools然后选择General Options,在弹出的对话框中选择Dialog项,然后把Name to code mirroring前面的勾去掉,最后击“OK”保存设置)实体的三个主要设置:General、Attributes、IdentifiersGeneral里有Name和code,是实体的名称和编号,其中Name对应PMD中的表名称Attributes里设置属性,包括属性名Name、属性编号Code、数据类型Data Type、域Domain、还有强制不为空M、主属性P、和是否显示D。
使用POWERDESIGNER创建表和关联

使用POWERDESIGNER创建表和关联
一,创建模型
1,创建新的模型
2,选择物理数据模型(Physical data Model)
1)修改物理模型名称(Model name)为设计的名称(本例为TestPowerDesigner)2)修改数据库管理系统(DBMS)为所需要的(本例为Microsoft SQL Server 2000)
3,修改物理图表名称(PhysicalDiagram-1)为自己的名称。
(本例使用ShowHowToUsing)
二,创建表和关联
1,面板使用
主要使用3个:“选择”、“表格”和“关联”
1)首先选择“表格”在工作区域单击一次,然后在选择“选择”;建第一个表
2)双击工作区的表格
修改表的注释(Name)
修改表的数据库名(Code)
单击列(Columns)
下面是一个示例:
2,建第二个表
工作区的图:
3,建立关联
在面板上选择“关联”:
建立表1的主健为表2的外健:从表2拖向表一,结果如下:
4,建立主键为int型自增1的方法
1)建立表三
主接界面如下
单击后
完成。
三,创健sql脚本和测试脚本1,操作界面
使用的菜单如下:。
powerdesigner15.1简要使用手册

Powerdesigner15.1 简要使用手册(2010年3月)神州数码教育学院杨庆跃网址:E-mail:bi60cn@目录1PowerDesigner简介 (3)2使用PowerDesigner环境 (5)2.1对象浏览器中的对象 (5)2.2PowerDesigner的几种模型文件: (6)3概念数据模型(CDM) (9)3.1创建概念图 (10)3.2创建及删除实体(Entity)及关系(Relationship) (11)3.3定义和使用域(Domain) (14)3.4建立数据项(Data Item) (17)3.5定义业务规则(Business Rule) (19)3.6定义和使用继承 (20)4物理数据模型(PDM) (26)4.1新建PDM (27)4.2将CDM 对象转换成PDM 对象 (28)4.3使用物理数据模型创建数据库脚本 (35)4.4逆向工程 (37)5生成数据库报表文件 (42)6多维图 (46)6.1创建多维图 (47)6.2获得多维对象 (48)6.3建立Cubes (49)6.4创建Cube数据 (50)1PowerDesigner简介PowerDesigner是Sybase公司的CASE工具集,是图形化、易于使用的企业建模环境。
使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。
利用PowerDesigner可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设计模型进行控制。
它可与许多流行的数据库设计软件,例如:PowerBuilder、Delphi、VB等相配合使用来缩短开发时间和使系统设计更优化。
PowerDesigner 主要包括以下功能:•集成多种建模能力,能建立的模型包括:数据模型(E/R, Merise)业务模型(BPMN, BPEL, ebXML)应用模型(UML)• 自动生产代码,包括:SQL (支持多于50种数据库系统)Java.NET• 强大的逆向工程能力• 可扩展的企业库解决方案,具备强大的安全性及版本控制能力,可支持多用户• 自动化、可定制的报表能力2使用PowerDesigner环境z对象浏览器对象浏览器可以用分层结构显示你的工作空间,显示模型以及模型中的对象,实现快速导航。
PowerDesigner使用教程

PowerDesigner使用教程PowerDesigner 使用教程详解PowerDesigner12使用介绍jj小叶PowerDesigner 使用教程详解使用目标1 PowerDesigner12 介绍2 PowerDesigner12 使用方法PowerDesigner 使用教程详解1 PowerDesigner12 介绍1.1 使用目的1.2 注意事项PowerDesigner 使用教程详解2 PowerDesigner12使用方法2.1 创建数据模型2.2 创建Package2.3 创建表2.4 外键关系表创建2.5 导出SQLPowerDesigner 使用教程详解2.1创建数据模型选择菜单:File-New,如下图,Model Type选项里选择Physical Data Model, General标签:Model name项为创建数据模型的名字,DBMS是数据库类型,如:MS SQL/MY SQL/ORACLE等其他选项无需修改PowerDesigner 使用教程详解2.1创建数据模型PowerDesigner 使用教程详解2.1创建数据模型创建后,WorkSpace项显示结果如下图PowerDesigner 使用教程详解2.2 创建Package在OA系统上点选右键,选择New-Package,如下图PowerDesigner 使用教程详解2.2 创建Package点选后,如下图Name和Code后有等号按扭,按下后表示Name和Code数据同步,即当输入Name后Code会同步输入PowerDesigner 使用教程详解2.2 创建Package创建后如图PowerDesigner 使用教程详解2.3 创建表在“基础数据”上点右键,选择New-TablePowerDesigner 使用教程详解2.3 创建表点击后显示PowerDesigner 使用教程详解2.3 创建表调整参数配置,修改表名PowerDesigner 使用教程详解2.3 创建表增加、修改、删除列PowerDesigner 使用教程详解2.3 创建表查看表SQLPowerDesigner 使用教程详解2.4 外键关系表创建新建表,并创建外键点选Table按扭,并在表区域点击左键PowerDesigner 使用教程详解2.4 外键关系表创建点选Reference按扭,并从新建表拖拉到旧表,如图,这样外键关系创建成功,修改当前新建表,只要双击新建表,修改和创建表一样PowerDesigner 使用教程详解2.5 导出SQL点击菜单Database-Generate DatabasePowerDesigner 使用教程详解2.5 导出SQL修改导出文件目录和文件名PowerDesigner 使用教程详解2.5 导出SQL修改相应选项,勾选需要导出表,视图等,点选标签Preview,可看到导出sql,点击确定则导出数据。
PowerDesigner使用教程

点击物理数据模型,填写模型名、数据库版本:点击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的使用

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的框,单击完成。
PowerDesigner使用建议(完整版)用实体关系图进行数据库建模

PowerDesigner使用建议(完整版)用实体关系图进行数据库建模2009-11-04 17:371.Powerdesigner使用建议1.1业务规则的使用(Business Rule)对于一些业务逻辑可能出现在多个数据表中,建议封装成Business Rule,这样便于业务逻辑的重新使用,也便于业务逻辑的维护。
为了便于维护业务逻辑,可以考虑将Business Rule和Domains 结合起来使用。
将业务Business Rule应用到Domains上,然后再把Domains应用到数据表的字段上。
例如:在拆迁项目中,拆迁业务部分,管理参数业务部分,房源业务部分,拆迁合同部分的数据表中都有楼层这个字段,因此先一个Business Rule,然后定义一个Domain,这样相应的数据表的字段就可以使用这个Domain了。
1.2.自定义数据类型(Domains)的使用oralce提供了一些内置的数据类型,但是用户也可以根据业务的需要,定义自定义的数据类型。
在自定义数据类型里面包装业务逻辑。
正如上面的房屋楼层,我们可以定义一个独立的数据类型(Domain)维护,然后在相关数据表的字段上使用这个自定义数据类型。
一般在定义自己的数据类型时候,可以在oracle基本类型上定义,然后可以加上一些standard check或者Business Rules。
比如:在拆迁项目中,面积类别这个字段在很多数据表都出现了,可以作为一个单独的数据类型类维护,定义一个” 面积类别” Domains(包含的种类有:0 --- 厅房面积,1 --- 使用面积,2 --- 单元面积,,3 --- 总建筑面积,4 --- 分摊面积)。
而且由于Powerdesigner 的提供关联作用,这样便于当业务逻辑发生了变动,能够很快查询出那些对象受到影响。
1.3序列号(Sequence)的使用在powersigner的模型里面定义一堆了Sequence,接下来的是要把他们和数据表的相关字段关联起来,特别是那些用于多个数据表字段的Sequence。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PowerDesigner是一款功能强大的数据建模工具,它可以帮助用户轻松地进行数据库设计和管理。
在PowerDesigner中,表之间的关系是非常重要的,可以通过建立实线的方式来表示表与表之间的关系。
下
面将介绍PowerDesigner中有表关系的建立实线的相关内容。
一、PowerDesigner中有表关系的建立实线的作用
在数据库设计中,表与表之间的关系是非常重要的,它决定了数据库
的结构和数据之间的通联。
在PowerDesigner中,建立实线可以表示表与表之间的关系,帮助用户理清数据库结构,方便进行数据分析和
查询。
二、在PowerDesigner中建立表之间的实线关系的步骤
1. 打开PowerDesigner软件,创建一个新的数据模型。
2. 在数据模型中创建两个表,分别命名为表A和表B。
3. 选择“工具栏”的“关系”按钮,然后在表A和表B之间拖动鼠标,即可建立两个表之间的实线关系。
4. 在弹出的对话框中,设置实线关系的属性,如关系类型、约束条件等。
5. 确认设置完成后,保存数据模型。
三、PowerDesigner中建立表之间实线关系的注意事项
1. 在建立表之间的实线关系时,需要仔细考虑表与表之间的逻辑关系,确保关系的正确性和一致性。
2. 在设置实线关系的属性时,需要根据具体的需求进行设置,包括关
系类型、约束条件等。
3. 建立实线关系后,需要及时保存数据模型,以便后续的数据库设计
和管理。
四、PowerDesigner中建立表之间实线关系的应用场景
1. 在数据库设计阶段,通过建立实线关系可以清晰地呈现表与表之间
的逻辑关系,帮助用户理清数据库结构,从而更好地设计数据库模型。
2. 在数据库管理阶段,可以通过实线关系进行数据查询和分析,快速
定位相关数据,并进行数据操作。
PowerDesigner中建立表之间的实线关系是非常重要的,它可以帮助用户清晰地理解数据库结构,方便进行数据库设计和管理。
在使用PowerDesigner时,建立实线关系的步骤和注意事项需要仔细掌握,以确保数据库的准确性和完整性。
在实际应用中,建立实线关系的应
用场景也非常广泛,可以帮助用户更高效地进行数据库操作和管理。
PowerDesigner是一个非常流行的数据建模工具,它不仅可以帮助用户设计数据库结构,还可以支持对数据库进行管理和维护。
而在PowerDesigner中,建立表之间实线关系是非常关键的一步,它直接
影响着数据库的结构和数据之间的通联,因此需要仔细掌握建立实线关系的步骤和注意事项。
在PowerDesigner中建立表之间的实线关系需要经过一系列的步骤。
用户首先需要打开PowerDesigner软件,并创建一个新的数据模型。
在数据模型中,用户可以为数据库设计所需的表结构,例如员工表、部门表、产品表等。
在这些表之间往往存在着复杂的关系,例如一对多、多对多等。
在PowerDesigner中,用户可以选择“工具栏”的“关系”按钮,然后在需要建立实线关系的表之间拖动鼠标,即可建立两个表之间的实线关系。
建立实线关系后,用户还可以设置实线关系的属性,包括关系类型(一对一、一对多、多对多等)和约束条件(如外键约束),以便清晰地表示表与表之间的逻辑关系。
在设置完成后,用户需要及时保存数据模型,以便后续的数据库设计和管理。
在PowerDesigner中建立表之间的实线关系时,用户也需要注意一些重要的事项。
用户需要仔细考虑表与表之间的逻辑关系,确保关系的正确性和一致性。
在设计一个雇员与部门之间的关系时,需要明确一个雇员可能属于一个部门,而一个部门可能拥有多个雇员,这就是一对多的关系。
在设置实线关系的属性时,用户需要根据具体的需求进行设置,包括关系类型和约束条件,这些属性设置将直接影响数据操作和查询的效果。
在建立实线关系后,用户需要及时保存数据模型,以便后续的数据库设计和管理。
PowerDesigner中建立表之间实线关系还具有一些特定的应用场景。
在数据库设计阶段,用户可以通过建立实线关系清晰地呈现表与表之
间的逻辑关系,帮助用户理清数据库结构,从而更好地设计数据库模型。
在实际的数据库管理中,用户可以通过实线关系进行数据查询和
分析,快速定位相关数据,并进行数据操作。
在一个零售管理系统中,通过建立产品表与订单表之间的实线关系,可以轻松地查询某个产品
对应的订单情况,从而做出更加合理的进货和销售决策。
PowerDesigner中建立表之间的实线关系是非常重要且必不可少的一步。
它不仅可以帮助用户理清数据库结构,更可以支持数据库的查询
和数据操作。
在实际的数据库设计和管理中,用户需要仔细掌握建立
实线关系的步骤和注意事项,并根据具体的应用场景来合理地应用实
线关系。
只有这样,用户才能更加高效地进行数据库设计和管理,从
而取得更好的效果。