如何从mysql数据库生成pmd

如何从mysql数据库生成pmd,第1张

1将mysql中的数据库导出成sql文件2打开pd,新建一个PhysicalDataModel,新建的时候,记得选则数据库3在pd中,找到工具栏中的Database-->Reverse Engineer Database(反向工程)4选择Using script file(使用脚本),点击下面的新建,定位到刚刚导出的sql文件5确定

Java书籍太多这方面的介绍了。

(1)运行PowerDesigner,并在PowerDesigner主窗口中选择主菜单中的File/New命令,在打开的New对话框左侧Model type列表框中选择Physical Data Model(物理数据模型,简称PDB)选项,在右侧的Model name文本框中输入模型名称JXCManager,在DBMS下拉列表框中选择数据库管理系统。PowerDesigner支持的数据库管理系统非常多,例如常用的MySQL 50、Microsoft SQL Server 2005、Oracle Version 10gR2等。企业进销存管理系统选择Microsoft SQL Server 2000作为数据库服务器,单击“确定”按钮。

(2)打开新建的PDM窗口。在该窗口的中心空白区域是模型编辑器,下方为输出窗口。另外还有一个浮动的工具面板,其中包括常用的建表工具、建视图工具和主外键引用工具。

(3)在图113中单击“建表工具”按钮 ,这时鼠标指针将显示为 ,在模型编辑器的合适位置单击,此时在图形窗口中将显示如图114所示的数据表模型。

注意:细心的读者可以发现,此时的鼠标指针仍然是 。如果再次单击还将出现类似图114所示的表符号。如果想取消该指针,可以单击工具面板中的 按钮或单击鼠标右键。

(4)在图114所示的表符号上双击鼠标左键,将打开Table Properties(表属性)对话框。默认情况下选中的是General选项卡,在该选项卡的Name文本框中,输入表的名称tb_manager,此时在Code文本框中也将自动显示tb_manager,其他选择默认即可。

(5)选择Columns选项卡,首先单击列输入列表的第一行,将自动转换第一行为编辑状态,然后在 Name列输入字段名称为ID,同时Code列也将自动显示为ID,再在Data Type列中选择int选项,最后选中P列的复选框将该数据表字段设置为主键,此时M列的复选框也将自动被选中,它约束字段值不能为空。

(6)按照步骤(5)的方法再添加两个列name和PWD,但是不需要选中P列复选框设置主键,如图115所示。

(7) 在图115中单击“应用”按钮后,选择ID字段,单击左上角的 按钮,将打开Column Properties(列属性)对话框,默认选中General选项卡,在其中选中Identity复选框,此项 *** 作用于设置ID字段使用自动编号。

(8)单击“应用”按钮后,再单击“确定”按钮,关闭Column Properties对话框。

(9)单击“确定”按钮,关闭Table Properties对话框,完成tb_manager表的创建。

(10)按照步骤(3)~步骤(9)的方法创建本系统中的其他数据表,并通过主外键引用工具建立各表间的依赖关系。创建完成的模型如图116所示。

技巧:在默认情况下,创建后的表模型中的全部文字均为常规样式的宋体8号字,如果想修改文字的格式,可以选中全部表符号,按Ctrl+T键,在打开的Symbol Format对话框中选择Font选项卡,从中设置相关内容的字体及样式和字号等。

(11)选择PowerDesigner主菜单中的Database/Generate Database命令,将打开Database Generation对话框。在该对话框中设置导出的脚本文件的名称(如jxcsql)及保存路径(如D:\JXC),选中Script generation单选按钮,如图117所示。单击“确定”按钮,会在指定的路径中生成数据库脚本文件。

(12)在图117所示的对话框中选择Direct generation单选按钮,可以使用ODBC数据源直接在数据库管理系统中生成数据表和视图。但是,必须先创建数据库的数据源,然后单击 按钮选择指定的数据源,并单击“确定”按钮。

