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