Powerdesigner逆向工程生成PDM 中文列名表名
### PowerDesigner逆向工程生成PDM(物理数据模型)及中文列名表名转换为注释 #### 一、PowerDesigner及其逆向工程概述 PowerDesigner是一款强大的CASE工具,广泛应用于数据库设计、业务流程建模等领域。通过PowerDesigner,用户可以进行概念数据模型(CDM)设计、逻辑数据模型(LDM)设计以及物理数据模型(PDM)设计等。其中逆向工程功能允许用户根据现有的数据库结构来创建或更新物理数据模型(PDM),这对于维护旧系统或者迁移数据库非常有用。 #### 二、PowerDesigner逆向工程生成PDM步骤 在具体介绍如何利用PowerDesigner进行逆向工程生成PDM时,首先我们需要了解其操作流程: 1. **配置数据库连接**:打开PowerDesigner后,选择“Database”菜单中的“Configure Connections”,然后点击“System DSN”选项卡,点击“Add”按钮添加一个新的数据库连接。例如,在连接Oracle数据库时,需要指定数据源名称(DataSource Name)、服务器名称(Server Name)和数据库名称(Database)。完成配置后,可以通过“Test Connection”按钮测试连接是否成功。 2. **执行逆向工程**: - 选择“PDM”选项卡创建一个PDM文件。 - 在“Database”菜单中选择“Reverse Engineer Database”选项。 - 在弹出的对话框中,选择“Using an ODBC data source”并选择之前配置好的ODBC数据源(例如PDMTest)。 - 点击“OK”按钮开始逆向工程过程。 3. **查看生成的PDM**:逆向工程完成后,可以在PowerDesigner中查看生成的PDM。用户可以选择查看某个具体的表,通过右键点击表名选择“View Data”来查看表的具体数据。 4. **使用SQL脚本进行逆向工程**:还可以选择使用SQL脚本来生成PDM。比如,可以创建一个名为`crebas.sql`的文件,并将以下SQL语句写入其中: ```sql /*==============================================================*/ /* Database name: PhysicalDataModel_1 */ /* DBMS name: ORACLE Version 9i */ /* Created on: 2003-07-13 10:49:08 */ /*==============================================================*/ /*==============================================================*/ /* Table: "class" */ /*==============================================================*/ create table "class" ( "classID" NUMBER(2) not null, "className" VARCHAR2(24), constraint PK_CLASS primary key ("classID") ) / /*==============================================================*/ /* Table: "student" */ /*==============================================================*/ create table "student" ( "studentID" NUMBER(10) not null, "studentName" VARCHAR2(4), "classID" NUMBER(2), constraint PK_STUDENT primary key ("studentID") ) / alter table "student" add constraint FK_STUDENT_REFERENCE_CLASS foreign key ("classID") references "class" ("classID") / ``` 接着在PowerDesigner中选择“Database”菜单中的“Reverse Engineer Database”,然后选择“Using script files”,指定之前创建的SQL脚本文件即可。 #### 三、中文列名表名转换为注释 对于中文列名和表名的处理,PowerDesigner默认是支持的,但有时候为了提高可读性或者遵循某些规范,可能需要将中文的列名和表名转换为注释。这可以通过编写VBS脚本来实现: ```vbscript Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim mdl ' the current model Set mdl = ActiveModel If mdl Is Nothing Then MsgBox "There is no current Model" ElseIf Not IsKindOf(mdl, "PhysicalDataArchitect") Then MsgBox "Current model is not a PDM" Else Dim tbls ' tables in the current model Set tbls = mdl.Tables Dim tbl ' loop through each table For Each tbl In tbls Dim col ' columns in the current table For Each col In tbl.Columns If col.Name <> "" Then ' Replace Chinese characters with comments col.Comment = col.Name col.Name = Replace(col.Name, "中文", "Comment") End If Next Next End If ``` 此脚本遍历了当前PDM中的所有表和列,如果列名包含中文字符,则将其转换为注释,并将列名替换为不含中文的字符串(此处示例为将中文替换为“Comment”)。 #### 四、总结 通过上述步骤,我们可以利用PowerDesigner进行逆向工程来生成PDM,并且能够灵活地处理中文列名和表名,将其转换为更符合规范的注释形式。这对于维护已有数据库系统、迁移数据库或是理解现有系统的数据结构都非常有帮助。
- 技术管理修行2019-05-26资源不错的
- lqscoke2013-10-30脚步还报错。浪费我时间!
- fightingzjh2013-01-09根本就解决不了问题
- China_Gril2016-01-20好用,直接解决了我的问题!
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助