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

相关推荐
小陈工21 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
科技小花1 天前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
一江寒逸1 天前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain1 天前
linux个人心得22 (mysql)
数据库·mysql
阿里小阿希1 天前
CentOS7 PostgreSQL 9.2 升级到 15 完整教程
数据库·postgresql
荒川之神1 天前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle
做个文艺程序员1 天前
MySQL安全加固十大硬核操作
数据库·mysql·安全
不吃香菜学java1 天前
Redis简单应用
数据库·spring boot·tomcat·maven
一个天蝎座 白勺 程序猿1 天前
Apache IoTDB(15):IoTDB查询写回(INTO子句)深度解析——从语法到实战的ETL全链路指南
数据库·apache·etl·iotdb
不知名的老吴1 天前
Redis的延迟瓶颈:TCP栈开销无法避免
数据库·redis·缓存