1、第一讲 PowerDesigner 概述【知识要点】1. PowerDesigner 简介2. PowerDesigner 功能模块组成3. PowerDesigner 提供的模型支持4. PowerDesigner 界面说明5. PowerDesigner 操作方式【逐点讲解】一、 PowerDesigner 简介Sybase PowerDesigner 是 Gartner 评出的 2004 年全球排名第一的数据库建模工具,是Sybase 公司的 CASE 工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。目前 PowerDesigner 支持 60 多
2、种数据库及其不同版本,主要的数据仓库以及数据分析工具(OLAP)等。利用 PowerDesigner 可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设计模型进行控制 PowerDesigner 融合了几种标准建模技术:传统数据库建模、使用 UML 的应用程序建模和业务流程建模,而且支持主流应用程序开发平台(如 Java J2EE、Mocriosoft .NET、Web Services 和 PowerBuilder、Eclipse 等)以及流程执行语言(如 ebXML 和 BPEL4WS) ,它可与许多流行的数据库设
3、计软件,例如:PowerBuilder, Delphi,VB 等相配合使用来缩短开发时间和使系统设计更优化。目前各主要的建模工具厂商如 Sybse PowerDesigner, IBM Rational Rose, Computer Associates 的 ERWin 等都在加强各自建模工具的融合与集成。PowerDesigner 经过近 20 年的发展,已经在原有的数据建模的基础上,形成一套完整的集成化企业级建模解决方案。二、 PowerDesigner 功能模块组成PowerDesigner 主要包括以下几个功能部分:1. DataArchitect 这是一个强大的数据库设计工具,使用
4、DataArchitect 可利用实体-关系图为一个信息系统创建“概念数据模型 “CDM(Conceptual Data Model) 。并且可根据 CDM 产生基于某一特定数据库管理系统(例如: Sybase System 11)的物理数据模型-PDM (Physical Data Model) 。还可优化 PDM,产生为特定 DBMS 创建数据库的 SQL 语句并可以文件形式储存以便在其他时刻运行这些 SQL 语句创建数据库。另外,DataArchitect 还可根据已存在的数据库反向生成 PDM,CDM 及创建数据库的 SQL 脚本。2. ProcessAnalyst这部分用于创建功能模
5、型和数据流图,创建“处理层次关系“ 。3. AppModeler为客户/服务器应用程序创建应用模型。4. ODBC Administrator此部分用来管理系统的各种数据源。5. MetaWorks用于团队开发、信息共享和模型管理。6. WarehouseArchitect用于数据仓库和数据集的建模和实现。7. Viewer用于以只读的、图形化方式访问整个企业的模型信息。三、 PowerDesigner 提供的模型支持PowerDesigner 是一个功能强大而使用方便的工具集,为新一代数据库应用的建模提供了全面的支持。具体地,PowerDesigner 提供:1. 需求分析模型(Requir
6、ements ModelRQM)建立需求分析模型的目的是定义系统边界,使系统开发人员能够更清楚地了解系统需求,同时为计划迭代的技术内容提供基础,为估算开发系统所需成本和时间提供基础。PowerDesigner 通过层次结构显示了该系统的主要功能,用户可以通过属性对话框,进行详细的需求描述2. 业务流程模型(Business Process ModelBPM)BPM 通过一种可视化的方式来展示、分析以及组织复杂的业务逻辑关系,描述业务的各种不同内在任务和内在流程,以及客户如何检查这些任务和流程互相影响,是从业务合伙人的观点来看业务逻辑和规则的概念模型,使用一个图表描述程序,流程,信息和合作协议之
7、间的交互作用。3. 概念数据模型(Conceptual Data ModelCDM)CDM 表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构无关。一个概念模型经常包括在物理数据库中仍然不实现的数据对象。它给运行计划或业务活动的数据一个正式表现方式。反映了业务领域中信息之间的关系,它不依赖于物理实现,只有重要的业务信息才出现在 CDM 中,不考虑物理实现细节,只考虑实体之间的关系,是适用于系统分析阶段的工具4. 物理数据模型(Physical Data ModelPDM)物理数据模型(Physical Data Model)PDM ,提供了系统初始设计所需要的基础元素,以及相关元素之间的关
8、系;数据库的物理设计阶段必须在此基础上进行详细的后台设计,包括数据库的存储过程、操作、触发、视图和索引表等。物理数据模型(PDM)的主要功能有:a) 可以将数据库的物理设计结果从一种数据库移植到另一种数据库;b) 可以通过逆向工程将已经存在的数据库物理结构重新生成物理模型或概念模型;c) 可以定制生成标准的模型报告;d) 可以转换为 CDM;e) 可以完成多种数据库的详细物理设计(涵盖常用的种种数据库的 DBMS,并生成数据库对象的.sql 脚本)5. 对象模型(Object Oriented ModelOOM)一个 OOM 包含一系列包,类,接口 , 和他们的关系。这些对象一起形成所有的(或
9、部分)一个软件系统的逻辑的设计视图的类结构。一个 OOM 本质上是软件系统的一个静态的概念模型。 OOM 包括用例图、时序图、类图。6. 信息流动模型(Information Liquidity ModelILM)在企业应用的分析与开发整个过程中,会有大量的模型产生,这些模型之间都存在相应的关系。PowerDesigner 创新地提出信息流模型(ILM),并通过非常直观的映射编辑器来表达模型之间的信息流动关系,大大方便了企业级建模的管理能力7. XML 模型(XML Model)8. O/R (对象/关系)映射支持(如 Hibernate,JDO 等)并且提供了强大的模型间生成、链接和同步技术
10、(具体地转换关系见图 1) ,比如由 CDM可以生成 PDM,PDM 可以生成 OOM,OOM 可以生成应用程序的代码,并可以从应用程序代码(如 C#, Java 等)生成类图(双向工程)等。并提供了冲突分析 (impact analysis),有效地评价各个模型修改带来的冲击,从而得到更好的敏捷性和可预测性。这样,用户可以根据需求分析模型(RQM),从面向对象分析设计(OOM)开始,依次建立用例图,时序图及类图,由类图转化为 CDM 以及 PDM;或者从结构化分析开始,依次产生流程分析模型(BPM), CDM,PDM 并转化为类图等。为了支持企业团队的开发管理,PowerDesigner 更
11、进一步,建立了所有模型的统一共享环境,一套元数据库(metadata repository),为企业级应用的分析、设计与开发提供了一个企业建模、 UML 和数据建模等三种建模的集成化的工作环境图 1 各模型的转换关系图四、 PowerDesigner 界面说明图 2 PowerDesigner 界面五、 PowerDesigner 操作方式图工具面板中的操作方式第二讲需求模型(RQM-Requirements Model)略第三讲概念数据模型(CDM-Conceptual Data Model )【知识要点】1. CDM 简介2. 相关概念的定义及在 CDM 中的表示3. 创建 CDM4. 生
12、成 PDM【逐点讲解】一、 CDM 简介CDM 表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构无关。一个概念模型经常包括在物理数据库中仍然不实现的数据对象。它给运行计划或业务活动的数据一个正式表现方式。反映了业务领域中信息之间的关系,它不依赖于物理实现,只有重要的业务信息才出现在 CDM 中,不考虑物理实现细节,只考虑实体之间的关系,是适用于系统分析阶段的工具。CDM 的功能:1. 通过创建实体关系图表(E-R)来描述数据的组织结构。2. 能够校验数据设计的合理性。3. 生成指定了相应物理实现数据库的物理数据模型(PDM)4. 能够生成用 UML 标准描述 CDM 中对象的面向对象模型
13、(OOM )5. 为在不同的设计阶段创建另一个模型版本,可以生成概念数据模型(CDM)二、 相关概念的定义及在 CDM 中的表示1. 实体实体(Entity):也称为实例,对应现实世界中可区别于其他对象的 “事件”或“事物”。例如,学校中的每个学生,医院中的每个手术。实体的表示如下:2. 属性每个实体都有用来描述实体特征的一组性质,称之为属性。一个实体由若干个属性来描述。如学生实体可由学号、姓名、性别、出生年月、所在系别、入学年份等属性组成。属性表示在实体中,如下图:3. 实体集是具体相同类型及相同性质实体的集合。例如学校所有学生的集合可定义为“学生”实体集,“学生”实体集中的每个实体均具有学
14、号、姓名、性别、出生年月、所在系别、入学年份等性质。4. 实体类型是实体集中每个实体所具有的共同性质的集合。例如“患者”实体类型为:患者 门诊号,姓名,性别,年龄,身份证号。5. 标识符实体类型中的每个实体包含唯一标识它的一个或一组属性,这些属性称为实体类型的标识符(Identifier) 。CDM 中的“标识符”相当于 PDM 中的主键(Primary Key)或候选键。如“学号”是学生实体类型的标识符。6. 联系联系是指实集之间或实体集内部实例之间的连接。实体之间可以通过联系来相互关联。与实体和实体集对应,联系也可以分为联系和联系集,联系集是实体集之间的联系,联系是实体之间的联系,联系是有
15、方向性的。联系和联系集在含义明确的性况下均可称为联系。按照实体类型中实例之间的数量的对应关系,通常可将联系分为 4 种基本联系,即一对一(One To One) ,一对多(One To Many) 、多对一(Many To One)和多对多(Many To Many)图四种基本的联系7. 其它特殊联系除了 4 种基本的联系之外,实体集与实体集之间还存在标定联系(Identify Relationship) 、非标定联系(Non-Identify Relationship)和递归联系(Recursive Relationship) 。标定联系与非标定联系:每个实体类型都有自己的标识符,如果两个实
16、体集之间发生联系,其中一个实体类型的标识符进入另一个实体类型并与该实体类型中的标识符共同组成其标识符时,这种联系则称为标定联系,也叫依赖联系。反之称为非标定联系,也叫非依赖联系。注意:在非标定联系中,一个实体集中的部分实例依赖于另一个实例集中的实例,在这种依赖联系中,每个实体必须至少有一个标识符。而在标定联系中,一个实体集中的全部实例完全依赖于另个实体集中的实例,在这种依赖联系中一个实体必须至少有一个标识符,而另一个实体却可以没有自己的标识符。没有标识符的实体用它所依赖的实体的标识符作为自己的标识符。换句话来理解,在标定联系中,一个实体(选课)依赖一个实体(学生) ,那么(学生)实体必须至少有
17、一个标识符,而(选课)实体可以没有自己的标识符,没有标标识符的实体可以用实体(学生)的标识符作为自己的标识符。图 标定联系和非标定联系递归联系:递归联系是实体集内部实例之间的一种联系,通常形象地称为自反联系。同一实体类型中不同实体集之间的联系也称为递归联系。例如:在“职工”实体集中存在很多的职工,这些职工之间必须存在一种领导与被领导的关系。又如“学生”实体信中的实体包含“班长”子实体集与“ 普通学生 ”子实体集,这两个子实体集之间的联系就是一种递归联系。创建递归联系时,只需要单击“实体间建立联系”工具从实体的一部分拖至该实体的别一个部分即可图 递归联系联系的基数:联系具有方向性,每个方向上都有
18、一个基数。举例:“ 系 ”与“学生”两个实体之间的联系是一对多联系,换句话说“学生”和“系”之间的联系是多对一联系。而且一个学生必须属于一个系,并且只能属于一个系,不能属于零个系,所以从“学生”实体至“ 系”实体的基数为“1,1”,从联系的另一方向考虑,一个系可以拥有多个学生,也可以没有任何学生,即零个学生,所以该方向联系的基数就为“0,n”, 如图所示:图联系的基数8. 数据项数据项(Data Item)是信息存储的最小单位,它可以附加在实体上作为实体的属性。注意:模型中允许存在没有附加至任何实体上的数据项三、 创建 CDM1. 选择 FileNew,打开 New 窗口,在左边模型窗口中选择
19、 Conceptual Data Model,可在右边的窗口中对 Model name 进行设置,也可以在以后再设置。单击“确定”,即创建一个新的CDM。图 3.1 New 对话框2. 在 PowerDesigner 的对象浏览器,双击新建的 CDM,在弹出的对话框中可对此 CDM 的属性进行设置图 Model Properties 对话框对刚创建的 CDM 进行详细设计之前有必要先说说有关实体属性命名问题。PowerDesigner 默认在 CDM 中不能存在相同名称的实体属性,这也是考虑到可能产生的一些如主键、外键等名称冲突问题。但当我们进行实际数据库设计时,可能会多次使用相同数据项(Da
20、ta Item) ,便于理解各实体。为此需要更改 PowerDesigner 的相关设置。PowerDesigner 默认 Data Item 不能重复使用,需要进行以下操作:选择 ToolsModel Option,在 “Model Option”对话框左侧的“Model Settings”中,PowerDesigner对 Data Item 默认将“Unique code”和“Allow reuse”都选上,如下图所示。这里只需要将“Unique code”前的勾去掉即可。图 Model Option 对话框该设置是面向特定模型的,即针对当前模型有效,若希望在其它模型中也有此命名设置,则需
21、要重新进行设置,不过在 Check Model 时,如果选择全部 Check,则依旧会报 Data Item 重名的错误信息,这里需要我们在人为检查确认数据项无误时,可以选择不对 Data Item 进行检查(ToolsCheck Model) ,如下图所示:图 Check Model Parameters 对话框3. 创建实体:在新建的 CDM 中,选择 Palette 工具面板中的 Entity 工具,再在模型区域单击鼠标左键,即添加一个实体图符。4. 设置实体属性:单击鼠标右键,或单击工具面板中的 Pointer 工具,使鼠标处于选择图形状态,然后双击新创建的实体图符,打开实体属性对话框
22、。图 Entity Properties 对话框在 General 标签里,在 Name 与 Code 输入域中输入实体名称,以及其对应的代码,一般Name 以中文表示,Code 以英文字符表示。鼠标点击在 Attributes 标签,显示如下图:图 Entity Properties 对话框-实体属性设置对话框表格中各列的含义如下:Name:属性的名称,一般以中文表示Code:属性的代码,一般以英文字符及下划线、数字组成Data Type: 数据类型,有 Characters,Integer,Date,Byte 等类型,可从输入域的下拉箭头取得Length:数据长度M:是否不允许为空P:是否
23、为标识符(PDM 中的主键)D:是否显示在图表中Domain:属于哪一个域,用于定义了业务规则数据项。对属性列进行更为详细的设置,可以通过单击对应属性列左边箭头,进入 Attribute Properties 对话框,可以进行更为精确详细的设置,如数据上下限、精度等。如下图所示:图 Attribute Properties 对话框点击 Identifiers 标签,可设置实体的标识符,如下图所示:图 Entity Properties 对话框实体标识符定义5. 建立联系:在 Palette 工具面板上,鼠标左键点击 Relationship 工具,然后将鼠标移至实体上,按下鼠标左键不放,拖动至
24、另一实体上,然后释放鼠标左键,这样,则建立了这两个实体间的联系,如下图所示:图建立联系自反联系(Reflexive relationship)是一种实体和它自身的关系。是一种实体和它自身的关系。这里用员工的管理概念来表述管理人员管理员工,同时管理人员也属于员工范畴。自反联系的建立方式如下:a) 左键单击 Palette 面板中 Relationship 工具b) 在实体内单击鼠标左键且按住不放,将鼠标拖放至实体旁的空白位置后松开鼠标。c) 再次单击实体即成功创建自反关系。图自反联系的建立不过这时自反关系的图符不太雅观,可以通过先选定需要更改的图符,然后选择ToolsDisplay Prefer
25、encesFormat,单击 Modify 以打开 Symbol Format 窗口,然后更改Line Style 属性中的 Corners 下拉框中选项,确认修改后,最后在单击 Display Preferences窗口的 OK 按纽后会弹出 Change Formats 选择对话框,若只要将修改应该至当前的自反图符,只需选择所选定图符(Selected symbols)即可。或者在鼠标右键菜单中选择“Format”,更改 Line Style 属性中的 Corners 下拉框即可。图 Symbol Format 对话框6. 定义联系:单击鼠标右键或左键单击 Palette 面板上的 Poi
26、nter 工具,使鼠标返回至选择状态。双击图表中的刚建立的两实体之间关系(Relationship)以打开关系属性窗口,便于对关系进行详细定义,如下图所示:图 Relationship Properties 对话框设置联系名及代码点击 Cardinalities 标签,可对联系的属性进行设置,如下图:图 Relationship Properties 对话框联系的属性设置设置联系的种类:如学生和系为多对一(Many-One)的联系。设置角色名称:在联系的两个方向上各自包含一个分组框,其中的参数只对这个方向起作用,Role name 为角色名,描述该方向联系的作用,一般用一个动词或动宾词组,如:
27、学生 to系的角色名为“属于” ,系 to 学生为“拥有” 。还可以定义联系的基数定义强制性联系:Mandatory 表标这个方向联系的强制关系。选中这个复选框,则在联系线上产生一个联系线垂直的竖线。不选择这个复选框则表示联系这个方向上是可选的,在联系线上产生一个小圆圈。定义依赖联系:选中 Dependent 选项即可定义支配联系:只针对(One-One)联系时可用,可以通过设置 Dominant role 实现。7. 建立实体间的关系(Association)Association 也是一种实体间的连接,在 Merise 模型方法学理论中,Association 是一种用于连接分别代表明确定
28、义的对象的不同实体,这种连接仅仅通过另一个实体不能很明确地表达,而通过”事件(Event) ”连接来表示。在表示上,Association 与 Relationship 的区别是,Association 可以有属性,而 Relationship 没有属性。下面通过示例论坛系统的用户实体(User)和论坛栏目( ForumColumn)实体的 Association 来讲解。示例论坛系统中通过一个 Association 来表示目标系统中论坛栏目对应的版主关系,包括了属性创建时间(DateCreated)用于记录版主添加的时间。创建 Associationa) 在 Palette 面板中单击 A
29、ssociation Link 工具b) 在实体 User 内单击鼠标左键且按住不放,拖放鼠标至另一实体 ForumColumn 上,松开鼠标左键,即在两实体间创建了 Association。如下图:图建立 Association双击模型图表中刚创建的 Association 图符以打开 Association Properties 窗口。输入 Association 的 Name 和 Code,选择 Attributes 属性页,添加实体属性 DateCreated,并设置相关属性,如下图:图 Association Properties 对话框同时可以通过在模型图表中双击 Associat
30、ion 两边的 Association Link 来打开 Association Link Properties 来分别编辑连接属性:图 Association Link Properties 对话框8. 继承(Inheritance)Inheritance 允许你定义一个实体为另一个更一般(常规)的特例。涉及到继承的实体之间有着共同相似的特征,但却是不同的。超类(或父类)指那些包含共同特征的更一般的类,而特例则被成为子类型,包含了一些更为具体和特殊的特例。关于继承方面的例子不少,稍具有面向对象观念的都应该能够理解,不再赘述。而 PowerDesigner 中关于继承方面的操作过程在这只作简要
31、介绍:a) 在 Palette 面板中单击 Inheritance 工具b) 左键单击子类型,按住鼠标不放,拖放至鼠标至父类型实体图符中,松开鼠标,即完成了一个 Inheritance Link 的创建c) 要再次添加另一子实体时,可以单击 Inheritance 工具,从半圆形图处拖动鼠标至另一子类型实体,然后松开鼠标即可。d) 双击新创建的继承图符或实体之间的连接线即可打开弹出 Inheritance Properties 编辑窗口。图 Inheritance Properties 对话框e) 输入相应 Name 和 Code,完成基本设置,单击 OK,即完成创建过程。9. 检验模型(Ch
32、eck)现在已经基本上完成了目标系统的概念建模过程,为此下一步我们需要校验已经设计好的模型,便于能够正确地转换为物理数据模型(PDM) 。a) 选择 Tools-Check Models,打开 Check Model Parameters 窗口,如下图:在这你可以对需要 Check 的项目进行自定义选择。b) 确认选择后,单击 OK,则 PowerDesigner 开始对模型进行检验。c) 完成检验后,PowerDesigner 会将检验结果在输出列表中显示出来我们可以根据所列出的错误信息对模型进行修改,错误信息分别有 Error,Warning, Automatic correction 三
33、种,同时只要经过检验后没有 Error 一类的错误信息,我们就可以将该 CDM 转化为对应 PDM。四、 生成 PDM当你从一个 CDM 生成 PDM 时,PowerDesigner 将 CDM 中的对象和数据类型转换为PDM 对象和当前 DBMS 支持的数据类型。PDM 转换概念对象到物理对象的对象关系如下表:CDM 对象 在 PDM 中生成的对象 备注实体(Entity) 表(Table)实体属性(Entity Attribute) 列 Table Column)主标识符(Primary Identifier) 根据是否为依赖关系确定是主键或外键标识符(Identifier) 候选键(Al
34、ternate key)关系(Relationship) 引用(Reference )同一个表中的两列不能有相同的名称,如果因为外键迁移而导致列名冲突,PowerDesigner 会自动对迁移列重命名,新列名由原始实体名的前三个字母加属性的代码名组成。主标识符在生成 PDM 中的主键和外键,非主标识符则对应生成候选键。在 PDM 中生成的键类型取决于 CDM 中用于定义一个 Relationship 的基数和依赖类型。a) 非依赖性一对多关系(Independent one-to-many relationships)在非依赖性关系中, ”一”端的实体主标识符将转化为:在关系中”一(one)
35、”端的实体:生成的表的主键(Primary key)在关系中”多(many) ”端的实体:生成的表的外键(Foreign key) 。非依赖性一对多关系 CDM非依赖性一对多关系 PDMb) 依赖性一对多关系(Dependent one-to-many relationships)在依赖性关系中,被依赖端的主标识符转化为主键,依赖端则产生一个与被依赖端主标识符同名称的字段同时作为依赖端的主键和外键,如果依赖端实体中已经存在主标识符转化为主键,则该键同主键共同组成主键,同时作为外键。依赖性一对多关系 CDM依赖性一对多关系 PDMc) 非依赖性多对多关系(Independent many-to-
36、many relationships)在非依赖性多对多关系中,各实体的主标识符(Primary key)迁移至一个新生成的连接表中都作为外键,同时共同组成这个新连接表的主键,各实体的主标识符也转化为其所生成表的主键(Primary key) 。下图所示 CDM,每个雇员可以是一个或多个团队的成员,同时每个团队也可能包含一个或多个的雇员。非依赖性多对多关系 CDM非依赖性多对多关系 PDMd) 非依赖性一对一关系(Independent one-to-one relationships)在非依赖性一对一关系中,如果没有定义支配角色(Dominant role)的方向,则各实体的主标识符均自动迁移
37、转化为另一实体生成的表的外键。非依赖性一对一关系 CDM非依赖性一对一关系 PDMe) 依赖性一对一关系(Dependent one-to-one relationships)在依赖性关系中,被依赖端的主标识符转化为主键,依赖端则产生一个与被依赖端主标识符同名称的字段同时作为依赖端的主键和外键,如果依赖端实体中已经存在主标识符转化为主键,则该键同主键共同组成主键,同时作为外键。依赖性一对一关系 CDM依赖性一对一关系 PDM五、 生面 PDM1. 选择菜单栏上 Tools-Generate Physical Data Model 弹出 PDM Generation Options 窗口,如下图
38、:2. 选择 Generate Physical Data Model,在 DBMS 下拉列表中选择相应的 DBMS,输入新物理模型的 Name 和 Code。3. 若单击 Configure Model Options 则进入 Model Options 窗口,可以设置新物理模型的详细属性。如下图所示:4. 选择 PDM Generation Options 中的 Detail 页,设置目标 PDM 的属性细节。5. 单击 Selection 页,选择需要进行转化的对象。6. 确认各项设置后,单击确定。即生成相应的 PDM 模型。7. 生成 PDM 后,我们可能还会对前面的 CDM 进行更改
39、,若要将所做的更改与所生成的PDM 保持一致,这时可以对已有 PDM 进行更新。这时操作也很简单,Tools-Generate Physical Data Model,在打开的 PDM Generation Options 窗口中选择 Update existing Physical Data Model,并通过 Select model 下拉框选择将要更新的 PDM。8. 最后我们在 CDM 部分的工作应该就是根据所建立的概念模型生成文档了,文档是作为设计成果的输出,也用于开发小组成员交流的媒介,其重要性不能忽视。这方面我们可以参考前面生成报告(Report)方面的内容。第四讲: 物理数据模
40、型(PDM-Physical Data Model)【知识要点】1. PDM 简介2. 建立 PDM3. 业务规则、域、创建表、建立引用、视图、触发器、存储过程、数据库的创建与修改4.【逐点讲解】一、 PDM 简介PDM 是用于定义详细定义物理结构和数据查询的数据库设计工具。你可以在 PDM 中使用不同类型的图表,这取决于你所要设计的目标数据库的类型。当今关于数据库方面比较热门的话题莫过于数据仓库,数据集市,OLAP,数据挖掘等内容了。而 PowerDesigner对这几方面的设计都有很好的支持,分别支持了操作型数据库,数据仓库或数据集市,OLAP 等类型数据库系统。本节内容主要是涉及操作型数
41、据库的专题。二、 建立 PDM创建 PDM 有三种方式:a) 直接创建新的 PDM;b) 使用模板创建新的 PDM;c) 通过现有基础创建新 PDM,现有元素包括:数据库的逆向工程,引入一 Erwin模型,从现有 CDM 或 OOM 自动生成,从 V6 版本的数据仓库分析模型迁移等。从现有 CDM 创建 PDM 在上一节已述,下面只讲解其中一种 PDM 的创建过程。1. 选择菜单 FileNew,打开 New 对话框,如下图:图 New 对话框2. 在左侧窗口中选择 Physical Data Model,右上选择 New Model,右侧窗口中输入 Model name,并选择此数据库使用的
42、 DBMS,在 First diagram 中选择 Physical Diagram,其中列表中 Multidimensional Diagram 选项用于创建多维(Multidimensional)数据模型。3. 点击“确定”按钮即可三、 业务规则(Business Rules)1. 业务规则简述业务规则是业务进程需要遵从的一些规则,它们可能是政府法令,客户需求或者内部的一些方针规范。业务规则通常来自于简单的观测,如”客户可以通过拨打免费热线下订单”,而在设计过程中,我们就就需要将该过程分解成更加详细的描述。如当下订单时客户需要提供什么样的信息或根据客户的信用度来判定客户能够订购多少产品。业
43、务规则能够规划并将模型文档化。如规则”一个雇员仅属于一个部门”可以帮你图形化地在一个雇员和一个部门之间建立联系。业务规则用一种不易用图形化表达的信息补充模型图形,如有些规则以公式或验证规则的形式来表达一些特殊的物理概念,而这些技术表达方式通常不能通过图形化形式显示出来。也可以将业务规则和 PDM 中具体对象联系起来,如果建立了验证规则与列或域之间的联系,你就可以通过业务验证规则来检查参数。只有验证(Validation)和约束(Constraint)类型的业务规则才能生成到数据库中,相当于 SQL 语句 Create Rule 2. 创建业务规则1) 选择 ModelBusiness Rules,打开 List of Business Rules 窗口,列表显示当前模型中存在的业务规则,如下图:图 List of Business Rules 对话框2) 单击工具栏中的 Add Row 工具或单击列表中的一个空白行,即添加一个新的业务规则;3) 输入相应的 Name 和 Code,单击 Apply,提交业务规则。4) 双击所选择的业务规则或单击工具栏上的 Properties 工具,打开业务规则属性对话框,如下图所示: