目录
🌊1. PowerDesigner简介
🌍1.1 常用模型文件
🌍1.2 PowerDesigner使用环境
🌊2. CDM生成PDM
🌊3. 研究心得
🌊1. PowerDesigner简介
🌍1.1 常用模型文件
主要使用PowerDesigner的以下两类模型文件:
- 逻辑模型(CDM):描述了与任何软件和数据存储系统无关的数据库整体逻辑结构,通常包含了与物理数据库无关的数据对象,提供了一种描述企业运行或业务行为的形象化的表达方式。
- 物理模型(PDM):叙述数据库的物理实现。主要目的是把CDM中建立的现实世界模型生成特定的DBMS脚本,产生数据库中保存信息的储存结构,保证数据在数据库中的完整性和一致性.
🌍1.2 PowerDesigner使用环境
- 树形模型管理器:以树形方式展示模型所包含的内容以及内容之间的层次关系
- 图表窗口:组织模型中的图表,以图形方式展示模型中各对象之间的关系
- 输出窗口:显示操作结果
- 常用工具面板:用于在图表窗口插入对象的常用工具,主要有以下一些:
选择菜单Model->Domains,打开模型中已有Domain的列表- 点击Add a Row工具新添加一个域,新建域有一个默认的Name和Code
- 修改新建域的Name和Code,设置Data Type,点击OK,一个新域就创建完成了
- 在CDM中使用域,如用户停机实体中,属性应收费用与钱有关,只要对应Row的Damain列的下拉框中选中新建的域(钱),则Data Type字段的值自动调整为N14,2
🌊2. CDM生成PDM
CDM生成PDM,操作步骤如下:
- 选择菜单栏上的Tools->Generate Physical Data Model,打开PDM Generation Options窗口,选择Generate new Physical Data Model,在Name 和Code文本框中输入生成的物理模型的Name和Code
- 切换到Detail标签页,按照下图设置,PK index names 、key index names、FK index names表示生成的各类索引的命名规则,可根据具体项目的命名规则更改;选中Check model ,模型将会在生成之前被检查,如果不想被检查,取消选中即可
- 切换到Selection标签页,列出CDM的所有对象,你可以选择对哪些对象进行转换,一般默认全部选中
- 确认各项设置后,点击“确认”按钮,即生成相应的PDM模型
- 由于在第二步中选中了Check model,所以在生成PDM时,会先对CDM进行检查,检查结果可能会包含ERROR,这样就不能成功生成PDM,需要先将错误解决。有一种最简单的办法,就是取消对Check model复选框的选择,但一般不建议这么做
生成PDM后,我们可能还会对前面的CDM进行更改,若要将所做的更改与所生成的
PDM保持一致,可对已有PDM进行更新,操作为:选择菜单栏上的Tools->Generate Physical Data Model,打开PDM Generation Options,选择Update existing Physical Data Model,并通过Select model 下拉框,选择需要更新的PDM
备注:Preserve modifications:当已经生成一个PDM文件,并在已生成的PDM中对某些对象做了修改(比如更改了对象的位置),现在要从CDM再次生成PDM文件时(更新),而需要保护原来在PDM中所做的修改,这时应选择这个选项。
🌊3. 研究心得
-
理解CDM与PDM的区别及其转换原理: 在学习和实践过程中,深入理解了概念数据模型(CDM)和物理数据模型(PDM)的区别。CDM主要关注数据的逻辑结构,强调数据实体及其关系,而PDM则侧重于数据库的实际实现,包含具体的表结构、索引、约束等细节。在使用PowerDesigner进行CDM到PDM的转换时,认识到转换过程不仅仅是形式上的映射,还需要考虑数据库的性能优化和具体实现细节的处理。
-
掌握PowerDesigner的使用技巧: 在实践中,学会了如何在PowerDesigner中高效地创建、管理和转换数据模型。具体包括使用PowerDesigner的自动生成工具将CDM转换为PDM,设置数据库特定的属性,优化物理模型的设计,以及如何利用PowerDesigner的逆向工程功能从现有数据库生成PDM。这些技能的掌握,使得数据建模过程更加规范化和自动化,大大提高了工作效率。
-
优化数据库设计与实现的能力提升: 通过将CDM生成PDM的过程,不仅强化了对数据模型设计的理论理解,还提升了实际数据库设计与实现的能力。学习如何在PDM中考虑数据库性能、存储效率和维护便捷性,使得设计出的数据库结构更加符合实际应用需求。进一步,通过不断地实践和优化,增强了应对复杂数据库设计任务的信心和能力。