1、PowerDesigner简介,历史背景 功能简介业务过程建模、数据建模 、对象建模 、 企业版本库 数据建模回顾业务处理模型 (BPM) 概念数据模型 (CDM) 物理数据模型 (PDM) 面向对象模型 (OOM) 通过实例研究软件的功能及应用 C:Program FilesSybasePowerDesigner Trial 11ExamplesTutorial,PowerDesigner 的实际应用,建立业务处理模型注意与数据流程图的比较 建立概念数据模型 由概念数据模型生成物理数据模型注意对物理模型的继续完善 由物理数据模型生成面向对象模型注意继续完善 由面向对象模型生成java代码或者
2、PowerBuilder代码,PowerDesigner介绍,PowerDesigner:PowerDesigner是Sybase推出的主打数据库设计工具。PowerDesigner致力于采用基于Entiry-Relation的数据模型,分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。概念数据模型描述的是独立于数据库管理系统(DBMS)的实体定义和实体关系定义。物理数据模型是在概念数据模型的基础上针对目标数据库管理系统的具体化。,PowerDesigner支持的模型,概念数据模型(CDM) CDM
3、表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构无关。一个概念模型经常包括在物理数据库中仍然不实现的数据对象。它给运行计划或业务活动的数据一个正式表现方式。不考虑物理实现细节,只考虑实体之间的关系。 物理数据模型 (PDM) PDM叙述数据库的物理实现。主要目的是把CDM中建立的现实世界模型生成特定的DBMS脚本,产生数据库中保存信息的储存结构,保证数据在数据库中的完整性和一致性。,面向对象模型 (OOM) 一个OOM包含一系列包,类,接口和他们的关系。这些对象一起形成所有的(或部份)一个软件系统的逻辑的设计视图的类结构。一个OOM本质上是软件系统的一个静态的概念模型。业务程序模型(BP
4、M) BPM描述业务的各种不同内在任务和内在流程,而且客户如何以这些任务和流程互相影响。BPM是从业务合伙人的观点来看业务逻辑和规则的概念模型,使用一个图表描述程序,流程,信息和合作协议之间的交互作用。,正向工程 你能直接地从PDM产生一个数据库, 或产生一个能在你的数据库管理系统环境中运行的数据库脚本。可以生成数据库脚本,如果选择ODBC方式,则可以直接连接到数据库,从而直接产生数据库表以及其他数据库对象。 逆向工程 将已存在的数据库产生进新的PDM 之内。数据来源可能是从脚本文件或一个开放数据库连接数据来源。,PowerDesigner工作界面,使用PowerDesigner绘制CDM,数
5、据模型是现实世界中数据特征的抽象。数据模型要满足3个方面的要求:一是比较真实地模拟真实世界,二是容易为人所理解,三是便于计算机实现。,实体、属性及标识符,实体(Entity):也叫实例,对应现实世界中可区别于其他对象的事件或者物体。 属性:用来表述实体特征的一组性质。 标识符:每个实体包含的唯一标识它的一个或者一组属性。,数据项,数据项(Data Item)是信息存储的最小单位,它可以附加到实体上作为实体的属性,模型中允许存在没有附加到任何实体的上的数据项。,联系,联系(Relationship)是指实体集之间或者实体集内部实例之间的连接。 实体之间通过联系来相互关联,联系具有方向性,且存在不
6、同数量关系的联系。,多对多联系的实现 现实世界中存在的多对多联系比比皆是,但是在目前的DBMS中要直接处理这种结构存在诸多的困难和问题,通常我们把一个多对多联系转化成两个一对多联系来处理。在转换的过程中,新生成的实体集通常称为关联实体或中间实体。,继承联系,通过特殊化或者概化方法产生的实体类型之间的联系成为继承联系(Inheritance Relationship)。其中又分为互斥性继承和非互斥性继承。,继承联系在数据表的表现:,个人帐户,商业帐户,互斥性继承,干部,教师,非互斥性继承,域,域(Domain)是一种标准的数据结构,它可以应用到数据项或者实体的属性上。修改域的同时将修改所有使用该
7、域数据项和实体的属性。域上可以定义三类特性:数据类型、检察参数和业务规则。,关联,关联(Association)与关联连接(Association Link)是在Merise表示法中用来代替E-R表示法中的联系。,使用PowerDesigner绘制PDM,建立物理数据模型的主要目的是要将CDM生成特定数据库管理系统(DBMS)下的SQL脚本的图形化表示。PDM能够在特定的DBMS中建立用于存放信息的数据结构(如表、约束等)。数据库SQL脚本根据DBMS的不同而不同,其中包括三类数据库语言:数据定义语言(DDL)、数据操纵语言(DML)和数据控制语言(DCL)。,用户数据库,SQL解释执行器,O
8、DBC,DBMS定义文件,PDM,生成特定的SQL脚本,生成,表、列、键,表(Table)是数据库中用来保存信息的一种数据结构。分为长期保存信息的表和临时表。 列(Column):组成表的基本单元。 键(Key):表中独立的唯一标识每一条记录的一个或多个列的集合。分为主键、候选键和外键。,域,类似于CDM中对于域的定义。在PDM中,使用域有助于识别信息的类型,易于使不同表中列的数据特征标准化。,定义参照及参照完整性,参照是父表和子表之间的连接,它定义了两个表中列对(Column Pairs)之间的参照完整性约束,列对是指主键与外键或两个表中用户指定的两个列。,参照的特性,重建参照 将在有匹配键
9、列的两个表之间建立默认的参照,在逆向工程数据库过程中,如果不是所有的参照都能被逆向工程,就需要使用重建。,定义检查约束参数,检查约束参数是一组确保数据有效的条件,也是数据必须满足的约束条件。含有三种类型的检查约束参数:Standard Check,Additional Check,Validation Rule。,表的索引,索引描述了数据在表中是如何被组织起来的。 一般数据库系统支持如下三种类型的索引: 1、组合索引 2、唯一索引 3、聚簇索引和非聚簇索引,索引的特性,视图,视图(View)是从一个或多个基本表或其他视图中导出的表,它可以形象地看作是一个活动的窗口,在数据库中我们可以通过它看到自己感兴趣的内容。,逆向工程,逆向工程(Reverse Engineering)是指从现存的数据库或数据库SQL脚本中生成PDM的过程。逆向工程通常使用来维护和修改已有的数据库。,从CDM到PDM 生成SQL脚本,