PowerDesign:PowerDesign是Sybase推出的主打数据库设计工具。PowerDesign致力于采用基于Entiry- Relation的数据模型,分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。概念数据模型描述的是独立于数据库管理系统(DBMS)的实体定义和实体关系定义。物理数据模型是在概念数据模型 的基础上针对目标数据库管理系统的具体化。

如何一次性将表结构的脚本导出来?

Database --->Generate Database ---> Genarate Script 就可实现。

Name用中文英文以便查询、写程序的时候方便, Code才是最终产生的Table Name

PowerDesigner中建了模型,如何把它作为文档导出?

利用REPORT。选择一个模板,然后就生成了RTF或是HTM格式的文档

如何将已经存在的数据库所有表,导入到PowerDesign中?

用PD里的反向工程file--->reverse engineering ===> and go on

概念数据模型(CDM)

CDM表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构无关。一个概念模型经常包括在物理数据库中仍然不实现的数据对象。它给运行计划或业务活动的数据一个正式表现方式。不考虑物理实现细节,只考虑实体之间的关系。

物理数据模型 (PDM)

PDM叙述数据库的物理实现。主要目的是把CDM中建立的现实世界模型生成特定的DBMS脚本,产生数据库中保存信息的储存结构,保证数据在数据库中的完整性和一致性。

面向对象模型 (OOM)

一个OOM包含一系列包,类,接口和他们的关系。这些对象一起形成所有的(或部份)一个软件系统的逻辑的设计视图的类结构。一个OOM本质上是软件系统的一个静态的概念模型。

业务程序模型(BPM)

BPM描述业务的各种不同内在任务和内在流程,而且客户如何以这些任务和流程互相影响。BPM是从业务合伙人的观点来看业务逻辑和规则的概念模型,使用一个图表描述程序,流程,信息和合作协议之间的交互作用。

正向工程

你能直接地从PDM产生一个数据库, 或产生一个能在你的数据库管理系统环境中运行的数据库脚本。可以生成数据库脚本,如果选择ODBC方式,则可以直接连接到数据库,从而直接产生数据库表以及其他数据库对象。

逆向工程

将已存在的数据库产生进新的PDM 之内。数据来源可能是从脚本文件或一个开放数据库连接数据来源。

并不是每个设计都需要用到Power Designer。 例如:小的系统,或Table数比较少的情况下就没有必要采用Power Designer了。

设计步骤

CDM PDM OOM三者转换关系

PowerDesigner仅仅是实现的工具

不要以为Power能帮你把关系什么的全部建立好,很多数据库理论只是还是需要的,设计数据库的时候,那些范式什么的,一定要掌握。

设计一个好的数据库,最好的工具不是必须的,但是基础理论是一定要的。

PowerDesigner用途不局限于数据建模

还可以用PowerDweigner设计web service

并不是每个设计都需要用到PD

用Powerdesigner对付比较大型的项目,是很好的,对于短平快类型的项目,如果时间要求你1个星期完成一个程序,那么完全没有必要用 PowerDesigner,直接维护数据库就可以了,当表的数量超过10个(一个小系统的表在10个左右)的时候,建议还是用用 Powerdesigner 。

我的看法:如果想做成一个比较规范的数据库,小项目也可以用。毕竟生成报表和正反向工程很有用。

零碎

PD中的CDM设计时,可以将所有需要的字段都定义好。然后在设计实体是直接取出来。PD提供了这样的统一管理的工具。在PD菜单栏-Model-Data Item下。

为了使自己设计的CDM看起来象样一点,可以从工具栏中,拖动一个Title。其显示的信息,是当前CDM的属性值。

为了使实体等Symbol看起来显眼和舒服。可以根据个人喜好进行外观上的调整。当前设计界面中,右键-Display Perferences中进行设置。还可以增加shadow效果。选中Symbol后,Ctrl+W。或者右键菜单。

