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

相关推荐
师太,答应老衲吧25 分钟前
SQL实战训练之,力扣:2020. 无流量的帐户数(递归)
数据库·sql·leetcode
Channing Lewis1 小时前
salesforce case可以新建一个roll up 字段,统计出这个case下的email数量吗
数据库·salesforce
毕业设计制作和分享3 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
ketil273 小时前
Redis - String 字符串
数据库·redis·缓存
Hsu_kk4 小时前
MySQL 批量删除海量数据的几种方法
数据库·mysql
编程学无止境4 小时前
第02章 MySQL环境搭建
数据库·mysql
knight-n4 小时前
MYSQL库的操作
数据库·mysql
包饭厅咸鱼5 小时前
QML----复制指定下标的ListModel数据
开发语言·数据库
生命几十年3万天5 小时前
redis时间优化
数据库·redis·缓存
Elastic 中国社区官方博客5 小时前
释放专利力量:Patently 如何利用向量搜索和 NLP 简化协作
大数据·数据库·人工智能·elasticsearch·搜索引擎·自然语言处理