PowerDesigner使用教程_PDM
PowerDesigner正向工程使用说明
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所示,从图中可以看出,其中包含了众多重要的信息,请按实际项目要求进行设置即可。
利用Powerdesigner15和PDMReader生成数据库说明文档
利用Powerdesigner15和PDMReader生成数据库说明文档生成数据库说明文档效果图
一、下载powerdesigner15和PDMReader两个软件,随便去网上找。
二、
先利用powerdesigner生成PDM图,步骤如下:
1、打开powerdesigner15,File->Reverse Engineer->Database
如下图:
点击Database后就是这个图了。
选择你要生成PDM图的数据库管理系统后确定。
点击Using a data source右边的那个小按钮。
这里面有三个选项,选介绍有配置文件连接数据库----Connection profile 数据库连接的自己可以试一下
选定Connection profile后点击下面的configure
选择工具栏上的第一个小圆桶
第一项:取个连接文件的名字。
第二项:按照默认的就行了
第三项:描述,可以随便填。
第四项:一般选JDBC吧,Native我试了,有问题的。
第五项:选择你要连接的DBMS。
下面几项就不用说了。
下面是我自己的:
填完后测试下连接。
如果没有什么错误的话,就应该中间出现一个对话框按确定就会有下面的。
选择数据库:
一般其它按钮都按默认的。
确定之后就是这个进度条。
这个就是PDM图了。
保存PDM图
到这里PDM图就算是弄完了。
2、在用第二个工具PDMReader导出说明文档了。
新建项目并命名。
点击将字典导出到doc
到这里就OK了。
【PowerDesigner工具使用之PDM】
7
PowerDesigner---7种建模文件(一)
• 概念数据模型 (CDM)
对数据和信息进行建模,利用实体-关系图(E-R图)的形式组织数据,检验 数据设计的有效性和合理性。
• 逻辑数据模型 (LDM)
PowerDesigner 15 新增的模型。逻辑模型是概念模型的延伸,表示概念之 间的逻辑次序,是一个属于方法层次的模型。使用逻辑模型可以生成针对具体数 据库管理系统的物理模型。逻辑模型并不是在整个步骤中必须的,可以直接通过 概念模型来生成物理模型。
需求管理:PowerDesigner可以把需求定义转化成任意数量的分析及设计 模型,并记录需求及所有分析及设计模型的改动历史,保持对它们的跟 踪。Microsoft®Word®导入/导出功能使业务用户能轻易处理流程工作。
文档生成:PowerDesigner提供了Wizard向导协助建立多模型的RTF和HTML 格式的文档报表。项目团队中非建模成员同样可以了解模型信息,增强整个团 队的沟通。 影响度分析:PowerDesigner模型之间采用了独特的链接与同步技术进行全 面集成,支持企业级或项目级的全面影响度分析。从业务过程模型、UML面 向对象模型到数据模型都支持该技术,大大提高了整个组织的应变能力。
16
逆向工程-操作步骤
4. 选择Using a data source是通过数据源连接物理库实现 逆向工程,点击图中画红圈地方配置数据源(应预先建立连 接物理库的数据源,测试连接正常,步骤略);
17
逆向工程-操作步骤
4. 在下拉菜单中选择已建立好的数据源,在Login项输入连 接数据库的用户名和密码,点Connect、确定。
统。提高测试的深度及覆盖度。
2 2
目录
Powerdesigner逆向工程从sqlserver数据库生成pdm
Powerdesigner逆向⼯程从sqlserver数据库⽣成pdm 第⼀步:打开"控制⾯板"中的"管理⼯具"第⼆步:点击"管理⼯具"然后双击"数据源(odbc)"第三步:打开之后,点击"添加"第四步:选择"sqlserver" 点击"完成"第五步:跟据⾃⾝的情况填写说明:名称和描述可以⾃⼰命名,服务器就是你的数据库地址(下图)第六步:填写好登录名和密码第七步:完成所有配置后,打开PowerDesigner 15 新建模型,选择好数据库类型第⼋步:选择"数据库"第九步:选择好数据源(就是第⼀步到第六步在控制⾯板⾥配置的那个)第⼗步:配置好后,打点击"数据库"选择如下图第⼗⼀步:进⾏如下图配置第⼗⼆步:勾选需要的配置第⼗三步:点击ok完⼯(剩下的⾃⼰⼿动填写,可能有些东西没有,如中⽂说明什么的)逆向OraclePowerDesigner提供了逆向⼯程,允许将已经存在的数据库转化为数据库物理模型,再由物理模型得出数据库的概念模型(E-R模型),这⾥使⽤的数据库是Oracle10g,使⽤逆向⼯程抽取数据库物理模型的步骤如下:1.打开PD,菜单操作顺序为File>>Reverse Engineer>>Database...,表⽰从数据库进⾏逆向⼯程,这⾥的选项还有:Process Language、Object Language、XML Definition...三个。
2.选择Database...选项后,在弹出的General选项卡的DBMS选择Oracle Version 10g,share the DBMS definition确定。
3.选择数据源:using an ODBC datasource,从中选择⼀个配置好的数据源。
PowerDesigner使用教程-数据概念模型
PowerDesigner使用教程——概念数据模型一、概念数据模型概述概念数据模型也称信息模型,它以实体-联系(Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充。
它从用户的观点出发对信息进行建模,主要用于数据库的概念级设计。
通常人们先将现实世界抽象为概念世界,然后再将概念世界转为机器世界。
换句话说,就是先将现实世界中的客观对象抽象为实体(Entity)和联系(Relationship),它并不依赖于具体的计算机系统或某个DBMS系统,这种模型就是我们所说的CDM;然后再将CDM转换为计算机上某个DBMS所支持的数据模型,这样的模型就是物理数据模型,即PDM。
CDM是一组严格定义的模型元素的集合,这些模型元素精确地描述了系统的静态特性、动态特性以及完整性约束条件等,其中包括了数据结构、数据操作和完整性约束三部分。
1)数据结构表达为实体和属性;2)数据操作表达为实体中的记录的插入、删除、修改、查询等操作;3)完整性约束表达为数据的自身完整性约束(如数据类型、检查、规则等)和数据间的参照完整性约束(如联系、继承联系等);二、实体、属性及标识符的定义实体(Entity),也称为实例,对应现实世界中可区别于其他对象的“事件”或“事物”。
例如,学校中的每个学生,医院中的每个手术。
每个实体都有用来描述实体特征的一组性质,称之为属性,一个实体由若干个属性来描述。
如学生实体可由学号、姓名、性别、出生年月、所在系别、入学年份等属性组成。
实体集(Entity Set)是具体相同类型及相同性质实体的集合。
例如学校所有学生的集合可定义为“学生”实体集,“学生”实体集中的每个实体均具有学号、姓名、性别、出生年月、所在系别、入学年份等性质。
实体类型(Entity Type)是实体集中每个实体所具有的共同性质的集合,例如“患者”实体类型为:患者{门诊号,姓名,性别,年龄,身份证号.............}。
PowerDesigner反向工程生成PDM数据字典
PowerDesigner反向工程生成PDM数据
字典
用PowerDesigner进行逆向工程。
举例如下:
1.在Windows的ODBC数据源中陪着你的数据源,在“系统DNS”中配置你的数据源,配置细节大家都应该非常熟悉不再讲解。
如图:
2.在PowerDesigner中(PowerDesigner12的下载地址:下载),新建一个pdm,选择您要选择的数据库类型,如下图:
3.点击database->reverse engineer database ,选择Using a odbcdatasource,然后选择你的数据源,点确定。
(注:powerdesingner15反向工程在file菜单下)
4.选择你要导入的表,也可以全选。
下面的Primary Kyes,Indexes最好都要选择上,点击OK。
5.完成以上操作即可得到您要的Pdm数据字典了。
如果您选择的数据库表比较多,可能会耗费较多的时间。
6.保存PowerDesigner的文件,比如test.pdm.
7.用PDMReader选择导入数据字典,选择该test.pdm。
则就可以利用PDMReader的字典查询功能来提高你的日常工作效率。
如图:
8.从数据库反向到Pdm数据字典,是在实现无法得到系统设计文档的字典情况之下的无奈之举。
一般而言是应该先有字典后建数据库。
如果根本就没有字典,那么您就可以此字典做为基础。
进行修改完善。
在PowerDesigner中,您可以设计表说明,字段说明备注,表的主键索引分区表空间等等。
PowerDesigner使用手册
第一步,新建一个model
第二步选择一个概念模型
第三步,重命名模型名称
第四步,新建一张表
第五步,新建表和字段
第六步,转成物理模型,选择默认的确定即可
这里要注意选择符合自己的数据库类型,这里选了MySQL5.0 如果需求有变更,比如新增字段,则循环第五步和第六表即可
第七步:转成sql脚本文件
第八步,选中相应的模型,进行保存
保存时ctrl+s默认保留的是物理模型,这里会提示你是否还需要保存概念模型,选择是即可,会保存出两个文件
.cdm 概念模型
.pdm物理模型
如果刚刚安装软件,弹出提示要连接打印机什么的,本机电脑启动下面的服务。
PowerDesigner使用方法详细说明(基础资料)
(详细的知识或者和数据库相关的请自行脑补,这里直介绍如何很好的使用PowerDesigner这个工具)
下面将介绍概念模型转为物理模型和物理模型转换为概念模型
1:如下图所示先打开概念模型图,然后点击Tool,如下图所示
(点开的页面如下所示,name和code我已经从概念模型1改成物理模型1了)
(上面的name和code起好后就可以在Cardinalities这块查看班级和学生的关系,可以看到班级的一端是一条线,学生的一端是三条,代表班级对学生是一对多的关系即one对many的关系,点击应用,然后确定即可)
9:一对多和多对一练习完还有多对多的练习,如下图操作所示(当你操作几遍之后发现自己已经非常熟练的使用此工具,是不是感觉棒棒哒),老师实体和上面介绍的一样,自己将name,data type等等修改成自己需要的即可,满足项目开发需求即可。(comment是解释说明,自己可以写相关的介绍和说明)
Code属性代号一般用英文UID DataType
Domain域表示属性取值范围如可以创建10个字符的地址域
M:Mandatory强制属性,表示该属性必填。不能为空
P:Primary Identifer是否是主标识符,表示实体店唯一标识符
D:Displayed显示出来,默认全部勾选
(在此上图说明name和code的起名方法)
(多对多需要注意的时自己可以手动点击按钮将关系调整称为多对多的关系many对many的关系,然后点击应用和确定即可)
综上即可完成最简单的学生,班级,教师这种概念数据模型的设计,需要考虑数据的类型和主标识码,是否为空。关系是一对一还是一对多还是多对多的关系,自己需要先规划好再设计,然后就ok了。
PowerDesigner将PDM导出生成WORD文档
PowerDesigner将PDM导出⽣成WORD⽂档环境PowerDesigner151.点击Report Temlates 制作模板2.如果没有模板,单击New图标创建。
有直接双击进⼊。
3.在弹出的类型(Type)对话框中想选择PBM(Physical data Model),如果有中⽂汉化包则选择simolified Chinese(中⽂简体)没有则选择English,在Name⽂本框中取名:4.如图:我们左右2个区,Aavailable区域中选择你想要在WORD⽂档中展⽰的东东,这⾥我们选择List of Tables,和List of Table Columns[数据表格信息],当然你也可以加别的⼀些元素。
5.选择好的模板元素。
6.选择你想要在数据表格中展⽰的信息,想要展⽰的就在弹出的对话框中打钩7.Selection 选择好后,开始设置样式(Layout),单击保存。
RTP⽂档模板就做好了。
注意:Selection 下的选项勾选后必须选择样式,否则导出不显⽰8.使⽤模板导出Word9。
如图⽣成的⽂档Sybase PowerDesignerPhysical Data Model ReportModel: gsi_misReport: Report 1Author: AdministratorVersion:Date: 2010-7-7Summary: 怎么加背景颜⾊啊Table of ContentsThe 'Table of Contents' field needs to be updated!I 表格清单名称代码SYS_BILL_LAST_OP SYS_BILL_LAST_OPSYS_BILL_OP SYS_BILL_OPSYS_CALENDAR SYS_CALENDARSYS_CONNECT_USR SYS_CONNECT_USRSYS_CW_LOG SYS_CW_LOGSYS_DWSYNTAX SYS_DWSYNTAXSYS_DYNAMIC_CONDITION SYS_DYNAMIC_CONDITIONSYS_DYNAMIC_WINDOW_COPY SYS_DYNAMIC_WINDOW_COPYSYS_DYNAMIC_WINDOW_TEMP SYS_DYNAMIC_WINDOW_TEMPSYS_GRP SYS_GRPSYS_GRP_MENU SYS_GRP_MENUSYS_GRP_USR SYS_GRP_USRSYS_ID_BUILDER SYS_ID_BUILDERSYS_MENU SYS_MENUSYS_MESG SYS_MESGSYS_MODULE SYS_MODULESYS_PARAMTER SYS_PARAMTERSYS_ROLE_USR SYS_ROLE_USRSYS_ROLES SYS_ROLESSYS_SHELF_SYNTAX SYS_SHELF_SYNTAXSYS_SHELF_SYNTAX SYS_SHELF_SYNTAXSYS_TABLE SYS_TABLESYS_UPGRADE SYS_UPGRADE⽇历对照表SYS_DATE_TO_DATE普通⾓⾊菜单权限表SYS_DYNAMIC_MENU系统⽇志表SYS_LOG超级⽤户菜单字典维护表SYS_DYNAMIC_WINDOWII 表格列清单名称代码数据类型注释主要的强制外来键表格⾝份B_FILE B_FILE LONG RAW FALSEFALSEFALSESYS_UPGRADE FALSE BOXNAME BOXNAME VARCHAR2(20)⽅框名称FALSETRUE FALSESYS_SHELF_SYNTAX FALSE C_ATTRI_ID C_ATTRI_ID VARCHAR2(3)属性FALSEFALSEFALSESYS_BILL_LAST_OP FALSE C_BILL_FLAG C_BILL_FLAG VARCHAR2(10)TRUE TRUE FALSESYS_BILL_OP FALSE C_BILL_FLAG C_BILL_FLAG VARCHAR2(10)TRUE TRUE FALSESYS_DYNAMIC_CONDITION FALSE C_BILL_ID C_BILL_ID VARCHAR2(20)单号TRUE TRUE FALSESYS_BILL_OP FALSE C_BILL_STR C_BILL_STR VARCHAR2(100)FALSEFALSEFALSESYS_BILL_LAST_OP FALSE C_CODE_ID C_CODE_ID VARCHAR2(4)TRUE TRUE FALSESYS_ID_BUILDER FALSE C_COMMENT C_COMMENT VARCHAR2(30)FALSEFALSEFALSESYS_ID_BUILDER FALSE C_COMMENT C_COMMENT VARCHAR2(255)备注FALSEFALSEFALSESYS_PARAMTER FALSE C_COMMENT C_COMMENT VARCHAR2(50)说明FALSEFALSEFALSESYS_ROLES FALSEFALSEFALSEFALSESYS_DYNAMIC_CONDITION FALSE C_CONDITION C_CONDITION VARCHAR2(100)条件内容字符C_CONDITION_COL C_CONDITION_COL VARCHAR2(100)条件字段FALSEFALSEFALSESYS_DYNAMIC_CONDITION FALSE C_CONDITION_COL_CNC_CONDITION_COL_CNVARCHAR2(100)条件字段FALSEFALSEFALSESYS_DYNAMIC_CONDITION FALSE中⽂FALSEFALSEFALSESYS_DYNAMIC_CONDITION FALSE C_CONDITION_FLAG C_CONDITION_FLAG VARCHAR2(1)字段类型1.数字2.字符C_CUR_HOLIDAY C_CUR_HOLIDAY VARCHAR2(30)假⽇FALSEFALSEFALSE⽇历对照表FALSE C_CURDATE_LUNAR C_CURDATE_LUNAR VARCHAR2(30)本期阴历FALSEFALSEFALSE⽇历对照表FALSE C_CURDATE_SOLAR C_CURDATE_SOLAR VARCHAR2(8)⼊库⽇期TRUE TRUE FALSE⽇历对照表FALSE C_DEPT_FLAG C_DEPT_FLAG CHAR FALSEFALSEFALSESYS_BILL_LAST_OP FALSE C_DEPT_ID C_DEPT_ID VARCHAR2(10)TRUE TRUE FALSESYS_CW_LOG FALSE C_DEPT_ID C_DEPT_ID VARCHAR2(10)部门FALSEFALSEFALSESYS_BILL_LAST_OP FALSE C_DEPT_ID_2C_DEPT_ID_2VARCHAR2(100)接收部门FALSEFALSEFALSESYS_BILL_LAST_OP FALSE C_DEPT_ID_IN C_DEPT_ID_IN VARCHAR2(100)接收部门FALSEFALSEFALSESYS_DYNAMIC_CONDITION FALSE C_DEPT_ID_OUT C_DEPT_ID_OUT VARCHAR2(100)发起部门FALSEFALSEFALSESYS_DYNAMIC_CONDITION FALSE C_DESCRIBE C_DESCRIBE VARCHAR2(20)节假⽇FALSETRUE FALSESYS_CALENDAR FALSE C_DJ_FLAG C_DJ_FLAG CHAR FALSEFALSEFALSESYS_DYNAMIC_WINDOW_COPYFALSE C_DJ_FLAG C_DJ_FLAG CHAR FALSEFALSEFALSESYS_DYNAMIC_WINDOW_TEMPFALSE C_DJ_FLAG C_DJ_FLAG CHAR C Dj FlagFALSEFALSEFALSE普通⾓⾊菜单权限表FALSE C_DJ_FLAG C_DJ_FLAG CHAR单据是 1/FALSEFALSEFALSE超级⽤户菜单字典维护表FALSE是 0/TRUE TRUE FALSESYS_UPGRADE FALSE C_FILENAME C_FILENAME VARCHAR2(50)CFilenameC_FIN_FLAG C_FIN_FLAG CHAR(2)状态FALSEFALSEFALSESYS_BILL_OP FALSE C_FIN_MAN C_FIN_MAN VARCHAR2(10)确认⼈FALSETRUE FALSESYS_BILL_OP FALSE C_FLAG C_FLAG CHAR FALSETRUE FALSESYS_CALENDAR FALSE C_FLAG C_FLAG VARCHAR2(10)标志FALSEFALSEFALSESYS_PARAMTER FALSE C_FLAG1C_FLAG1CHAR标志1显FALSEFALSEFALSESYS_ROLES FALSE⽰进价 1/显⽰进价0/C_FLAG2C_FLAG2CHAR标志2FALSEFALSEFALSESYS_ROLES FALSE C_FLAG3C_FLAG3CHAR标志3FALSEFALSEFALSESYS_ROLES FALSE C_GRP_ATTRIB C_GRP_ATTRIB CHAR FALSEFALSEFALSESYS_GRP FALSE C_GRP_COMMENT C_GRP_COMMENT VARCHAR2(100)FALSEFALSEFALSESYS_GRP FALSE C_GRP_ID C_GRP_ID VARCHAR2(24)TRUE TRUE FALSESYS_GRP FALSE C_GRP_ID C_GRP_ID VARCHAR2(24)TRUE TRUE FALSESYS_GRP_MENU FALSE C_GRP_ID C_GRP_ID VARCHAR2(24)TRUE TRUE FALSESYS_GRP_USR FALSE C_ICON_NAME C_ICON_NAME VARCHAR2(30)FALSEFALSEFALSESYS_DYNAMIC_WINDOW_COPYFALSE C_ICON_NAME C_ICON_NAME VARCHAR2(30)FALSEFALSEFALSESYS_DYNAMIC_WINDOW_TEMPFALSE C_ICON_NAME C_ICON_NAME VARCHAR2(255)FALSEFALSEFALSESYS_MODULE FALSE C_ICON_NAME C_ICON_NAME VARCHAR2(30)图标FALSEFALSEFALSE普通⾓⾊菜单权限表FALSE C_ICON_NAME C_ICON_NAME VARCHAR2(30)图标FALSEFALSEFALSE超级⽤户菜单字典维护表FALSE C_ID C_ID NUMBER(18)TRUE TRUE FALSESYS_CONNECT_USR FALSE C_ID C_ID VARCHAR2(4)代码TRUE TRUE FALSESYS_PARAMTER FALSE C_ID C_ID VARCHAR2(20)机器名TRUE TRUE FALSE系统⽇志表FALSE C_INPUT_MAN C_INPUT_MAN VARCHAR2(10)录⼊⼈FALSEFALSEFALSE⽇历对照表FALSE C_KIND C_KIND CHAR FALSEFALSEFALSESYS_MESG FALSE C_LAST_HOLIDAY C_LAST_HOLIDAY VARCHAR2(30)同期假⽇FALSEFALSEFALSE⽇历对照表FALSEC_LAST_ROLE C_LAST_ROLE VARCHAR2(20)FALSEFALSEFALSESYS_BILL_LAST_OP FALSE C_LASTDATE_LUNAR C_LASTDATE_LUNAR VARCHAR2(30)去年阴历FALSEFALSEFALSE⽇历对照表FALSE C_LASTDATE_SOLAR C_LASTDATE_SOLAR VARCHAR2(8)FALSEFALSEFALSE⽇历对照表FALSE C_MAX_CODE C_MAX_CODE VARCHAR2(14)FALSETRUE FALSESYS_ID_BUILDER FALSE C_MENU_COMMENT C_MENU_COMMENT VARCHAR2(30)FALSEFALSEFALSESYS_DYNAMIC_WINDOW_COPYFALSE C_MENU_COMMENT C_MENU_COMMENT VARCHAR2(30)FALSEFALSEFALSESYS_DYNAMIC_WINDOW_TEMPFALSE C_MENU_COMMENT C_MENU_COMMENT VARCHAR2(30)FALSEFALSEFALSESYS_MENU FALSE C_MENU_COMMENT C_MENU_COMMENT VARCHAR2(30) C MenuFALSEFALSEFALSE普通⾓⾊菜单权限表FALSECommentFALSEFALSEFALSE超级⽤户菜单字典维护表FALSE C_MENU_COMMENT C_MENU_COMMENT VARCHAR2(30) C MenuCommentC_MENU_ID C_MENU_ID VARCHAR2(10)TRUE TRUE FALSESYS_DYNAMIC_WINDOW_COPYFALSE C_MENU_ID C_MENU_ID VARCHAR2(10)TRUE TRUE FALSESYS_DYNAMIC_WINDOW_TEMPFALSETRUE TRUE FALSE普通⾓⾊菜单权限表FALSE C_MENU_ID C_MENU_ID VARCHAR2(10) C MenuIdC_MENU_ID C_MENU_ID VARCHAR2(10)单据编码TRUE TRUE FALSE超级⽤户菜单字典维护表FALSE C_MENU_NAME C_MENU_NAME VARCHAR2(20)FALSETRUE FALSESYS_DYNAMIC_WINDOW_COPYFALSE C_MENU_NAME C_MENU_NAME VARCHAR2(20)FALSETRUE FALSESYS_DYNAMIC_WINDOW_TEMPFALSE C_MENU_NAME C_MENU_NAME VARCHAR2(20)TRUE TRUE FALSESYS_GRP_MENU FALSE C_MENU_NAME C_MENU_NAME VARCHAR2(20)TRUE TRUE FALSESYS_MENU FALSE C_MENU_NAME C_MENU_NAME VARCHAR2(20)菜单项FALSETRUE FALSE普通⾓⾊菜单权限表FALSE C_MENU_NAME C_MENU_NAME VARCHAR2(20)菜单项FALSETRUE FALSE超级⽤户菜单字典维护表FALSE C_MENU_PARENT C_MENU_PARENT VARCHAR2(20)FALSEFALSEFALSESYS_MENU FALSE C_MESG C_MESG VARCHAR2(255)FALSEFALSEFALSESYS_MESG FALSE C_MICROHELP_TEXT C_MICROHELP_TEXT VARCHAR2(10)FALSEFALSEFALSESYS_DYNAMIC_WINDOW_COPYFALSE C_MICROHELP_TEXT C_MICROHELP_TEXT VARCHAR2(10)FALSEFALSEFALSESYS_DYNAMIC_WINDOW_TEMPFALSE C_MICROHELP_TEXT C_MICROHELP_TEXT VARCHAR2(10)微帮助说FALSEFALSEFALSE超级⽤户菜单字典维护表FALSE明FALSEFALSEFALSE普通⾓⾊菜单权限表FALSE C_MICROHELP_TEXT C_MICROHELP_TEXT VARCHAR2(10)所属⼦系统C_MODULE_ID C_MODULE_ID VARCHAR2(20)TRUE TRUE FALSESYS_GRP_MENU FALSE C_MODULE_ID C_MODULE_ID VARCHAR2(20)TRUE TRUE FALSESYS_MENU FALSETRUE TRUE FALSESYS_MODULE FALSE C_MODULE_ID C_MODULE_ID VARCHAR2(20) C ModuleIdC_MODULE_NAME C_MODULE_NAME VARCHAR2(20)FALSETRUE FALSESYS_DYNAMIC_WINDOW_COPYFALSE C_MODULE_NAME C_MODULE_NAME VARCHAR2(20)FALSETRUE FALSESYS_DYNAMIC_WINDOW_TEMPFALSEFALSETRUE FALSE普通⾓⾊菜单权限表FALSE C_MODULE_NAME C_MODULE_NAME VARCHAR2(20) C ModuleNameC_MODULE_NAME C_MODULE_NAME VARCHAR2(20) C ModuleFALSETRUE FALSE超级⽤户菜单字典维护表FALSENameFALSETRUE FALSESYS_MODULE FALSE C_MODULE_NAME C_MODULE_NAME VARCHAR2(50) C ModuleNameC_NOTE C_NOTE VARCHAR2(20)FALSEFALSEFALSESYS_CONNECT_USR FALSE C_NOTE C_NOTE VARCHAR2(255)备注FALSEFALSEFALSESYS_BILL_OP FALSE C_NOTE C_NOTE VARCHAR2(100)说明FALSEFALSEFALSESYS_DYNAMIC_CONDITION FALSE C_OPEARATION C_OPEARATION VARCHAR2(10)操作TRUE TRUE FALSE系统⽇志表FALSE C_OPERATOR C_OPERATOR VARCHAR2(10)FALSETRUE FALSESYS_CW_LOG FALSE C_PARA_STRING C_PARA_STRING VARCHAR2(100)FALSEFALSEFALSESYS_DYNAMIC_WINDOW_COPYFALSE C_PARA_STRING C_PARA_STRING VARCHAR2(100)FALSEFALSEFALSESYS_DYNAMIC_WINDOW_TEMPFALSEFALSEFALSEFALSE普通⾓⾊菜单权限表FALSE C_PARA_STRING C_PARA_STRING VARCHAR2(100)C ParaStringC_PARA_STRING C_PARA_STRING VARCHAR2(100)传递参数FALSEFALSEFALSE超级⽤户菜单字典维护表FALSE C_PCIP C_PCIP VARCHAR2(20)FALSEFALSEFALSESYS_CONNECT_USR FALSE C_PCNAME C_PCNAME VARCHAR2(20)FALSEFALSEFALSESYS_CONNECT_USR FALSE C_PERSON C_PERSON VARCHAR2(8)FALSEFALSEFALSESYS_MESG FALSE C_PERSON_ID C_PERSON_ID VARCHAR2(10)操作⼈FALSEFALSEFALSE系统⽇志表FALSE C_PRINT_FLAG C_PRINT_FLAG CHAR打印 1/ 0/FALSEFALSEFALSE普通⾓⾊菜单权限表FALSEFALSEFALSEFALSE普通⾓⾊菜单权限表FALSE C_RIGHT_FLAG C_RIGHT_FLAG CHAR C RightFlagC_ROLE_ID C_ROLE_ID VARCHAR2(20) C Role Id TRUE TRUE FALSESYS_ROLE_USR FALSE C_ROLE_ID C_ROLE_ID VARCHAR2(10)可选择的TRUE TRUE FALSE普通⾓⾊菜单权限表FALSE⾓⾊C_ROLE_ID C_ROLE_ID VARCHAR2(10)⾓⾊FALSEFALSEFALSESYS_BILL_OP FALSE C_ROLES_ID C_ROLES_ID VARCHAR2(10)⾓⾊编号TRUE TRUE FALSESYS_ROLES FALSE C_ROLES_NAME C_ROLES_NAME VARCHAR2(20)⾓⾊名称FALSETRUE FALSESYS_ROLES FALSE C_SHOP_ID C_SHOP_ID VARCHAR2(10)FALSEFALSEFALSE系统⽇志表FALSE C_SQL_TXT C_SQL_TXT VARCHAR2(1000)语法TRUE TRUE FALSE系统⽇志表FALSE C_SUBMENU_ID C_SUBMENU_ID VARCHAR2(10)FALSETRUE FALSESYS_DYNAMIC_WINDOW_COPYFALSE C_SUBMENU_ID C_SUBMENU_ID VARCHAR2(10)FALSETRUE FALSESYS_DYNAMIC_WINDOW_TEMPFALSE C_SUBMENU_ID C_SUBMENU_ID VARCHAR2(10)CFALSETRUE FALSE普通⾓⾊菜单权限表FALSESubmenuIdIdC_SUBMENU_ID C_SUBMENU_ID VARCHAR2(10)菜单编号FALSETRUE FALSE超级⽤户菜单字典维护表FALSE C_SUBMENU_NAME C_SUBMENU_NAME VARCHAR2(20)FALSETRUE FALSESYS_DYNAMIC_WINDOW_COPYFALSE C_SUBMENU_NAME C_SUBMENU_NAME VARCHAR2(20)FALSETRUE FALSESYS_DYNAMIC_WINDOW_TEMPFALSE C_SUBMENU_NAME C_SUBMENU_NAME VARCHAR2(20)菜单FALSETRUE FALSE普通⾓⾊菜单权限表FALSE C_SUBMENU_NAME C_SUBMENU_NAME VARCHAR2(20)菜单FALSETRUE FALSE超级⽤户菜单字典维护表FALSE C_SUPPLY_ID C_SUPPLY_ID VARCHAR2(10)合同号FALSEFALSEFALSESYS_BILL_LAST_OP FALSE C_TEMPERATURE C_TEMPERATURE VARCHAR2(50)温度FALSEFALSEFALSE⽇历对照表FALSE C_UPDATE_FLAG C_UPDATE_FLAG CHAR修改 1/ 0/FALSEFALSEFALSE普通⾓⾊菜单权限表FALSE C_USR_ID C_USR_ID VARCHAR2(10)FALSETRUE FALSESYS_CONNECT_USR FALSE C_USR_ID C_USR_ID VARCHAR2(20)TRUE TRUE FALSESYS_GRP_USR FALSE C_USR_ID C_USR_ID VARCHAR2(24) C Usr Id TRUE TRUE FALSESYS_ROLE_USR FALSE C_VALID_FLAG C_VALID_FLAG CHAR FALSEFALSEFALSESYS_DYNAMIC_WINDOW_COPYFALSE C_VALID_FLAG C_VALID_FLAG CHAR FALSEFALSEFALSESYS_DYNAMIC_WINDOW_TEMPFALSE C_VALID_FLAG C_VALID_FLAG CHAR FALSEFALSEFALSE超级⽤户菜单字典维护表FALSEFALSEFALSEFALSE普通⾓⾊菜单权限表FALSE C_VALID_FLAG C_VALID_FLAG VARCHAR2(10) C ValidFlagC_VALUE C_VALUE VARCHAR2(30)设定值FALSEFALSEFALSESYS_PARAMTER FALSE C_VOUCH C_VOUCH VARCHAR2(20)FALSETRUE FALSESYS_CW_LOG FALSE C_WEATHER C_WEATHER VARCHAR2(50)天⽓FALSEFALSEFALSE⽇历对照表FALSE C_WINDOW C_WINDOW VARCHAR2(30)操作窗⼝FALSEFALSEFALSE系统⽇志表FALSE C_WINDOW_NAME C_WINDOW_NAME VARCHAR2(30)FALSETRUE FALSESYS_DYNAMIC_WINDOW_COPYFALSE C_WINDOW_NAME C_WINDOW_NAME VARCHAR2(30)FALSETRUE FALSESYS_DYNAMIC_WINDOW_TEMPFALSEFALSETRUE FALSE普通⾓⾊菜单权限表FALSE C_WINDOW_NAME C_WINDOW_NAME VARCHAR2(30)CWindowNameC_WINDOW_NAME C_WINDOW_NAME VARCHAR2(30)窗⼝变量FALSETRUE FALSE超级⽤户菜单字典维护表FALSE CLASSNAME CLASSNAME VARCHAR2(100)TRUE TRUE FALSESYS_DWSYNTAX FALSE COLNAME COLNAME CHAR(100)FALSEFALSEFALSESYS_TABLE FALSE COLTEXT COLTEXT CHAR(100)FALSEFALSEFALSESYS_TABLE FALSE COLTYPE COLTYPE CHAR(100)FALSEFALSEFALSESYS_TABLE FALSE D_BEGIN_DATE D_BEGIN_DATE DATE FALSETRUE FALSESYS_CW_LOG FALSE D_CURDATE_SOLAR D_CURDATE_SOLAR DATE⼊库⽇期FALSETRUE FALSE⽇历对照表FALSE D_DATE D_DATE DATE FALSEFALSEFALSESYS_MESG FALSE D_DATE D_DATE DATE D Date FALSETRUE FALSESYS_UPGRADE FALSE D_END_DATE D_END_DATE DATE FALSETRUE FALSESYS_CW_LOG FALSE D_FIN_DATE D_FIN_DATE DATE处理时间FALSETRUE FALSESYS_BILL_OP FALSE D_LASTDATE_SOLAR D_LASTDATE_SOLAR DATE去年同期FALSEFALSEFALSE⽇历对照表FALSE D_MOD_DATE D_MOD_DATE DATE修改⽇期FALSETRUE FALSE⽇历对照表FALSE D_PROCESS D_PROCESS DATE TRUE TRUE FALSESYS_CW_LOG FALSE D_UPDATE_TIME D_UPDATE_TIME DATE时间TRUE TRUE FALSE系统⽇志表FALSE DBNAME DBNAME CHAR(100)FALSEFALSEFALSESYS_TABLE FALSE DWNAME DWNAME VARCHAR2(100)TRUE TRUE FALSESYS_DWSYNTAX FALSE DWNAME DWNAME VARCHAR2(20)数窗名称FALSETRUE FALSESYS_SHELF_SYNTAX FALSE DWSYNTAX DWSYNTAX LONG RAW FALSEFALSEFALSESYS_DWSYNTAX FALSE FLAG FLAG VARCHAR2(3)TRUE TRUE FALSESYS_UPGRADE FALSE MAKE_DATE MAKE_DATE DATE FALSEFALSEFALSESYS_DWSYNTAX FALSE MAKER MAKER VARCHAR2(20)FALSEFALSEFALSESYS_DWSYNTAX FALSE MENUID MENUID VARCHAR2(10)TRUE TRUE FALSESYS_DWSYNTAX FALSE N_BILL_MON N_BILL_MON NUMBER(16,2)⾦额FALSEFALSEFALSESYS_BILL_OP FALSEFALSEFALSEFALSESYS_DYNAMIC_CONDITION FALSE N_CONDITION_MON N_CONDITION_MON NUMBER(16,2)条件值数字TRUE TRUE FALSESYS_DYNAMIC_CONDITION FALSE N_CONDITION_NO N_CONDITION_NO NUMBER(5)流程编码定义后不能随便改N_HEIGHT N_HEIGHT NUMBER(8)⾼度FALSETRUE FALSESYS_SHELF_SYNTAX FALSE N_ID N_ID NUMBER(18)TRUE TRUE FALSESYS_MESG FALSE N_ID N_ID NUMBER(18)序号TRUE TRUE FALSESYS_SHELF_SYNTAX FALSE N_LAST_DEGREE N_LAST_DEGREE NUMBER(5)处理级别FALSEFALSEFALSESYS_BILL_LAST_OP FALSE N_MENU_LEV N_MENU_LEV NUMBER FALSETRUE FALSESYS_GRP_MENU FALSE N_MENU_LEVEL N_MENU_LEVEL NUMBER FALSETRUE FALSESYS_MENU FALSE N_MENU_RIGHT N_MENU_RIGHT NUMBER FALSETRUE FALSESYS_GRP_MENU FALSE N_NO N_NO NUMBER(5)流程序号FALSEFALSEFALSESYS_DYNAMIC_CONDITION FALSE N_OP_NO N_OP_NO NUMBER(5)序号TRUE TRUE FALSESYS_BILL_OP FALSE N_RAW_RATE N_RAW_RATE NUMBER(12,4)FALSEFALSEFALSESYS_ID_BUILDER FALSE N_SALE_COST N_SALE_COST NUMBER(16,4)FALSEFALSEFALSE⽇历对照表FALSE N_SALE_GUEST N_SALE_GUEST NUMBER(6)FALSEFALSEFALSE⽇历对照表FALSE N_SALE_MON N_SALE_MON NUMBER(16,2)FALSEFALSEFALSE⽇历对照表FALSE N_SALE_NUM N_SALE_NUM NUMBER(16,2)FALSEFALSEFALSE⽇历对照表FALSE N_SHORTCUT N_SHORTCUT FLOAT FALSEFALSEFALSESYS_DYNAMIC_WINDOW_COPYFALSE N_SHORTCUT N_SHORTCUT NUMBER FALSEFALSEFALSESYS_DYNAMIC_WINDOW_TEMPFALSE N_SHORTCUT N_SHORTCUT NUMBER N FALSEFALSEFALSE普通⾓⾊菜单权限表FALSEN_SHORTCUT N_SHORTCUT NUMBER NFALSEFALSEFALSE普通⾓⾊菜单权限表FALSEShortcutFALSEFALSEFALSE超级⽤户菜单字典维护表FALSE N_SHORTCUT N_SHORTCUT NUMBER NShortcutN_WEEK N_WEEK NUMBER(1)星期FALSEFALSEFALSE⽇历对照表FALSE N_WEEK_NUM N_WEEK_NUM NUMBER(3)第⼏周FALSEFALSEFALSE⽇历对照表FALSE N_WIDTH N_WIDTH NUMBER(8)宽度FALSETRUE FALSESYS_SHELF_SYNTAX FALSE N_X N_X NUMBER(8)X FALSETRUE FALSESYS_SHELF_SYNTAX FALSE N_Y N_Y NUMBER(8)Y FALSETRUE FALSESYS_SHELF_SYNTAX FALSE 单据号C_BILL_ID VARCHAR2(20)单据号TRUE TRUE FALSESYS_BILL_LAST_OP FALSE 单据类型C_BILL_FLAG VARCHAR2(10)单据类型TRUE TRUE FALSESYS_BILL_LAST_OP FALSE 处理⼈C_FIN_MAN VARCHAR2(10)处理⼈FALSETRUE FALSESYS_BILL_LAST_OP FALSE 处理时间D_FIN_DATE DATE处理时间FALSETRUE FALSESYS_BILL_LAST_OP FALSE 整单⾦额N_BILL_MON NUMBER(16,2)整单⾦额FALSEFALSEFALSESYS_BILL_LAST_OP FALSE。
PowerDesigner使用步骤说明
使用步骤: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 与外界没有关系。
如何用Powerdesigner的PDM生成数据库
如何用Powerdesigner的PDM生成数据库pdm做好后,最终是要将其转化为数据库实体的。
1.确认当前Powerdesigner设置的dbms是否正确,即是否是我们要生成的数据库类型,我在这里使用的是sqlserver2000:Powerdesigner->数据库->更改当前dbms,选择您的数据库类型。
2.配置Powerdesigner与数据源的连接Powerdesigner->数据库->配置连接->用户dsn(或系统dsn)->选择、添加您的数据源3.连接Powerdesigner->数据库->连接->设置好您刚才建立的dsn确定。
OK,设置好连接后我们就可以将pdm生成sql语句了。
4.数据库生成Powerdesigner->数据库->生成数据库->配置好(默认就可以)后选择确定就好了。
拿到sql脚本语句,大家都知道应当如何做了吧,放到sql查询分析器里执行吧。
PowerDesigner如何设计表之间的关联以省份表和地区表为例--------------------------------------------------------------------------------在工具箱中找到参照关系工具:由地区表到省份表之间拉参照关系,箭头指向父表,然后双击参照关系线,打开参照关系的属性:在这里检查父表与子表是否正确,如果因操作失误不正确的话可以点击下拉列表框选择。
点击连接标签,进行字段关联设置:如上图,在这里设置子表的关联字段。
OK,基本父表与子表的关联关系已经设置完毕,记住最好不要使用系统自动生成的名称,修改为自己的,否则表多了以后可以会出现重名。
PowerDesigner使用教程_PDM
PowerDesigner使用教程_PDM
PowerDesigner是一款功能强大的数据建模和设计工具,主要用于创建和维护企业级数据库、应用程序、数据仓库等。
本文将介绍PowerDesigner中的PDM(Physical Data Model)模型,以及如何使用PowerDesigner进行PDM建模。
首先,打开PowerDesigner软件后,点击菜单栏上的“新建”按钮,选择“模型”选项。
在弹出的对话框中,选择“物理数据模型”作为模型类型,并设置模型的名称和位置。
点击“确定”按钮创建新的PDM模型。
接下来,我们可以开始创建实体和属性。
在PowerDesigner的左侧面板中,选择“实体”工具,然后在模型画布上点击鼠标左键,即可创建一个新的实体。
在弹出的对话框中,输入实体的名称,并设置其他属性,如主键、索引等。
在实体中,我们可以添加属性。
选择“属性”工具,然后在实体上点击鼠标左键,即可创建一个新的属性。
在弹出的对话框中,输入属性的名称、数据类型等信息。
还可以设置属性的约束条件、默认值等。
除了实体和属性,我们还可以创建关系。
选择“关系”工具,然后在模型画布上点击鼠标左键,即可创建一个新的关系。
在弹出的对话框中,选择关系的类型(一对一、一对多等),并设置关系的名称、主外键等。
总之,PowerDesigner是一款功能强大的PDM建模工具,可以帮助用户创建和维护数据库、应用程序等。
通过本文的介绍,相信您已经对PowerDesigner的PDM建模有了初步的了解。
希望这些信息对您在使用PowerDesigner进行PDM建模时有所帮助。
PowerDesigner物理数据模型(PDM)说明
PowerDesigner物理数据模型(PDM)说明ref: https:///tianlesoftware/article/details/6874067⼀. PDM 介绍物理数据模型(Physical Data Model)PDM,提供了系统初始设计所需要的基础元素,以及相关元素之间的关系;数据库的物理设计阶段必须在此基础上进⾏详细的后台设计,包括数据库的存储过程、操作、触发、视图和索引表等;PowerDesigner能够⽤于创建多种不同类型的DBMS(数据库管理系统),每种类型的DBMS都包含⼀个标准定义的⽂件⽤于在PD和DBMS 中确定彼此的关联⽽提供⼀套接⼝;创建不同的DBMS可以⽣成不同的数据库脚本。
物理数据模型(PDM)的主要功能:1、可以将数据库的物理设计结果从⼀种数据库移植到另⼀种数据库;2、可以通过反向⼯程将已经存在的数据库物理结构重新⽣成物理模型或概念模型;3、可以定制⽣成标准的模型报告;4、可以转换为OOM;5、完成多种数据库的详细物理设计(涵盖常⽤的各种数据库的DBMS),并⽣成数据库对象的.sql脚本;1.1 PDM中的基本概念:1) 表2) 列3) 视图4) 主键5) 候选键6) 外键7) 存储过程8) 触发器9) 索引10)完整性检查约束1.2 创建PDM对象:1) 创建表2) 创建列3) 创建创建域4) 创建视图5) 创建主键6) 创建候选键9) 创建完整性检查约束10)创建存储过程11)创建触发器1.3 管理PDM对象:1) 创建⽤户2) 设置表的⽤户3) 设置表的物理属性1.4 检查PDM:1) 检查选项设置(1)Package(包)(2)Table(表)(3)Column(列)(4)Index(索引)(5)Key(键)(6)Domain(域)(7)View(视图)(8)Reference(参照)(9)Trigger(触发器)(10) Procedure(存储过程)(11) User(⽤户)(12) File(⽂件)2)更正错误/警告1.5 触发器和存储过程/函数:1)创建触发器设定触发器类型(Insert、Update、Delete)2)创建存储过程/函数1.6 ⽣成数据库1)选择Database→GenerateDatabase菜单项2)选项设置(1)数据库(2)⽤户(3)域外键索引触发器(5)存储过程3)格式设置4)选择对象(1)查看包(2)全选/全部取消选择(3)使⽤图中选中的对象1.7 创建PDM:1)新建PDM(1)选择File→New Model菜单项(2)在左侧模型类型列表中选择Physical Data Model(3)在右侧输⼊模型名称、在DBMS下拉列表中选择DBMS类型、在First diagram下拉列表中选择Physical Diagram2)正向⼯程:从CDM/LDM⽣成PDM3)逆向⼯程:从现有DB 逆向⽣成PDM正向⼯程和逆向⼯程⽣成PDM会单独整理成⼀⽚⽂章,这篇不做说明。
powerdesigner逆向生成pdm文件 中文注释
powerdesigner逆向生成pdm文件中文注释
PowerDesigner是一款强大的数据建模工具,它支持从多种数据库逆向生成PDM(Physical Data Model)文件,并且可以自动添加中文注释。
以下是逆向生成PDM文件并添加中文注释的一般步骤:
1. 打开PowerDesigner,选择“File”菜单下的“New”选项,然后选择“Physical Data Model”。
2. 在“Physical Data Model”向导中,选择“Reverse Engineer”选项,并选择要逆向生成的数据库类型。
3. 在“Reverse Engineer”向导中,输入数据库连接信息,包括数据库类型、服务器地址、用户名和密码等。
4. 点击“Next”按钮,选择要逆向生成的数据表和视图等对象。
5. 点击“Next”按钮,在“Table Options”页面中,选择“Add comments”选项,并选择中文作为注释语言。
6. 点击“Finish”按钮,开始逆向生成PDM文件。
7. 在PDM文件中,将显示生成的实体、关系和属性等对象,以及相应的中文注释。
需要注意的是,PowerDesigner的版本和功能可能有所不同,因此上述步骤可能需要根据具体情况进行调整。
此外,为了确保中文注释的正确显示和编辑,需要确保PowerDesigner支持中文注释,并且操作系统和字体设置也支持中文。
实验二 PowerDesigner的PDM应用
点击“ok”按钮,再点击“确定”按钮。 在 PowerDesigner 中,选择 Database 菜单中的 Connect,如下图所示。
在连接数据源窗口中,选择刚才创建的数据源“pd-mysql5.5” ,点击“connect”按钮。 如下图所示。
选择 Database 菜单中的 Connection Information 按钮,如下图所示。
点击 Run 按钮执行 SQL 语句执行脚本,生成数据库表、完整性约束等。如下图所示。
成功执行后,可以使用其他图形化数据库管理工具,如 Navicat,连接到数据库 test 上, 查看建立的中文表,如下图所示。
生成的 PDM 也出现在工作区当中,如图所示。
至此,从 CDM 生成 PDM 就完成了。在 PDM 中,根据 CDM 的定义,自动添加了 PK(主 键) 、FK(外键)等参照完整性约束条件。请大家认真查看和比较,特别是购买书籍这个表。
PDM 设计结束后,利用 PowerDesigner 的“生成数据库”功能,产生数据库中各数据对 象的定义。操作方法是选择 DatabaseGenerate Database 菜单,如图所示。
二、实验内容
从 CDM 生成 PDM,了解 CDM 生成 PDM 的过程。 启动 PowerDesigner,选择 FileOpen 菜单,打开“实验一练习.CDM”文件。
选择 ToolsGenerate Physical Data Model,如图所示。
弹出 PDM 生成选择项窗口,DBMS 选择 MySQL 5.0,如图所示。
使用 show table 命令查看,结果如图所示。
四、实验提升
学有余力的同学,根据操作系统选择安装 MySQL 的 ODBC 驱动程序,32 位操作系统安 装 32 位驱动“mysql-connector-odbc-commercial-xxxx-win32” ,64 位操作系统安装 64 位驱动 “mysql-connector-odbc-commercial-xxxx-win64” ,如图所示。
使用PowerDesigner15反向生成PDM
使⽤PowerDesigner15反向⽣成PDM
使⽤PowerDesigner15 反向⽣成PDM
环境:
PowerDesigner15、Oracle10G
注:最好把模板使⽤的DBMS先改为oracle的相应版本。
第⼀步如下图新建⼀个PDM⽂档:
第⼆步,打开⽂档选择Database->Configure Connections
第三步点击下图所⽰图标,在新打开的窗⼝做如下操作
1、选择⽂件数据源(与机器⽆关),点击下⼀步;
2、选择Oracle驱动(例如:Oracle in OraDb10g_home1),点击下⼀步;
3、点击【浏览】并⾃定义命名此配置⽂件(名字随便取),点击下⼀步然后点击完成;
4、Service Name填⼊你需要连接的数据库名称(这⾥同pl/sql选择的数据库名称);User Name及PassWord根据实际情况填写。
点击OK,并点击确定完成配置。
第四步选择Database->Update Model from Database
第五步,按下图所⽰选择刚刚配置的⽂件然后点击确定。
第六步在新打开的页⾯选择需要导出⽣成的表及项⽬,点击OK即可⽣成。
PowerDesigner之PDM(物理概念模型)
PowerDesigner之PDM(物理概念模型)一、PDM概述PDM(物理数据模型),通俗地理解,就是在PowerDesigner中以图形化的方式展示和设计数据库。
PDM中涉及到的基本概念包括:•表;•列;•视图;•主键;•候选键;•外键;•存储过程;•触发器;•索引;•完整性检查约束;以上这些都是数据库的概念,不适合在PowerDesigner里面表述。
二、创建PDM创建PDM有4中方法:•使用设计环境直接创建PDM;•从现有数据库或通过SQL脚本逆向工程创建PDM;•从CDM采用内部模型生成方法建立PDM;•从OOM中的类图采用模型的内部生成方法建立PDM;利用CDM生成PDM是最符合设计思路的方法,但在很多企业开发过程中,都是在设计环境中直接建立PDM,因为大部分企业没钱发那么多工资你设计那么多图。
1、在设计环境直接建立PDM在设计环境直接建立PDM的步骤如下:1、在PowerDesigner主窗口选择File->New Model,在打开的创建左侧选择Physical Data Model选项2、右侧选项的意义•Model name:模型名称;•DBMS:数据库类型,也可以单击后面的文件夹按钮,选择“浏览文件夹”,选择xml文件作为目标(CDM转PDM);•Share the DBMS definition:共享数据库定义;•Copy the DBMS definition in model:从数据库定义中拷贝,用于CDM转PDM;•First Diagram:创建一个PDM,默认会有一个Diagram,这里是选择这个Diagram的类型;3、Extended Model Definitions选项卡的意义当通过PowerBuilder来开发时,若选中PowerBuilder则生成的PDM可以从Catalog表中获取表和列的扩展属性。
4、点击“确定”按钮,打开新建的PDM设计窗口工作区包括左侧的浏览窗口、右侧的设计窗口、下侧的输出窗口和浮动的工具窗口,可以利用工具窗口中的图标在设计窗口中设计PDM。
powerdesigner里面pdm的注释
powerdesigner里面pdm的注释在PowerDesigner中,PDM(物理数据模型)的注释主要用于描述数据库表、字段、关系等元素的属性信息和来源。
有时候,PDM注释可以包含对数据表结构的详细说明,例如列的数据类型、长度、主键、外键等信息。
这些注释对于理解和维护数据库结构非常重要。
在PowerDesigner中,添加和查看PDM注释的方法如下:1. 打开PowerDesigner,找到对应的PDM文件。
2. 在模型(Model)窗口中,选择需要添加注释的表或字段。
3. 右键点击表或字段,选择“属性”(Properties)。
4. 在弹出的属性窗口中,找到“注释”(Comment)选项卡。
5. 在“注释”文本框中输入对应的注释内容,并按需调整其他相关属性。
若要在PowerDesigner中查看PDM注释,可以参考以下方法:1. 打开PowerDesigner,找到对应的PDM文件。
2. 在模型(Model)窗口中,展开数据库表或字段。
3. 选中表或字段,查看其属性窗口。
4. 在属性窗口中,切换到“注释”(Comment)选项卡。
5. 此时,您将看到表或字段的注释内容。
需要注意的是,在某些情况下,例如使用逆向工程生成PDM时,可能会遇到注释显示不正常的问题。
这时,可以尝试以下方法解决:1. 确保数据源连接正确,同时检查数据库中的注释编码与PowerDesigner中的编码是否一致。
2. 调整PowerDesigner的显示偏好设置,如在“Tools -> Display Preferences -> Table -> Advanced -> Columns”中勾选相应的自定义属性。
3. 如有必要,可以尝试使用VB脚本或其他方法更新PDM文件,以使其正常显示注释。
综上所述,在PowerDesigner中,您可以轻松地为PDM添加和查看注释,以便更好地管理和维护数据库结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Comment on table COMPANY_Info is ‘公司基本信息表’; Comment on column COMPANY_Info.CityCode is ‘城市代码’;
2.5 建表规范
• 8、不可删除线上表的字段
•
因为这个表可能不是你自己一个系统或产品用,删除字段的风险很大,可能
•
好的事情马上就会到来,一切都是最 好的安 排。上 午10时18分30秒上午10时18分10:18:3020.10.15
•
一马当先,全员举绩,梅开二度,业 绩保底 。20.10.1520.10.1510:1810:18:3010:18:30Oc t-20
•
牢记安全之责,善谋安全之策,力务 安全之 实。2020年10月15日 星期四10时18分30秒 Thursday, October 15, 2020
字段是数据库最基本的单位,其设计对性能的影响是很大。 ➢ A、数据类型尽量用数字型,数字型的比较比字符型的快很多。 ➢ B、数据类型尽量小,这里的尽量小是指在满足可以预见的未来需求的前 提下的。 ➢ C、尽量不要允许NULL,除非必要,可以用NOT NULL+DEFAULT代替 。 ➢ D、少用TEXT和IMAGE,二进制字段的读写是比较慢的,而且,读取的 方法也不多,大部分情况下最好不用。 ➢ E、自增字段要慎用,不利于数据迁移。
它可与许多流行的数据库设计软件,例如:与 Oracle ,SQL , PowerBuilder等相配合使用来缩短开发时间和使系统设计更优化。
1.3 PD 的4 种模型文件:
CDM表现数据库 的全部逻辑的结 构,与任何的软件 或数据储藏结构 无关。
概念模型CDM
物理数据模型PDM
PDM 叙 述 数 据 库 的物理实现。藉由 PDM, 你 考 虑 真 实 的物理实现的细节。
Designor和AMC*Designor的名字改为PowerDesigner和PowerAMC。 • 1997 -发布PowerDesigner 6.0 • 2001 12月-发布PowerDesigner 9.5 的最初版本, 并发布升级及维护版本直
到2003年 • 2004 12月-发布版本PowerDesigner 10.0 • 2005 -发布PowerDesigner 11.0 • 2007 7月-发布PowerDesigner 12
2.3 生成数据字典报告
菜单Report-->Report Wizard
2.3 生成数据字典报告
• 选择要生成的数据字典类型:
2.3 生成数据字典报告
• 其他的默认,直接点击完成,完成后的视图如下:
2.3 生成数据字典报告
• 设置字典要显示的表结构相关属性:
2.3 生成数据字典报告
• 设置字典中表结构的字段要显示的属性:
2.4.2 PD逆向工程
• 2.1 配置新数据源: 注意如果是第一次导入数据,需要先配制ODBC数
据源,方法如下: Connect to Data Source-->ODBC machine data
source--> Configure
2.4.2 PD逆向工程
• 2.2 配置新数据源:
2.4.2 PD逆向工程
对的。“三多”原则肯定是错误的。
•
树立质量法制观念、提高全员质量意 识。20.10.1520.10.15Thursday, October 15, 2020
•
人生得意须尽欢,莫使金樽空对月。10:18:3010:18:3010:1810/15/2020 10:18:30 AM
•
安全象只弓,不拉它就松,要想保安 全,常 把弓弦 绷。20.10.1510:18:3010:18Oc t-2015- Oct-20
......
1.2 PowerDesigner 16概述
Power Designer是Sybase公司的CASE工具集,使用它可以方便 地对管理信息系统进行分析设计,它几乎包括了数据库模型设计 的全过程。
利用Power Designer可以制作数据流程图、概念数据模型、物理 数据模型,可以生成多种客户端开发工具的应用程序,还可为数 据仓库制作结构模型,也能对团队设计模型进行控制。
•
安全象只弓,不拉它就松,要想保安 全,常 把弓弦 绷。20.10.1510:18:3010:18Oc t-2015- Oct-20
•
加强交通建设管理,确保工程建设质 量。10:18:3010:18:3010:18Thursday, October 15, 2020
•
安全在于心细,事故出在麻痹。20.10.1520.10.1510:18:3010:18:30October理增 创效益 ,凭服 务树立 形象。2020年10月15日星期 四上午10时18分30秒10:18:3020.10.15
•
严格把控质量关,让生产更加有保障 。2020年10月 上午10时18分20.10.1510:18October 15, 2020
•
作业标准记得牢,驾轻就熟除烦恼。2020年10月15日星期 四10时18分30秒10:18:3015 October 2020
• 4、表名和字段名都要有含义,表名与表本身要表达的意思一致:
表名和表结构两方表达一致,才方便内外部客户查看,才有利于表数据的长 久使用
尽量让不太熟悉这个系统的人都能大概理解这个字段是什么意思
2.5 建表规范
• 5、表的字段个数的规定:
每个表的字段数目不要超过100个
• 6、给字段合适的数据类型 :
打开菜单:DataBase-->Edit Current DBMS:
2.2.1 修改Table模板脚本
General-->Script-->Objects-->Table-->TableComment->Value(替换脚本参见附件)
2.2.2 修改Column模板脚本
General-->Script-->Objects-->Column-->ColumnComment->Value(替换脚本参见附件)
• 2.3 配置新数据源:
2.4.2 PD逆向工程
• 2.4 配置新数据源:
2.4.2 PD逆向工程
• 2.5 配置新数据源:
2.4.2 PD逆向工程
• 2.6 测试新数据源:
2.4.2 PD逆向工程
• 3、选择要生成字典的表、视图等
2.4.2 PD逆向工程
• 逆向成功:
2.5 建表规范
2.3 生成数据字典报告
• 菜单 Report ---> Generate HTML生成数据字典报告:
2.4 PD正向、逆向工程
❖2.4.1 PD正向工程:PDM –> Database ❖2.4.2 PD逆向工程:Database --> PDM
2.4.1 PD正向工程
• 菜单DataBase-->Generate Database • 选择生成脚本,即Script generation,或 直接在数据
• 10、防止数据库设计打补丁的方法:“三少原则” (少而精)
• A、一个数据库中表的个数越少越好 • B、一个表中组合主键的字段个数越少越好 • C、一个表中的字段个数越少越好
数据库设计的实用原则是:在数据冗余和处理速度之间找到合适的平衡点 。“三少”是一个整体概念,不能孤立某一个原则。该原则是相对的,不是绝
库里生成,即directory generate
2.4.1 PD正向工程
• 成功入库:
2.4.2 PD逆向工程
• 1、点击菜单File-->Reverse Engineer-->DataBase 后 出 现如下图所示:
2.4.2 PD逆向工程
• 2、Selection-->Using a data source-->(确定 / Connect to Data Source)
•
相信相信得力量。20.10.152020年10月 15日星 期四10时18分 30秒20.10.15
谢谢大家!
•
树立质量法制观念、提高全员质量意 识。20.10.1520.10.15Thursday, October 15, 2020
•
人生得意须尽欢,莫使金樽空对月。10:18:3010:18:3010:1810/15/2020 10:18:30 AM
•
加强交通建设管理,确保工程建设质 量。10:18:3010:18:3010:18Thursday, October 15, 2020
•
安全在于心细,事故出在麻痹。20.10.1520.10.1510:18:3010:18:30October 15, 2020
•
踏实肯干,努力奋斗。2020年10月15 日上午1 0时18 分20.10. 1520.1 0.15
2.1.1 创建数据模型
创建后,WorkSpace项显示结果如下图:
2.1.2 创建表
在“emoney65”上点右键,选择New->Table
2.1.2 创建表-表名
点击后如图所示:调整参数配置,修改表名
2.1.2 创建表 - 字段
增、删列 及 修改字段属性:
2.1.2 创建表 - 字段
• 设置表需要的字段属性:
PowerDesigner 的四种模型
BPM 描 述 业 务 的各种不同内在 任务和内在流程, 而且客户如何以 业务程序模型BPM 这些任务和流程 互相影响。
面向对象模型OOM
一 个 OOM包 含一系 列包类接口以及他们 的关系。这些对象一 起形成所有/部份的 软件系统的逻辑的设 计视图的类结构。一 个 OOM 本 质 上是软 件系统的一个静态的 概念模型。