为了使布局整齐。选中需要调整的Symbol后,菜单-Symbol-Align进行设置。快捷键:ctrl+UP,ctrl+Down,ctrl+Left,ctrl+Right即为上下左右对齐。

设计实体属性时注意的细节:M:表示强制非空;P:是否为主键;D:是否在模型中显示。gerenate:表示是否作为表生成。

默认情况下,CDM的实体会显示Identifier一栏。如果不想其显示出来,在右键-Display Perferences中ObjectView-Entity中设置。

关系的命名方法是:实体名1 实体名2。

关系中的角色(Role)表示联系线上一个方向上的含义。用一个动词来描述。Role只是起一个描述作用。

依赖(Dependency):表示在联系中一个实体的存在是否依赖于另一个实体。寄生实体(Dependent Entity)是一种部分地被另一实体确定的实体。在依赖联系中,一个实体与另一实体通过标识符相联系,当一个实体的存在没有另一个实体的存在作为参考就 不能唯一确定时,两个实体间就存在依赖联系。

主从表就是典型的依赖关系。

中间实体(Associative Entity):是为了解决多对多联系而产生的一个人工实体,能够为中间实体定义属性。用鼠标右键单击多对多联系线,在d出的菜单中选择“Change to entity”,能够把这个联系转换成连接两个实体的中间实体。

善于利用自动生成的中间实体,可以简化设计工作,提高数据库设计的正确性。

中间实体一般不用再加入新的字段。

牢记:外键是通过关系Relationship自动来建立的,不需要手动建立。不然会产生多余的键。所以设计时,关注实体本身的字段,以及实体间的关系,特别是多对多和依赖关系。

从CDM到PDM的转换需要注意:

不能改变Diagram的名称

在树状图中,如果钩选红色标出的Symbol表示覆盖修改,不钩选表示保护修改。

数据库为了保证数据完整性和一致性,提出了约束。即表约束,列约束以及参照完整性约束。通常数据库设计和程序开发不是绝对的分离的。所以前两者在实际开发过程中逐渐的完善。需要注意的还是参照完整性约束。

在PD中前两者的设定是对字段,后者是对关系。

参照完整性约束

限制(Restrict)。不允许进行修改或删除 *** 作。若修改或删除主表的主键时,如果子表中存在子记录,系统将产生一个错误提示。这是缺省的参照完整性设置。

置空(Set Null)。如果外键列允许为空,若修改或删除主表的主键时,把子表中参照的外键列设置为空值(NULL)。

置为缺省(Set Default)。如果指定了缺省值,若修改或删除主表的主键时,把子表中参照的外键设置为缺省值(Default)。

级联(Cascade)。把主表中主键修改为一个新的值时,相应修改子表中外键的值;或者删除主表中主键的记录时,要相应删除子表中外键的记录。

注意理解以上的约束时,抓住 *** 作的都是主表。子表的 *** 作都是相对主表来说的。 *** 作方式就是Update和Delete。

引用基础数据表的数据时,可以建立对应的视图。选中需要作为视图的表,菜单栏-Tools-Create View

PD支持对已有数据的表更新表结构。不过需要谨慎 *** 作,检查生成的SQL脚本。

PD也可以生成随机的测试数据。

触发器就是DBMS中提供的事件驱动机制。发生在表的Insert,Update和Delete。执行SQL语句或存储过程。

在PD中可以完成存储过程的编写,也便于管理。

逆向工程可以通过数据库脚本或者通过ODBC数据源来实现。

CDM和PDM是数据库设计不同阶段使用的工具,概念模型侧重点在描述实体及之间的关系,物理模型则侧重数据的存储结构。

另外这个问题为啥是“外语学习”?学外语的有几个会用PD。。。

以上就是关于如何从mysql数据库生成pmd全部的内容,包括:如何从mysql数据库生成pmd、pd如何建表、gtpower图表怎么导出等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9379751.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存