关 系 数 据 库 设 计 工 具 推 荐 使 用 Sybase 公 司 的 PowerDesigner ,PowerDesigner最初由Xiao-Yun Wang(王晓昀)在SDP Technologies公司开发完成。
PowerDesigner是Sybase的企业建模和设计解决方案,采用模型驱动方法,将业务与IT结合起来,可帮助部署有效的企业体系架构,并为研发生命周期管理提供强大的分析与设计技术。
PowerDesigner独具匠心地将多种标准数据建模技术(UML、业务流程建模以及市场领先的数据建模)集成一体,并与.NET、WorkSpace、PowerBuilder、Java、Eclipse等主流开发平台集成起来,从而为传统的软件开发周期管理提供业务分析和规范的数据库设计解

决方案。此外,它支持60多种关系数据库管理系统(RDBMS)版本。PowerDesigner运行在Microsoft Windows平台上,并提供了Eclipse插件。
PowerDesigner功能介绍2010年,Sybase被国际企业应用巨头SAP收购,目前产品被正式更名为SAP Sybase PowerDesigner。SAP Sybase PowerDesigner在国际著名大公司的推动下,功能越来越强大,现已成为全球众多企业的标准建模工具。
如图4-14所示,PowerDesigner提供了多种模型,分别为业务处理模型(Business Process Model)、面向对象模型(Object Oriented Model,OO模型)、XML模型(XML Model)、物理数据模型(Physical Data Model)、数据移动模型(Data Movement Model)、逻辑数据模型(Logical DataModel ) 、 概 念 数 据 模 型 ( Conceptual Data Model ) 、 需 求 模 型( Requirement Model ) 、 企 业 架 构 模 型 ( Enterprise ArchitectureModel)等。
图4-14 PowerDesigner模型架构
在PowerDesigner模型架构中,以“业务处理模型”→“需求模型”→“企业架构模型”→“物理数据模型”为主线依次展开。“概念数据模型”在需求阶段产生,它为“业务处理模型”和“需求模型”提供辅助;“OO模型”在逻辑设计阶段产生,是模块设计的重要输出物;“物理数据模型”是持久层设计的重要产物,在本章将会重点讲解。
PowerDesigner概念数据建模基于信息工程(IE)、Barker或IDEF1X符号的概念数据模型不仅提供了数据库初期建模,还独立呈现了数据概念与核心业务之间的关系。基于业务所需的抽象水平,从普通的业务视图到信息架构方法,以概念数据模型为基础,可以反复衍生出一个或多个逻辑数据模型、物理数据模型。参见本书1.4节“软件需求概念模型建模”,概念数据模型是需求阶段的产物。
图4-15所示为Sybase官方提供的概念数据模型示意图。模型转换时,实体可以转换为逻辑数据模型中的类(Class),也可以转换为物理数据模型中的表(Table)。实体属性可以转换为逻辑数据模型中的类属性,也可以转换为表中的字段。
实体之间存在一对一、一对多、多对多等关系,转换为逻辑数据模型后,通过类与类的组合、聚合关系,表达实体关系;逻辑数据模型转换为物理数据模型后,表之间也存在一对一、一对多等关系,但是多对多的关系在物理数据模型中建议使用两个多对一的关系替代。
图4-15 PowerDesigner概念数据模型
如图4-15所示,Customer(顾客)与Orders(订单)为一对多关系,即一个顾客有多个订单;Orders与Items(订单项)为多对多关系;StockClerk(仓库管理员)与Orders是一对多关系;Sales(销售员)与订单也是一对多关系。
PowerDesigner逻辑数据建模在逻辑设计阶段,OO建模是对开发影响最为关键的环节。OO数据模型中主要体现类(Class)、接口(Interface)、类属性、类之间的关系(继承、组合、聚合)、接口实现(类实现接口)、接口继承等内容。
Sybase PowerDesigner逻辑数据模型可以独立开发或从概念数据模型转换为逻辑数据模型;逻辑数据模型也可以转换成一个或多个物理数据模型。
如图4-16所示,Employee、Customer、Orders、Items、Order Items都是类(Class)。PowerDesigner的逻辑数据模型与3.1节的Rational Rose逻辑视图相比,还是Rational Rose的逻辑视图表现力更强,所以逻辑建模推荐使用Rational Rose的逻辑视图。
图4-16 PowerDesigner逻辑数据模型
PowerDesigner物理数据建模Sybase PowerDesigner物理数据模型是持久层表设计应用最流行的建模方式。在物理数据模型中,主要体现的是表、表字段、表之间的关系。
如图4-17所示,ITEMS表与ORDER_ITEMS表为一对多关系;EMPLOYEE表与ORDERS表为一对多关系;ORDERS表有4个外键,3个指向父表EMPLOYEE,1个指向父表CUSTOMER。
如图4-18所示,启动PowerDesigner,选择菜单File→New,打开“新建物理数据模型”对话框。在Model type中选择Physical Data Model,输入模型名称(Model Name),选择要建模的关系数据库(DBMS),在图4-18中选择了MySQL 5.0数据库。
PowerDesigner支持MySQL、Oracle、SQL-Server、Sybase、DB2等几十种关系数据库。不同的关系数据库的字段类型不同,生成的DDL SQL语句不同,因此必须在创建物理数据模型时选择合适的目标关系数据库。
图4-17 PowerDesigner物理数据模型
图4-18 新建物理数据模型