【PowerDesigner】PDM生成建表脚本

目录

[🌊1. PowerDesigner简介](#🌊1. PowerDesigner简介)

[🌍1.1 常用模型文件](#🌍1.1 常用模型文件)

[🌍1.2 PowerDesigner使用环境](#🌍1.2 PowerDesigner使用环境)

[🌊2. PDM生成建表脚本](#🌊2. PDM生成建表脚本)

[🌊3. 研究心得](#🌊3. 研究心得)


🌊1. PowerDesigner简介

🌍1.1 常用模型文件

主要使用PowerDesigner的以下两类模型文件:

  • 逻辑模型(CDM):描述了与任何软件和数据存储系统无关的数据库整体逻辑结构,通常包含了与物理数据库无关的数据对象,提供了一种描述企业运行或业务行为的形象化的表达方式。
  • 物理模型(PDM):叙述数据库的物理实现。主要目的是把CDM中建立的现实世界模型生成特定的DBMS脚本,产生数据库中保存信息的储存结构,保证数据在数据库中的完整性和一致性.

🌍1.2 PowerDesigner使用环境

  • 树形模型管理器:以树形方式展示模型所包含的内容以及内容之间的层次关系
  • 图表窗口:组织模型中的图表,以图形方式展示模型中各对象之间的关系
  • 输出窗口:显示操作结果
  • 常用工具面板:用于在图表窗口插入对象的常用工具,主要有以下一些:

🌊2. PDM生成建表脚本

PDM生成数据库建表脚本的步骤如下:

  1. 选择菜单栏Database->Generate Database,打开Database Generation 窗口,其中包括生成数据库的各种参数选项。在Director后选择脚本文件的存放目录,并在File文本框输入脚本文件名称。勾选上One file on ,表示所生成脚本将包含于一个文件中。在Generation选项栏中选择Script general单选框,确认生成数据库方式为直接生成脚本文件
  2. 按上图设置Tables & Views标签页的参数
  3. 按下图设置Keys & Indexes 标签页的参数
  4. 按下图设置Database标签页的参数
  5. 按下图设置Options标签页的参数
  6. 切换到Selection标签,选择需要生成脚本的PDM对象,标注红色的两个按钮分别可以实现全选和全部不选功能
  7. 各项设置确认没有问题后,点击"确定"按钮,即可生成建表脚本

PDM生成建表脚本时,常见的两个问题及解决方法如下:

pdm生成建表脚本时,字段超过15字符就发生错误(oracle)

解决方法:打开PDM后,会出现Database的菜单栏,进入Database - Edit Current DBMS -script-objects-column-maxlen,把value值调大(原为30),比如改成60。出现表或者其它对象的长度也有这种错误的话都可以选择对应的objects照此种方法更改

生成的建表脚本中如何把对象的双引号去掉

解决方法: 选择Database->Edit current database->Script->Sql->Format,有一项CaseSensitivityUsingQuote,它的comment为"Determines if the case sensitivity for identifiers is managed using double quotes",表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为"YES",改为"No"即可


🌊3. 研究心得

  • 便捷高效的建表脚本生成:PowerDesigner的PDM模块提供了便捷高效的建表脚本生成功能,通过简单的操作和设置,即可自动生成符合多种数据库平台标准的建表脚本。这极大地提升了数据库设计人员的工作效率,减少了手工编写脚本的繁琐过程。

  • 跨数据库平台的兼容性:PowerDesigner支持多种主流数据库平台,如Oracle、SQL Server、MySQL等,其生成的建表脚本在这些平台上具有良好的兼容性。这使得数据库设计人员能够更加灵活地进行数据库设计,无需担心不同数据库之间的差异带来的兼容性问题。

  • 可视化建模与代码生成的无缝衔接:PowerDesigner提供了直观的可视化建模界面,用户可以通过拖拽、连接等方式进行数据库设计,而生成的建表脚本与设计模型之间实现了无缝的衔接。这种可视化建模与代码生成的一体化设计,使得数据库设计与开发过程更加紧密,降低了沟通成本,提高了团队协作效率。

相关推荐
专注API从业者5 分钟前
基于 Flink 的淘宝实时数据管道设计:商品详情流式处理与异构存储
大数据·前端·数据库·数据挖掘·flink
小猿姐1 小时前
KubeBlocks for Milvus 揭秘
数据库·云原生
AI 嗯啦1 小时前
SQL详细语法教程(四)约束和多表查询
数据库·人工智能·sql
杜子不疼.1 小时前
《Python学习之文件操作:从入门到精通》
数据库·python·学习
TDengine (老段)2 小时前
TDengine IDMP 高级功能(4. 元素引用)
大数据·数据库·人工智能·物联网·数据分析·时序数据库·tdengine
DashVector2 小时前
如何通过Java SDK分组检索Doc
java·数据库·面试
Olrookie3 小时前
XXL-JOB GLUE模式动态数据源实践:Spring AOP + MyBatis 解耦多库查询
java·数据库·spring boot
苏婳6663 小时前
【最新版】怎么下载mysqlclient并成功安装?
数据库·python·mysql
Tapdata5 小时前
《实时分析市场报告 2025》上线 | 从批处理到实时洞察,2025 年全球实时分析市场全景解读
数据库
海梨花5 小时前
【从零开始学习Redis】项目实战-黑马点评D2
java·数据库·redis·后端·缓存