杰瑞科技汇

PowerDesigner使用教程,从入门到精通怎么学?

PowerDesigner 使用教程:从入门到精通

什么是 PowerDesigner?

在开始之前,我们先简单了解一下 PowerDesigner 是什么。

PowerDesigner使用教程,从入门到精通怎么学?-图1
(图片来源网络,侵删)

PowerDesigner 是 Sybase 公司(现为 SAP 公司旗下产品)的一款企业级建模与设计工具,它不仅仅是一个数据库设计工具,更是一个集成了多种建模方法的统一建模平台

  • 核心功能:支持多种建模,如:
    • 数据模型:概念数据模型、物理数据模型。
    • 业务流程模型
    • 对象导向模型
    • XML 模型 等。
  • 主要用途
    1. 数据库设计:设计数据库结构,生成各种数据库的 SQL 脚本,也可以从现有数据库反向生成模型。
    2. 数据架构管理:清晰地展示数据实体、关系和属性,方便团队沟通和文档沉淀。
    3. 模型驱动开发:通过模型驱动应用程序的开发,确保业务需求与最终实现的一致性。

本教程将重点介绍最常用、最核心的数据模型部分。


安装与准备工作

  1. 下载:访问 SAP 官网,搜索 "PowerDesigner" 下载试用版或购买正式版,目前最新版本是 PowerDesigner 16.x 或 17.x,界面和核心功能大同小异。
  2. 安装:按照向导完成安装,建议以管理员身份运行安装程序。
  3. 启动:安装完成后,启动 PowerDesigner。

界面初识

启动后,你会看到类似下图的主界面。

主要区域包括:

PowerDesigner使用教程,从入门到精通怎么学?-图2
(图片来源网络,侵删)
  • 菜单栏:所有命令的入口。
  • 工具栏:常用命令的快捷方式。
  • 浏览器窗口:左侧面板,用于管理模型、表、图等所有对象,是模型的“资源管理器”。
  • Diagram 窗口:中间主窗口,用于绘制和查看模型图。
  • Output 窗口:底部面板,用于显示操作日志、生成脚本等输出信息。
  • 属性窗口:右下角面板,用于查看和修改当前选中对象的详细属性。

核心概念:CDM 与 PDM

在数据库设计中,PowerDesigner 推荐遵循一个从抽象到具体的过程。

  1. 概念数据模型

    • 是什么:也称为高层数据模型,它专注于业务,不关心技术实现细节
    • 包含:实体、属性、实体间的关系(一对一、一对多、多对多)。
    • 例子:一个“学生”实体,有“学号”、“姓名”属性;一个“课程”实体,有“课程号”、“课程名”属性,学生和课程之间是“多对多”关系。
    • 目标:让业务人员和技术人员都能看懂,确保业务逻辑的准确性。
  2. 物理数据模型

    • 是什么:也称为低层数据模型,它基于 CDM,考虑了具体数据库的技术实现
    • 包含:表、列、主键、外键、索引、约束等。
    • 例子:“学生”实体变成 student 表,“学号”变成 student_id 列并被定义为主键。“课程”实体变成 course 表。“学生-课程”的多对多关系会被拆分成一个中间表 student_course,包含 student_idcourse_id 两个外键。
    • 目标:直接用于生成创建数据库的 SQL 脚本。

工作流程CDM -> PDM -> SQL 脚本,这是 PowerDesigner 数据建模的标准路径。

PowerDesigner使用教程,从入门到精通怎么学?-图3
(图片来源网络,侵删)

实战演练:创建一个简单的学生选课系统

我们将通过一个完整的例子,带你走一遍 CDM 和 PDM 的创建流程。

步骤 1:创建概念数据模型

  1. 新建模型

    • 点击 File -> New Model
    • 在弹出的窗口中,选择 Model types -> Conceptual Data Model
    • 给模型命名,Student_CDM
    • 点击 OK
  2. 创建实体

    • 在右侧的 Palette(工具面板)中,找到 Entity 工具(像一个方框)。
    • 点击该工具,然后在 Diagram 窗口中点击一下,就会创建一个新的实体。
    • 创建三个实体:学生课程教师
  3. 编辑实体属性

    • 双击 学生 实体,打开属性窗口。
    • General 选项卡中,填入 Name (名称) 为 学生Code (代码) 为 STUDENT
    • 切换到 Attributes 选项卡,点击右边的 Add an Attribute 按钮添加属性。
      • 属性1:Name=学号, Code=student_id, Data Type=Identifier (标识符类型,通常对应主键)。
      • 属性2:Name=姓名, Code=student_name, Data Type=Alpha (字符串)。
      • 属性3:Name=性别, Code=gender, Data Type=Alpha
    • 用同样的方法为 课程教师 实体添加属性。
  4. 创建关系

    • Palette 中,找到 Relationship 工具(像一个菱形连接两个方框)。
    • 点击 学生 实体,然后拖动到 课程 实体上释放。
    • 双击新创建的关系线,打开属性窗口。
    • Cardinalities (基数) 选项卡中,设置关系类型,这里 学生课程 是多对多。
      • 一个 学生 可以选择多门 课程:在 Course 侧的 Cardinality 选择 Many (n)
      • 一门 课程 可以被多个 学生 选择:在 Student 侧的 Cardinality 选择 Many (n)
    • 用同样的方法创建 教师课程 之间的一对多关系(一个教师可以教多门课程,一门课程只有一个教师)。

完成后的 CDM 图如下所示

步骤 2:从 CDM 生成 PDM

这是 PowerDesigner 的核心优势之一,可以自动将业务模型转换为技术模型。

  1. 生成 PDM

    • 确保你的 CDM 模型是当前打开的窗口。
    • 点击菜单 Database -> Generate Physical Data Model
    • 在弹出的窗口中,进行如下设置:
      • DBMS:选择你的目标数据库类型,如 Microsoft SQL Server 2025,这一步至关重要,因为不同数据库的语法和数据类型不同。
      • Model name:给新的 PDM 模型命名,如 Student_PDM
      • Default Schema:可以指定一个默认的数据库架构名。
    • 点击 OK
  2. 检查自动生成的 PDM

    • PowerDesigner 会自动完成大部分转换工作:
      • 实体变成了
      • 属性变成了
      • 标识符属性变成了主键
      • 多对多关系被拆分成了中间表,并自动创建了外键连接。
    • 检查生成的 PDM 图,你会发现 学生课程 的多对多关系已经变成了一个 Student_Course 表,里面有两个外键 FK_Student_Course_StudentFK_Student_Course_Course

完成后的 PDM 图如下所示

步骤 3:修改和优化 PDM

自动生成的模型是基础,通常需要手动调整。

  1. 修改列属性

    • 双击任意一个表(如 student 表)中的列(如 student_name)。
    • 在属性窗口中,你可以设置:
      • Data Type:如 varchar(50)
      • P/M (Primary/ Mandatory):是否为主键或必填项。
      • Domain:使用数据域,可以统一管理数据类型和约束,是最佳实践。
      • Check:添加检查约束,如 gender 列可以添加 IN ('男', '女')
  2. 添加索引

    • 在表的属性窗口中,切换到 Indexes 选项卡,可以为常用作查询条件的列添加索引,以提高查询性能。
  3. 修改关系

分享:
扫描分享到社交APP
上一篇
下一篇